; LLVM IR from aws/s2n-tls :: tests/unit (s2n_certificate_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.host_verify_data = type { i8, i8 }
%struct.s2n_debug_info = type { ptr, ptr }
%struct.s2n_result = type { i32 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.anon = type { ptr, i32, ptr, i32, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_stuffer_reservation = type { ptr, i32, i8 }
%struct.s2n_cert_chain_and_key = type { ptr, ptr, %struct.s2n_blob, %struct.s2n_blob, ptr, ptr, ptr }
%struct.s2n_cert_chain = type { i32, ptr }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_cert = type { i32, %struct.s2n_pkey, %struct.s2n_cert_info, %struct.s2n_blob, ptr }
%struct.s2n_cert_info = type { i32, i32, 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_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca [10 x i8], align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_result, align 4
  %26 = alloca i32, align 4
  %27 = alloca [2048 x i8], align 16
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca ptr, align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca ptr, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i64, align 8
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca ptr, align 8
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca %struct.s2n_test_io_pair, align 4
  %93 = alloca i32, align 4
  %94 = alloca ptr, align 8
  %95 = alloca i32, align 4
  %96 = alloca ptr, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %struct.host_verify_data, align 1
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca ptr, align 8
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca ptr, align 8
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca %struct.s2n_result, align 4
  %131 = alloca ptr, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca %struct.s2n_result, align 4
  %140 = alloca ptr, align 8
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca %struct.s2n_result, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, 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 ptr, align 8
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca ptr, align 8
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca %struct.s2n_result, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca ptr, align 8
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca %struct.s2n_result, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca %struct.s2n_blob, align 8
  %206 = alloca %struct.s2n_blob, align 8
  %207 = alloca i8, align 1
  %208 = alloca i64, align 8
  %209 = alloca ptr, align 8
  %210 = alloca i32, align 4
  %211 = alloca ptr, align 8
  %212 = alloca i32, align 4
  %213 = alloca %struct.s2n_blob, align 8
  %214 = alloca %struct.s2n_result, align 4
  %215 = alloca i32, align 4
  %216 = alloca %struct.s2n_blob, align 8
  %217 = alloca %struct.s2n_result, align 4
  %218 = alloca %struct.s2n_blob, align 8
  %219 = alloca %struct.s2n_result, align 4
  %220 = alloca %struct.s2n_blob, align 8
  %221 = alloca %struct.s2n_result, align 4
  %222 = alloca %struct.s2n_blob, align 8
  %223 = alloca %struct.s2n_result, align 4
  %224 = alloca %struct.s2n_blob, align 8
  %225 = alloca %struct.s2n_result, align 4
  %226 = alloca %struct.s2n_blob, align 8
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca [8 x %struct.anon], align 16
  %229 = alloca [27 x i8], align 16
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i64, align 8
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca [27 x i8], align 16
  %247 = alloca i32, 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 i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i64, 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 i64, align 8
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca [33 x i8], align 16
  %280 = alloca i64, align 8
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i64, align 8
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca [33 x i8], align 16
  %303 = alloca i64, align 8
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca %struct.s2n_result, 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 i64, align 8
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca ptr, align 8
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca ptr, align 8
  %338 = alloca ptr, align 8
  %339 = alloca ptr, align 8
  %340 = alloca ptr, align 8
  %341 = alloca ptr, align 8
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca %struct.s2n_test_io_pair, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca %struct.s2n_test_io_pair, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca ptr, align 8
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca ptr, align 8
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca ptr, align 8
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca ptr, align 8
  %392 = alloca i32, align 4
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca ptr, align 8
  %396 = alloca i32, align 4
  %397 = alloca ptr, align 8
  %398 = alloca i32, align 4
  %399 = alloca %struct.s2n_test_io_pair, align 4
  %400 = alloca i32, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca %struct.s2n_result, align 4
  %406 = alloca %struct.s2n_result, align 4
  %407 = alloca %struct.s2n_result, align 4
  %408 = alloca ptr, align 8
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca i32, align 4
  %412 = alloca ptr, align 8
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca ptr, align 8
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca ptr, align 8
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca %struct.s2n_test_io_pair, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca i32, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca i32, align 4
  %433 = alloca %struct.s2n_result, align 4
  %434 = alloca %struct.s2n_result, align 4
  %435 = alloca %struct.s2n_result, align 4
  %436 = alloca %struct.s2n_result, align 4
  %437 = alloca %struct.s2n_stuffer, align 8
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca ptr, align 8
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca %struct.s2n_result, align 4
  %450 = alloca %struct.s2n_stuffer, align 8
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca %struct.s2n_stuffer_reservation, align 8
  %454 = alloca i32, align 4
  %455 = alloca i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i32, align 4
  %466 = alloca ptr, align 8
  %467 = alloca i32, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca i32, align 4
  %473 = alloca %struct.s2n_result, align 4
  %474 = alloca i32, align 4
  %475 = alloca i32, align 4
  %476 = alloca i32, align 4
  %477 = alloca ptr, align 8
  %478 = alloca i32, align 4
  %479 = alloca i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca %struct.s2n_result, align 4
  %485 = alloca %struct.s2n_result, align 4
  %486 = alloca %struct.s2n_result, align 4
  %487 = alloca %struct.s2n_result, align 4
  %488 = alloca %struct.s2n_result, align 4
  %489 = alloca %struct.s2n_result, align 4
  %490 = alloca [15 x i8], align 1
  %491 = alloca ptr, align 8
  %492 = alloca i32, align 4
  %493 = alloca i32, align 4
  %494 = alloca i32, align 4
  %495 = alloca i32, align 4
  %496 = alloca i32, align 4
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca i32, 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 i32, align 4
  %506 = alloca i32, align 4
  %507 = alloca %struct.s2n_result, align 4
  %508 = alloca [9 x i8], align 1
  %509 = alloca [15 x i8], align 1
  %510 = alloca ptr, align 8
  %511 = alloca i32, align 4
  %512 = alloca i32, align 4
  %513 = alloca i32, align 4
  %514 = alloca i32, align 4
  %515 = alloca i32, align 4
  %516 = alloca i32, align 4
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca i32, align 4
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca i32, align 4
  %523 = alloca i32, align 4
  %524 = alloca i32, align 4
  %525 = alloca i32, align 4
  %526 = alloca %struct.s2n_result, align 4
  %527 = alloca ptr, align 8
  %528 = alloca i32, align 4
  %529 = alloca ptr, align 8
  %530 = alloca ptr, align 8
  %531 = alloca ptr, align 8
  %532 = alloca i32, align 4
  %533 = alloca ptr, align 8
  %534 = alloca i32, align 4
  %535 = alloca ptr, align 8
  %536 = alloca i32, align 4
  %537 = alloca i32, align 4
  %538 = alloca %struct.s2n_result, align 4
  %539 = alloca i32, align 4
  %540 = alloca i32, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca i32, align 4
  %544 = alloca %struct.s2n_result, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca i32, align 4
  %549 = alloca i32, align 4
  %550 = alloca %struct.s2n_result, align 4
  %551 = alloca i32, align 4
  %552 = alloca i32, align 4
  %553 = alloca i32, align 4
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca %struct.s2n_result, align 4
  %557 = alloca i32, align 4
  %558 = alloca i32, align 4
  %559 = alloca %struct.s2n_result, align 4
  %560 = alloca i32, align 4
  %561 = alloca i32, align 4
  %562 = alloca %struct.s2n_result, align 4
  %563 = alloca %struct.s2n_result, 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 %564

564:                                              ; preds = %2
  br label %565

565:                                              ; preds = %564
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %566 = load ptr, ptr @stdout, align 8, !tbaa !9
  %567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef @.str, ptr noundef @.str.1) #11
  %568 = load ptr, ptr @stdout, align 8, !tbaa !9
  %569 = call i32 @fflush(ptr noundef %568)
  br label %570

570:                                              ; preds = %565
  %571 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %572 = icmp eq i32 %571, -1
  br i1 %572, label %573, label %624

573:                                              ; preds = %570
  br label %574

574:                                              ; preds = %573
  br label %575

575:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %576 = call ptr @__errno_location() #12
  %577 = load i32, ptr %576, align 4, !tbaa !5
  store i32 %577, ptr %6, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = call i32 @s2n_print_stacktrace(ptr noundef %578)
  %580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %581 = trunc i8 %580 to i1
  br i1 %581, label %582, label %604

582:                                              ; preds = %575
  %583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %584 = call i32 @fileno(ptr noundef %583) #11
  %585 = call i32 @isatty(i32 noundef %584) #11
  %586 = icmp ne i32 %585, 0
  br i1 %586, label %587, label %604

587:                                              ; preds = %582
  %588 = load i32, ptr %6, align 4, !tbaa !5
  %589 = call ptr @__errno_location() #12
  store i32 %588, ptr %589, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef @.str.4)
  %595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %596 = load i32, ptr %595, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef @.str.4)
  %598 = call ptr @__errno_location() #12
  %599 = load i32, ptr %598, align 4, !tbaa !5
  %600 = call ptr @strerror(i32 noundef %599) #11
  %601 = call ptr @__errno_location() #12
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef @.str.2, i32 noundef %591, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 106, ptr noundef %594, ptr noundef %597, ptr noundef %600, i32 noundef %602) #11
  br label %621

604:                                              ; preds = %582, %575
  %605 = load i32, ptr %6, align 4, !tbaa !5
  %606 = call ptr @__errno_location() #12
  store i32 %605, ptr %606, align 4, !tbaa !5
  %607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %608 = load i32, ptr @test_count, align 4, !tbaa !5
  %609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %610 = load i32, ptr %609, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror(i32 noundef %610, ptr noundef @.str.4)
  %612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %613 = load i32, ptr %612, align 4, !tbaa !5
  %614 = call ptr @s2n_strerror_debug(i32 noundef %613, ptr noundef @.str.4)
  %615 = call ptr @__errno_location() #12
  %616 = load i32, ptr %615, align 4, !tbaa !5
  %617 = call ptr @strerror(i32 noundef %616) #11
  %618 = call ptr @__errno_location() #12
  %619 = load i32, ptr %618, align 4, !tbaa !5
  %620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %607, ptr noundef @.str.5, i32 noundef %608, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 106, ptr noundef %611, ptr noundef %614, ptr noundef %617, i32 noundef %619) #11
  br label %621

621:                                              ; preds = %604, %587
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %622

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

623:                                              ; No predecessors!
  br label %624

624:                                              ; preds = %623, %570
  br label %625

625:                                              ; preds = %624
  br label %626

626:                                              ; preds = %625
  %627 = load i32, ptr @test_count, align 4, !tbaa !5
  %628 = add nsw i32 %627, 1
  store i32 %628, ptr @test_count, align 4, !tbaa !5
  %629 = call i32 @s2n_enable_atexit()
  %630 = icmp eq i32 %629, -1
  br i1 %630, label %631, label %682

631:                                              ; preds = %626
  br label %632

632:                                              ; preds = %631
  br label %633

633:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %634 = call ptr @__errno_location() #12
  %635 = load i32, ptr %634, align 4, !tbaa !5
  store i32 %635, ptr %7, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 @s2n_print_stacktrace(ptr noundef %636)
  %638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %639 = trunc i8 %638 to i1
  br i1 %639, label %640, label %662

640:                                              ; preds = %633
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = call i32 @fileno(ptr noundef %641) #11
  %643 = call i32 @isatty(i32 noundef %642) #11
  %644 = icmp ne i32 %643, 0
  br i1 %644, label %645, label %662

645:                                              ; preds = %640
  %646 = load i32, ptr %7, align 4, !tbaa !5
  %647 = call ptr @__errno_location() #12
  store i32 %646, ptr %647, align 4, !tbaa !5
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = load i32, ptr @test_count, align 4, !tbaa !5
  %650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = call ptr @s2n_strerror(i32 noundef %651, ptr noundef @.str.4)
  %653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %654 = load i32, ptr %653, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror_debug(i32 noundef %654, ptr noundef @.str.4)
  %656 = call ptr @__errno_location() #12
  %657 = load i32, ptr %656, align 4, !tbaa !5
  %658 = call ptr @strerror(i32 noundef %657) #11
  %659 = call ptr @__errno_location() #12
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %648, ptr noundef @.str.2, i32 noundef %649, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 106, ptr noundef %652, ptr noundef %655, ptr noundef %658, i32 noundef %660) #11
  br label %679

662:                                              ; preds = %640, %633
  %663 = load i32, ptr %7, align 4, !tbaa !5
  %664 = call ptr @__errno_location() #12
  store i32 %663, ptr %664, align 4, !tbaa !5
  %665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %666 = load i32, ptr @test_count, align 4, !tbaa !5
  %667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %668 = load i32, ptr %667, align 4, !tbaa !5
  %669 = call ptr @s2n_strerror(i32 noundef %668, ptr noundef @.str.4)
  %670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %671 = load i32, ptr %670, align 4, !tbaa !5
  %672 = call ptr @s2n_strerror_debug(i32 noundef %671, ptr noundef @.str.4)
  %673 = call ptr @__errno_location() #12
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call ptr @strerror(i32 noundef %674) #11
  %676 = call ptr @__errno_location() #12
  %677 = load i32, ptr %676, align 4, !tbaa !5
  %678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %665, ptr noundef @.str.5, i32 noundef %666, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 106, ptr noundef %669, ptr noundef %672, ptr noundef %675, i32 noundef %677) #11
  br label %679

679:                                              ; preds = %662, %645
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %680

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

681:                                              ; No predecessors!
  br label %682

682:                                              ; preds = %681, %626
  br label %683

683:                                              ; preds = %682
  br label %684

684:                                              ; preds = %683
  br label %685

685:                                              ; preds = %684
  %686 = call i32 @s2n_init()
  %687 = icmp eq i32 %686, -1
  br i1 %687, label %688, label %739

688:                                              ; preds = %685
  br label %689

689:                                              ; preds = %688
  br label %690

690:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %691 = call ptr @__errno_location() #12
  %692 = load i32, ptr %691, align 4, !tbaa !5
  store i32 %692, ptr %8, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = call i32 @s2n_print_stacktrace(ptr noundef %693)
  %695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %696 = trunc i8 %695 to i1
  br i1 %696, label %697, label %719

697:                                              ; preds = %690
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @fileno(ptr noundef %698) #11
  %700 = call i32 @isatty(i32 noundef %699) #11
  %701 = icmp ne i32 %700, 0
  br i1 %701, label %702, label %719

702:                                              ; preds = %697
  %703 = load i32, ptr %8, align 4, !tbaa !5
  %704 = call ptr @__errno_location() #12
  store i32 %703, ptr %704, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror(i32 noundef %708, ptr noundef @.str.4)
  %710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = call ptr @s2n_strerror_debug(i32 noundef %711, ptr noundef @.str.4)
  %713 = call ptr @__errno_location() #12
  %714 = load i32, ptr %713, align 4, !tbaa !5
  %715 = call ptr @strerror(i32 noundef %714) #11
  %716 = call ptr @__errno_location() #12
  %717 = load i32, ptr %716, align 4, !tbaa !5
  %718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef @.str.2, i32 noundef %706, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 106, ptr noundef %709, ptr noundef %712, ptr noundef %715, i32 noundef %717) #11
  br label %736

719:                                              ; preds = %697, %690
  %720 = load i32, ptr %8, align 4, !tbaa !5
  %721 = call ptr @__errno_location() #12
  store i32 %720, ptr %721, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror(i32 noundef %725, ptr noundef @.str.4)
  %727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call ptr @s2n_strerror_debug(i32 noundef %728, ptr noundef @.str.4)
  %730 = call ptr @__errno_location() #12
  %731 = load i32, ptr %730, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #11
  %733 = call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef @.str.5, i32 noundef %723, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 106, ptr noundef %726, ptr noundef %729, ptr noundef %732, i32 noundef %734) #11
  br label %736

736:                                              ; preds = %719, %702
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %737

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

738:                                              ; No predecessors!
  br label %739

739:                                              ; preds = %738, %685
  br label %740

740:                                              ; preds = %739
  br label %741

741:                                              ; preds = %740
  call void @llvm.lifetime.start.p0(i64 10, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.ocsp_data, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #11
  store ptr null, ptr %10, align 8, !tbaa !9
  br label %742

742:                                              ; preds = %741
  %743 = load i32, ptr @test_count, align 4, !tbaa !5
  %744 = add nsw i32 %743, 1
  store i32 %744, ptr @test_count, align 4, !tbaa !5
  %745 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %10, ptr noundef @.str.8, ptr noundef @.str.9)
  %746 = icmp eq i32 %745, -1
  br i1 %746, label %747, label %800

747:                                              ; preds = %742
  br label %748

748:                                              ; preds = %747
  br label %749

749:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %750 = call ptr @__errno_location() #12
  %751 = load i32, ptr %750, align 4, !tbaa !5
  store i32 %751, ptr %11, align 4, !tbaa !5
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @s2n_print_stacktrace(ptr noundef %752)
  %754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %755 = trunc i8 %754 to i1
  br i1 %755, label %756, label %778

756:                                              ; preds = %749
  %757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %758 = call i32 @fileno(ptr noundef %757) #11
  %759 = call i32 @isatty(i32 noundef %758) #11
  %760 = icmp ne i32 %759, 0
  br i1 %760, label %761, label %778

761:                                              ; preds = %756
  %762 = load i32, ptr %11, align 4, !tbaa !5
  %763 = call ptr @__errno_location() #12
  store i32 %762, ptr %763, align 4, !tbaa !5
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror(i32 noundef %767, ptr noundef @.str.4)
  %769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror_debug(i32 noundef %770, ptr noundef @.str.4)
  %772 = call ptr @__errno_location() #12
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @strerror(i32 noundef %773) #11
  %775 = call ptr @__errno_location() #12
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef @.str.2, i32 noundef %765, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 112, ptr noundef %768, ptr noundef %771, ptr noundef %774, i32 noundef %776) #11
  br label %795

778:                                              ; preds = %756, %749
  %779 = load i32, ptr %11, align 4, !tbaa !5
  %780 = call ptr @__errno_location() #12
  store i32 %779, ptr %780, align 4, !tbaa !5
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = load i32, ptr @test_count, align 4, !tbaa !5
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror(i32 noundef %784, ptr noundef @.str.4)
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror_debug(i32 noundef %787, ptr noundef @.str.4)
  %789 = call ptr @__errno_location() #12
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @strerror(i32 noundef %790) #11
  %792 = call ptr @__errno_location() #12
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %781, ptr noundef @.str.5, i32 noundef %782, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 112, ptr noundef %785, ptr noundef %788, ptr noundef %791, i32 noundef %793) #11
  br label %795

795:                                              ; preds = %778, %761
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %796

796:                                              ; preds = %795
  br label %797

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

798:                                              ; No predecessors!
  br label %799

799:                                              ; preds = %798
  br label %800

800:                                              ; preds = %799, %742
  br label %801

801:                                              ; preds = %800
  br label %802

802:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #11
  store ptr null, ptr %12, align 8, !tbaa !9
  br label %803

803:                                              ; preds = %802
  %804 = load i32, ptr @test_count, align 4, !tbaa !5
  %805 = add nsw i32 %804, 1
  store i32 %805, ptr @test_count, align 4, !tbaa !5
  %806 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %12, ptr noundef @.str.11, ptr noundef @.str.12)
  %807 = icmp eq i32 %806, -1
  br i1 %807, label %808, label %861

808:                                              ; preds = %803
  br label %809

809:                                              ; preds = %808
  br label %810

810:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %811 = call ptr @__errno_location() #12
  %812 = load i32, ptr %811, align 4, !tbaa !5
  store i32 %812, ptr %13, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = call i32 @s2n_print_stacktrace(ptr noundef %813)
  %815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %816 = trunc i8 %815 to i1
  br i1 %816, label %817, label %839

817:                                              ; preds = %810
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = call i32 @fileno(ptr noundef %818) #11
  %820 = call i32 @isatty(i32 noundef %819) #11
  %821 = icmp ne i32 %820, 0
  br i1 %821, label %822, label %839

822:                                              ; preds = %817
  %823 = load i32, ptr %13, align 4, !tbaa !5
  %824 = call ptr @__errno_location() #12
  store i32 %823, ptr %824, align 4, !tbaa !5
  %825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %826 = load i32, ptr @test_count, align 4, !tbaa !5
  %827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror(i32 noundef %828, ptr noundef @.str.4)
  %830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call ptr @s2n_strerror_debug(i32 noundef %831, ptr noundef @.str.4)
  %833 = call ptr @__errno_location() #12
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call ptr @strerror(i32 noundef %834) #11
  %836 = call ptr @__errno_location() #12
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %825, ptr noundef @.str.2, i32 noundef %826, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 116, ptr noundef %829, ptr noundef %832, ptr noundef %835, i32 noundef %837) #11
  br label %856

839:                                              ; preds = %817, %810
  %840 = load i32, ptr %13, align 4, !tbaa !5
  %841 = call ptr @__errno_location() #12
  store i32 %840, ptr %841, 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 @.str.4)
  %847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = call ptr @s2n_strerror_debug(i32 noundef %848, ptr noundef @.str.4)
  %850 = call ptr @__errno_location() #12
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @strerror(i32 noundef %851) #11
  %853 = call ptr @__errno_location() #12
  %854 = load i32, ptr %853, align 4, !tbaa !5
  %855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef @.str.5, i32 noundef %843, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 116, ptr noundef %846, ptr noundef %849, ptr noundef %852, i32 noundef %854) #11
  br label %856

856:                                              ; preds = %839, %822
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %857

857:                                              ; preds = %856
  br label %858

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

859:                                              ; No predecessors!
  br label %860

860:                                              ; preds = %859
  br label %861

861:                                              ; preds = %860, %803
  br label %862

862:                                              ; preds = %861
  br label %863

863:                                              ; preds = %862
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #11
  %864 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %864, ptr %14, align 8, !tbaa !9
  br label %865

865:                                              ; preds = %863
  %866 = load i32, ptr @test_count, align 4, !tbaa !5
  %867 = add nsw i32 %866, 1
  store i32 %867, ptr @test_count, align 4, !tbaa !5
  %868 = load ptr, ptr %14, align 8, !tbaa !9
  %869 = icmp eq ptr %868, null
  br i1 %869, label %870, label %923

870:                                              ; preds = %865
  br label %871

871:                                              ; preds = %870
  br label %872

872:                                              ; preds = %871
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %873 = call ptr @__errno_location() #12
  %874 = load i32, ptr %873, align 4, !tbaa !5
  store i32 %874, ptr %15, align 4, !tbaa !5
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = call i32 @s2n_print_stacktrace(ptr noundef %875)
  %877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %878 = trunc i8 %877 to i1
  br i1 %878, label %879, label %901

879:                                              ; preds = %872
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 @fileno(ptr noundef %880) #11
  %882 = call i32 @isatty(i32 noundef %881) #11
  %883 = icmp ne i32 %882, 0
  br i1 %883, label %884, label %901

884:                                              ; preds = %879
  %885 = load i32, ptr %15, align 4, !tbaa !5
  %886 = call ptr @__errno_location() #12
  store i32 %885, ptr %886, align 4, !tbaa !5
  %887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %888 = load i32, ptr @test_count, align 4, !tbaa !5
  %889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call ptr @s2n_strerror(i32 noundef %890, ptr noundef @.str.4)
  %892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call ptr @s2n_strerror_debug(i32 noundef %893, ptr noundef @.str.4)
  %895 = call ptr @__errno_location() #12
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = call ptr @strerror(i32 noundef %896) #11
  %898 = call ptr @__errno_location() #12
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %887, ptr noundef @.str.2, i32 noundef %888, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 122, ptr noundef %891, ptr noundef %894, ptr noundef %897, i32 noundef %899) #11
  br label %918

901:                                              ; preds = %879, %872
  %902 = load i32, ptr %15, align 4, !tbaa !5
  %903 = call ptr @__errno_location() #12
  store i32 %902, ptr %903, align 4, !tbaa !5
  %904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %905 = load i32, ptr @test_count, align 4, !tbaa !5
  %906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %907 = load i32, ptr %906, align 4, !tbaa !5
  %908 = call ptr @s2n_strerror(i32 noundef %907, ptr noundef @.str.4)
  %909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = call ptr @s2n_strerror_debug(i32 noundef %910, ptr noundef @.str.4)
  %912 = call ptr @__errno_location() #12
  %913 = load i32, ptr %912, align 4, !tbaa !5
  %914 = call ptr @strerror(i32 noundef %913) #11
  %915 = call ptr @__errno_location() #12
  %916 = load i32, ptr %915, align 4, !tbaa !5
  %917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %904, ptr noundef @.str.5, i32 noundef %905, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 122, ptr noundef %908, ptr noundef %911, ptr noundef %914, i32 noundef %916) #11
  br label %918

918:                                              ; preds = %901, %884
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %919

919:                                              ; preds = %918
  br label %920

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

921:                                              ; No predecessors!
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922, %865
  br label %924

924:                                              ; preds = %923
  br label %925

925:                                              ; preds = %924
  br label %926

926:                                              ; preds = %925
  %927 = load i32, ptr @test_count, align 4, !tbaa !5
  %928 = add nsw i32 %927, 1
  store i32 %928, ptr @test_count, align 4, !tbaa !5
  %929 = load ptr, ptr %14, align 8, !tbaa !9
  %930 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %929, i32 0, i32 0
  %931 = load ptr, ptr %930, align 8, !tbaa !15
  %932 = icmp eq ptr %931, null
  br i1 %932, label %933, label %986

933:                                              ; preds = %926
  br label %934

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %936 = call ptr @__errno_location() #12
  %937 = load i32, ptr %936, align 4, !tbaa !5
  store i32 %937, ptr %16, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938)
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc i8 %940 to i1
  br i1 %941, label %942, label %964

942:                                              ; preds = %935
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @fileno(ptr noundef %943) #11
  %945 = call i32 @isatty(i32 noundef %944) #11
  %946 = icmp ne i32 %945, 0
  br i1 %946, label %947, label %964

947:                                              ; preds = %942
  %948 = load i32, ptr %16, align 4, !tbaa !5
  %949 = call ptr @__errno_location() #12
  store i32 %948, ptr %949, align 4, !tbaa !5
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror(i32 noundef %953, ptr noundef @.str.4)
  %955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef %956, ptr noundef @.str.4)
  %958 = call ptr @__errno_location() #12
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @strerror(i32 noundef %959) #11
  %961 = call ptr @__errno_location() #12
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %950, ptr noundef @.str.2, i32 noundef %951, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 125, ptr noundef %954, ptr noundef %957, ptr noundef %960, i32 noundef %962) #11
  br label %981

964:                                              ; preds = %942, %935
  %965 = load i32, ptr %16, align 4, !tbaa !5
  %966 = call ptr @__errno_location() #12
  store i32 %965, ptr %966, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror(i32 noundef %970, ptr noundef @.str.4)
  %972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror_debug(i32 noundef %973, ptr noundef @.str.4)
  %975 = call ptr @__errno_location() #12
  %976 = load i32, ptr %975, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #11
  %978 = call ptr @__errno_location() #12
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %967, ptr noundef @.str.5, i32 noundef %968, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 125, ptr noundef %971, ptr noundef %974, ptr noundef %977, i32 noundef %979) #11
  br label %981

981:                                              ; preds = %964, %947
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %982

982:                                              ; preds = %981
  br label %983

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

984:                                              ; No predecessors!
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985, %926
  br label %987

987:                                              ; preds = %986
  br label %988

988:                                              ; preds = %987
  br label %989

989:                                              ; preds = %988
  %990 = load i32, ptr @test_count, align 4, !tbaa !5
  %991 = add nsw i32 %990, 1
  store i32 %991, ptr @test_count, align 4, !tbaa !5
  %992 = load ptr, ptr %14, align 8, !tbaa !9
  %993 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %992, i32 0, i32 1
  %994 = load ptr, ptr %993, align 8, !tbaa !18
  %995 = icmp eq ptr %994, null
  br i1 %995, label %996, label %1049

996:                                              ; preds = %989
  br label %997

997:                                              ; preds = %996
  br label %998

998:                                              ; preds = %997
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %999 = call ptr @__errno_location() #12
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  store i32 %1000, ptr %17, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = call i32 @s2n_print_stacktrace(ptr noundef %1001)
  %1003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1004 = trunc i8 %1003 to i1
  br i1 %1004, label %1005, label %1027

1005:                                             ; preds = %998
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = call i32 @fileno(ptr noundef %1006) #11
  %1008 = call i32 @isatty(i32 noundef %1007) #11
  %1009 = icmp ne i32 %1008, 0
  br i1 %1009, label %1010, label %1027

1010:                                             ; preds = %1005
  %1011 = load i32, ptr %17, align 4, !tbaa !5
  %1012 = call ptr @__errno_location() #12
  store i32 %1011, ptr %1012, 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 @.str.4)
  %1018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef @.str.4)
  %1021 = call ptr @__errno_location() #12
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #11
  %1024 = call ptr @__errno_location() #12
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef @.str.2, i32 noundef %1014, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1017, ptr noundef %1020, ptr noundef %1023, i32 noundef %1025) #11
  br label %1044

1027:                                             ; preds = %1005, %998
  %1028 = load i32, ptr %17, align 4, !tbaa !5
  %1029 = call ptr @__errno_location() #12
  store i32 %1028, ptr %1029, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = load i32, ptr @test_count, align 4, !tbaa !5
  %1032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror(i32 noundef %1033, ptr noundef @.str.4)
  %1035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror_debug(i32 noundef %1036, ptr noundef @.str.4)
  %1038 = call ptr @__errno_location() #12
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @strerror(i32 noundef %1039) #11
  %1041 = call ptr @__errno_location() #12
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1030, ptr noundef @.str.5, i32 noundef %1031, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1034, ptr noundef %1037, ptr noundef %1040, i32 noundef %1042) #11
  br label %1044

1044:                                             ; preds = %1027, %1010
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %1045

1045:                                             ; preds = %1044
  br label %1046

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

1047:                                             ; No predecessors!
  br label %1048

1048:                                             ; preds = %1047
  br label %1049

1049:                                             ; preds = %1048, %989
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

1051:                                             ; preds = %1050
  br label %1052

1052:                                             ; preds = %1051
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = add nsw i32 %1053, 1
  store i32 %1054, ptr @test_count, align 4, !tbaa !5
  %1055 = load ptr, ptr %14, align 8, !tbaa !9
  %1056 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1055, i32 0, i32 5
  %1057 = load ptr, ptr %1056, align 8, !tbaa !19
  %1058 = icmp eq ptr %1057, null
  br i1 %1058, label %1059, label %1112

1059:                                             ; preds = %1052
  br label %1060

1060:                                             ; preds = %1059
  br label %1061

1061:                                             ; preds = %1060
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1062 = call ptr @__errno_location() #12
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  store i32 %1063, ptr %18, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = call i32 @s2n_print_stacktrace(ptr noundef %1064)
  %1066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1067 = trunc i8 %1066 to i1
  br i1 %1067, label %1068, label %1090

1068:                                             ; preds = %1061
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = call i32 @fileno(ptr noundef %1069) #11
  %1071 = call i32 @isatty(i32 noundef %1070) #11
  %1072 = icmp ne i32 %1071, 0
  br i1 %1072, label %1073, label %1090

1073:                                             ; preds = %1068
  %1074 = load i32, ptr %18, align 4, !tbaa !5
  %1075 = call ptr @__errno_location() #12
  store i32 %1074, ptr %1075, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef @.str.4)
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror_debug(i32 noundef %1082, ptr noundef @.str.4)
  %1084 = call ptr @__errno_location() #12
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #11
  %1087 = call ptr @__errno_location() #12
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef @.str.2, i32 noundef %1077, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 127, ptr noundef %1080, ptr noundef %1083, ptr noundef %1086, i32 noundef %1088) #11
  br label %1107

1090:                                             ; preds = %1068, %1061
  %1091 = load i32, ptr %18, align 4, !tbaa !5
  %1092 = call ptr @__errno_location() #12
  store i32 %1091, ptr %1092, align 4, !tbaa !5
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = load i32, ptr @test_count, align 4, !tbaa !5
  %1095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = call ptr @s2n_strerror(i32 noundef %1096, ptr noundef @.str.4)
  %1098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1099 = load i32, ptr %1098, align 4, !tbaa !5
  %1100 = call ptr @s2n_strerror_debug(i32 noundef %1099, ptr noundef @.str.4)
  %1101 = call ptr @__errno_location() #12
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @strerror(i32 noundef %1102) #11
  %1104 = call ptr @__errno_location() #12
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1093, ptr noundef @.str.5, i32 noundef %1094, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 127, ptr noundef %1097, ptr noundef %1100, ptr noundef %1103, i32 noundef %1105) #11
  br label %1107

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

1108:                                             ; preds = %1107
  br label %1109

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

1110:                                             ; No predecessors!
  br label %1111

1111:                                             ; preds = %1110
  br label %1112

1112:                                             ; preds = %1111, %1052
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

1115:                                             ; preds = %1114
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = add nsw i32 %1116, 1
  store i32 %1117, ptr @test_count, align 4, !tbaa !5
  %1118 = load ptr, ptr %14, align 8, !tbaa !9
  %1119 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1118, i32 0, i32 4
  %1120 = load ptr, ptr %1119, align 8, !tbaa !20
  %1121 = icmp eq ptr %1120, null
  br i1 %1121, label %1122, label %1175

1122:                                             ; preds = %1115
  br label %1123

1123:                                             ; preds = %1122
  br label %1124

1124:                                             ; preds = %1123
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %1125 = call ptr @__errno_location() #12
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  store i32 %1126, ptr %19, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @s2n_print_stacktrace(ptr noundef %1127)
  %1129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1130 = trunc i8 %1129 to i1
  br i1 %1130, label %1131, label %1153

1131:                                             ; preds = %1124
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @fileno(ptr noundef %1132) #11
  %1134 = call i32 @isatty(i32 noundef %1133) #11
  %1135 = icmp ne i32 %1134, 0
  br i1 %1135, label %1136, label %1153

1136:                                             ; preds = %1131
  %1137 = load i32, ptr %19, align 4, !tbaa !5
  %1138 = call ptr @__errno_location() #12
  store i32 %1137, ptr %1138, align 4, !tbaa !5
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = load i32, ptr @test_count, align 4, !tbaa !5
  %1141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1142 = load i32, ptr %1141, align 4, !tbaa !5
  %1143 = call ptr @s2n_strerror(i32 noundef %1142, ptr noundef @.str.4)
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror_debug(i32 noundef %1145, ptr noundef @.str.4)
  %1147 = call ptr @__errno_location() #12
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call ptr @strerror(i32 noundef %1148) #11
  %1150 = call ptr @__errno_location() #12
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1139, ptr noundef @.str.2, i32 noundef %1140, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 128, ptr noundef %1143, ptr noundef %1146, ptr noundef %1149, i32 noundef %1151) #11
  br label %1170

1153:                                             ; preds = %1131, %1124
  %1154 = load i32, ptr %19, align 4, !tbaa !5
  %1155 = call ptr @__errno_location() #12
  store i32 %1154, ptr %1155, align 4, !tbaa !5
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror(i32 noundef %1159, ptr noundef @.str.4)
  %1161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror_debug(i32 noundef %1162, ptr noundef @.str.4)
  %1164 = call ptr @__errno_location() #12
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call ptr @strerror(i32 noundef %1165) #11
  %1167 = call ptr @__errno_location() #12
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1156, ptr noundef @.str.5, i32 noundef %1157, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 128, ptr noundef %1160, ptr noundef %1163, ptr noundef %1166, i32 noundef %1168) #11
  br label %1170

1170:                                             ; preds = %1153, %1136
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1171

1171:                                             ; preds = %1170
  br label %1172

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

1173:                                             ; No predecessors!
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

1175:                                             ; preds = %1174, %1115
  br label %1176

1176:                                             ; preds = %1175
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  %1179 = load i32, ptr @test_count, align 4, !tbaa !5
  %1180 = add nsw i32 %1179, 1
  store i32 %1180, ptr @test_count, align 4, !tbaa !5
  %1181 = load ptr, ptr %14, align 8, !tbaa !9
  %1182 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1181, i32 0, i32 0
  %1183 = load ptr, ptr %1182, align 8, !tbaa !15
  %1184 = getelementptr inbounds %struct.s2n_cert_chain, ptr %1183, i32 0, i32 0
  %1185 = load i32, ptr %1184, align 8, !tbaa !21
  %1186 = icmp eq i32 %1185, 0
  br i1 %1186, label %1240, label %1187

1187:                                             ; preds = %1178
  br label %1188

1188:                                             ; preds = %1187
  br label %1189

1189:                                             ; preds = %1188
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1190 = call ptr @__errno_location() #12
  %1191 = load i32, ptr %1190, align 4, !tbaa !5
  store i32 %1191, ptr %20, align 4, !tbaa !5
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = call i32 @s2n_print_stacktrace(ptr noundef %1192)
  %1194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1195 = trunc i8 %1194 to i1
  br i1 %1195, label %1196, label %1218

1196:                                             ; preds = %1189
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = call i32 @fileno(ptr noundef %1197) #11
  %1199 = call i32 @isatty(i32 noundef %1198) #11
  %1200 = icmp ne i32 %1199, 0
  br i1 %1200, label %1201, label %1218

1201:                                             ; preds = %1196
  %1202 = load i32, ptr %20, align 4, !tbaa !5
  %1203 = call ptr @__errno_location() #12
  store i32 %1202, ptr %1203, align 4, !tbaa !5
  %1204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1205 = load i32, ptr @test_count, align 4, !tbaa !5
  %1206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = call ptr @s2n_strerror(i32 noundef %1207, ptr noundef @.str.4)
  %1209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1210 = load i32, ptr %1209, align 4, !tbaa !5
  %1211 = call ptr @s2n_strerror_debug(i32 noundef %1210, ptr noundef @.str.4)
  %1212 = call ptr @__errno_location() #12
  %1213 = load i32, ptr %1212, align 4, !tbaa !5
  %1214 = call ptr @strerror(i32 noundef %1213) #11
  %1215 = call ptr @__errno_location() #12
  %1216 = load i32, ptr %1215, align 4, !tbaa !5
  %1217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1204, ptr noundef @.str.2, i32 noundef %1205, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 129, ptr noundef %1208, ptr noundef %1211, ptr noundef %1214, i32 noundef %1216) #11
  br label %1235

1218:                                             ; preds = %1196, %1189
  %1219 = load i32, ptr %20, align 4, !tbaa !5
  %1220 = call ptr @__errno_location() #12
  store i32 %1219, ptr %1220, align 4, !tbaa !5
  %1221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1222 = load i32, ptr @test_count, align 4, !tbaa !5
  %1223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1224 = load i32, ptr %1223, align 4, !tbaa !5
  %1225 = call ptr @s2n_strerror(i32 noundef %1224, ptr noundef @.str.4)
  %1226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1227 = load i32, ptr %1226, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror_debug(i32 noundef %1227, ptr noundef @.str.4)
  %1229 = call ptr @__errno_location() #12
  %1230 = load i32, ptr %1229, align 4, !tbaa !5
  %1231 = call ptr @strerror(i32 noundef %1230) #11
  %1232 = call ptr @__errno_location() #12
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1221, ptr noundef @.str.5, i32 noundef %1222, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 129, ptr noundef %1225, ptr noundef %1228, ptr noundef %1231, i32 noundef %1233) #11
  br label %1235

1235:                                             ; preds = %1218, %1201
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

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

1238:                                             ; No predecessors!
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

1240:                                             ; preds = %1239, %1178
  br label %1241

1241:                                             ; preds = %1240
  br label %1242

1242:                                             ; preds = %1241
  br label %1243

1243:                                             ; preds = %1242
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !5
  %1246 = load ptr, ptr %14, align 8, !tbaa !9
  %1247 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1246, i32 0, i32 0
  %1248 = load ptr, ptr %1247, align 8, !tbaa !15
  %1249 = getelementptr inbounds %struct.s2n_cert_chain, ptr %1248, i32 0, i32 1
  %1250 = load ptr, ptr %1249, align 8, !tbaa !23
  %1251 = icmp eq ptr %1250, null
  br i1 %1251, label %1305, label %1252

1252:                                             ; preds = %1243
  br label %1253

1253:                                             ; preds = %1252
  br label %1254

1254:                                             ; preds = %1253
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %1255 = call ptr @__errno_location() #12
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  store i32 %1256, ptr %21, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = call i32 @s2n_print_stacktrace(ptr noundef %1257)
  %1259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1260 = trunc i8 %1259 to i1
  br i1 %1260, label %1261, label %1283

1261:                                             ; preds = %1254
  %1262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1263 = call i32 @fileno(ptr noundef %1262) #11
  %1264 = call i32 @isatty(i32 noundef %1263) #11
  %1265 = icmp ne i32 %1264, 0
  br i1 %1265, label %1266, label %1283

1266:                                             ; preds = %1261
  %1267 = load i32, ptr %21, align 4, !tbaa !5
  %1268 = call ptr @__errno_location() #12
  store i32 %1267, ptr %1268, align 4, !tbaa !5
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = load i32, ptr @test_count, align 4, !tbaa !5
  %1271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror(i32 noundef %1272, ptr noundef @.str.4)
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef @.str.4)
  %1277 = call ptr @__errno_location() #12
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @strerror(i32 noundef %1278) #11
  %1280 = call ptr @__errno_location() #12
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1269, ptr noundef @.str.2, i32 noundef %1270, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 130, ptr noundef %1273, ptr noundef %1276, ptr noundef %1279, i32 noundef %1281) #11
  br label %1300

1283:                                             ; preds = %1261, %1254
  %1284 = load i32, ptr %21, align 4, !tbaa !5
  %1285 = call ptr @__errno_location() #12
  store i32 %1284, ptr %1285, align 4, !tbaa !5
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1289 = load i32, ptr %1288, align 4, !tbaa !5
  %1290 = call ptr @s2n_strerror(i32 noundef %1289, ptr noundef @.str.4)
  %1291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1292 = load i32, ptr %1291, align 4, !tbaa !5
  %1293 = call ptr @s2n_strerror_debug(i32 noundef %1292, ptr noundef @.str.4)
  %1294 = call ptr @__errno_location() #12
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = call ptr @strerror(i32 noundef %1295) #11
  %1297 = call ptr @__errno_location() #12
  %1298 = load i32, ptr %1297, align 4, !tbaa !5
  %1299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1286, ptr noundef @.str.5, i32 noundef %1287, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 130, ptr noundef %1290, ptr noundef %1293, ptr noundef %1296, i32 noundef %1298) #11
  br label %1300

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

1301:                                             ; preds = %1300
  br label %1302

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

1303:                                             ; No predecessors!
  br label %1304

1304:                                             ; preds = %1303
  br label %1305

1305:                                             ; preds = %1304, %1243
  br label %1306

1306:                                             ; preds = %1305
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load ptr, ptr %14, align 8, !tbaa !9
  %1312 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1311, i32 0, i32 1
  %1313 = load ptr, ptr %1312, align 8, !tbaa !18
  %1314 = getelementptr inbounds %struct.s2n_pkey, ptr %1313, i32 0, i32 0
  %1315 = load ptr, ptr %1314, align 8, !tbaa !24
  %1316 = icmp eq ptr %1315, null
  br i1 %1316, label %1370, label %1317

1317:                                             ; preds = %1308
  br label %1318

1318:                                             ; preds = %1317
  br label %1319

1319:                                             ; preds = %1318
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %1320 = call ptr @__errno_location() #12
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  store i32 %1321, ptr %22, align 4, !tbaa !5
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @s2n_print_stacktrace(ptr noundef %1322)
  %1324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1325 = trunc i8 %1324 to i1
  br i1 %1325, label %1326, label %1348

1326:                                             ; preds = %1319
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = call i32 @fileno(ptr noundef %1327) #11
  %1329 = call i32 @isatty(i32 noundef %1328) #11
  %1330 = icmp ne i32 %1329, 0
  br i1 %1330, label %1331, label %1348

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

1348:                                             ; preds = %1326, %1319
  %1349 = load i32, ptr %22, align 4, !tbaa !5
  %1350 = call ptr @__errno_location() #12
  store i32 %1349, ptr %1350, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  %1355 = call ptr @s2n_strerror(i32 noundef %1354, ptr noundef @.str.4)
  %1356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1357 = load i32, ptr %1356, align 4, !tbaa !5
  %1358 = call ptr @s2n_strerror_debug(i32 noundef %1357, ptr noundef @.str.4)
  %1359 = call ptr @__errno_location() #12
  %1360 = load i32, ptr %1359, align 4, !tbaa !5
  %1361 = call ptr @strerror(i32 noundef %1360) #11
  %1362 = call ptr @__errno_location() #12
  %1363 = load i32, ptr %1362, align 4, !tbaa !5
  %1364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1351, ptr noundef @.str.5, i32 noundef %1352, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 131, ptr noundef %1355, ptr noundef %1358, ptr noundef %1361, i32 noundef %1363) #11
  br label %1365

1365:                                             ; preds = %1348, %1331
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1366

1366:                                             ; preds = %1365
  br label %1367

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

1368:                                             ; No predecessors!
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369, %1308
  br label %1371

1371:                                             ; preds = %1370
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

1373:                                             ; preds = %1372
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = add nsw i32 %1374, 1
  store i32 %1375, ptr @test_count, align 4, !tbaa !5
  %1376 = load ptr, ptr %14, align 8, !tbaa !9
  %1377 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1376, i32 0, i32 1
  %1378 = load ptr, ptr %1377, align 8, !tbaa !18
  %1379 = getelementptr inbounds %struct.s2n_pkey, ptr %1378, i32 0, i32 2
  %1380 = load ptr, ptr %1379, align 8, !tbaa !26
  %1381 = icmp eq ptr %1380, null
  br i1 %1381, label %1435, label %1382

1382:                                             ; preds = %1373
  br label %1383

1383:                                             ; preds = %1382
  br label %1384

1384:                                             ; preds = %1383
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1385 = call ptr @__errno_location() #12
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  store i32 %1386, ptr %23, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @s2n_print_stacktrace(ptr noundef %1387)
  %1389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1390 = trunc i8 %1389 to i1
  br i1 %1390, label %1391, label %1413

1391:                                             ; preds = %1384
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = call i32 @fileno(ptr noundef %1392) #11
  %1394 = call i32 @isatty(i32 noundef %1393) #11
  %1395 = icmp ne i32 %1394, 0
  br i1 %1395, label %1396, label %1413

1396:                                             ; preds = %1391
  %1397 = load i32, ptr %23, align 4, !tbaa !5
  %1398 = call ptr @__errno_location() #12
  store i32 %1397, ptr %1398, align 4, !tbaa !5
  %1399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1400 = load i32, ptr @test_count, align 4, !tbaa !5
  %1401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror(i32 noundef %1402, ptr noundef @.str.4)
  %1404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef @.str.4)
  %1407 = call ptr @__errno_location() #12
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call ptr @strerror(i32 noundef %1408) #11
  %1410 = call ptr @__errno_location() #12
  %1411 = load i32, ptr %1410, align 4, !tbaa !5
  %1412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1399, ptr noundef @.str.2, i32 noundef %1400, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 132, ptr noundef %1403, ptr noundef %1406, ptr noundef %1409, i32 noundef %1411) #11
  br label %1430

1413:                                             ; preds = %1391, %1384
  %1414 = load i32, ptr %23, align 4, !tbaa !5
  %1415 = call ptr @__errno_location() #12
  store i32 %1414, ptr %1415, align 4, !tbaa !5
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = load i32, ptr @test_count, align 4, !tbaa !5
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror(i32 noundef %1419, ptr noundef @.str.4)
  %1421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror_debug(i32 noundef %1422, ptr noundef @.str.4)
  %1424 = call ptr @__errno_location() #12
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call ptr @strerror(i32 noundef %1425) #11
  %1427 = call ptr @__errno_location() #12
  %1428 = load i32, ptr %1427, align 4, !tbaa !5
  %1429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1416, ptr noundef @.str.5, i32 noundef %1417, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 132, ptr noundef %1420, ptr noundef %1423, ptr noundef %1426, i32 noundef %1428) #11
  br label %1430

1430:                                             ; preds = %1413, %1396
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

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

1433:                                             ; No predecessors!
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434, %1373
  br label %1436

1436:                                             ; preds = %1435
  br label %1437

1437:                                             ; preds = %1436
  br label %1438

1438:                                             ; preds = %1437
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = add nsw i32 %1439, 1
  store i32 %1440, ptr @test_count, align 4, !tbaa !5
  %1441 = load ptr, ptr %14, align 8, !tbaa !9
  %1442 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1441, i32 0, i32 6
  %1443 = load ptr, ptr %1442, align 8, !tbaa !27
  %1444 = icmp eq ptr %1443, null
  br i1 %1444, label %1498, label %1445

1445:                                             ; preds = %1438
  br label %1446

1446:                                             ; preds = %1445
  br label %1447

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

1454:                                             ; preds = %1447
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = call i32 @fileno(ptr noundef %1455) #11
  %1457 = call i32 @isatty(i32 noundef %1456) #11
  %1458 = icmp ne i32 %1457, 0
  br i1 %1458, label %1459, label %1476

1459:                                             ; preds = %1454
  %1460 = load i32, ptr %24, align 4, !tbaa !5
  %1461 = call ptr @__errno_location() #12
  store i32 %1460, ptr %1461, align 4, !tbaa !5
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = load i32, ptr @test_count, align 4, !tbaa !5
  %1464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1465 = load i32, ptr %1464, align 4, !tbaa !5
  %1466 = call ptr @s2n_strerror(i32 noundef %1465, ptr noundef @.str.4)
  %1467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1468 = load i32, ptr %1467, align 4, !tbaa !5
  %1469 = call ptr @s2n_strerror_debug(i32 noundef %1468, ptr noundef @.str.4)
  %1470 = call ptr @__errno_location() #12
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @strerror(i32 noundef %1471) #11
  %1473 = call ptr @__errno_location() #12
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1462, ptr noundef @.str.2, i32 noundef %1463, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1466, ptr noundef %1469, ptr noundef %1472, i32 noundef %1474) #11
  br label %1493

1476:                                             ; preds = %1454, %1447
  %1477 = load i32, ptr %24, align 4, !tbaa !5
  %1478 = call ptr @__errno_location() #12
  store i32 %1477, ptr %1478, align 4, !tbaa !5
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror(i32 noundef %1482, ptr noundef @.str.4)
  %1484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1485 = load i32, ptr %1484, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef @.str.4)
  %1487 = call ptr @__errno_location() #12
  %1488 = load i32, ptr %1487, align 4, !tbaa !5
  %1489 = call ptr @strerror(i32 noundef %1488) #11
  %1490 = call ptr @__errno_location() #12
  %1491 = load i32, ptr %1490, align 4, !tbaa !5
  %1492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1479, ptr noundef @.str.5, i32 noundef %1480, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1483, ptr noundef %1486, ptr noundef %1489, i32 noundef %1491) #11
  br label %1493

1493:                                             ; preds = %1476, %1459
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1494

1494:                                             ; preds = %1493
  br label %1495

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

1496:                                             ; No predecessors!
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

1498:                                             ; preds = %1497, %1438
  br label %1499

1499:                                             ; preds = %1498
  br label %1500

1500:                                             ; preds = %1499
  %1501 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %14)
  %1502 = getelementptr inbounds %struct.s2n_result, ptr %25, i32 0, i32 0
  store i32 %1501, ptr %1502, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 2048, ptr %27) #11
  call void @llvm.memset.p0.i64(ptr align 16 %27, i8 0, i64 2048, i1 false)
  br label %1503

1503:                                             ; preds = %1500
  %1504 = load i32, ptr @test_count, align 4, !tbaa !5
  %1505 = add nsw i32 %1504, 1
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = getelementptr inbounds [2048 x i8], ptr %27, i64 0, i64 0
  %1507 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.11, ptr noundef %1506, ptr noundef %26, i64 noundef 2048)
  %1508 = icmp eq i32 %1507, -1
  br i1 %1508, label %1509, label %1562

1509:                                             ; preds = %1503
  br label %1510

1510:                                             ; preds = %1509
  br label %1511

1511:                                             ; preds = %1510
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1512 = call ptr @__errno_location() #12
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  store i32 %1513, ptr %28, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = call i32 @s2n_print_stacktrace(ptr noundef %1514)
  %1516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1517 = trunc i8 %1516 to i1
  br i1 %1517, label %1518, label %1540

1518:                                             ; preds = %1511
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1520 = call i32 @fileno(ptr noundef %1519) #11
  %1521 = call i32 @isatty(i32 noundef %1520) #11
  %1522 = icmp ne i32 %1521, 0
  br i1 %1522, label %1523, label %1540

1523:                                             ; preds = %1518
  %1524 = load i32, ptr %28, align 4, !tbaa !5
  %1525 = call ptr @__errno_location() #12
  store i32 %1524, ptr %1525, align 4, !tbaa !5
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = load i32, ptr @test_count, align 4, !tbaa !5
  %1528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror(i32 noundef %1529, ptr noundef @.str.4)
  %1531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror_debug(i32 noundef %1532, ptr noundef @.str.4)
  %1534 = call ptr @__errno_location() #12
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @strerror(i32 noundef %1535) #11
  %1537 = call ptr @__errno_location() #12
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1526, ptr noundef @.str.2, i32 noundef %1527, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 140, ptr noundef %1530, ptr noundef %1533, ptr noundef %1536, i32 noundef %1538) #11
  br label %1557

1540:                                             ; preds = %1518, %1511
  %1541 = load i32, ptr %28, align 4, !tbaa !5
  %1542 = call ptr @__errno_location() #12
  store i32 %1541, ptr %1542, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror(i32 noundef %1546, ptr noundef @.str.4)
  %1548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror_debug(i32 noundef %1549, ptr noundef @.str.4)
  %1551 = call ptr @__errno_location() #12
  %1552 = load i32, ptr %1551, align 4, !tbaa !5
  %1553 = call ptr @strerror(i32 noundef %1552) #11
  %1554 = call ptr @__errno_location() #12
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1543, ptr noundef @.str.5, i32 noundef %1544, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 140, ptr noundef %1547, ptr noundef %1550, ptr noundef %1553, i32 noundef %1555) #11
  br label %1557

1557:                                             ; preds = %1540, %1523
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

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

1560:                                             ; No predecessors!
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

1562:                                             ; preds = %1561, %1503
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

1564:                                             ; preds = %1563
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #11
  %1565 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %1565, ptr %29, align 8, !tbaa !9
  br label %1566

1566:                                             ; preds = %1564
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = add nsw i32 %1567, 1
  store i32 %1568, ptr @test_count, align 4, !tbaa !5
  %1569 = load ptr, ptr %29, align 8, !tbaa !9
  %1570 = icmp eq ptr %1569, null
  br i1 %1570, label %1571, label %1624

1571:                                             ; preds = %1566
  br label %1572

1572:                                             ; preds = %1571
  br label %1573

1573:                                             ; preds = %1572
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %1574 = call ptr @__errno_location() #12
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  store i32 %1575, ptr %30, align 4, !tbaa !5
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = call i32 @s2n_print_stacktrace(ptr noundef %1576)
  %1578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1579 = trunc i8 %1578 to i1
  br i1 %1579, label %1580, label %1602

1580:                                             ; preds = %1573
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = call i32 @fileno(ptr noundef %1581) #11
  %1583 = call i32 @isatty(i32 noundef %1582) #11
  %1584 = icmp ne i32 %1583, 0
  br i1 %1584, label %1585, label %1602

1585:                                             ; preds = %1580
  %1586 = load i32, ptr %30, align 4, !tbaa !5
  %1587 = call ptr @__errno_location() #12
  store i32 %1586, ptr %1587, align 4, !tbaa !5
  %1588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1591 = load i32, ptr %1590, align 4, !tbaa !5
  %1592 = call ptr @s2n_strerror(i32 noundef %1591, ptr noundef @.str.4)
  %1593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1594 = load i32, ptr %1593, align 4, !tbaa !5
  %1595 = call ptr @s2n_strerror_debug(i32 noundef %1594, ptr noundef @.str.4)
  %1596 = call ptr @__errno_location() #12
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call ptr @strerror(i32 noundef %1597) #11
  %1599 = call ptr @__errno_location() #12
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  %1601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1588, ptr noundef @.str.2, i32 noundef %1589, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 144, ptr noundef %1592, ptr noundef %1595, ptr noundef %1598, i32 noundef %1600) #11
  br label %1619

1602:                                             ; preds = %1580, %1573
  %1603 = load i32, ptr %30, align 4, !tbaa !5
  %1604 = call ptr @__errno_location() #12
  store i32 %1603, ptr %1604, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1608 = load i32, ptr %1607, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror(i32 noundef %1608, ptr noundef @.str.4)
  %1610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror_debug(i32 noundef %1611, ptr noundef @.str.4)
  %1613 = call ptr @__errno_location() #12
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call ptr @strerror(i32 noundef %1614) #11
  %1616 = call ptr @__errno_location() #12
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1605, ptr noundef @.str.5, i32 noundef %1606, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 144, ptr noundef %1609, ptr noundef %1612, ptr noundef %1615, i32 noundef %1617) #11
  br label %1619

1619:                                             ; preds = %1602, %1585
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

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

1622:                                             ; No predecessors!
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623, %1566
  br label %1625

1625:                                             ; preds = %1624
  br label %1626

1626:                                             ; preds = %1625
  br label %1627

1627:                                             ; preds = %1626
  %1628 = load i32, ptr @test_count, align 4, !tbaa !5
  %1629 = add nsw i32 %1628, 1
  store i32 %1629, ptr @test_count, align 4, !tbaa !5
  %1630 = load ptr, ptr %29, align 8, !tbaa !9
  %1631 = getelementptr inbounds [2048 x i8], ptr %27, i64 0, i64 0
  %1632 = load i32, ptr %26, align 4, !tbaa !5
  %1633 = call i32 @s2n_cert_chain_and_key_load_public_pem_bytes(ptr noundef %1630, ptr noundef %1631, i32 noundef %1632)
  %1634 = icmp eq i32 %1633, -1
  br i1 %1634, label %1635, label %1688

1635:                                             ; preds = %1627
  br label %1636

1636:                                             ; preds = %1635
  br label %1637

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

1644:                                             ; preds = %1637
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @fileno(ptr noundef %1645) #11
  %1647 = call i32 @isatty(i32 noundef %1646) #11
  %1648 = icmp ne i32 %1647, 0
  br i1 %1648, label %1649, label %1666

1649:                                             ; preds = %1644
  %1650 = load i32, ptr %31, align 4, !tbaa !5
  %1651 = call ptr @__errno_location() #12
  store i32 %1650, ptr %1651, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror(i32 noundef %1655, ptr noundef @.str.4)
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror_debug(i32 noundef %1658, ptr noundef @.str.4)
  %1660 = call ptr @__errno_location() #12
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @strerror(i32 noundef %1661) #11
  %1663 = call ptr @__errno_location() #12
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1652, ptr noundef @.str.2, i32 noundef %1653, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 145, ptr noundef %1656, ptr noundef %1659, ptr noundef %1662, i32 noundef %1664) #11
  br label %1683

1666:                                             ; preds = %1644, %1637
  %1667 = load i32, ptr %31, align 4, !tbaa !5
  %1668 = call ptr @__errno_location() #12
  store i32 %1667, ptr %1668, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef %1672, ptr noundef @.str.4)
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror_debug(i32 noundef %1675, ptr noundef @.str.4)
  %1677 = call ptr @__errno_location() #12
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @strerror(i32 noundef %1678) #11
  %1680 = call ptr @__errno_location() #12
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef @.str.5, i32 noundef %1670, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 145, ptr noundef %1673, ptr noundef %1676, ptr noundef %1679, i32 noundef %1681) #11
  br label %1683

1683:                                             ; preds = %1666, %1649
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1684

1684:                                             ; preds = %1683
  br label %1685

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

1686:                                             ; No predecessors!
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

1688:                                             ; preds = %1687, %1627
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  %1693 = load i32, ptr @test_count, align 4, !tbaa !5
  %1694 = add nsw i32 %1693, 1
  store i32 %1694, ptr @test_count, align 4, !tbaa !5
  %1695 = load ptr, ptr %29, align 8, !tbaa !9
  %1696 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1695, i32 0, i32 1
  %1697 = load ptr, ptr %1696, align 8, !tbaa !18
  %1698 = call i32 @s2n_pkey_check_key_exists(ptr noundef %1697)
  %1699 = icmp eq i32 %1698, -1
  br i1 %1699, label %1753, label %1700

1700:                                             ; preds = %1692
  br label %1701

1701:                                             ; preds = %1700
  br label %1702

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

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

1714:                                             ; preds = %1709
  %1715 = load i32, ptr %32, align 4, !tbaa !5
  %1716 = call ptr @__errno_location() #12
  store i32 %1715, ptr %1716, align 4, !tbaa !5
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = load i32, ptr @test_count, align 4, !tbaa !5
  %1719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror(i32 noundef %1720, ptr noundef @.str.4)
  %1722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1723 = load i32, ptr %1722, align 4, !tbaa !5
  %1724 = call ptr @s2n_strerror_debug(i32 noundef %1723, ptr noundef @.str.4)
  %1725 = call ptr @__errno_location() #12
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call ptr @strerror(i32 noundef %1726) #11
  %1728 = call ptr @__errno_location() #12
  %1729 = load i32, ptr %1728, align 4, !tbaa !5
  %1730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1717, ptr noundef @.str.2, i32 noundef %1718, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1721, ptr noundef %1724, ptr noundef %1727, i32 noundef %1729) #11
  br label %1748

1731:                                             ; preds = %1709, %1702
  %1732 = load i32, ptr %32, align 4, !tbaa !5
  %1733 = call ptr @__errno_location() #12
  store i32 %1732, ptr %1733, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = load i32, ptr @test_count, align 4, !tbaa !5
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror(i32 noundef %1737, ptr noundef @.str.4)
  %1739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @s2n_strerror_debug(i32 noundef %1740, ptr noundef @.str.4)
  %1742 = call ptr @__errno_location() #12
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @strerror(i32 noundef %1743) #11
  %1745 = call ptr @__errno_location() #12
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1734, ptr noundef @.str.5, i32 noundef %1735, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1738, ptr noundef %1741, ptr noundef %1744, i32 noundef %1746) #11
  br label %1748

1748:                                             ; preds = %1731, %1714
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

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

1751:                                             ; No predecessors!
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

1753:                                             ; preds = %1752, %1692
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  br label %1756

1756:                                             ; preds = %1755
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = add nsw i32 %1757, 1
  store i32 %1758, 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 = icmp eq i32 %1760, 0
  br i1 %1761, label %1762, label %1815

1762:                                             ; preds = %1756
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

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

1771:                                             ; preds = %1764
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @fileno(ptr noundef %1772) #11
  %1774 = call i32 @isatty(i32 noundef %1773) #11
  %1775 = icmp ne i32 %1774, 0
  br i1 %1775, label %1776, label %1793

1776:                                             ; preds = %1771
  %1777 = load i32, ptr %33, align 4, !tbaa !5
  %1778 = call ptr @__errno_location() #12
  store i32 %1777, ptr %1778, align 4, !tbaa !5
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = call ptr @s2n_strerror(i32 noundef %1782, ptr noundef @.str.4)
  %1784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1785 = load i32, ptr %1784, align 4, !tbaa !5
  %1786 = call ptr @s2n_strerror_debug(i32 noundef %1785, ptr noundef @.str.4)
  %1787 = call ptr @__errno_location() #12
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @strerror(i32 noundef %1788) #11
  %1790 = call ptr @__errno_location() #12
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1779, ptr noundef @.str.2, i32 noundef %1780, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1783, ptr noundef %1786, ptr noundef %1789, i32 noundef %1791) #11
  br label %1810

1793:                                             ; preds = %1771, %1764
  %1794 = load i32, ptr %33, align 4, !tbaa !5
  %1795 = call ptr @__errno_location() #12
  store i32 %1794, ptr %1795, align 4, !tbaa !5
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = load i32, ptr @test_count, align 4, !tbaa !5
  %1798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = call ptr @s2n_strerror(i32 noundef %1799, ptr noundef @.str.4)
  %1801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  %1803 = call ptr @s2n_strerror_debug(i32 noundef %1802, ptr noundef @.str.4)
  %1804 = call ptr @__errno_location() #12
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = call ptr @strerror(i32 noundef %1805) #11
  %1807 = call ptr @__errno_location() #12
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1796, ptr noundef @.str.5, i32 noundef %1797, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1800, ptr noundef %1803, ptr noundef %1806, i32 noundef %1808) #11
  br label %1810

1810:                                             ; preds = %1793, %1776
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1811

1811:                                             ; preds = %1810
  br label %1812

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

1813:                                             ; No predecessors!
  br label %1814

1814:                                             ; preds = %1813
  br label %1815

1815:                                             ; preds = %1814, %1756
  br label %1816

1816:                                             ; preds = %1815
  br label %1817

1817:                                             ; preds = %1816
  br label %1818

1818:                                             ; preds = %1817
  %1819 = load i32, ptr @test_count, align 4, !tbaa !5
  %1820 = add nsw i32 %1819, 1
  store i32 %1820, 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_debug(i32 noundef %1822, ptr noundef @.str.4)
  %1824 = icmp eq ptr %1823, null
  br i1 %1824, label %1825, label %1878

1825:                                             ; preds = %1818
  br label %1826

1826:                                             ; preds = %1825
  br label %1827

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

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

1839:                                             ; preds = %1834
  %1840 = load i32, ptr %34, align 4, !tbaa !5
  %1841 = call ptr @__errno_location() #12
  store i32 %1840, ptr %1841, align 4, !tbaa !5
  %1842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1843 = load i32, ptr @test_count, align 4, !tbaa !5
  %1844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror(i32 noundef %1845, ptr noundef @.str.4)
  %1847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call ptr @s2n_strerror_debug(i32 noundef %1848, ptr noundef @.str.4)
  %1850 = call ptr @__errno_location() #12
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call ptr @strerror(i32 noundef %1851) #11
  %1853 = call ptr @__errno_location() #12
  %1854 = load i32, ptr %1853, align 4, !tbaa !5
  %1855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1842, ptr noundef @.str.2, i32 noundef %1843, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1846, ptr noundef %1849, ptr noundef %1852, i32 noundef %1854) #11
  br label %1873

1856:                                             ; preds = %1834, %1827
  %1857 = load i32, ptr %34, align 4, !tbaa !5
  %1858 = call ptr @__errno_location() #12
  store i32 %1857, ptr %1858, align 4, !tbaa !5
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = load i32, ptr @test_count, align 4, !tbaa !5
  %1861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @s2n_strerror(i32 noundef %1862, ptr noundef @.str.4)
  %1864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call ptr @s2n_strerror_debug(i32 noundef %1865, ptr noundef @.str.4)
  %1867 = call ptr @__errno_location() #12
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  %1869 = call ptr @strerror(i32 noundef %1868) #11
  %1870 = call ptr @__errno_location() #12
  %1871 = load i32, ptr %1870, align 4, !tbaa !5
  %1872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1859, ptr noundef @.str.5, i32 noundef %1860, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 146, ptr noundef %1863, ptr noundef %1866, ptr noundef %1869, i32 noundef %1871) #11
  br label %1873

1873:                                             ; preds = %1856, %1839
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

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

1876:                                             ; No predecessors!
  br label %1877

1877:                                             ; preds = %1876
  br label %1878

1878:                                             ; preds = %1877, %1818
  br label %1879

1879:                                             ; preds = %1878
  br label %1880

1880:                                             ; preds = %1879
  br label %1881

1881:                                             ; preds = %1880
  %1882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1882, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1883 = call ptr @__errno_location() #12
  store i32 0, ptr %1883, align 4, !tbaa !5
  br label %1884

1884:                                             ; preds = %1881
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885
  br label %1887

1887:                                             ; preds = %1886
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #11
  %1888 = call ptr @s2n_config_new()
  store ptr %1888, ptr %35, align 8, !tbaa !9
  br label %1889

1889:                                             ; preds = %1887
  %1890 = load i32, ptr @test_count, align 4, !tbaa !5
  %1891 = add nsw i32 %1890, 1
  store i32 %1891, ptr @test_count, align 4, !tbaa !5
  %1892 = load ptr, ptr %35, align 8, !tbaa !9
  %1893 = load i32, ptr %1892, align 8
  %1894 = lshr i32 %1893, 11
  %1895 = and i32 %1894, 1
  %1896 = icmp ne i32 %1895, 0
  br i1 %1896, label %1897, label %1950

1897:                                             ; preds = %1889
  br label %1898

1898:                                             ; preds = %1897
  br label %1899

1899:                                             ; preds = %1898
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1900 = call ptr @__errno_location() #12
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  store i32 %1901, ptr %36, align 4, !tbaa !5
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @s2n_print_stacktrace(ptr noundef %1902)
  %1904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1905 = trunc i8 %1904 to i1
  br i1 %1905, label %1906, label %1928

1906:                                             ; preds = %1899
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = call i32 @fileno(ptr noundef %1907) #11
  %1909 = call i32 @isatty(i32 noundef %1908) #11
  %1910 = icmp ne i32 %1909, 0
  br i1 %1910, label %1911, label %1928

1911:                                             ; preds = %1906
  %1912 = load i32, ptr %36, align 4, !tbaa !5
  %1913 = call ptr @__errno_location() #12
  store i32 %1912, ptr %1913, align 4, !tbaa !5
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  %1918 = call ptr @s2n_strerror(i32 noundef %1917, ptr noundef @.str.4)
  %1919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1920 = load i32, ptr %1919, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror_debug(i32 noundef %1920, ptr noundef @.str.4)
  %1922 = call ptr @__errno_location() #12
  %1923 = load i32, ptr %1922, align 4, !tbaa !5
  %1924 = call ptr @strerror(i32 noundef %1923) #11
  %1925 = call ptr @__errno_location() #12
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1914, ptr noundef @.str.2, i32 noundef %1915, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 150, ptr noundef %1918, ptr noundef %1921, ptr noundef %1924, i32 noundef %1926) #11
  br label %1945

1928:                                             ; preds = %1906, %1899
  %1929 = load i32, ptr %36, align 4, !tbaa !5
  %1930 = call ptr @__errno_location() #12
  store i32 %1929, ptr %1930, align 4, !tbaa !5
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = load i32, ptr @test_count, align 4, !tbaa !5
  %1933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1934 = load i32, ptr %1933, align 4, !tbaa !5
  %1935 = call ptr @s2n_strerror(i32 noundef %1934, ptr noundef @.str.4)
  %1936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1937 = load i32, ptr %1936, align 4, !tbaa !5
  %1938 = call ptr @s2n_strerror_debug(i32 noundef %1937, ptr noundef @.str.4)
  %1939 = call ptr @__errno_location() #12
  %1940 = load i32, ptr %1939, align 4, !tbaa !5
  %1941 = call ptr @strerror(i32 noundef %1940) #11
  %1942 = call ptr @__errno_location() #12
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1931, ptr noundef @.str.5, i32 noundef %1932, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 150, ptr noundef %1935, ptr noundef %1938, ptr noundef %1941, i32 noundef %1943) #11
  br label %1945

1945:                                             ; preds = %1928, %1911
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

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

1948:                                             ; No predecessors!
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949, %1889
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

1953:                                             ; preds = %1952
  %1954 = load i32, ptr @test_count, align 4, !tbaa !5
  %1955 = add nsw i32 %1954, 1
  store i32 %1955, ptr @test_count, align 4, !tbaa !5
  %1956 = load ptr, ptr %35, align 8, !tbaa !9
  %1957 = load ptr, ptr %29, align 8, !tbaa !9
  %1958 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1956, ptr noundef %1957)
  %1959 = icmp eq i32 %1958, -1
  br i1 %1959, label %1960, label %2013

1960:                                             ; preds = %1953
  br label %1961

1961:                                             ; preds = %1960
  br label %1962

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

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

1974:                                             ; preds = %1969
  %1975 = load i32, ptr %37, align 4, !tbaa !5
  %1976 = call ptr @__errno_location() #12
  store i32 %1975, ptr %1976, align 4, !tbaa !5
  %1977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1978 = load i32, ptr @test_count, align 4, !tbaa !5
  %1979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror(i32 noundef %1980, ptr noundef @.str.4)
  %1982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1983 = load i32, ptr %1982, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror_debug(i32 noundef %1983, ptr noundef @.str.4)
  %1985 = call ptr @__errno_location() #12
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @strerror(i32 noundef %1986) #11
  %1988 = call ptr @__errno_location() #12
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1977, ptr noundef @.str.2, i32 noundef %1978, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1981, ptr noundef %1984, ptr noundef %1987, i32 noundef %1989) #11
  br label %2008

1991:                                             ; preds = %1969, %1962
  %1992 = load i32, ptr %37, align 4, !tbaa !5
  %1993 = call ptr @__errno_location() #12
  store i32 %1992, ptr %1993, align 4, !tbaa !5
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = load i32, ptr @test_count, align 4, !tbaa !5
  %1996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call ptr @s2n_strerror(i32 noundef %1997, ptr noundef @.str.4)
  %1999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call ptr @s2n_strerror_debug(i32 noundef %2000, ptr noundef @.str.4)
  %2002 = call ptr @__errno_location() #12
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call ptr @strerror(i32 noundef %2003) #11
  %2005 = call ptr @__errno_location() #12
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1994, ptr noundef @.str.5, i32 noundef %1995, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1998, ptr noundef %2001, ptr noundef %2004, i32 noundef %2006) #11
  br label %2008

2008:                                             ; preds = %1991, %1974
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %2009

2009:                                             ; preds = %2008
  br label %2010

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

2011:                                             ; No predecessors!
  br label %2012

2012:                                             ; preds = %2011
  br label %2013

2013:                                             ; preds = %2012, %1953
  br label %2014

2014:                                             ; preds = %2013
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

2016:                                             ; preds = %2015
  %2017 = load i32, ptr @test_count, align 4, !tbaa !5
  %2018 = add nsw i32 %2017, 1
  store i32 %2018, ptr @test_count, align 4, !tbaa !5
  %2019 = load ptr, ptr %35, align 8, !tbaa !9
  %2020 = load i32, ptr %2019, align 8
  %2021 = lshr i32 %2020, 11
  %2022 = and i32 %2021, 1
  %2023 = icmp ne i32 %2022, 0
  br i1 %2023, label %2077, label %2024

2024:                                             ; preds = %2016
  br label %2025

2025:                                             ; preds = %2024
  br label %2026

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

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

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

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

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

2073:                                             ; preds = %2072
  br label %2074

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

2075:                                             ; No predecessors!
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

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

2078:                                             ; preds = %2077
  br label %2079

2079:                                             ; preds = %2078
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #11
  %2080 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2080, ptr %39, align 8, !tbaa !9
  br label %2081

2081:                                             ; preds = %2079
  br label %2082

2082:                                             ; preds = %2081
  br label %2083

2083:                                             ; preds = %2082
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = add nsw i32 %2084, 1
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = load ptr, ptr %39, align 8, !tbaa !9
  %2087 = load ptr, ptr %35, align 8, !tbaa !9
  %2088 = call i32 @s2n_connection_set_config(ptr noundef %2086, ptr noundef %2087)
  %2089 = icmp eq i32 %2088, -1
  br i1 %2089, label %2143, label %2090

2090:                                             ; preds = %2083
  br label %2091

2091:                                             ; preds = %2090
  br label %2092

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

2099:                                             ; preds = %2092
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @fileno(ptr noundef %2100) #11
  %2102 = call i32 @isatty(i32 noundef %2101) #11
  %2103 = icmp ne i32 %2102, 0
  br i1 %2103, label %2104, label %2121

2104:                                             ; preds = %2099
  %2105 = load i32, ptr %40, align 4, !tbaa !5
  %2106 = call ptr @__errno_location() #12
  store i32 %2105, ptr %2106, align 4, !tbaa !5
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror(i32 noundef %2110, ptr noundef @.str.4)
  %2112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = call ptr @s2n_strerror_debug(i32 noundef %2113, ptr noundef @.str.4)
  %2115 = call ptr @__errno_location() #12
  %2116 = load i32, ptr %2115, align 4, !tbaa !5
  %2117 = call ptr @strerror(i32 noundef %2116) #11
  %2118 = call ptr @__errno_location() #12
  %2119 = load i32, ptr %2118, align 4, !tbaa !5
  %2120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2107, ptr noundef @.str.2, i32 noundef %2108, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2111, ptr noundef %2114, ptr noundef %2117, i32 noundef %2119) #11
  br label %2138

2121:                                             ; preds = %2099, %2092
  %2122 = load i32, ptr %40, align 4, !tbaa !5
  %2123 = call ptr @__errno_location() #12
  store i32 %2122, ptr %2123, align 4, !tbaa !5
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %2126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror(i32 noundef %2127, ptr noundef @.str.4)
  %2129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror_debug(i32 noundef %2130, ptr noundef @.str.4)
  %2132 = call ptr @__errno_location() #12
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @strerror(i32 noundef %2133) #11
  %2135 = call ptr @__errno_location() #12
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef @.str.5, i32 noundef %2125, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2128, ptr noundef %2131, ptr noundef %2134, i32 noundef %2136) #11
  br label %2138

2138:                                             ; preds = %2121, %2104
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

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

2141:                                             ; No predecessors!
  br label %2142

2142:                                             ; preds = %2141
  br label %2143

2143:                                             ; preds = %2142, %2083
  br label %2144

2144:                                             ; preds = %2143
  br label %2145

2145:                                             ; preds = %2144
  br label %2146

2146:                                             ; preds = %2145
  %2147 = load i32, ptr @test_count, align 4, !tbaa !5
  %2148 = add nsw i32 %2147, 1
  store i32 %2148, ptr @test_count, align 4, !tbaa !5
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = icmp eq i32 %2150, 469762116
  br i1 %2151, label %2205, label %2152

2152:                                             ; preds = %2146
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

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

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

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

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

2200:                                             ; preds = %2183, %2166
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %2201

2201:                                             ; preds = %2200
  br label %2202

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

2203:                                             ; No predecessors!
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204, %2146
  br label %2206

2206:                                             ; preds = %2205
  br label %2207

2207:                                             ; preds = %2206
  br label %2208

2208:                                             ; preds = %2207
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = add nsw i32 %2209, 1
  store i32 %2210, ptr @test_count, align 4, !tbaa !5
  %2211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2212 = load i32, ptr %2211, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror_debug(i32 noundef %2212, ptr noundef @.str.4)
  %2214 = icmp eq ptr %2213, null
  br i1 %2214, label %2215, label %2268

2215:                                             ; preds = %2208
  br label %2216

2216:                                             ; preds = %2215
  br label %2217

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

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

2229:                                             ; preds = %2224
  %2230 = load i32, ptr %42, align 4, !tbaa !5
  %2231 = call ptr @__errno_location() #12
  store i32 %2230, ptr %2231, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror(i32 noundef %2235, ptr noundef @.str.4)
  %2237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2238 = load i32, ptr %2237, align 4, !tbaa !5
  %2239 = call ptr @s2n_strerror_debug(i32 noundef %2238, ptr noundef @.str.4)
  %2240 = call ptr @__errno_location() #12
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @strerror(i32 noundef %2241) #11
  %2243 = call ptr @__errno_location() #12
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2232, ptr noundef @.str.2, i32 noundef %2233, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2236, ptr noundef %2239, ptr noundef %2242, i32 noundef %2244) #11
  br label %2263

2246:                                             ; preds = %2224, %2217
  %2247 = load i32, ptr %42, align 4, !tbaa !5
  %2248 = call ptr @__errno_location() #12
  store i32 %2247, ptr %2248, align 4, !tbaa !5
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror(i32 noundef %2252, ptr noundef @.str.4)
  %2254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef @.str.4)
  %2257 = call ptr @__errno_location() #12
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = call ptr @strerror(i32 noundef %2258) #11
  %2260 = call ptr @__errno_location() #12
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2249, ptr noundef @.str.5, i32 noundef %2250, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2253, ptr noundef %2256, ptr noundef %2259, i32 noundef %2261) #11
  br label %2263

2263:                                             ; preds = %2246, %2229
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2264

2264:                                             ; preds = %2263
  br label %2265

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

2266:                                             ; No predecessors!
  br label %2267

2267:                                             ; preds = %2266
  br label %2268

2268:                                             ; preds = %2267, %2208
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

2272:                                             ; preds = %2271
  br label %2273

2273:                                             ; preds = %2272
  %2274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2274, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2275 = call ptr @__errno_location() #12
  store i32 0, ptr %2275, align 4, !tbaa !5
  br label %2276

2276:                                             ; preds = %2273
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279
  %2281 = load i32, ptr @test_count, align 4, !tbaa !5
  %2282 = add nsw i32 %2281, 1
  store i32 %2282, ptr @test_count, align 4, !tbaa !5
  %2283 = load ptr, ptr %35, align 8, !tbaa !9
  %2284 = call i32 @s2n_config_set_async_pkey_callback(ptr noundef %2283, ptr noundef @s2n_noop_async_pkey_fn)
  %2285 = icmp eq i32 %2284, -1
  br i1 %2285, label %2286, label %2339

2286:                                             ; preds = %2280
  br label %2287

2287:                                             ; preds = %2286
  br label %2288

2288:                                             ; preds = %2287
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2289 = call ptr @__errno_location() #12
  %2290 = load i32, ptr %2289, align 4, !tbaa !5
  store i32 %2290, ptr %43, align 4, !tbaa !5
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = call i32 @s2n_print_stacktrace(ptr noundef %2291)
  %2293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2294 = trunc i8 %2293 to i1
  br i1 %2294, label %2295, label %2317

2295:                                             ; preds = %2288
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = call i32 @fileno(ptr noundef %2296) #11
  %2298 = call i32 @isatty(i32 noundef %2297) #11
  %2299 = icmp ne i32 %2298, 0
  br i1 %2299, label %2300, label %2317

2300:                                             ; preds = %2295
  %2301 = load i32, ptr %43, align 4, !tbaa !5
  %2302 = call ptr @__errno_location() #12
  store i32 %2301, ptr %2302, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef @.str.4)
  %2308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @s2n_strerror_debug(i32 noundef %2309, ptr noundef @.str.4)
  %2311 = call ptr @__errno_location() #12
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @strerror(i32 noundef %2312) #11
  %2314 = call ptr @__errno_location() #12
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2303, ptr noundef @.str.2, i32 noundef %2304, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2307, ptr noundef %2310, ptr noundef %2313, i32 noundef %2315) #11
  br label %2334

2317:                                             ; preds = %2295, %2288
  %2318 = load i32, ptr %43, align 4, !tbaa !5
  %2319 = call ptr @__errno_location() #12
  store i32 %2318, ptr %2319, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror(i32 noundef %2323, ptr noundef @.str.4)
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef @.str.4)
  %2328 = call ptr @__errno_location() #12
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @strerror(i32 noundef %2329) #11
  %2331 = call ptr @__errno_location() #12
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2320, ptr noundef @.str.5, i32 noundef %2321, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2324, ptr noundef %2327, ptr noundef %2330, i32 noundef %2332) #11
  br label %2334

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

2335:                                             ; preds = %2334
  br label %2336

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

2337:                                             ; No predecessors!
  br label %2338

2338:                                             ; preds = %2337
  br label %2339

2339:                                             ; preds = %2338, %2280
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341
  %2343 = load i32, ptr @test_count, align 4, !tbaa !5
  %2344 = add nsw i32 %2343, 1
  store i32 %2344, ptr @test_count, align 4, !tbaa !5
  %2345 = load ptr, ptr %39, align 8, !tbaa !9
  %2346 = load ptr, ptr %35, align 8, !tbaa !9
  %2347 = call i32 @s2n_connection_set_config(ptr noundef %2345, ptr noundef %2346)
  %2348 = icmp eq i32 %2347, -1
  br i1 %2348, label %2349, label %2402

2349:                                             ; preds = %2342
  br label %2350

2350:                                             ; preds = %2349
  br label %2351

2351:                                             ; preds = %2350
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2352 = call ptr @__errno_location() #12
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  store i32 %2353, ptr %44, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = call i32 @s2n_print_stacktrace(ptr noundef %2354)
  %2356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2357 = trunc i8 %2356 to i1
  br i1 %2357, label %2358, label %2380

2358:                                             ; preds = %2351
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = call i32 @fileno(ptr noundef %2359) #11
  %2361 = call i32 @isatty(i32 noundef %2360) #11
  %2362 = icmp ne i32 %2361, 0
  br i1 %2362, label %2363, label %2380

2363:                                             ; preds = %2358
  %2364 = load i32, ptr %44, align 4, !tbaa !5
  %2365 = call ptr @__errno_location() #12
  store i32 %2364, ptr %2365, align 4, !tbaa !5
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = load i32, ptr @test_count, align 4, !tbaa !5
  %2368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2369 = load i32, ptr %2368, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror(i32 noundef %2369, ptr noundef @.str.4)
  %2371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2372 = load i32, ptr %2371, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror_debug(i32 noundef %2372, ptr noundef @.str.4)
  %2374 = call ptr @__errno_location() #12
  %2375 = load i32, ptr %2374, align 4, !tbaa !5
  %2376 = call ptr @strerror(i32 noundef %2375) #11
  %2377 = call ptr @__errno_location() #12
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2366, ptr noundef @.str.2, i32 noundef %2367, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2370, ptr noundef %2373, ptr noundef %2376, i32 noundef %2378) #11
  br label %2397

2380:                                             ; preds = %2358, %2351
  %2381 = load i32, ptr %44, align 4, !tbaa !5
  %2382 = call ptr @__errno_location() #12
  store i32 %2381, ptr %2382, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror(i32 noundef %2386, ptr noundef @.str.4)
  %2388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2389 = load i32, ptr %2388, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror_debug(i32 noundef %2389, ptr noundef @.str.4)
  %2391 = call ptr @__errno_location() #12
  %2392 = load i32, ptr %2391, align 4, !tbaa !5
  %2393 = call ptr @strerror(i32 noundef %2392) #11
  %2394 = call ptr @__errno_location() #12
  %2395 = load i32, ptr %2394, align 4, !tbaa !5
  %2396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2383, ptr noundef @.str.5, i32 noundef %2384, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2387, ptr noundef %2390, ptr noundef %2393, i32 noundef %2395) #11
  br label %2397

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

2398:                                             ; preds = %2397
  br label %2399

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

2400:                                             ; No predecessors!
  br label %2401

2401:                                             ; preds = %2400
  br label %2402

2402:                                             ; preds = %2401, %2342
  br label %2403

2403:                                             ; preds = %2402
  br label %2404

2404:                                             ; preds = %2403
  br label %2405

2405:                                             ; preds = %2404
  %2406 = load i32, ptr @test_count, align 4, !tbaa !5
  %2407 = add nsw i32 %2406, 1
  store i32 %2407, ptr @test_count, align 4, !tbaa !5
  %2408 = load ptr, ptr %39, align 8, !tbaa !9
  %2409 = call i32 @s2n_connection_free(ptr noundef %2408)
  %2410 = icmp eq i32 %2409, -1
  br i1 %2410, label %2411, label %2464

2411:                                             ; preds = %2405
  br label %2412

2412:                                             ; preds = %2411
  br label %2413

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

2420:                                             ; preds = %2413
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = call i32 @fileno(ptr noundef %2421) #11
  %2423 = call i32 @isatty(i32 noundef %2422) #11
  %2424 = icmp ne i32 %2423, 0
  br i1 %2424, label %2425, label %2442

2425:                                             ; preds = %2420
  %2426 = load i32, ptr %45, align 4, !tbaa !5
  %2427 = call ptr @__errno_location() #12
  store i32 %2426, ptr %2427, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2431 = load i32, ptr %2430, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror(i32 noundef %2431, ptr noundef @.str.4)
  %2433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror_debug(i32 noundef %2434, ptr noundef @.str.4)
  %2436 = call ptr @__errno_location() #12
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @strerror(i32 noundef %2437) #11
  %2439 = call ptr @__errno_location() #12
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef @.str.2, i32 noundef %2429, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2432, ptr noundef %2435, ptr noundef %2438, i32 noundef %2440) #11
  br label %2459

2442:                                             ; preds = %2420, %2413
  %2443 = load i32, ptr %45, 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.4)
  %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.4)
  %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.5, i32 noundef %2446, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2449, ptr noundef %2452, ptr noundef %2455, i32 noundef %2457) #11
  br label %2459

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

2460:                                             ; preds = %2459
  br label %2461

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

2462:                                             ; No predecessors!
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

2464:                                             ; preds = %2463, %2405
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466
  %2468 = load i32, ptr @test_count, align 4, !tbaa !5
  %2469 = add nsw i32 %2468, 1
  store i32 %2469, ptr @test_count, align 4, !tbaa !5
  %2470 = load ptr, ptr %35, align 8, !tbaa !9
  %2471 = call i32 @s2n_config_free(ptr noundef %2470)
  %2472 = icmp eq i32 %2471, -1
  br i1 %2472, label %2473, label %2526

2473:                                             ; preds = %2467
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

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

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

2487:                                             ; preds = %2482
  %2488 = load i32, ptr %46, align 4, !tbaa !5
  %2489 = call ptr @__errno_location() #12
  store i32 %2488, ptr %2489, align 4, !tbaa !5
  %2490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2493 = load i32, ptr %2492, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror(i32 noundef %2493, ptr noundef @.str.4)
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror_debug(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call ptr @__errno_location() #12
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @strerror(i32 noundef %2499) #11
  %2501 = call ptr @__errno_location() #12
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2490, ptr noundef @.str.2, i32 noundef %2491, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2494, ptr noundef %2497, ptr noundef %2500, i32 noundef %2502) #11
  br label %2521

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

2521:                                             ; preds = %2504, %2487
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2522

2522:                                             ; preds = %2521
  br label %2523

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

2524:                                             ; No predecessors!
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

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

2527:                                             ; preds = %2526
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = add nsw i32 %2530, 1
  store i32 %2531, ptr @test_count, align 4, !tbaa !5
  %2532 = load ptr, ptr %29, align 8, !tbaa !9
  %2533 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %2532)
  %2534 = icmp eq i32 %2533, -1
  br i1 %2534, label %2535, label %2588

2535:                                             ; preds = %2529
  br label %2536

2536:                                             ; preds = %2535
  br label %2537

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

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

2549:                                             ; preds = %2544
  %2550 = load i32, ptr %47, align 4, !tbaa !5
  %2551 = call ptr @__errno_location() #12
  store i32 %2550, ptr %2551, align 4, !tbaa !5
  %2552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2553 = load i32, ptr @test_count, align 4, !tbaa !5
  %2554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2555 = load i32, ptr %2554, align 4, !tbaa !5
  %2556 = call ptr @s2n_strerror(i32 noundef %2555, ptr noundef @.str.4)
  %2557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2558 = load i32, ptr %2557, align 4, !tbaa !5
  %2559 = call ptr @s2n_strerror_debug(i32 noundef %2558, ptr noundef @.str.4)
  %2560 = call ptr @__errno_location() #12
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call ptr @strerror(i32 noundef %2561) #11
  %2563 = call ptr @__errno_location() #12
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2552, ptr noundef @.str.2, i32 noundef %2553, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 162, ptr noundef %2556, ptr noundef %2559, ptr noundef %2562, i32 noundef %2564) #11
  br label %2583

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

2583:                                             ; preds = %2566, %2549
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2584

2584:                                             ; preds = %2583
  br label %2585

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

2586:                                             ; No predecessors!
  br label %2587

2587:                                             ; preds = %2586
  br label %2588

2588:                                             ; preds = %2587, %2529
  br label %2589

2589:                                             ; preds = %2588
  br label %2590

2590:                                             ; preds = %2589
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 2048, ptr %27) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  store i32 0, ptr %48, align 4, !tbaa !5
  br label %2591

2591:                                             ; preds = %2590
  br label %2592

2592:                                             ; preds = %2591
  br label %2593

2593:                                             ; preds = %2592
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = add nsw i32 %2594, 1
  store i32 %2595, ptr @test_count, align 4, !tbaa !5
  %2596 = call i32 @s2n_cert_chain_get_length(ptr noundef null, ptr noundef %48)
  %2597 = icmp eq i32 %2596, -1
  br i1 %2597, label %2651, label %2598

2598:                                             ; preds = %2593
  br label %2599

2599:                                             ; preds = %2598
  br label %2600

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

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

2612:                                             ; preds = %2607
  %2613 = load i32, ptr %49, align 4, !tbaa !5
  %2614 = call ptr @__errno_location() #12
  store i32 %2613, ptr %2614, align 4, !tbaa !5
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = load i32, ptr @test_count, align 4, !tbaa !5
  %2617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  %2619 = call ptr @s2n_strerror(i32 noundef %2618, ptr noundef @.str.4)
  %2620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2621 = load i32, ptr %2620, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror_debug(i32 noundef %2621, ptr noundef @.str.4)
  %2623 = call ptr @__errno_location() #12
  %2624 = load i32, ptr %2623, align 4, !tbaa !5
  %2625 = call ptr @strerror(i32 noundef %2624) #11
  %2626 = call ptr @__errno_location() #12
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2615, ptr noundef @.str.2, i32 noundef %2616, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 171, ptr noundef %2619, ptr noundef %2622, ptr noundef %2625, i32 noundef %2627) #11
  br label %2646

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

2646:                                             ; preds = %2629, %2612
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2647

2647:                                             ; preds = %2646
  br label %2648

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

2649:                                             ; No predecessors!
  br label %2650

2650:                                             ; preds = %2649
  br label %2651

2651:                                             ; preds = %2650, %2593
  br label %2652

2652:                                             ; preds = %2651
  br label %2653

2653:                                             ; preds = %2652
  br label %2654

2654:                                             ; preds = %2653
  %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 align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = icmp eq i32 %2658, 402653193
  br i1 %2659, label %2713, label %2660

2660:                                             ; preds = %2654
  br label %2661

2661:                                             ; preds = %2660
  br label %2662

2662:                                             ; preds = %2661
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2663 = call ptr @__errno_location() #12
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  store i32 %2664, ptr %50, align 4, !tbaa !5
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = call i32 @s2n_print_stacktrace(ptr noundef %2665)
  %2667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2668 = trunc i8 %2667 to i1
  br i1 %2668, label %2669, label %2691

2669:                                             ; preds = %2662
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = call i32 @fileno(ptr noundef %2670) #11
  %2672 = call i32 @isatty(i32 noundef %2671) #11
  %2673 = icmp ne i32 %2672, 0
  br i1 %2673, label %2674, label %2691

2674:                                             ; preds = %2669
  %2675 = load i32, ptr %50, align 4, !tbaa !5
  %2676 = call ptr @__errno_location() #12
  store i32 %2675, ptr %2676, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = load i32, ptr @test_count, align 4, !tbaa !5
  %2679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2680 = load i32, ptr %2679, align 4, !tbaa !5
  %2681 = call ptr @s2n_strerror(i32 noundef %2680, ptr noundef @.str.4)
  %2682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2683 = load i32, ptr %2682, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror_debug(i32 noundef %2683, ptr noundef @.str.4)
  %2685 = call ptr @__errno_location() #12
  %2686 = load i32, ptr %2685, align 4, !tbaa !5
  %2687 = call ptr @strerror(i32 noundef %2686) #11
  %2688 = call ptr @__errno_location() #12
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2677, ptr noundef @.str.2, i32 noundef %2678, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 171, ptr noundef %2681, ptr noundef %2684, ptr noundef %2687, i32 noundef %2689) #11
  br label %2708

2691:                                             ; preds = %2669, %2662
  %2692 = load i32, ptr %50, align 4, !tbaa !5
  %2693 = call ptr @__errno_location() #12
  store i32 %2692, ptr %2693, align 4, !tbaa !5
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = load i32, ptr @test_count, align 4, !tbaa !5
  %2696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror(i32 noundef %2697, ptr noundef @.str.4)
  %2699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2700 = load i32, ptr %2699, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror_debug(i32 noundef %2700, ptr noundef @.str.4)
  %2702 = call ptr @__errno_location() #12
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call ptr @strerror(i32 noundef %2703) #11
  %2705 = call ptr @__errno_location() #12
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2694, ptr noundef @.str.5, i32 noundef %2695, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 171, ptr noundef %2698, ptr noundef %2701, ptr noundef %2704, i32 noundef %2706) #11
  br label %2708

2708:                                             ; preds = %2691, %2674
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2709

2709:                                             ; preds = %2708
  br label %2710

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

2711:                                             ; No predecessors!
  br label %2712

2712:                                             ; preds = %2711
  br label %2713

2713:                                             ; preds = %2712, %2654
  br label %2714

2714:                                             ; preds = %2713
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

2716:                                             ; preds = %2715
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = add nsw i32 %2717, 1
  store i32 %2718, 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_debug(i32 noundef %2720, ptr noundef @.str.4)
  %2722 = icmp eq ptr %2721, null
  br i1 %2722, label %2723, label %2776

2723:                                             ; preds = %2716
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

2725:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2726 = call ptr @__errno_location() #12
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  store i32 %2727, ptr %51, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = call i32 @s2n_print_stacktrace(ptr noundef %2728)
  %2730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2731 = trunc i8 %2730 to i1
  br i1 %2731, label %2732, label %2754

2732:                                             ; preds = %2725
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = call i32 @fileno(ptr noundef %2733) #11
  %2735 = call i32 @isatty(i32 noundef %2734) #11
  %2736 = icmp ne i32 %2735, 0
  br i1 %2736, label %2737, label %2754

2737:                                             ; preds = %2732
  %2738 = load i32, ptr %51, align 4, !tbaa !5
  %2739 = call ptr @__errno_location() #12
  store i32 %2738, ptr %2739, align 4, !tbaa !5
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror(i32 noundef %2743, ptr noundef @.str.4)
  %2745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2746 = load i32, ptr %2745, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror_debug(i32 noundef %2746, ptr noundef @.str.4)
  %2748 = call ptr @__errno_location() #12
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  %2750 = call ptr @strerror(i32 noundef %2749) #11
  %2751 = call ptr @__errno_location() #12
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2740, ptr noundef @.str.2, i32 noundef %2741, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 171, ptr noundef %2744, ptr noundef %2747, ptr noundef %2750, i32 noundef %2752) #11
  br label %2771

2754:                                             ; preds = %2732, %2725
  %2755 = load i32, ptr %51, align 4, !tbaa !5
  %2756 = call ptr @__errno_location() #12
  store i32 %2755, ptr %2756, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = load i32, ptr @test_count, align 4, !tbaa !5
  %2759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror(i32 noundef %2760, ptr noundef @.str.4)
  %2762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror_debug(i32 noundef %2763, ptr noundef @.str.4)
  %2765 = call ptr @__errno_location() #12
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call ptr @strerror(i32 noundef %2766) #11
  %2768 = call ptr @__errno_location() #12
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2757, ptr noundef @.str.5, i32 noundef %2758, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 171, ptr noundef %2761, ptr noundef %2764, ptr noundef %2767, i32 noundef %2769) #11
  br label %2771

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

2772:                                             ; preds = %2771
  br label %2773

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

2774:                                             ; No predecessors!
  br label %2775

2775:                                             ; preds = %2774
  br label %2776

2776:                                             ; preds = %2775, %2716
  br label %2777

2777:                                             ; preds = %2776
  br label %2778

2778:                                             ; preds = %2777
  br label %2779

2779:                                             ; preds = %2778
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

2781:                                             ; preds = %2780
  %2782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2782, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2783 = call ptr @__errno_location() #12
  store i32 0, ptr %2783, align 4, !tbaa !5
  br label %2784

2784:                                             ; preds = %2781
  br label %2785

2785:                                             ; preds = %2784
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

2787:                                             ; preds = %2786
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788
  br label %2790

2790:                                             ; preds = %2789
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = add nsw i32 %2791, 1
  store i32 %2792, ptr @test_count, align 4, !tbaa !5
  %2793 = load ptr, ptr %10, align 8, !tbaa !9
  %2794 = call i32 @s2n_cert_chain_get_length(ptr noundef %2793, ptr noundef null)
  %2795 = icmp eq i32 %2794, -1
  br i1 %2795, label %2849, label %2796

2796:                                             ; preds = %2790
  br label %2797

2797:                                             ; preds = %2796
  br label %2798

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

2805:                                             ; preds = %2798
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = call i32 @fileno(ptr noundef %2806) #11
  %2808 = call i32 @isatty(i32 noundef %2807) #11
  %2809 = icmp ne i32 %2808, 0
  br i1 %2809, label %2810, label %2827

2810:                                             ; preds = %2805
  %2811 = load i32, ptr %52, align 4, !tbaa !5
  %2812 = call ptr @__errno_location() #12
  store i32 %2811, ptr %2812, align 4, !tbaa !5
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = load i32, ptr @test_count, align 4, !tbaa !5
  %2815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  %2817 = call ptr @s2n_strerror(i32 noundef %2816, ptr noundef @.str.4)
  %2818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror_debug(i32 noundef %2819, ptr noundef @.str.4)
  %2821 = call ptr @__errno_location() #12
  %2822 = load i32, ptr %2821, align 4, !tbaa !5
  %2823 = call ptr @strerror(i32 noundef %2822) #11
  %2824 = call ptr @__errno_location() #12
  %2825 = load i32, ptr %2824, align 4, !tbaa !5
  %2826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2813, ptr noundef @.str.2, i32 noundef %2814, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2817, ptr noundef %2820, ptr noundef %2823, i32 noundef %2825) #11
  br label %2844

2827:                                             ; preds = %2805, %2798
  %2828 = load i32, ptr %52, align 4, !tbaa !5
  %2829 = call ptr @__errno_location() #12
  store i32 %2828, ptr %2829, align 4, !tbaa !5
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = load i32, ptr @test_count, align 4, !tbaa !5
  %2832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call ptr @s2n_strerror(i32 noundef %2833, ptr noundef @.str.4)
  %2835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror_debug(i32 noundef %2836, ptr noundef @.str.4)
  %2838 = call ptr @__errno_location() #12
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  %2840 = call ptr @strerror(i32 noundef %2839) #11
  %2841 = call ptr @__errno_location() #12
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2830, ptr noundef @.str.5, i32 noundef %2831, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2834, ptr noundef %2837, ptr noundef %2840, i32 noundef %2842) #11
  br label %2844

2844:                                             ; preds = %2827, %2810
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2845

2845:                                             ; preds = %2844
  br label %2846

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

2847:                                             ; No predecessors!
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

2849:                                             ; preds = %2848, %2790
  br label %2850

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850
  br label %2852

2852:                                             ; preds = %2851
  %2853 = load i32, ptr @test_count, align 4, !tbaa !5
  %2854 = add nsw i32 %2853, 1
  store i32 %2854, ptr @test_count, align 4, !tbaa !5
  %2855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = icmp eq i32 %2856, 402653193
  br i1 %2857, label %2911, label %2858

2858:                                             ; preds = %2852
  br label %2859

2859:                                             ; preds = %2858
  br label %2860

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

2867:                                             ; preds = %2860
  %2868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2869 = call i32 @fileno(ptr noundef %2868) #11
  %2870 = call i32 @isatty(i32 noundef %2869) #11
  %2871 = icmp ne i32 %2870, 0
  br i1 %2871, label %2872, label %2889

2872:                                             ; preds = %2867
  %2873 = load i32, ptr %53, align 4, !tbaa !5
  %2874 = call ptr @__errno_location() #12
  store i32 %2873, ptr %2874, align 4, !tbaa !5
  %2875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2876 = load i32, ptr @test_count, align 4, !tbaa !5
  %2877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror(i32 noundef %2878, ptr noundef @.str.4)
  %2880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror_debug(i32 noundef %2881, ptr noundef @.str.4)
  %2883 = call ptr @__errno_location() #12
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call ptr @strerror(i32 noundef %2884) #11
  %2886 = call ptr @__errno_location() #12
  %2887 = load i32, ptr %2886, align 4, !tbaa !5
  %2888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2875, ptr noundef @.str.2, i32 noundef %2876, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2879, ptr noundef %2882, ptr noundef %2885, i32 noundef %2887) #11
  br label %2906

2889:                                             ; preds = %2867, %2860
  %2890 = load i32, ptr %53, align 4, !tbaa !5
  %2891 = call ptr @__errno_location() #12
  store i32 %2890, ptr %2891, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call ptr @s2n_strerror(i32 noundef %2895, ptr noundef @.str.4)
  %2897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2898 = load i32, ptr %2897, align 4, !tbaa !5
  %2899 = call ptr @s2n_strerror_debug(i32 noundef %2898, ptr noundef @.str.4)
  %2900 = call ptr @__errno_location() #12
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @strerror(i32 noundef %2901) #11
  %2903 = call ptr @__errno_location() #12
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2892, ptr noundef @.str.5, i32 noundef %2893, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2896, ptr noundef %2899, ptr noundef %2902, i32 noundef %2904) #11
  br label %2906

2906:                                             ; preds = %2889, %2872
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2907

2907:                                             ; preds = %2906
  br label %2908

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

2909:                                             ; No predecessors!
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

2911:                                             ; preds = %2910, %2852
  br label %2912

2912:                                             ; preds = %2911
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = add nsw i32 %2915, 1
  store i32 %2916, ptr @test_count, align 4, !tbaa !5
  %2917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror_debug(i32 noundef %2918, ptr noundef @.str.4)
  %2920 = icmp eq ptr %2919, null
  br i1 %2920, label %2921, label %2974

2921:                                             ; preds = %2914
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

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

2930:                                             ; preds = %2923
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = call i32 @fileno(ptr noundef %2931) #11
  %2933 = call i32 @isatty(i32 noundef %2932) #11
  %2934 = icmp ne i32 %2933, 0
  br i1 %2934, label %2935, label %2952

2935:                                             ; preds = %2930
  %2936 = load i32, ptr %54, align 4, !tbaa !5
  %2937 = call ptr @__errno_location() #12
  store i32 %2936, ptr %2937, align 4, !tbaa !5
  %2938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2939 = load i32, ptr @test_count, align 4, !tbaa !5
  %2940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call ptr @s2n_strerror(i32 noundef %2941, ptr noundef @.str.4)
  %2943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call ptr @s2n_strerror_debug(i32 noundef %2944, ptr noundef @.str.4)
  %2946 = call ptr @__errno_location() #12
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call ptr @strerror(i32 noundef %2947) #11
  %2949 = call ptr @__errno_location() #12
  %2950 = load i32, ptr %2949, align 4, !tbaa !5
  %2951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2938, ptr noundef @.str.2, i32 noundef %2939, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2942, ptr noundef %2945, ptr noundef %2948, i32 noundef %2950) #11
  br label %2969

2952:                                             ; preds = %2930, %2923
  %2953 = load i32, ptr %54, align 4, !tbaa !5
  %2954 = call ptr @__errno_location() #12
  store i32 %2953, ptr %2954, align 4, !tbaa !5
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = load i32, ptr @test_count, align 4, !tbaa !5
  %2957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  %2959 = call ptr @s2n_strerror(i32 noundef %2958, ptr noundef @.str.4)
  %2960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2961 = load i32, ptr %2960, align 4, !tbaa !5
  %2962 = call ptr @s2n_strerror_debug(i32 noundef %2961, ptr noundef @.str.4)
  %2963 = call ptr @__errno_location() #12
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #11
  %2966 = call ptr @__errno_location() #12
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2955, ptr noundef @.str.5, i32 noundef %2956, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2959, ptr noundef %2962, ptr noundef %2965, i32 noundef %2967) #11
  br label %2969

2969:                                             ; preds = %2952, %2935
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2970

2970:                                             ; preds = %2969
  br label %2971

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

2972:                                             ; No predecessors!
  br label %2973

2973:                                             ; preds = %2972
  br label %2974

2974:                                             ; preds = %2973, %2914
  br label %2975

2975:                                             ; preds = %2974
  br label %2976

2976:                                             ; preds = %2975
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

2978:                                             ; preds = %2977
  br label %2979

2979:                                             ; preds = %2978
  %2980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2980, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2981 = call ptr @__errno_location() #12
  store i32 0, ptr %2981, align 4, !tbaa !5
  br label %2982

2982:                                             ; preds = %2979
  br label %2983

2983:                                             ; preds = %2982
  br label %2984

2984:                                             ; preds = %2983
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

2986:                                             ; preds = %2985
  %2987 = load i32, ptr @test_count, align 4, !tbaa !5
  %2988 = add nsw i32 %2987, 1
  store i32 %2988, ptr @test_count, align 4, !tbaa !5
  %2989 = load ptr, ptr %10, align 8, !tbaa !9
  %2990 = call i32 @s2n_cert_chain_get_length(ptr noundef %2989, ptr noundef %48)
  %2991 = icmp eq i32 %2990, -1
  br i1 %2991, label %2992, label %3045

2992:                                             ; preds = %2986
  br label %2993

2993:                                             ; preds = %2992
  br label %2994

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

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

3006:                                             ; preds = %3001
  %3007 = load i32, ptr %55, align 4, !tbaa !5
  %3008 = call ptr @__errno_location() #12
  store i32 %3007, ptr %3008, align 4, !tbaa !5
  %3009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3010 = load i32, ptr @test_count, align 4, !tbaa !5
  %3011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3012 = load i32, ptr %3011, align 4, !tbaa !5
  %3013 = call ptr @s2n_strerror(i32 noundef %3012, ptr noundef @.str.4)
  %3014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3015 = load i32, ptr %3014, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror_debug(i32 noundef %3015, ptr noundef @.str.4)
  %3017 = call ptr @__errno_location() #12
  %3018 = load i32, ptr %3017, align 4, !tbaa !5
  %3019 = call ptr @strerror(i32 noundef %3018) #11
  %3020 = call ptr @__errno_location() #12
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3009, ptr noundef @.str.2, i32 noundef %3010, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3013, ptr noundef %3016, ptr noundef %3019, i32 noundef %3021) #11
  br label %3040

3023:                                             ; preds = %3001, %2994
  %3024 = load i32, ptr %55, align 4, !tbaa !5
  %3025 = call ptr @__errno_location() #12
  store i32 %3024, ptr %3025, align 4, !tbaa !5
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = load i32, ptr @test_count, align 4, !tbaa !5
  %3028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror(i32 noundef %3029, ptr noundef @.str.4)
  %3031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3032 = load i32, ptr %3031, align 4, !tbaa !5
  %3033 = call ptr @s2n_strerror_debug(i32 noundef %3032, ptr noundef @.str.4)
  %3034 = call ptr @__errno_location() #12
  %3035 = load i32, ptr %3034, align 4, !tbaa !5
  %3036 = call ptr @strerror(i32 noundef %3035) #11
  %3037 = call ptr @__errno_location() #12
  %3038 = load i32, ptr %3037, align 4, !tbaa !5
  %3039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3026, ptr noundef @.str.5, i32 noundef %3027, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3030, ptr noundef %3033, ptr noundef %3036, i32 noundef %3038) #11
  br label %3040

3040:                                             ; preds = %3023, %3006
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %3041

3041:                                             ; preds = %3040
  br label %3042

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

3043:                                             ; No predecessors!
  br label %3044

3044:                                             ; preds = %3043
  br label %3045

3045:                                             ; preds = %3044, %2986
  br label %3046

3046:                                             ; preds = %3045
  br label %3047

3047:                                             ; preds = %3046
  br label %3048

3048:                                             ; preds = %3047
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = add nsw i32 %3049, 1
  store i32 %3050, ptr @test_count, align 4, !tbaa !5
  %3051 = load i32, ptr %48, align 4, !tbaa !5
  %3052 = icmp eq i32 %3051, 3
  br i1 %3052, label %3106, label %3053

3053:                                             ; preds = %3048
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

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

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

3067:                                             ; preds = %3062
  %3068 = load i32, ptr %56, align 4, !tbaa !5
  %3069 = call ptr @__errno_location() #12
  store i32 %3068, ptr %3069, align 4, !tbaa !5
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = load i32, ptr @test_count, align 4, !tbaa !5
  %3072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3073 = load i32, ptr %3072, align 4, !tbaa !5
  %3074 = call ptr @s2n_strerror(i32 noundef %3073, ptr noundef @.str.4)
  %3075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3076 = load i32, ptr %3075, align 4, !tbaa !5
  %3077 = call ptr @s2n_strerror_debug(i32 noundef %3076, ptr noundef @.str.4)
  %3078 = call ptr @__errno_location() #12
  %3079 = load i32, ptr %3078, align 4, !tbaa !5
  %3080 = call ptr @strerror(i32 noundef %3079) #11
  %3081 = call ptr @__errno_location() #12
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3070, ptr noundef @.str.2, i32 noundef %3071, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3074, ptr noundef %3077, ptr noundef %3080, i32 noundef %3082) #11
  br label %3101

3084:                                             ; preds = %3062, %3055
  %3085 = load i32, ptr %56, align 4, !tbaa !5
  %3086 = call ptr @__errno_location() #12
  store i32 %3085, ptr %3086, align 4, !tbaa !5
  %3087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3088 = load i32, ptr @test_count, align 4, !tbaa !5
  %3089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3090 = load i32, ptr %3089, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror(i32 noundef %3090, ptr noundef @.str.4)
  %3092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3093 = load i32, ptr %3092, align 4, !tbaa !5
  %3094 = call ptr @s2n_strerror_debug(i32 noundef %3093, ptr noundef @.str.4)
  %3095 = call ptr @__errno_location() #12
  %3096 = load i32, ptr %3095, align 4, !tbaa !5
  %3097 = call ptr @strerror(i32 noundef %3096) #11
  %3098 = call ptr @__errno_location() #12
  %3099 = load i32, ptr %3098, align 4, !tbaa !5
  %3100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3087, ptr noundef @.str.5, i32 noundef %3088, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3091, ptr noundef %3094, ptr noundef %3097, i32 noundef %3099) #11
  br label %3101

3101:                                             ; preds = %3084, %3067
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %3102

3102:                                             ; preds = %3101
  br label %3103

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

3104:                                             ; No predecessors!
  br label %3105

3105:                                             ; preds = %3104
  br label %3106

3106:                                             ; preds = %3105, %3048
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #11
  store ptr null, ptr %57, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  store i32 0, ptr %58, align 4, !tbaa !5
  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 i32, ptr %58, align 4, !tbaa !5
  %3115 = call i32 @s2n_cert_chain_get_cert(ptr noundef null, ptr noundef %57, i32 noundef %3114)
  %3116 = icmp eq i32 %3115, -1
  br i1 %3116, label %3170, label %3117

3117:                                             ; preds = %3111
  br label %3118

3118:                                             ; preds = %3117
  br label %3119

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

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

3131:                                             ; preds = %3126
  %3132 = load i32, ptr %59, align 4, !tbaa !5
  %3133 = call ptr @__errno_location() #12
  store i32 %3132, ptr %3133, align 4, !tbaa !5
  %3134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3135 = load i32, ptr @test_count, align 4, !tbaa !5
  %3136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3137 = load i32, ptr %3136, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror(i32 noundef %3137, ptr noundef @.str.4)
  %3139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3140 = load i32, ptr %3139, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror_debug(i32 noundef %3140, ptr noundef @.str.4)
  %3142 = call ptr @__errno_location() #12
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @strerror(i32 noundef %3143) #11
  %3145 = call ptr @__errno_location() #12
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  %3147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3134, ptr noundef @.str.2, i32 noundef %3135, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3138, ptr noundef %3141, ptr noundef %3144, i32 noundef %3146) #11
  br label %3165

3148:                                             ; preds = %3126, %3119
  %3149 = load i32, ptr %59, align 4, !tbaa !5
  %3150 = call ptr @__errno_location() #12
  store i32 %3149, ptr %3150, align 4, !tbaa !5
  %3151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3152 = load i32, ptr @test_count, align 4, !tbaa !5
  %3153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3154 = load i32, ptr %3153, align 4, !tbaa !5
  %3155 = call ptr @s2n_strerror(i32 noundef %3154, ptr noundef @.str.4)
  %3156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @s2n_strerror_debug(i32 noundef %3157, ptr noundef @.str.4)
  %3159 = call ptr @__errno_location() #12
  %3160 = load i32, ptr %3159, align 4, !tbaa !5
  %3161 = call ptr @strerror(i32 noundef %3160) #11
  %3162 = call ptr @__errno_location() #12
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3151, ptr noundef @.str.5, i32 noundef %3152, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3155, ptr noundef %3158, ptr noundef %3161, i32 noundef %3163) #11
  br label %3165

3165:                                             ; preds = %3148, %3131
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %3166

3166:                                             ; preds = %3165
  br label %3167

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

3168:                                             ; No predecessors!
  br label %3169

3169:                                             ; preds = %3168
  br label %3170

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

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

3173:                                             ; preds = %3172
  %3174 = load i32, ptr @test_count, align 4, !tbaa !5
  %3175 = add nsw i32 %3174, 1
  store i32 %3175, ptr @test_count, align 4, !tbaa !5
  %3176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = icmp eq i32 %3177, 402653193
  br i1 %3178, label %3232, label %3179

3179:                                             ; preds = %3173
  br label %3180

3180:                                             ; preds = %3179
  br label %3181

3181:                                             ; preds = %3180
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %3182 = call ptr @__errno_location() #12
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  store i32 %3183, ptr %60, align 4, !tbaa !5
  %3184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3185 = call i32 @s2n_print_stacktrace(ptr noundef %3184)
  %3186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3187 = trunc i8 %3186 to i1
  br i1 %3187, label %3188, label %3210

3188:                                             ; preds = %3181
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = call i32 @fileno(ptr noundef %3189) #11
  %3191 = call i32 @isatty(i32 noundef %3190) #11
  %3192 = icmp ne i32 %3191, 0
  br i1 %3192, label %3193, label %3210

3193:                                             ; preds = %3188
  %3194 = load i32, ptr %60, align 4, !tbaa !5
  %3195 = call ptr @__errno_location() #12
  store i32 %3194, ptr %3195, align 4, !tbaa !5
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = load i32, ptr @test_count, align 4, !tbaa !5
  %3198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3199 = load i32, ptr %3198, align 4, !tbaa !5
  %3200 = call ptr @s2n_strerror(i32 noundef %3199, ptr noundef @.str.4)
  %3201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3202 = load i32, ptr %3201, align 4, !tbaa !5
  %3203 = call ptr @s2n_strerror_debug(i32 noundef %3202, ptr noundef @.str.4)
  %3204 = call ptr @__errno_location() #12
  %3205 = load i32, ptr %3204, align 4, !tbaa !5
  %3206 = call ptr @strerror(i32 noundef %3205) #11
  %3207 = call ptr @__errno_location() #12
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3196, ptr noundef @.str.2, i32 noundef %3197, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3200, ptr noundef %3203, ptr noundef %3206, i32 noundef %3208) #11
  br label %3227

3210:                                             ; preds = %3188, %3181
  %3211 = load i32, ptr %60, align 4, !tbaa !5
  %3212 = call ptr @__errno_location() #12
  store i32 %3211, ptr %3212, align 4, !tbaa !5
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = load i32, ptr @test_count, align 4, !tbaa !5
  %3215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  %3217 = call ptr @s2n_strerror(i32 noundef %3216, ptr noundef @.str.4)
  %3218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3219 = load i32, ptr %3218, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror_debug(i32 noundef %3219, ptr noundef @.str.4)
  %3221 = call ptr @__errno_location() #12
  %3222 = load i32, ptr %3221, align 4, !tbaa !5
  %3223 = call ptr @strerror(i32 noundef %3222) #11
  %3224 = call ptr @__errno_location() #12
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  %3226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3213, ptr noundef @.str.5, i32 noundef %3214, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3217, ptr noundef %3220, ptr noundef %3223, i32 noundef %3225) #11
  br label %3227

3227:                                             ; preds = %3210, %3193
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %3228

3228:                                             ; preds = %3227
  br label %3229

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

3230:                                             ; No predecessors!
  br label %3231

3231:                                             ; preds = %3230
  br label %3232

3232:                                             ; preds = %3231, %3173
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

3234:                                             ; preds = %3233
  br label %3235

3235:                                             ; preds = %3234
  %3236 = load i32, ptr @test_count, align 4, !tbaa !5
  %3237 = add nsw i32 %3236, 1
  store i32 %3237, ptr @test_count, align 4, !tbaa !5
  %3238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3239 = load i32, ptr %3238, align 4, !tbaa !5
  %3240 = call ptr @s2n_strerror_debug(i32 noundef %3239, ptr noundef @.str.4)
  %3241 = icmp eq ptr %3240, null
  br i1 %3241, label %3242, label %3295

3242:                                             ; preds = %3235
  br label %3243

3243:                                             ; preds = %3242
  br label %3244

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

3251:                                             ; preds = %3244
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = call i32 @fileno(ptr noundef %3252) #11
  %3254 = call i32 @isatty(i32 noundef %3253) #11
  %3255 = icmp ne i32 %3254, 0
  br i1 %3255, label %3256, label %3273

3256:                                             ; preds = %3251
  %3257 = load i32, ptr %61, align 4, !tbaa !5
  %3258 = call ptr @__errno_location() #12
  store i32 %3257, ptr %3258, align 4, !tbaa !5
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = load i32, ptr @test_count, align 4, !tbaa !5
  %3261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3262 = load i32, ptr %3261, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef @.str.4)
  %3264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3265 = load i32, ptr %3264, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef @.str.4)
  %3267 = call ptr @__errno_location() #12
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call ptr @strerror(i32 noundef %3268) #11
  %3270 = call ptr @__errno_location() #12
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3259, ptr noundef @.str.2, i32 noundef %3260, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3263, ptr noundef %3266, ptr noundef %3269, i32 noundef %3271) #11
  br label %3290

3273:                                             ; preds = %3251, %3244
  %3274 = load i32, ptr %61, align 4, !tbaa !5
  %3275 = call ptr @__errno_location() #12
  store i32 %3274, ptr %3275, align 4, !tbaa !5
  %3276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3277 = load i32, ptr @test_count, align 4, !tbaa !5
  %3278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = call ptr @s2n_strerror(i32 noundef %3279, ptr noundef @.str.4)
  %3281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = call ptr @s2n_strerror_debug(i32 noundef %3282, ptr noundef @.str.4)
  %3284 = call ptr @__errno_location() #12
  %3285 = load i32, ptr %3284, align 4, !tbaa !5
  %3286 = call ptr @strerror(i32 noundef %3285) #11
  %3287 = call ptr @__errno_location() #12
  %3288 = load i32, ptr %3287, align 4, !tbaa !5
  %3289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3276, ptr noundef @.str.5, i32 noundef %3277, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3280, ptr noundef %3283, ptr noundef %3286, i32 noundef %3288) #11
  br label %3290

3290:                                             ; preds = %3273, %3256
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %3291

3291:                                             ; preds = %3290
  br label %3292

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

3293:                                             ; No predecessors!
  br label %3294

3294:                                             ; preds = %3293
  br label %3295

3295:                                             ; preds = %3294, %3235
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

3297:                                             ; preds = %3296
  br label %3298

3298:                                             ; preds = %3297
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299
  %3301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3301, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3302 = call ptr @__errno_location() #12
  store i32 0, ptr %3302, align 4, !tbaa !5
  br label %3303

3303:                                             ; preds = %3300
  br label %3304

3304:                                             ; preds = %3303
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305
  br label %3307

3307:                                             ; preds = %3306
  br label %3308

3308:                                             ; preds = %3307
  br label %3309

3309:                                             ; preds = %3308
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = add nsw i32 %3310, 1
  store i32 %3311, ptr @test_count, align 4, !tbaa !5
  %3312 = load ptr, ptr %10, align 8, !tbaa !9
  %3313 = load i32, ptr %58, align 4, !tbaa !5
  %3314 = call i32 @s2n_cert_chain_get_cert(ptr noundef %3312, ptr noundef null, i32 noundef %3313)
  %3315 = icmp eq i32 %3314, -1
  br i1 %3315, label %3369, label %3316

3316:                                             ; preds = %3309
  br label %3317

3317:                                             ; preds = %3316
  br label %3318

3318:                                             ; preds = %3317
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %3319 = call ptr @__errno_location() #12
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  store i32 %3320, ptr %62, 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 %62, 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.4)
  %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.4)
  %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.2, i32 noundef %3334, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3337, ptr noundef %3340, ptr noundef %3343, i32 noundef %3345) #11
  br label %3364

3347:                                             ; preds = %3325, %3318
  %3348 = load i32, ptr %62, 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.4)
  %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.4)
  %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.5, i32 noundef %3351, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 188, 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 %62) #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, %3309
  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 = icmp eq i32 %3376, 402653193
  br i1 %3377, label %3431, label %3378

3378:                                             ; preds = %3372
  br label %3379

3379:                                             ; preds = %3378
  br label %3380

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

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

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

3409:                                             ; preds = %3387, %3380
  %3410 = load i32, ptr %63, align 4, !tbaa !5
  %3411 = call ptr @__errno_location() #12
  store i32 %3410, ptr %3411, align 4, !tbaa !5
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = load i32, ptr @test_count, align 4, !tbaa !5
  %3414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror(i32 noundef %3415, ptr noundef @.str.4)
  %3417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call ptr @s2n_strerror_debug(i32 noundef %3418, ptr noundef @.str.4)
  %3420 = call ptr @__errno_location() #12
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  %3422 = call ptr @strerror(i32 noundef %3421) #11
  %3423 = call ptr @__errno_location() #12
  %3424 = load i32, ptr %3423, align 4, !tbaa !5
  %3425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3412, ptr noundef @.str.5, i32 noundef %3413, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3416, ptr noundef %3419, ptr noundef %3422, i32 noundef %3424) #11
  br label %3426

3426:                                             ; preds = %3409, %3392
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3427

3427:                                             ; preds = %3426
  br label %3428

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

3429:                                             ; No predecessors!
  br label %3430

3430:                                             ; preds = %3429
  br label %3431

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

3432:                                             ; preds = %3431
  br label %3433

3433:                                             ; preds = %3432
  br label %3434

3434:                                             ; preds = %3433
  %3435 = load i32, ptr @test_count, align 4, !tbaa !5
  %3436 = add nsw i32 %3435, 1
  store i32 %3436, ptr @test_count, align 4, !tbaa !5
  %3437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3438 = load i32, ptr %3437, align 4, !tbaa !5
  %3439 = call ptr @s2n_strerror_debug(i32 noundef %3438, ptr noundef @.str.4)
  %3440 = icmp eq ptr %3439, null
  br i1 %3440, label %3441, label %3494

3441:                                             ; preds = %3434
  br label %3442

3442:                                             ; preds = %3441
  br label %3443

3443:                                             ; preds = %3442
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3444 = call ptr @__errno_location() #12
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  store i32 %3445, ptr %64, align 4, !tbaa !5
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @s2n_print_stacktrace(ptr noundef %3446)
  %3448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3449 = trunc i8 %3448 to i1
  br i1 %3449, label %3450, label %3472

3450:                                             ; preds = %3443
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = call i32 @fileno(ptr noundef %3451) #11
  %3453 = call i32 @isatty(i32 noundef %3452) #11
  %3454 = icmp ne i32 %3453, 0
  br i1 %3454, label %3455, label %3472

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

3472:                                             ; preds = %3450, %3443
  %3473 = load i32, ptr %64, align 4, !tbaa !5
  %3474 = call ptr @__errno_location() #12
  store i32 %3473, ptr %3474, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = call ptr @s2n_strerror(i32 noundef %3478, ptr noundef @.str.4)
  %3480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3481 = load i32, ptr %3480, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror_debug(i32 noundef %3481, ptr noundef @.str.4)
  %3483 = call ptr @__errno_location() #12
  %3484 = load i32, ptr %3483, align 4, !tbaa !5
  %3485 = call ptr @strerror(i32 noundef %3484) #11
  %3486 = call ptr @__errno_location() #12
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  %3488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3475, ptr noundef @.str.5, i32 noundef %3476, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3479, ptr noundef %3482, ptr noundef %3485, i32 noundef %3487) #11
  br label %3489

3489:                                             ; preds = %3472, %3455
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3490

3490:                                             ; preds = %3489
  br label %3491

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

3492:                                             ; No predecessors!
  br label %3493

3493:                                             ; preds = %3492
  br label %3494

3494:                                             ; preds = %3493, %3434
  br label %3495

3495:                                             ; preds = %3494
  br label %3496

3496:                                             ; preds = %3495
  br label %3497

3497:                                             ; preds = %3496
  br label %3498

3498:                                             ; preds = %3497
  br label %3499

3499:                                             ; preds = %3498
  %3500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3500, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3501 = call ptr @__errno_location() #12
  store i32 0, ptr %3501, align 4, !tbaa !5
  br label %3502

3502:                                             ; preds = %3499
  br label %3503

3503:                                             ; preds = %3502
  br label %3504

3504:                                             ; preds = %3503
  br label %3505

3505:                                             ; preds = %3504
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #11
  %3506 = load ptr, ptr %10, align 8, !tbaa !9
  %3507 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %3506, i32 0, i32 0
  %3508 = load ptr, ptr %3507, align 8, !tbaa !15
  %3509 = getelementptr inbounds %struct.s2n_cert_chain, ptr %3508, i32 0, i32 1
  %3510 = load ptr, ptr %3509, align 8, !tbaa !23
  store ptr %3510, ptr %65, align 8, !tbaa !9
  store i32 3, ptr %58, align 4, !tbaa !5
  br label %3511

3511:                                             ; preds = %3505
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512
  %3514 = load i32, ptr @test_count, align 4, !tbaa !5
  %3515 = add nsw i32 %3514, 1
  store i32 %3515, ptr @test_count, align 4, !tbaa !5
  %3516 = load ptr, ptr %10, align 8, !tbaa !9
  %3517 = load i32, ptr %58, align 4, !tbaa !5
  %3518 = call i32 @s2n_cert_chain_get_cert(ptr noundef %3516, ptr noundef %57, i32 noundef %3517)
  %3519 = icmp eq i32 %3518, -1
  br i1 %3519, label %3573, label %3520

3520:                                             ; preds = %3513
  br label %3521

3521:                                             ; preds = %3520
  br label %3522

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

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

3534:                                             ; preds = %3529
  %3535 = load i32, ptr %66, align 4, !tbaa !5
  %3536 = call ptr @__errno_location() #12
  store i32 %3535, ptr %3536, align 4, !tbaa !5
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = load i32, ptr @test_count, align 4, !tbaa !5
  %3539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror(i32 noundef %3540, ptr noundef @.str.4)
  %3542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3543 = load i32, ptr %3542, align 4, !tbaa !5
  %3544 = call ptr @s2n_strerror_debug(i32 noundef %3543, ptr noundef @.str.4)
  %3545 = call ptr @__errno_location() #12
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = call ptr @strerror(i32 noundef %3546) #11
  %3548 = call ptr @__errno_location() #12
  %3549 = load i32, ptr %3548, align 4, !tbaa !5
  %3550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3537, ptr noundef @.str.2, i32 noundef %3538, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3541, ptr noundef %3544, ptr noundef %3547, i32 noundef %3549) #11
  br label %3568

3551:                                             ; preds = %3529, %3522
  %3552 = load i32, ptr %66, align 4, !tbaa !5
  %3553 = call ptr @__errno_location() #12
  store i32 %3552, ptr %3553, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = load i32, ptr @test_count, align 4, !tbaa !5
  %3556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror(i32 noundef %3557, ptr noundef @.str.4)
  %3559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3560 = load i32, ptr %3559, align 4, !tbaa !5
  %3561 = call ptr @s2n_strerror_debug(i32 noundef %3560, ptr noundef @.str.4)
  %3562 = call ptr @__errno_location() #12
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @strerror(i32 noundef %3563) #11
  %3565 = call ptr @__errno_location() #12
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3554, ptr noundef @.str.5, i32 noundef %3555, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3558, ptr noundef %3561, ptr noundef %3564, i32 noundef %3566) #11
  br label %3568

3568:                                             ; preds = %3551, %3534
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3569

3569:                                             ; preds = %3568
  br label %3570

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

3571:                                             ; No predecessors!
  br label %3572

3572:                                             ; preds = %3571
  br label %3573

3573:                                             ; preds = %3572, %3513
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  br label %3576

3576:                                             ; preds = %3575
  %3577 = load i32, ptr @test_count, align 4, !tbaa !5
  %3578 = add nsw i32 %3577, 1
  store i32 %3578, ptr @test_count, align 4, !tbaa !5
  %3579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3580 = load i32, ptr %3579, align 4, !tbaa !5
  %3581 = icmp eq i32 %3580, 469762114
  br i1 %3581, label %3635, label %3582

3582:                                             ; preds = %3576
  br label %3583

3583:                                             ; preds = %3582
  br label %3584

3584:                                             ; preds = %3583
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3585 = call ptr @__errno_location() #12
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  store i32 %3586, ptr %67, align 4, !tbaa !5
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @s2n_print_stacktrace(ptr noundef %3587)
  %3589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3590 = trunc i8 %3589 to i1
  br i1 %3590, label %3591, label %3613

3591:                                             ; preds = %3584
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = call i32 @fileno(ptr noundef %3592) #11
  %3594 = call i32 @isatty(i32 noundef %3593) #11
  %3595 = icmp ne i32 %3594, 0
  br i1 %3595, label %3596, label %3613

3596:                                             ; preds = %3591
  %3597 = load i32, ptr %67, align 4, !tbaa !5
  %3598 = call ptr @__errno_location() #12
  store i32 %3597, ptr %3598, align 4, !tbaa !5
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = load i32, ptr @test_count, align 4, !tbaa !5
  %3601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3602 = load i32, ptr %3601, align 4, !tbaa !5
  %3603 = call ptr @s2n_strerror(i32 noundef %3602, ptr noundef @.str.4)
  %3604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3605 = load i32, ptr %3604, align 4, !tbaa !5
  %3606 = call ptr @s2n_strerror_debug(i32 noundef %3605, ptr noundef @.str.4)
  %3607 = call ptr @__errno_location() #12
  %3608 = load i32, ptr %3607, align 4, !tbaa !5
  %3609 = call ptr @strerror(i32 noundef %3608) #11
  %3610 = call ptr @__errno_location() #12
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3599, ptr noundef @.str.2, i32 noundef %3600, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3603, ptr noundef %3606, ptr noundef %3609, i32 noundef %3611) #11
  br label %3630

3613:                                             ; preds = %3591, %3584
  %3614 = load i32, ptr %67, align 4, !tbaa !5
  %3615 = call ptr @__errno_location() #12
  store i32 %3614, ptr %3615, align 4, !tbaa !5
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = load i32, ptr @test_count, align 4, !tbaa !5
  %3618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3619 = load i32, ptr %3618, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror(i32 noundef %3619, ptr noundef @.str.4)
  %3621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3622 = load i32, ptr %3621, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror_debug(i32 noundef %3622, ptr noundef @.str.4)
  %3624 = call ptr @__errno_location() #12
  %3625 = load i32, ptr %3624, align 4, !tbaa !5
  %3626 = call ptr @strerror(i32 noundef %3625) #11
  %3627 = call ptr @__errno_location() #12
  %3628 = load i32, ptr %3627, align 4, !tbaa !5
  %3629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3616, ptr noundef @.str.5, i32 noundef %3617, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3620, ptr noundef %3623, ptr noundef %3626, i32 noundef %3628) #11
  br label %3630

3630:                                             ; preds = %3613, %3596
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3631

3631:                                             ; preds = %3630
  br label %3632

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

3633:                                             ; No predecessors!
  br label %3634

3634:                                             ; preds = %3633
  br label %3635

3635:                                             ; preds = %3634, %3576
  br label %3636

3636:                                             ; preds = %3635
  br label %3637

3637:                                             ; preds = %3636
  br label %3638

3638:                                             ; preds = %3637
  %3639 = load i32, ptr @test_count, align 4, !tbaa !5
  %3640 = add nsw i32 %3639, 1
  store i32 %3640, ptr @test_count, align 4, !tbaa !5
  %3641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  %3643 = call ptr @s2n_strerror_debug(i32 noundef %3642, ptr noundef @.str.4)
  %3644 = icmp eq ptr %3643, null
  br i1 %3644, label %3645, label %3698

3645:                                             ; preds = %3638
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

3647:                                             ; preds = %3646
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3648 = call ptr @__errno_location() #12
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  store i32 %3649, ptr %68, align 4, !tbaa !5
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = call i32 @s2n_print_stacktrace(ptr noundef %3650)
  %3652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3653 = trunc i8 %3652 to i1
  br i1 %3653, label %3654, label %3676

3654:                                             ; preds = %3647
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = call i32 @fileno(ptr noundef %3655) #11
  %3657 = call i32 @isatty(i32 noundef %3656) #11
  %3658 = icmp ne i32 %3657, 0
  br i1 %3658, label %3659, label %3676

3659:                                             ; preds = %3654
  %3660 = load i32, ptr %68, align 4, !tbaa !5
  %3661 = call ptr @__errno_location() #12
  store i32 %3660, ptr %3661, align 4, !tbaa !5
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror(i32 noundef %3665, ptr noundef @.str.4)
  %3667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror_debug(i32 noundef %3668, ptr noundef @.str.4)
  %3670 = call ptr @__errno_location() #12
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call ptr @strerror(i32 noundef %3671) #11
  %3673 = call ptr @__errno_location() #12
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3662, ptr noundef @.str.2, i32 noundef %3663, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3666, ptr noundef %3669, ptr noundef %3672, i32 noundef %3674) #11
  br label %3693

3676:                                             ; preds = %3654, %3647
  %3677 = load i32, ptr %68, align 4, !tbaa !5
  %3678 = call ptr @__errno_location() #12
  store i32 %3677, ptr %3678, align 4, !tbaa !5
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = load i32, ptr @test_count, align 4, !tbaa !5
  %3681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  %3683 = call ptr @s2n_strerror(i32 noundef %3682, ptr noundef @.str.4)
  %3684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3685 = load i32, ptr %3684, align 4, !tbaa !5
  %3686 = call ptr @s2n_strerror_debug(i32 noundef %3685, ptr noundef @.str.4)
  %3687 = call ptr @__errno_location() #12
  %3688 = load i32, ptr %3687, align 4, !tbaa !5
  %3689 = call ptr @strerror(i32 noundef %3688) #11
  %3690 = call ptr @__errno_location() #12
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3679, ptr noundef @.str.5, i32 noundef %3680, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3683, ptr noundef %3686, ptr noundef %3689, i32 noundef %3691) #11
  br label %3693

3693:                                             ; preds = %3676, %3659
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3694

3694:                                             ; preds = %3693
  br label %3695

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

3696:                                             ; No predecessors!
  br label %3697

3697:                                             ; preds = %3696
  br label %3698

3698:                                             ; preds = %3697, %3638
  br label %3699

3699:                                             ; preds = %3698
  br label %3700

3700:                                             ; preds = %3699
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

3703:                                             ; preds = %3702
  %3704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3704, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3705 = call ptr @__errno_location() #12
  store i32 0, ptr %3705, align 4, !tbaa !5
  br label %3706

3706:                                             ; preds = %3703
  br label %3707

3707:                                             ; preds = %3706
  br label %3708

3708:                                             ; preds = %3707
  br label %3709

3709:                                             ; preds = %3708
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  store i64 0, ptr %69, align 8, !tbaa !28
  br label %3710

3710:                                             ; preds = %3905, %3709
  %3711 = load i64, ptr %69, align 8, !tbaa !28
  %3712 = icmp ult i64 %3711, 3
  br i1 %3712, label %3714, label %3713

3713:                                             ; preds = %3710
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  br label %3908

3714:                                             ; preds = %3710
  br label %3715

3715:                                             ; preds = %3714
  %3716 = load i32, ptr @test_count, align 4, !tbaa !5
  %3717 = add nsw i32 %3716, 1
  store i32 %3717, ptr @test_count, align 4, !tbaa !5
  %3718 = load ptr, ptr %10, align 8, !tbaa !9
  %3719 = load i64, ptr %69, align 8, !tbaa !28
  %3720 = trunc i64 %3719 to i32
  %3721 = call i32 @s2n_cert_chain_get_cert(ptr noundef %3718, ptr noundef %57, i32 noundef %3720)
  %3722 = icmp eq i32 %3721, -1
  br i1 %3722, label %3723, label %3776

3723:                                             ; preds = %3715
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3726 = call ptr @__errno_location() #12
  %3727 = load i32, ptr %3726, align 4, !tbaa !5
  store i32 %3727, ptr %70, align 4, !tbaa !5
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = call i32 @s2n_print_stacktrace(ptr noundef %3728)
  %3730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3731 = trunc i8 %3730 to i1
  br i1 %3731, label %3732, label %3754

3732:                                             ; preds = %3725
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = call i32 @fileno(ptr noundef %3733) #11
  %3735 = call i32 @isatty(i32 noundef %3734) #11
  %3736 = icmp ne i32 %3735, 0
  br i1 %3736, label %3737, label %3754

3737:                                             ; preds = %3732
  %3738 = load i32, ptr %70, align 4, !tbaa !5
  %3739 = call ptr @__errno_location() #12
  store i32 %3738, ptr %3739, align 4, !tbaa !5
  %3740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3741 = load i32, ptr @test_count, align 4, !tbaa !5
  %3742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3743 = load i32, ptr %3742, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror(i32 noundef %3743, ptr noundef @.str.4)
  %3745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror_debug(i32 noundef %3746, ptr noundef @.str.4)
  %3748 = call ptr @__errno_location() #12
  %3749 = load i32, ptr %3748, align 4, !tbaa !5
  %3750 = call ptr @strerror(i32 noundef %3749) #11
  %3751 = call ptr @__errno_location() #12
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3740, ptr noundef @.str.2, i32 noundef %3741, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 199, ptr noundef %3744, ptr noundef %3747, ptr noundef %3750, i32 noundef %3752) #11
  br label %3771

3754:                                             ; preds = %3732, %3725
  %3755 = load i32, ptr %70, align 4, !tbaa !5
  %3756 = call ptr @__errno_location() #12
  store i32 %3755, ptr %3756, align 4, !tbaa !5
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = load i32, ptr @test_count, align 4, !tbaa !5
  %3759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3760 = load i32, ptr %3759, align 4, !tbaa !5
  %3761 = call ptr @s2n_strerror(i32 noundef %3760, ptr noundef @.str.4)
  %3762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3763 = load i32, ptr %3762, align 4, !tbaa !5
  %3764 = call ptr @s2n_strerror_debug(i32 noundef %3763, ptr noundef @.str.4)
  %3765 = call ptr @__errno_location() #12
  %3766 = load i32, ptr %3765, align 4, !tbaa !5
  %3767 = call ptr @strerror(i32 noundef %3766) #11
  %3768 = call ptr @__errno_location() #12
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3757, ptr noundef @.str.5, i32 noundef %3758, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 199, ptr noundef %3761, ptr noundef %3764, ptr noundef %3767, i32 noundef %3769) #11
  br label %3771

3771:                                             ; preds = %3754, %3737
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3772

3772:                                             ; preds = %3771
  br label %3773

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

3774:                                             ; No predecessors!
  br label %3775

3775:                                             ; preds = %3774
  br label %3776

3776:                                             ; preds = %3775, %3715
  br label %3777

3777:                                             ; preds = %3776
  br label %3778

3778:                                             ; preds = %3777
  br label %3779

3779:                                             ; preds = %3778
  %3780 = load i32, ptr @test_count, align 4, !tbaa !5
  %3781 = add nsw i32 %3780, 1
  store i32 %3781, ptr @test_count, align 4, !tbaa !5
  %3782 = load ptr, ptr %65, align 8, !tbaa !9
  %3783 = icmp eq ptr %3782, null
  br i1 %3783, label %3784, label %3837

3784:                                             ; preds = %3779
  br label %3785

3785:                                             ; preds = %3784
  br label %3786

3786:                                             ; preds = %3785
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3787 = call ptr @__errno_location() #12
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  store i32 %3788, ptr %71, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @s2n_print_stacktrace(ptr noundef %3789)
  %3791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3792 = trunc i8 %3791 to i1
  br i1 %3792, label %3793, label %3815

3793:                                             ; preds = %3786
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @fileno(ptr noundef %3794) #11
  %3796 = call i32 @isatty(i32 noundef %3795) #11
  %3797 = icmp ne i32 %3796, 0
  br i1 %3797, label %3798, label %3815

3798:                                             ; preds = %3793
  %3799 = load i32, ptr %71, align 4, !tbaa !5
  %3800 = call ptr @__errno_location() #12
  store i32 %3799, ptr %3800, align 4, !tbaa !5
  %3801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3802 = load i32, ptr @test_count, align 4, !tbaa !5
  %3803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call ptr @s2n_strerror(i32 noundef %3804, ptr noundef @.str.4)
  %3806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3807 = load i32, ptr %3806, align 4, !tbaa !5
  %3808 = call ptr @s2n_strerror_debug(i32 noundef %3807, ptr noundef @.str.4)
  %3809 = call ptr @__errno_location() #12
  %3810 = load i32, ptr %3809, align 4, !tbaa !5
  %3811 = call ptr @strerror(i32 noundef %3810) #11
  %3812 = call ptr @__errno_location() #12
  %3813 = load i32, ptr %3812, align 4, !tbaa !5
  %3814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3801, ptr noundef @.str.2, i32 noundef %3802, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 200, ptr noundef %3805, ptr noundef %3808, ptr noundef %3811, i32 noundef %3813) #11
  br label %3832

3815:                                             ; preds = %3793, %3786
  %3816 = load i32, ptr %71, align 4, !tbaa !5
  %3817 = call ptr @__errno_location() #12
  store i32 %3816, ptr %3817, align 4, !tbaa !5
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = load i32, ptr @test_count, align 4, !tbaa !5
  %3820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror(i32 noundef %3821, ptr noundef @.str.4)
  %3823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call ptr @s2n_strerror_debug(i32 noundef %3824, ptr noundef @.str.4)
  %3826 = call ptr @__errno_location() #12
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  %3828 = call ptr @strerror(i32 noundef %3827) #11
  %3829 = call ptr @__errno_location() #12
  %3830 = load i32, ptr %3829, align 4, !tbaa !5
  %3831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3818, ptr noundef @.str.5, i32 noundef %3819, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 200, ptr noundef %3822, ptr noundef %3825, ptr noundef %3828, i32 noundef %3830) #11
  br label %3832

3832:                                             ; preds = %3815, %3798
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3833

3833:                                             ; preds = %3832
  br label %3834

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

3835:                                             ; No predecessors!
  br label %3836

3836:                                             ; preds = %3835
  br label %3837

3837:                                             ; preds = %3836, %3779
  br label %3838

3838:                                             ; preds = %3837
  br label %3839

3839:                                             ; preds = %3838
  br label %3840

3840:                                             ; preds = %3839
  %3841 = load i32, ptr @test_count, align 4, !tbaa !5
  %3842 = add nsw i32 %3841, 1
  store i32 %3842, ptr @test_count, align 4, !tbaa !5
  %3843 = load ptr, ptr %57, align 8, !tbaa !9
  %3844 = load ptr, ptr %65, align 8, !tbaa !9
  %3845 = icmp eq ptr %3843, %3844
  br i1 %3845, label %3899, label %3846

3846:                                             ; preds = %3840
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

3848:                                             ; preds = %3847
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #11
  %3849 = call ptr @__errno_location() #12
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  store i32 %3850, ptr %72, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = call i32 @s2n_print_stacktrace(ptr noundef %3851)
  %3853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3854 = trunc i8 %3853 to i1
  br i1 %3854, label %3855, label %3877

3855:                                             ; preds = %3848
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = call i32 @fileno(ptr noundef %3856) #11
  %3858 = call i32 @isatty(i32 noundef %3857) #11
  %3859 = icmp ne i32 %3858, 0
  br i1 %3859, label %3860, label %3877

3860:                                             ; preds = %3855
  %3861 = load i32, ptr %72, align 4, !tbaa !5
  %3862 = call ptr @__errno_location() #12
  store i32 %3861, ptr %3862, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = load i32, ptr @test_count, align 4, !tbaa !5
  %3865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3866 = load i32, ptr %3865, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror(i32 noundef %3866, ptr noundef @.str.4)
  %3868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3869 = load i32, ptr %3868, align 4, !tbaa !5
  %3870 = call ptr @s2n_strerror_debug(i32 noundef %3869, ptr noundef @.str.4)
  %3871 = call ptr @__errno_location() #12
  %3872 = load i32, ptr %3871, align 4, !tbaa !5
  %3873 = call ptr @strerror(i32 noundef %3872) #11
  %3874 = call ptr @__errno_location() #12
  %3875 = load i32, ptr %3874, align 4, !tbaa !5
  %3876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3863, ptr noundef @.str.2, i32 noundef %3864, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 201, ptr noundef %3867, ptr noundef %3870, ptr noundef %3873, i32 noundef %3875) #11
  br label %3894

3877:                                             ; preds = %3855, %3848
  %3878 = load i32, ptr %72, align 4, !tbaa !5
  %3879 = call ptr @__errno_location() #12
  store i32 %3878, ptr %3879, align 4, !tbaa !5
  %3880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3881 = load i32, ptr @test_count, align 4, !tbaa !5
  %3882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3883 = load i32, ptr %3882, align 4, !tbaa !5
  %3884 = call ptr @s2n_strerror(i32 noundef %3883, ptr noundef @.str.4)
  %3885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  %3887 = call ptr @s2n_strerror_debug(i32 noundef %3886, ptr noundef @.str.4)
  %3888 = call ptr @__errno_location() #12
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = call ptr @strerror(i32 noundef %3889) #11
  %3891 = call ptr @__errno_location() #12
  %3892 = load i32, ptr %3891, align 4, !tbaa !5
  %3893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3880, ptr noundef @.str.5, i32 noundef %3881, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 201, ptr noundef %3884, ptr noundef %3887, ptr noundef %3890, i32 noundef %3892) #11
  br label %3894

3894:                                             ; preds = %3877, %3860
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

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

3897:                                             ; No predecessors!
  br label %3898

3898:                                             ; preds = %3897
  br label %3899

3899:                                             ; preds = %3898, %3840
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  %3902 = load ptr, ptr %65, align 8, !tbaa !9
  %3903 = getelementptr inbounds %struct.s2n_cert, ptr %3902, i32 0, i32 4
  %3904 = load ptr, ptr %3903, align 8, !tbaa !30
  store ptr %3904, ptr %65, align 8, !tbaa !9
  br label %3905

3905:                                             ; preds = %3901
  %3906 = load i64, ptr %69, align 8, !tbaa !28
  %3907 = add i64 %3906, 1
  store i64 %3907, ptr %69, align 8, !tbaa !28
  br label %3710, !llvm.loop !33

3908:                                             ; preds = %3713
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #11
  %3909 = load ptr, ptr %10, align 8, !tbaa !9
  %3910 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %3909, i32 0, i32 0
  %3911 = load ptr, ptr %3910, align 8, !tbaa !15
  %3912 = getelementptr inbounds %struct.s2n_cert_chain, ptr %3911, i32 0, i32 1
  %3913 = load ptr, ptr %3912, align 8, !tbaa !23
  store ptr %3913, ptr %73, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #11
  store ptr null, ptr %74, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  store i32 0, ptr %75, align 4, !tbaa !5
  br label %3914

3914:                                             ; preds = %3908
  br label %3915

3915:                                             ; preds = %3914
  br label %3916

3916:                                             ; preds = %3915
  %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_cert_get_der(ptr noundef null, ptr noundef %74, ptr noundef %75)
  %3920 = icmp eq i32 %3919, -1
  br i1 %3920, label %3974, label %3921

3921:                                             ; preds = %3916
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3924 = call ptr @__errno_location() #12
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  store i32 %3925, ptr %76, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = call i32 @s2n_print_stacktrace(ptr noundef %3926)
  %3928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3929 = trunc i8 %3928 to i1
  br i1 %3929, label %3930, label %3952

3930:                                             ; preds = %3923
  %3931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3932 = call i32 @fileno(ptr noundef %3931) #11
  %3933 = call i32 @isatty(i32 noundef %3932) #11
  %3934 = icmp ne i32 %3933, 0
  br i1 %3934, label %3935, label %3952

3935:                                             ; preds = %3930
  %3936 = load i32, ptr %76, align 4, !tbaa !5
  %3937 = call ptr @__errno_location() #12
  store i32 %3936, ptr %3937, align 4, !tbaa !5
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3941 = load i32, ptr %3940, align 4, !tbaa !5
  %3942 = call ptr @s2n_strerror(i32 noundef %3941, ptr noundef @.str.4)
  %3943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3944 = load i32, ptr %3943, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror_debug(i32 noundef %3944, ptr noundef @.str.4)
  %3946 = call ptr @__errno_location() #12
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @strerror(i32 noundef %3947) #11
  %3949 = call ptr @__errno_location() #12
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3938, ptr noundef @.str.2, i32 noundef %3939, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 214, ptr noundef %3942, ptr noundef %3945, ptr noundef %3948, i32 noundef %3950) #11
  br label %3969

3952:                                             ; preds = %3930, %3923
  %3953 = load i32, ptr %76, align 4, !tbaa !5
  %3954 = call ptr @__errno_location() #12
  store i32 %3953, ptr %3954, align 4, !tbaa !5
  %3955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3958 = load i32, ptr %3957, align 4, !tbaa !5
  %3959 = call ptr @s2n_strerror(i32 noundef %3958, ptr noundef @.str.4)
  %3960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3961 = load i32, ptr %3960, align 4, !tbaa !5
  %3962 = call ptr @s2n_strerror_debug(i32 noundef %3961, ptr noundef @.str.4)
  %3963 = call ptr @__errno_location() #12
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  %3965 = call ptr @strerror(i32 noundef %3964) #11
  %3966 = call ptr @__errno_location() #12
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3955, ptr noundef @.str.5, i32 noundef %3956, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 214, ptr noundef %3959, ptr noundef %3962, ptr noundef %3965, i32 noundef %3967) #11
  br label %3969

3969:                                             ; preds = %3952, %3935
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3970

3970:                                             ; preds = %3969
  br label %3971

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

3972:                                             ; No predecessors!
  br label %3973

3973:                                             ; preds = %3972
  br label %3974

3974:                                             ; preds = %3973, %3916
  br label %3975

3975:                                             ; preds = %3974
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = add nsw i32 %3978, 1
  store i32 %3979, ptr @test_count, align 4, !tbaa !5
  %3980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3981 = load i32, ptr %3980, align 4, !tbaa !5
  %3982 = icmp eq i32 %3981, 402653193
  br i1 %3982, label %4036, label %3983

3983:                                             ; preds = %3977
  br label %3984

3984:                                             ; preds = %3983
  br label %3985

3985:                                             ; preds = %3984
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3986 = call ptr @__errno_location() #12
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  store i32 %3987, ptr %77, align 4, !tbaa !5
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = call i32 @s2n_print_stacktrace(ptr noundef %3988)
  %3990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3991 = trunc i8 %3990 to i1
  br i1 %3991, label %3992, label %4014

3992:                                             ; preds = %3985
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = call i32 @fileno(ptr noundef %3993) #11
  %3995 = call i32 @isatty(i32 noundef %3994) #11
  %3996 = icmp ne i32 %3995, 0
  br i1 %3996, label %3997, label %4014

3997:                                             ; preds = %3992
  %3998 = load i32, ptr %77, align 4, !tbaa !5
  %3999 = call ptr @__errno_location() #12
  store i32 %3998, ptr %3999, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = load i32, ptr @test_count, align 4, !tbaa !5
  %4002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = call ptr @s2n_strerror(i32 noundef %4003, ptr noundef @.str.4)
  %4005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4006 = load i32, ptr %4005, align 4, !tbaa !5
  %4007 = call ptr @s2n_strerror_debug(i32 noundef %4006, ptr noundef @.str.4)
  %4008 = call ptr @__errno_location() #12
  %4009 = load i32, ptr %4008, align 4, !tbaa !5
  %4010 = call ptr @strerror(i32 noundef %4009) #11
  %4011 = call ptr @__errno_location() #12
  %4012 = load i32, ptr %4011, align 4, !tbaa !5
  %4013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4000, ptr noundef @.str.2, i32 noundef %4001, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4004, ptr noundef %4007, ptr noundef %4010, i32 noundef %4012) #11
  br label %4031

4014:                                             ; preds = %3992, %3985
  %4015 = load i32, ptr %77, align 4, !tbaa !5
  %4016 = call ptr @__errno_location() #12
  store i32 %4015, ptr %4016, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4020 = load i32, ptr %4019, align 4, !tbaa !5
  %4021 = call ptr @s2n_strerror(i32 noundef %4020, ptr noundef @.str.4)
  %4022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4023 = load i32, ptr %4022, align 4, !tbaa !5
  %4024 = call ptr @s2n_strerror_debug(i32 noundef %4023, ptr noundef @.str.4)
  %4025 = call ptr @__errno_location() #12
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = call ptr @strerror(i32 noundef %4026) #11
  %4028 = call ptr @__errno_location() #12
  %4029 = load i32, ptr %4028, align 4, !tbaa !5
  %4030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4017, ptr noundef @.str.5, i32 noundef %4018, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4021, ptr noundef %4024, ptr noundef %4027, i32 noundef %4029) #11
  br label %4031

4031:                                             ; preds = %4014, %3997
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

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

4034:                                             ; No predecessors!
  br label %4035

4035:                                             ; preds = %4034
  br label %4036

4036:                                             ; preds = %4035, %3977
  br label %4037

4037:                                             ; preds = %4036
  br label %4038

4038:                                             ; preds = %4037
  br label %4039

4039:                                             ; preds = %4038
  %4040 = load i32, ptr @test_count, align 4, !tbaa !5
  %4041 = add nsw i32 %4040, 1
  store i32 %4041, ptr @test_count, align 4, !tbaa !5
  %4042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror_debug(i32 noundef %4043, ptr noundef @.str.4)
  %4045 = icmp eq ptr %4044, null
  br i1 %4045, label %4046, label %4099

4046:                                             ; preds = %4039
  br label %4047

4047:                                             ; preds = %4046
  br label %4048

4048:                                             ; preds = %4047
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %4049 = call ptr @__errno_location() #12
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  store i32 %4050, ptr %78, align 4, !tbaa !5
  %4051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4052 = call i32 @s2n_print_stacktrace(ptr noundef %4051)
  %4053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4054 = trunc i8 %4053 to i1
  br i1 %4054, label %4055, label %4077

4055:                                             ; preds = %4048
  %4056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4057 = call i32 @fileno(ptr noundef %4056) #11
  %4058 = call i32 @isatty(i32 noundef %4057) #11
  %4059 = icmp ne i32 %4058, 0
  br i1 %4059, label %4060, label %4077

4060:                                             ; preds = %4055
  %4061 = load i32, ptr %78, align 4, !tbaa !5
  %4062 = call ptr @__errno_location() #12
  store i32 %4061, ptr %4062, align 4, !tbaa !5
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = load i32, ptr @test_count, align 4, !tbaa !5
  %4065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror(i32 noundef %4066, ptr noundef @.str.4)
  %4068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call ptr @s2n_strerror_debug(i32 noundef %4069, ptr noundef @.str.4)
  %4071 = call ptr @__errno_location() #12
  %4072 = load i32, ptr %4071, align 4, !tbaa !5
  %4073 = call ptr @strerror(i32 noundef %4072) #11
  %4074 = call ptr @__errno_location() #12
  %4075 = load i32, ptr %4074, align 4, !tbaa !5
  %4076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4063, ptr noundef @.str.2, i32 noundef %4064, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4067, ptr noundef %4070, ptr noundef %4073, i32 noundef %4075) #11
  br label %4094

4077:                                             ; preds = %4055, %4048
  %4078 = load i32, ptr %78, align 4, !tbaa !5
  %4079 = call ptr @__errno_location() #12
  store i32 %4078, ptr %4079, align 4, !tbaa !5
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = load i32, ptr @test_count, align 4, !tbaa !5
  %4082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror(i32 noundef %4083, ptr noundef @.str.4)
  %4085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror_debug(i32 noundef %4086, ptr noundef @.str.4)
  %4088 = call ptr @__errno_location() #12
  %4089 = load i32, ptr %4088, align 4, !tbaa !5
  %4090 = call ptr @strerror(i32 noundef %4089) #11
  %4091 = call ptr @__errno_location() #12
  %4092 = load i32, ptr %4091, align 4, !tbaa !5
  %4093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4080, ptr noundef @.str.5, i32 noundef %4081, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4084, ptr noundef %4087, ptr noundef %4090, i32 noundef %4092) #11
  br label %4094

4094:                                             ; preds = %4077, %4060
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

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

4097:                                             ; No predecessors!
  br label %4098

4098:                                             ; preds = %4097
  br label %4099

4099:                                             ; preds = %4098, %4039
  br label %4100

4100:                                             ; preds = %4099
  br label %4101

4101:                                             ; preds = %4100
  br label %4102

4102:                                             ; preds = %4101
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103
  %4105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4105, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4106 = call ptr @__errno_location() #12
  store i32 0, ptr %4106, align 4, !tbaa !5
  br label %4107

4107:                                             ; preds = %4104
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

4109:                                             ; preds = %4108
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

4111:                                             ; preds = %4110
  br label %4112

4112:                                             ; preds = %4111
  br label %4113

4113:                                             ; preds = %4112
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = load ptr, ptr %73, align 8, !tbaa !9
  %4117 = call i32 @s2n_cert_get_der(ptr noundef %4116, ptr noundef null, ptr noundef %75)
  %4118 = icmp eq i32 %4117, -1
  br i1 %4118, label %4172, label %4119

4119:                                             ; preds = %4113
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

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

4128:                                             ; preds = %4121
  %4129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4130 = call i32 @fileno(ptr noundef %4129) #11
  %4131 = call i32 @isatty(i32 noundef %4130) #11
  %4132 = icmp ne i32 %4131, 0
  br i1 %4132, label %4133, label %4150

4133:                                             ; preds = %4128
  %4134 = load i32, ptr %79, align 4, !tbaa !5
  %4135 = call ptr @__errno_location() #12
  store i32 %4134, ptr %4135, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @s2n_strerror(i32 noundef %4139, ptr noundef @.str.4)
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef @.str.4)
  %4144 = call ptr @__errno_location() #12
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @strerror(i32 noundef %4145) #11
  %4147 = call ptr @__errno_location() #12
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef @.str.2, i32 noundef %4137, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #11
  br label %4167

4150:                                             ; preds = %4128, %4121
  %4151 = load i32, ptr %79, align 4, !tbaa !5
  %4152 = call ptr @__errno_location() #12
  store i32 %4151, ptr %4152, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @s2n_strerror(i32 noundef %4156, ptr noundef @.str.4)
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef @.str.4)
  %4161 = call ptr @__errno_location() #12
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @strerror(i32 noundef %4162) #11
  %4164 = call ptr @__errno_location() #12
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4153, ptr noundef @.str.5, i32 noundef %4154, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4157, ptr noundef %4160, ptr noundef %4163, i32 noundef %4165) #11
  br label %4167

4167:                                             ; preds = %4150, %4133
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

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

4170:                                             ; No predecessors!
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171, %4113
  br label %4173

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = add nsw i32 %4176, 1
  store i32 %4177, ptr @test_count, align 4, !tbaa !5
  %4178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4179 = load i32, ptr %4178, align 4, !tbaa !5
  %4180 = icmp eq i32 %4179, 402653193
  br i1 %4180, label %4234, label %4181

4181:                                             ; preds = %4175
  br label %4182

4182:                                             ; preds = %4181
  br label %4183

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

4190:                                             ; preds = %4183
  %4191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4192 = call i32 @fileno(ptr noundef %4191) #11
  %4193 = call i32 @isatty(i32 noundef %4192) #11
  %4194 = icmp ne i32 %4193, 0
  br i1 %4194, label %4195, label %4212

4195:                                             ; preds = %4190
  %4196 = load i32, ptr %80, align 4, !tbaa !5
  %4197 = call ptr @__errno_location() #12
  store i32 %4196, ptr %4197, align 4, !tbaa !5
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = load i32, ptr @test_count, align 4, !tbaa !5
  %4200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call ptr @s2n_strerror(i32 noundef %4201, ptr noundef @.str.4)
  %4203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4204 = load i32, ptr %4203, align 4, !tbaa !5
  %4205 = call ptr @s2n_strerror_debug(i32 noundef %4204, ptr noundef @.str.4)
  %4206 = call ptr @__errno_location() #12
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @strerror(i32 noundef %4207) #11
  %4209 = call ptr @__errno_location() #12
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4198, ptr noundef @.str.2, i32 noundef %4199, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4202, ptr noundef %4205, ptr noundef %4208, i32 noundef %4210) #11
  br label %4229

4212:                                             ; preds = %4190, %4183
  %4213 = load i32, ptr %80, align 4, !tbaa !5
  %4214 = call ptr @__errno_location() #12
  store i32 %4213, ptr %4214, align 4, !tbaa !5
  %4215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4216 = load i32, ptr @test_count, align 4, !tbaa !5
  %4217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4218 = load i32, ptr %4217, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror(i32 noundef %4218, ptr noundef @.str.4)
  %4220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef @.str.4)
  %4223 = call ptr @__errno_location() #12
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @strerror(i32 noundef %4224) #11
  %4226 = call ptr @__errno_location() #12
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  %4228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4215, ptr noundef @.str.5, i32 noundef %4216, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4219, ptr noundef %4222, ptr noundef %4225, i32 noundef %4227) #11
  br label %4229

4229:                                             ; preds = %4212, %4195
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %4230

4230:                                             ; preds = %4229
  br label %4231

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

4232:                                             ; No predecessors!
  br label %4233

4233:                                             ; preds = %4232
  br label %4234

4234:                                             ; preds = %4233, %4175
  br label %4235

4235:                                             ; preds = %4234
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

4237:                                             ; preds = %4236
  %4238 = load i32, ptr @test_count, align 4, !tbaa !5
  %4239 = add nsw i32 %4238, 1
  store i32 %4239, ptr @test_count, align 4, !tbaa !5
  %4240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4241 = load i32, ptr %4240, align 4, !tbaa !5
  %4242 = call ptr @s2n_strerror_debug(i32 noundef %4241, ptr noundef @.str.4)
  %4243 = icmp eq ptr %4242, null
  br i1 %4243, label %4244, label %4297

4244:                                             ; preds = %4237
  br label %4245

4245:                                             ; preds = %4244
  br label %4246

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

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

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

4275:                                             ; preds = %4253, %4246
  %4276 = load i32, ptr %81, align 4, !tbaa !5
  %4277 = call ptr @__errno_location() #12
  store i32 %4276, ptr %4277, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = load i32, ptr @test_count, align 4, !tbaa !5
  %4280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4281 = load i32, ptr %4280, align 4, !tbaa !5
  %4282 = call ptr @s2n_strerror(i32 noundef %4281, ptr noundef @.str.4)
  %4283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror_debug(i32 noundef %4284, ptr noundef @.str.4)
  %4286 = call ptr @__errno_location() #12
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @strerror(i32 noundef %4287) #11
  %4289 = call ptr @__errno_location() #12
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4278, ptr noundef @.str.5, i32 noundef %4279, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4282, ptr noundef %4285, ptr noundef %4288, i32 noundef %4290) #11
  br label %4292

4292:                                             ; preds = %4275, %4258
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %4293

4293:                                             ; preds = %4292
  br label %4294

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

4295:                                             ; No predecessors!
  br label %4296

4296:                                             ; preds = %4295
  br label %4297

4297:                                             ; preds = %4296, %4237
  br label %4298

4298:                                             ; preds = %4297
  br label %4299

4299:                                             ; preds = %4298
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

4302:                                             ; preds = %4301
  %4303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4303, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4304 = call ptr @__errno_location() #12
  store i32 0, ptr %4304, align 4, !tbaa !5
  br label %4305

4305:                                             ; preds = %4302
  br label %4306

4306:                                             ; preds = %4305
  br label %4307

4307:                                             ; preds = %4306
  br label %4308

4308:                                             ; preds = %4307
  br label %4309

4309:                                             ; preds = %4308
  br label %4310

4310:                                             ; preds = %4309
  br label %4311

4311:                                             ; preds = %4310
  %4312 = load i32, ptr @test_count, align 4, !tbaa !5
  %4313 = add nsw i32 %4312, 1
  store i32 %4313, ptr @test_count, align 4, !tbaa !5
  %4314 = load ptr, ptr %73, align 8, !tbaa !9
  %4315 = call i32 @s2n_cert_get_der(ptr noundef %4314, ptr noundef %74, ptr noundef null)
  %4316 = icmp eq i32 %4315, -1
  br i1 %4316, label %4370, label %4317

4317:                                             ; preds = %4311
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

4319:                                             ; preds = %4318
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4320 = call ptr @__errno_location() #12
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  store i32 %4321, ptr %82, align 4, !tbaa !5
  %4322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4323 = call i32 @s2n_print_stacktrace(ptr noundef %4322)
  %4324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4325 = trunc i8 %4324 to i1
  br i1 %4325, label %4326, label %4348

4326:                                             ; preds = %4319
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = call i32 @fileno(ptr noundef %4327) #11
  %4329 = call i32 @isatty(i32 noundef %4328) #11
  %4330 = icmp ne i32 %4329, 0
  br i1 %4330, label %4331, label %4348

4331:                                             ; preds = %4326
  %4332 = load i32, ptr %82, align 4, !tbaa !5
  %4333 = call ptr @__errno_location() #12
  store i32 %4332, ptr %4333, align 4, !tbaa !5
  %4334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4335 = load i32, ptr @test_count, align 4, !tbaa !5
  %4336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  %4338 = call ptr @s2n_strerror(i32 noundef %4337, ptr noundef @.str.4)
  %4339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4340 = load i32, ptr %4339, align 4, !tbaa !5
  %4341 = call ptr @s2n_strerror_debug(i32 noundef %4340, ptr noundef @.str.4)
  %4342 = call ptr @__errno_location() #12
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  %4344 = call ptr @strerror(i32 noundef %4343) #11
  %4345 = call ptr @__errno_location() #12
  %4346 = load i32, ptr %4345, align 4, !tbaa !5
  %4347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4334, ptr noundef @.str.2, i32 noundef %4335, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4338, ptr noundef %4341, ptr noundef %4344, i32 noundef %4346) #11
  br label %4365

4348:                                             ; preds = %4326, %4319
  %4349 = load i32, ptr %82, align 4, !tbaa !5
  %4350 = call ptr @__errno_location() #12
  store i32 %4349, ptr %4350, align 4, !tbaa !5
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = load i32, ptr @test_count, align 4, !tbaa !5
  %4353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call ptr @s2n_strerror(i32 noundef %4354, ptr noundef @.str.4)
  %4356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4357 = load i32, ptr %4356, align 4, !tbaa !5
  %4358 = call ptr @s2n_strerror_debug(i32 noundef %4357, ptr noundef @.str.4)
  %4359 = call ptr @__errno_location() #12
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = call ptr @strerror(i32 noundef %4360) #11
  %4362 = call ptr @__errno_location() #12
  %4363 = load i32, ptr %4362, align 4, !tbaa !5
  %4364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4351, ptr noundef @.str.5, i32 noundef %4352, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4355, ptr noundef %4358, ptr noundef %4361, i32 noundef %4363) #11
  br label %4365

4365:                                             ; preds = %4348, %4331
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4366

4366:                                             ; preds = %4365
  br label %4367

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

4368:                                             ; No predecessors!
  br label %4369

4369:                                             ; preds = %4368
  br label %4370

4370:                                             ; preds = %4369, %4311
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

4372:                                             ; preds = %4371
  br label %4373

4373:                                             ; preds = %4372
  %4374 = load i32, ptr @test_count, align 4, !tbaa !5
  %4375 = add nsw i32 %4374, 1
  store i32 %4375, ptr @test_count, align 4, !tbaa !5
  %4376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4377 = load i32, ptr %4376, align 4, !tbaa !5
  %4378 = icmp eq i32 %4377, 402653193
  br i1 %4378, label %4432, label %4379

4379:                                             ; preds = %4373
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

4381:                                             ; preds = %4380
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %4382 = call ptr @__errno_location() #12
  %4383 = load i32, ptr %4382, align 4, !tbaa !5
  store i32 %4383, ptr %83, align 4, !tbaa !5
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @s2n_print_stacktrace(ptr noundef %4384)
  %4386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4387 = trunc i8 %4386 to i1
  br i1 %4387, label %4388, label %4410

4388:                                             ; preds = %4381
  %4389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4390 = call i32 @fileno(ptr noundef %4389) #11
  %4391 = call i32 @isatty(i32 noundef %4390) #11
  %4392 = icmp ne i32 %4391, 0
  br i1 %4392, label %4393, label %4410

4393:                                             ; preds = %4388
  %4394 = load i32, ptr %83, align 4, !tbaa !5
  %4395 = call ptr @__errno_location() #12
  store i32 %4394, ptr %4395, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror(i32 noundef %4399, ptr noundef @.str.4)
  %4401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = call ptr @s2n_strerror_debug(i32 noundef %4402, ptr noundef @.str.4)
  %4404 = call ptr @__errno_location() #12
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @strerror(i32 noundef %4405) #11
  %4407 = call ptr @__errno_location() #12
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef @.str.2, i32 noundef %4397, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4400, ptr noundef %4403, ptr noundef %4406, i32 noundef %4408) #11
  br label %4427

4410:                                             ; preds = %4388, %4381
  %4411 = load i32, ptr %83, align 4, !tbaa !5
  %4412 = call ptr @__errno_location() #12
  store i32 %4411, ptr %4412, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = load i32, ptr @test_count, align 4, !tbaa !5
  %4415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @s2n_strerror(i32 noundef %4416, ptr noundef @.str.4)
  %4418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call ptr @s2n_strerror_debug(i32 noundef %4419, ptr noundef @.str.4)
  %4421 = call ptr @__errno_location() #12
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call ptr @strerror(i32 noundef %4422) #11
  %4424 = call ptr @__errno_location() #12
  %4425 = load i32, ptr %4424, align 4, !tbaa !5
  %4426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4413, ptr noundef @.str.5, i32 noundef %4414, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4417, ptr noundef %4420, ptr noundef %4423, i32 noundef %4425) #11
  br label %4427

4427:                                             ; preds = %4410, %4393
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4428

4428:                                             ; preds = %4427
  br label %4429

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

4430:                                             ; No predecessors!
  br label %4431

4431:                                             ; preds = %4430
  br label %4432

4432:                                             ; preds = %4431, %4373
  br label %4433

4433:                                             ; preds = %4432
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

4435:                                             ; preds = %4434
  %4436 = load i32, ptr @test_count, align 4, !tbaa !5
  %4437 = add nsw i32 %4436, 1
  store i32 %4437, ptr @test_count, align 4, !tbaa !5
  %4438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4439 = load i32, ptr %4438, align 4, !tbaa !5
  %4440 = call ptr @s2n_strerror_debug(i32 noundef %4439, ptr noundef @.str.4)
  %4441 = icmp eq ptr %4440, null
  br i1 %4441, label %4442, label %4495

4442:                                             ; preds = %4435
  br label %4443

4443:                                             ; preds = %4442
  br label %4444

4444:                                             ; preds = %4443
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %4445 = call ptr @__errno_location() #12
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  store i32 %4446, ptr %84, align 4, !tbaa !5
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @s2n_print_stacktrace(ptr noundef %4447)
  %4449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4450 = trunc i8 %4449 to i1
  br i1 %4450, label %4451, label %4473

4451:                                             ; preds = %4444
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = call i32 @fileno(ptr noundef %4452) #11
  %4454 = call i32 @isatty(i32 noundef %4453) #11
  %4455 = icmp ne i32 %4454, 0
  br i1 %4455, label %4456, label %4473

4456:                                             ; preds = %4451
  %4457 = load i32, ptr %84, align 4, !tbaa !5
  %4458 = call ptr @__errno_location() #12
  store i32 %4457, ptr %4458, align 4, !tbaa !5
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = load i32, ptr @test_count, align 4, !tbaa !5
  %4461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call ptr @s2n_strerror(i32 noundef %4462, ptr noundef @.str.4)
  %4464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  %4466 = call ptr @s2n_strerror_debug(i32 noundef %4465, ptr noundef @.str.4)
  %4467 = call ptr @__errno_location() #12
  %4468 = load i32, ptr %4467, align 4, !tbaa !5
  %4469 = call ptr @strerror(i32 noundef %4468) #11
  %4470 = call ptr @__errno_location() #12
  %4471 = load i32, ptr %4470, align 4, !tbaa !5
  %4472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4459, ptr noundef @.str.2, i32 noundef %4460, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4463, ptr noundef %4466, ptr noundef %4469, i32 noundef %4471) #11
  br label %4490

4473:                                             ; preds = %4451, %4444
  %4474 = load i32, ptr %84, align 4, !tbaa !5
  %4475 = call ptr @__errno_location() #12
  store i32 %4474, ptr %4475, align 4, !tbaa !5
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = load i32, ptr @test_count, align 4, !tbaa !5
  %4478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror(i32 noundef %4479, ptr noundef @.str.4)
  %4481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  %4483 = call ptr @s2n_strerror_debug(i32 noundef %4482, ptr noundef @.str.4)
  %4484 = call ptr @__errno_location() #12
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call ptr @strerror(i32 noundef %4485) #11
  %4487 = call ptr @__errno_location() #12
  %4488 = load i32, ptr %4487, align 4, !tbaa !5
  %4489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4476, ptr noundef @.str.5, i32 noundef %4477, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4480, ptr noundef %4483, ptr noundef %4486, i32 noundef %4488) #11
  br label %4490

4490:                                             ; preds = %4473, %4456
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

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

4493:                                             ; No predecessors!
  br label %4494

4494:                                             ; preds = %4493
  br label %4495

4495:                                             ; preds = %4494, %4435
  br label %4496

4496:                                             ; preds = %4495
  br label %4497

4497:                                             ; preds = %4496
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

4499:                                             ; preds = %4498
  br label %4500

4500:                                             ; preds = %4499
  %4501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4501, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4502 = call ptr @__errno_location() #12
  store i32 0, ptr %4502, align 4, !tbaa !5
  br label %4503

4503:                                             ; preds = %4500
  br label %4504

4504:                                             ; preds = %4503
  br label %4505

4505:                                             ; preds = %4504
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

4507:                                             ; preds = %4506
  %4508 = load i32, ptr @test_count, align 4, !tbaa !5
  %4509 = add nsw i32 %4508, 1
  store i32 %4509, ptr @test_count, align 4, !tbaa !5
  %4510 = load ptr, ptr %73, align 8, !tbaa !9
  %4511 = call i32 @s2n_cert_get_der(ptr noundef %4510, ptr noundef %74, ptr noundef %75)
  %4512 = icmp eq i32 %4511, -1
  br i1 %4512, label %4513, label %4566

4513:                                             ; preds = %4507
  br label %4514

4514:                                             ; preds = %4513
  br label %4515

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

4522:                                             ; preds = %4515
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = call i32 @fileno(ptr noundef %4523) #11
  %4525 = call i32 @isatty(i32 noundef %4524) #11
  %4526 = icmp ne i32 %4525, 0
  br i1 %4526, label %4527, label %4544

4527:                                             ; preds = %4522
  %4528 = load i32, ptr %85, align 4, !tbaa !5
  %4529 = call ptr @__errno_location() #12
  store i32 %4528, ptr %4529, align 4, !tbaa !5
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = load i32, ptr @test_count, align 4, !tbaa !5
  %4532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call ptr @s2n_strerror(i32 noundef %4533, ptr noundef @.str.4)
  %4535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror_debug(i32 noundef %4536, ptr noundef @.str.4)
  %4538 = call ptr @__errno_location() #12
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @strerror(i32 noundef %4539) #11
  %4541 = call ptr @__errno_location() #12
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4530, ptr noundef @.str.2, i32 noundef %4531, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4534, ptr noundef %4537, ptr noundef %4540, i32 noundef %4542) #11
  br label %4561

4544:                                             ; preds = %4522, %4515
  %4545 = load i32, ptr %85, align 4, !tbaa !5
  %4546 = call ptr @__errno_location() #12
  store i32 %4545, ptr %4546, align 4, !tbaa !5
  %4547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4548 = load i32, ptr @test_count, align 4, !tbaa !5
  %4549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4550 = load i32, ptr %4549, align 4, !tbaa !5
  %4551 = call ptr @s2n_strerror(i32 noundef %4550, ptr noundef @.str.4)
  %4552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4553 = load i32, ptr %4552, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror_debug(i32 noundef %4553, ptr noundef @.str.4)
  %4555 = call ptr @__errno_location() #12
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @strerror(i32 noundef %4556) #11
  %4558 = call ptr @__errno_location() #12
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4547, ptr noundef @.str.5, i32 noundef %4548, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4551, ptr noundef %4554, ptr noundef %4557, i32 noundef %4559) #11
  br label %4561

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

4562:                                             ; preds = %4561
  br label %4563

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

4564:                                             ; No predecessors!
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

4566:                                             ; preds = %4565, %4507
  br label %4567

4567:                                             ; preds = %4566
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568
  %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 = load i32, ptr %75, align 4, !tbaa !5
  %4573 = load ptr, ptr %73, align 8, !tbaa !9
  %4574 = getelementptr inbounds %struct.s2n_cert, ptr %4573, i32 0, i32 3
  %4575 = getelementptr inbounds %struct.s2n_blob, ptr %4574, i32 0, i32 1
  %4576 = load i32, ptr %4575, align 8, !tbaa !35
  %4577 = icmp eq i32 %4572, %4576
  br i1 %4577, label %4631, label %4578

4578:                                             ; preds = %4569
  br label %4579

4579:                                             ; preds = %4578
  br label %4580

4580:                                             ; preds = %4579
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %4581 = call ptr @__errno_location() #12
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  store i32 %4582, ptr %86, align 4, !tbaa !5
  %4583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4584 = call i32 @s2n_print_stacktrace(ptr noundef %4583)
  %4585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4586 = trunc i8 %4585 to i1
  br i1 %4586, label %4587, label %4609

4587:                                             ; preds = %4580
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = call i32 @fileno(ptr noundef %4588) #11
  %4590 = call i32 @isatty(i32 noundef %4589) #11
  %4591 = icmp ne i32 %4590, 0
  br i1 %4591, label %4592, label %4609

4592:                                             ; preds = %4587
  %4593 = load i32, ptr %86, align 4, !tbaa !5
  %4594 = call ptr @__errno_location() #12
  store i32 %4593, ptr %4594, align 4, !tbaa !5
  %4595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4596 = load i32, ptr @test_count, align 4, !tbaa !5
  %4597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4598 = load i32, ptr %4597, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror(i32 noundef %4598, ptr noundef @.str.4)
  %4600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4601 = load i32, ptr %4600, align 4, !tbaa !5
  %4602 = call ptr @s2n_strerror_debug(i32 noundef %4601, ptr noundef @.str.4)
  %4603 = call ptr @__errno_location() #12
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @strerror(i32 noundef %4604) #11
  %4606 = call ptr @__errno_location() #12
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4595, ptr noundef @.str.2, i32 noundef %4596, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4599, ptr noundef %4602, ptr noundef %4605, i32 noundef %4607) #11
  br label %4626

4609:                                             ; preds = %4587, %4580
  %4610 = load i32, ptr %86, align 4, !tbaa !5
  %4611 = call ptr @__errno_location() #12
  store i32 %4610, ptr %4611, align 4, !tbaa !5
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = load i32, ptr @test_count, align 4, !tbaa !5
  %4614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4615 = load i32, ptr %4614, align 4, !tbaa !5
  %4616 = call ptr @s2n_strerror(i32 noundef %4615, ptr noundef @.str.4)
  %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_debug(i32 noundef %4618, ptr noundef @.str.4)
  %4620 = call ptr @__errno_location() #12
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @strerror(i32 noundef %4621) #11
  %4623 = call ptr @__errno_location() #12
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4612, ptr noundef @.str.5, i32 noundef %4613, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4616, ptr noundef %4619, ptr noundef %4622, i32 noundef %4624) #11
  br label %4626

4626:                                             ; preds = %4609, %4592
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4627

4627:                                             ; preds = %4626
  br label %4628

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

4629:                                             ; No predecessors!
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

4631:                                             ; preds = %4630, %4569
  br label %4632

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

4634:                                             ; preds = %4633
  %4635 = load i32, ptr %75, align 4, !tbaa !5
  %4636 = icmp ne i32 %4635, 0
  br i1 %4636, label %4637, label %4706

4637:                                             ; preds = %4634
  br label %4638

4638:                                             ; preds = %4637
  %4639 = load i32, ptr @test_count, align 4, !tbaa !5
  %4640 = add nsw i32 %4639, 1
  store i32 %4640, ptr @test_count, align 4, !tbaa !5
  %4641 = load ptr, ptr %74, align 8, !tbaa !9
  %4642 = load ptr, ptr %73, align 8, !tbaa !9
  %4643 = getelementptr inbounds %struct.s2n_cert, ptr %4642, i32 0, i32 3
  %4644 = getelementptr inbounds %struct.s2n_blob, ptr %4643, i32 0, i32 0
  %4645 = load ptr, ptr %4644, align 8, !tbaa !36
  %4646 = load i32, ptr %75, align 4, !tbaa !5
  %4647 = zext i32 %4646 to i64
  %4648 = call i32 @memcmp(ptr noundef %4641, ptr noundef %4645, i64 noundef %4647) #14
  %4649 = icmp eq i32 %4648, 0
  br i1 %4649, label %4703, label %4650

4650:                                             ; preds = %4638
  br label %4651

4651:                                             ; preds = %4650
  br label %4652

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

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

4664:                                             ; preds = %4659
  %4665 = load i32, ptr %87, align 4, !tbaa !5
  %4666 = call ptr @__errno_location() #12
  store i32 %4665, ptr %4666, align 4, !tbaa !5
  %4667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4668 = load i32, ptr @test_count, align 4, !tbaa !5
  %4669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4670 = load i32, ptr %4669, align 4, !tbaa !5
  %4671 = call ptr @s2n_strerror(i32 noundef %4670, ptr noundef @.str.4)
  %4672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4673 = load i32, ptr %4672, align 4, !tbaa !5
  %4674 = call ptr @s2n_strerror_debug(i32 noundef %4673, ptr noundef @.str.4)
  %4675 = call ptr @__errno_location() #12
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = call ptr @strerror(i32 noundef %4676) #11
  %4678 = call ptr @__errno_location() #12
  %4679 = load i32, ptr %4678, align 4, !tbaa !5
  %4680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4667, ptr noundef @.str.2, i32 noundef %4668, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 221, ptr noundef %4671, ptr noundef %4674, ptr noundef %4677, i32 noundef %4679) #11
  br label %4698

4681:                                             ; preds = %4659, %4652
  %4682 = load i32, ptr %87, align 4, !tbaa !5
  %4683 = call ptr @__errno_location() #12
  store i32 %4682, ptr %4683, align 4, !tbaa !5
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = load i32, ptr @test_count, align 4, !tbaa !5
  %4686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror(i32 noundef %4687, ptr noundef @.str.4)
  %4689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror_debug(i32 noundef %4690, ptr noundef @.str.4)
  %4692 = call ptr @__errno_location() #12
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call ptr @strerror(i32 noundef %4693) #11
  %4695 = call ptr @__errno_location() #12
  %4696 = load i32, ptr %4695, align 4, !tbaa !5
  %4697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4684, ptr noundef @.str.5, i32 noundef %4685, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 221, ptr noundef %4688, ptr noundef %4691, ptr noundef %4694, i32 noundef %4696) #11
  br label %4698

4698:                                             ; preds = %4681, %4664
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4699

4699:                                             ; preds = %4698
  br label %4700

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

4701:                                             ; No predecessors!
  br label %4702

4702:                                             ; preds = %4701
  br label %4703

4703:                                             ; preds = %4702, %4638
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

4706:                                             ; preds = %4705, %4634
  br label %4707

4707:                                             ; preds = %4706
  br label %4708

4708:                                             ; preds = %4707
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  store ptr null, ptr %88, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  store ptr null, ptr %89, align 8, !tbaa !9
  br label %4709

4709:                                             ; preds = %4708
  %4710 = load i32, ptr @test_count, align 4, !tbaa !5
  %4711 = add nsw i32 %4710, 1
  store i32 %4711, ptr @test_count, align 4, !tbaa !5
  %4712 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4712, ptr %88, align 8, !tbaa !9
  %4713 = icmp eq ptr %4712, null
  br i1 %4713, label %4714, label %4767

4714:                                             ; preds = %4709
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

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

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

4728:                                             ; preds = %4723
  %4729 = load i32, ptr %90, align 4, !tbaa !5
  %4730 = call ptr @__errno_location() #12
  store i32 %4729, ptr %4730, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = load i32, ptr @test_count, align 4, !tbaa !5
  %4733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4734 = load i32, ptr %4733, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror(i32 noundef %4734, ptr noundef @.str.4)
  %4736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  %4738 = call ptr @s2n_strerror_debug(i32 noundef %4737, ptr noundef @.str.4)
  %4739 = call ptr @__errno_location() #12
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  %4741 = call ptr @strerror(i32 noundef %4740) #11
  %4742 = call ptr @__errno_location() #12
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4731, ptr noundef @.str.2, i32 noundef %4732, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 229, ptr noundef %4735, ptr noundef %4738, ptr noundef %4741, i32 noundef %4743) #11
  br label %4762

4745:                                             ; preds = %4723, %4716
  %4746 = load i32, ptr %90, align 4, !tbaa !5
  %4747 = call ptr @__errno_location() #12
  store i32 %4746, ptr %4747, align 4, !tbaa !5
  %4748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4749 = load i32, ptr @test_count, align 4, !tbaa !5
  %4750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4751 = load i32, ptr %4750, align 4, !tbaa !5
  %4752 = call ptr @s2n_strerror(i32 noundef %4751, ptr noundef @.str.4)
  %4753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef @.str.4)
  %4756 = call ptr @__errno_location() #12
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @strerror(i32 noundef %4757) #11
  %4759 = call ptr @__errno_location() #12
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4748, ptr noundef @.str.5, i32 noundef %4749, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 229, ptr noundef %4752, ptr noundef %4755, ptr noundef %4758, i32 noundef %4760) #11
  br label %4762

4762:                                             ; preds = %4745, %4728
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4763

4763:                                             ; preds = %4762
  br label %4764

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

4765:                                             ; No predecessors!
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766, %4709
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

4769:                                             ; preds = %4768
  br label %4770

4770:                                             ; preds = %4769
  %4771 = load i32, ptr @test_count, align 4, !tbaa !5
  %4772 = add nsw i32 %4771, 1
  store i32 %4772, ptr @test_count, align 4, !tbaa !5
  %4773 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4773, ptr %89, align 8, !tbaa !9
  %4774 = icmp eq ptr %4773, null
  br i1 %4774, label %4775, label %4828

4775:                                             ; preds = %4770
  br label %4776

4776:                                             ; preds = %4775
  br label %4777

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

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

4789:                                             ; preds = %4784
  %4790 = load i32, ptr %91, align 4, !tbaa !5
  %4791 = call ptr @__errno_location() #12
  store i32 %4790, ptr %4791, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4795 = load i32, ptr %4794, align 4, !tbaa !5
  %4796 = call ptr @s2n_strerror(i32 noundef %4795, ptr noundef @.str.4)
  %4797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4798 = load i32, ptr %4797, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror_debug(i32 noundef %4798, ptr noundef @.str.4)
  %4800 = call ptr @__errno_location() #12
  %4801 = load i32, ptr %4800, align 4, !tbaa !5
  %4802 = call ptr @strerror(i32 noundef %4801) #11
  %4803 = call ptr @__errno_location() #12
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4792, ptr noundef @.str.2, i32 noundef %4793, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 230, ptr noundef %4796, ptr noundef %4799, ptr noundef %4802, i32 noundef %4804) #11
  br label %4823

4806:                                             ; preds = %4784, %4777
  %4807 = load i32, ptr %91, align 4, !tbaa !5
  %4808 = call ptr @__errno_location() #12
  store i32 %4807, ptr %4808, align 4, !tbaa !5
  %4809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4810 = load i32, ptr @test_count, align 4, !tbaa !5
  %4811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4812 = load i32, ptr %4811, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror(i32 noundef %4812, ptr noundef @.str.4)
  %4814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call ptr @s2n_strerror_debug(i32 noundef %4815, ptr noundef @.str.4)
  %4817 = call ptr @__errno_location() #12
  %4818 = load i32, ptr %4817, align 4, !tbaa !5
  %4819 = call ptr @strerror(i32 noundef %4818) #11
  %4820 = call ptr @__errno_location() #12
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4809, ptr noundef @.str.5, i32 noundef %4810, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 230, ptr noundef %4813, ptr noundef %4816, ptr noundef %4819, i32 noundef %4821) #11
  br label %4823

4823:                                             ; preds = %4806, %4789
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

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

4826:                                             ; No predecessors!
  br label %4827

4827:                                             ; preds = %4826
  br label %4828

4828:                                             ; preds = %4827, %4770
  br label %4829

4829:                                             ; preds = %4828
  br label %4830

4830:                                             ; preds = %4829
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #11
  call void @llvm.memset.p0.i64(ptr align 4 %92, i8 0, i64 8, i1 false)
  br label %4831

4831:                                             ; preds = %4830
  %4832 = load i32, ptr @test_count, align 4, !tbaa !5
  %4833 = add nsw i32 %4832, 1
  store i32 %4833, ptr @test_count, align 4, !tbaa !5
  %4834 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %92)
  %4835 = icmp eq i32 %4834, -1
  br i1 %4835, label %4836, label %4889

4836:                                             ; preds = %4831
  br label %4837

4837:                                             ; preds = %4836
  br label %4838

4838:                                             ; preds = %4837
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4839 = call ptr @__errno_location() #12
  %4840 = load i32, ptr %4839, align 4, !tbaa !5
  store i32 %4840, ptr %93, align 4, !tbaa !5
  %4841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4842 = call i32 @s2n_print_stacktrace(ptr noundef %4841)
  %4843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4844 = trunc i8 %4843 to i1
  br i1 %4844, label %4845, label %4867

4845:                                             ; preds = %4838
  %4846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4847 = call i32 @fileno(ptr noundef %4846) #11
  %4848 = call i32 @isatty(i32 noundef %4847) #11
  %4849 = icmp ne i32 %4848, 0
  br i1 %4849, label %4850, label %4867

4850:                                             ; preds = %4845
  %4851 = load i32, ptr %93, align 4, !tbaa !5
  %4852 = call ptr @__errno_location() #12
  store i32 %4851, ptr %4852, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4856 = load i32, ptr %4855, align 4, !tbaa !5
  %4857 = call ptr @s2n_strerror(i32 noundef %4856, ptr noundef @.str.4)
  %4858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4859 = load i32, ptr %4858, align 4, !tbaa !5
  %4860 = call ptr @s2n_strerror_debug(i32 noundef %4859, ptr noundef @.str.4)
  %4861 = call ptr @__errno_location() #12
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @strerror(i32 noundef %4862) #11
  %4864 = call ptr @__errno_location() #12
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4853, ptr noundef @.str.2, i32 noundef %4854, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 234, ptr noundef %4857, ptr noundef %4860, ptr noundef %4863, i32 noundef %4865) #11
  br label %4884

4867:                                             ; preds = %4845, %4838
  %4868 = load i32, ptr %93, align 4, !tbaa !5
  %4869 = call ptr @__errno_location() #12
  store i32 %4868, ptr %4869, align 4, !tbaa !5
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = load i32, ptr @test_count, align 4, !tbaa !5
  %4872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror(i32 noundef %4873, ptr noundef @.str.4)
  %4875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @s2n_strerror_debug(i32 noundef %4876, ptr noundef @.str.4)
  %4878 = call ptr @__errno_location() #12
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call ptr @strerror(i32 noundef %4879) #11
  %4881 = call ptr @__errno_location() #12
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4870, ptr noundef @.str.5, i32 noundef %4871, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 234, ptr noundef %4874, ptr noundef %4877, ptr noundef %4880, i32 noundef %4882) #11
  br label %4884

4884:                                             ; preds = %4867, %4850
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4885

4885:                                             ; preds = %4884
  br label %4886

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

4887:                                             ; No predecessors!
  br label %4888

4888:                                             ; preds = %4887
  br label %4889

4889:                                             ; preds = %4888, %4831
  br label %4890

4890:                                             ; preds = %4889
  br label %4891

4891:                                             ; preds = %4890
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  store ptr null, ptr %94, align 8, !tbaa !9
  br label %4892

4892:                                             ; preds = %4891
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = add nsw i32 %4893, 1
  store i32 %4894, ptr @test_count, align 4, !tbaa !5
  %4895 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %94, ptr noundef @.str.11, ptr noundef @.str.12)
  %4896 = icmp eq i32 %4895, -1
  br i1 %4896, label %4897, label %4950

4897:                                             ; preds = %4892
  br label %4898

4898:                                             ; preds = %4897
  br label %4899

4899:                                             ; preds = %4898
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4900 = call ptr @__errno_location() #12
  %4901 = load i32, ptr %4900, align 4, !tbaa !5
  store i32 %4901, ptr %95, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @s2n_print_stacktrace(ptr noundef %4902)
  %4904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4905 = trunc i8 %4904 to i1
  br i1 %4905, label %4906, label %4928

4906:                                             ; preds = %4899
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @fileno(ptr noundef %4907) #11
  %4909 = call i32 @isatty(i32 noundef %4908) #11
  %4910 = icmp ne i32 %4909, 0
  br i1 %4910, label %4911, label %4928

4911:                                             ; preds = %4906
  %4912 = load i32, ptr %95, align 4, !tbaa !5
  %4913 = call ptr @__errno_location() #12
  store i32 %4912, ptr %4913, align 4, !tbaa !5
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = load i32, ptr @test_count, align 4, !tbaa !5
  %4916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4917 = load i32, ptr %4916, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror(i32 noundef %4917, ptr noundef @.str.4)
  %4919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4920 = load i32, ptr %4919, align 4, !tbaa !5
  %4921 = call ptr @s2n_strerror_debug(i32 noundef %4920, ptr noundef @.str.4)
  %4922 = call ptr @__errno_location() #12
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @strerror(i32 noundef %4923) #11
  %4925 = call ptr @__errno_location() #12
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4914, ptr noundef @.str.2, i32 noundef %4915, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 238, ptr noundef %4918, ptr noundef %4921, ptr noundef %4924, i32 noundef %4926) #11
  br label %4945

4928:                                             ; preds = %4906, %4899
  %4929 = load i32, ptr %95, align 4, !tbaa !5
  %4930 = call ptr @__errno_location() #12
  store i32 %4929, ptr %4930, align 4, !tbaa !5
  %4931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4932 = load i32, ptr @test_count, align 4, !tbaa !5
  %4933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror(i32 noundef %4934, ptr noundef @.str.4)
  %4936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4937 = load i32, ptr %4936, align 4, !tbaa !5
  %4938 = call ptr @s2n_strerror_debug(i32 noundef %4937, ptr noundef @.str.4)
  %4939 = call ptr @__errno_location() #12
  %4940 = load i32, ptr %4939, align 4, !tbaa !5
  %4941 = call ptr @strerror(i32 noundef %4940) #11
  %4942 = call ptr @__errno_location() #12
  %4943 = load i32, ptr %4942, align 4, !tbaa !5
  %4944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4931, ptr noundef @.str.5, i32 noundef %4932, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 238, ptr noundef %4935, ptr noundef %4938, ptr noundef %4941, i32 noundef %4943) #11
  br label %4945

4945:                                             ; preds = %4928, %4911
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4946

4946:                                             ; preds = %4945
  br label %4947

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

4948:                                             ; No predecessors!
  br label %4949

4949:                                             ; preds = %4948
  br label %4950

4950:                                             ; preds = %4949, %4892
  br label %4951

4951:                                             ; preds = %4950
  br label %4952

4952:                                             ; preds = %4951
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #11
  %4953 = call ptr @s2n_config_new()
  store ptr %4953, ptr %96, align 8, !tbaa !9
  br label %4954

4954:                                             ; preds = %4952
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = add nsw i32 %4955, 1
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = load ptr, ptr %96, align 8, !tbaa !9
  %4958 = icmp eq ptr %4957, null
  br i1 %4958, label %4959, label %5012

4959:                                             ; preds = %4954
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

4961:                                             ; preds = %4960
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4962 = call ptr @__errno_location() #12
  %4963 = load i32, ptr %4962, align 4, !tbaa !5
  store i32 %4963, ptr %97, align 4, !tbaa !5
  %4964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4965 = call i32 @s2n_print_stacktrace(ptr noundef %4964)
  %4966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4967 = trunc i8 %4966 to i1
  br i1 %4967, label %4968, label %4990

4968:                                             ; preds = %4961
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = call i32 @fileno(ptr noundef %4969) #11
  %4971 = call i32 @isatty(i32 noundef %4970) #11
  %4972 = icmp ne i32 %4971, 0
  br i1 %4972, label %4973, label %4990

4973:                                             ; preds = %4968
  %4974 = load i32, ptr %97, align 4, !tbaa !5
  %4975 = call ptr @__errno_location() #12
  store i32 %4974, ptr %4975, align 4, !tbaa !5
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef @.str.4)
  %4981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4982 = load i32, ptr %4981, align 4, !tbaa !5
  %4983 = call ptr @s2n_strerror_debug(i32 noundef %4982, ptr noundef @.str.4)
  %4984 = call ptr @__errno_location() #12
  %4985 = load i32, ptr %4984, align 4, !tbaa !5
  %4986 = call ptr @strerror(i32 noundef %4985) #11
  %4987 = call ptr @__errno_location() #12
  %4988 = load i32, ptr %4987, align 4, !tbaa !5
  %4989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4976, ptr noundef @.str.2, i32 noundef %4977, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4980, ptr noundef %4983, ptr noundef %4986, i32 noundef %4988) #11
  br label %5007

4990:                                             ; preds = %4968, %4961
  %4991 = load i32, ptr %97, align 4, !tbaa !5
  %4992 = call ptr @__errno_location() #12
  store i32 %4991, ptr %4992, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror(i32 noundef %4996, ptr noundef @.str.4)
  %4998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror_debug(i32 noundef %4999, ptr noundef @.str.4)
  %5001 = call ptr @__errno_location() #12
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call ptr @strerror(i32 noundef %5002) #11
  %5004 = call ptr @__errno_location() #12
  %5005 = load i32, ptr %5004, align 4, !tbaa !5
  %5006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4993, ptr noundef @.str.5, i32 noundef %4994, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4997, ptr noundef %5000, ptr noundef %5003, i32 noundef %5005) #11
  br label %5007

5007:                                             ; preds = %4990, %4973
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %5008

5008:                                             ; preds = %5007
  br label %5009

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

5010:                                             ; No predecessors!
  br label %5011

5011:                                             ; preds = %5010
  br label %5012

5012:                                             ; preds = %5011, %4954
  br label %5013

5013:                                             ; preds = %5012
  br label %5014

5014:                                             ; preds = %5013
  br label %5015

5015:                                             ; preds = %5014
  %5016 = load i32, ptr @test_count, align 4, !tbaa !5
  %5017 = add nsw i32 %5016, 1
  store i32 %5017, ptr @test_count, align 4, !tbaa !5
  %5018 = load ptr, ptr %96, align 8, !tbaa !9
  %5019 = call i32 @s2n_config_disable_x509_verification(ptr noundef %5018)
  %5020 = icmp eq i32 %5019, -1
  br i1 %5020, label %5021, label %5074

5021:                                             ; preds = %5015
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %5024 = call ptr @__errno_location() #12
  %5025 = load i32, ptr %5024, align 4, !tbaa !5
  store i32 %5025, ptr %98, align 4, !tbaa !5
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = call i32 @s2n_print_stacktrace(ptr noundef %5026)
  %5028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5029 = trunc i8 %5028 to i1
  br i1 %5029, label %5030, label %5052

5030:                                             ; preds = %5023
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = call i32 @fileno(ptr noundef %5031) #11
  %5033 = call i32 @isatty(i32 noundef %5032) #11
  %5034 = icmp ne i32 %5033, 0
  br i1 %5034, label %5035, label %5052

5035:                                             ; preds = %5030
  %5036 = load i32, ptr %98, align 4, !tbaa !5
  %5037 = call ptr @__errno_location() #12
  store i32 %5036, ptr %5037, align 4, !tbaa !5
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5041 = load i32, ptr %5040, align 4, !tbaa !5
  %5042 = call ptr @s2n_strerror(i32 noundef %5041, ptr noundef @.str.4)
  %5043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5044 = load i32, ptr %5043, align 4, !tbaa !5
  %5045 = call ptr @s2n_strerror_debug(i32 noundef %5044, ptr noundef @.str.4)
  %5046 = call ptr @__errno_location() #12
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call ptr @strerror(i32 noundef %5047) #11
  %5049 = call ptr @__errno_location() #12
  %5050 = load i32, ptr %5049, align 4, !tbaa !5
  %5051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5038, ptr noundef @.str.2, i32 noundef %5039, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5042, ptr noundef %5045, ptr noundef %5048, i32 noundef %5050) #11
  br label %5069

5052:                                             ; preds = %5030, %5023
  %5053 = load i32, ptr %98, align 4, !tbaa !5
  %5054 = call ptr @__errno_location() #12
  store i32 %5053, ptr %5054, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = load i32, ptr @test_count, align 4, !tbaa !5
  %5057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror(i32 noundef %5058, ptr noundef @.str.4)
  %5060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef @.str.4)
  %5063 = call ptr @__errno_location() #12
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call ptr @strerror(i32 noundef %5064) #11
  %5066 = call ptr @__errno_location() #12
  %5067 = load i32, ptr %5066, align 4, !tbaa !5
  %5068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5055, ptr noundef @.str.5, i32 noundef %5056, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5059, ptr noundef %5062, ptr noundef %5065, i32 noundef %5067) #11
  br label %5069

5069:                                             ; preds = %5052, %5035
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %5070

5070:                                             ; preds = %5069
  br label %5071

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

5072:                                             ; No predecessors!
  br label %5073

5073:                                             ; preds = %5072
  br label %5074

5074:                                             ; preds = %5073, %5015
  br label %5075

5075:                                             ; preds = %5074
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

5077:                                             ; preds = %5076
  %5078 = load i32, ptr @test_count, align 4, !tbaa !5
  %5079 = add nsw i32 %5078, 1
  store i32 %5079, ptr @test_count, align 4, !tbaa !5
  %5080 = load ptr, ptr %96, align 8, !tbaa !9
  %5081 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %5080, i8 noundef zeroext 0)
  %5082 = icmp eq i32 %5081, -1
  br i1 %5082, label %5083, label %5136

5083:                                             ; preds = %5077
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %5086 = call ptr @__errno_location() #12
  %5087 = load i32, ptr %5086, align 4, !tbaa !5
  store i32 %5087, ptr %99, align 4, !tbaa !5
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = call i32 @s2n_print_stacktrace(ptr noundef %5088)
  %5090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5091 = trunc i8 %5090 to i1
  br i1 %5091, label %5092, label %5114

5092:                                             ; preds = %5085
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = call i32 @fileno(ptr noundef %5093) #11
  %5095 = call i32 @isatty(i32 noundef %5094) #11
  %5096 = icmp ne i32 %5095, 0
  br i1 %5096, label %5097, label %5114

5097:                                             ; preds = %5092
  %5098 = load i32, ptr %99, align 4, !tbaa !5
  %5099 = call ptr @__errno_location() #12
  store i32 %5098, ptr %5099, align 4, !tbaa !5
  %5100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5101 = load i32, ptr @test_count, align 4, !tbaa !5
  %5102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5103 = load i32, ptr %5102, align 4, !tbaa !5
  %5104 = call ptr @s2n_strerror(i32 noundef %5103, ptr noundef @.str.4)
  %5105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5106 = load i32, ptr %5105, align 4, !tbaa !5
  %5107 = call ptr @s2n_strerror_debug(i32 noundef %5106, ptr noundef @.str.4)
  %5108 = call ptr @__errno_location() #12
  %5109 = load i32, ptr %5108, align 4, !tbaa !5
  %5110 = call ptr @strerror(i32 noundef %5109) #11
  %5111 = call ptr @__errno_location() #12
  %5112 = load i32, ptr %5111, align 4, !tbaa !5
  %5113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5100, ptr noundef @.str.2, i32 noundef %5101, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5104, ptr noundef %5107, ptr noundef %5110, i32 noundef %5112) #11
  br label %5131

5114:                                             ; preds = %5092, %5085
  %5115 = load i32, ptr %99, align 4, !tbaa !5
  %5116 = call ptr @__errno_location() #12
  store i32 %5115, ptr %5116, align 4, !tbaa !5
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = load i32, ptr @test_count, align 4, !tbaa !5
  %5119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror(i32 noundef %5120, ptr noundef @.str.4)
  %5122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5123 = load i32, ptr %5122, align 4, !tbaa !5
  %5124 = call ptr @s2n_strerror_debug(i32 noundef %5123, ptr noundef @.str.4)
  %5125 = call ptr @__errno_location() #12
  %5126 = load i32, ptr %5125, align 4, !tbaa !5
  %5127 = call ptr @strerror(i32 noundef %5126) #11
  %5128 = call ptr @__errno_location() #12
  %5129 = load i32, ptr %5128, align 4, !tbaa !5
  %5130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5117, ptr noundef @.str.5, i32 noundef %5118, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5121, ptr noundef %5124, ptr noundef %5127, i32 noundef %5129) #11
  br label %5131

5131:                                             ; preds = %5114, %5097
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %5132

5132:                                             ; preds = %5131
  br label %5133

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

5134:                                             ; No predecessors!
  br label %5135

5135:                                             ; preds = %5134
  br label %5136

5136:                                             ; preds = %5135, %5077
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

5138:                                             ; preds = %5137
  br label %5139

5139:                                             ; preds = %5138
  %5140 = load i32, ptr @test_count, align 4, !tbaa !5
  %5141 = add nsw i32 %5140, 1
  store i32 %5141, ptr @test_count, align 4, !tbaa !5
  %5142 = load ptr, ptr %96, align 8, !tbaa !9
  %5143 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5142, ptr noundef @.str.65)
  %5144 = icmp eq i32 %5143, -1
  br i1 %5144, label %5145, label %5198

5145:                                             ; preds = %5139
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #11
  %5148 = call ptr @__errno_location() #12
  %5149 = load i32, ptr %5148, align 4, !tbaa !5
  store i32 %5149, ptr %100, align 4, !tbaa !5
  %5150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5151 = call i32 @s2n_print_stacktrace(ptr noundef %5150)
  %5152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5153 = trunc i8 %5152 to i1
  br i1 %5153, label %5154, label %5176

5154:                                             ; preds = %5147
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = call i32 @fileno(ptr noundef %5155) #11
  %5157 = call i32 @isatty(i32 noundef %5156) #11
  %5158 = icmp ne i32 %5157, 0
  br i1 %5158, label %5159, label %5176

5159:                                             ; preds = %5154
  %5160 = load i32, ptr %100, align 4, !tbaa !5
  %5161 = call ptr @__errno_location() #12
  store i32 %5160, ptr %5161, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5165 = load i32, ptr %5164, align 4, !tbaa !5
  %5166 = call ptr @s2n_strerror(i32 noundef %5165, ptr noundef @.str.4)
  %5167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5168 = load i32, ptr %5167, align 4, !tbaa !5
  %5169 = call ptr @s2n_strerror_debug(i32 noundef %5168, ptr noundef @.str.4)
  %5170 = call ptr @__errno_location() #12
  %5171 = load i32, ptr %5170, align 4, !tbaa !5
  %5172 = call ptr @strerror(i32 noundef %5171) #11
  %5173 = call ptr @__errno_location() #12
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5162, ptr noundef @.str.2, i32 noundef %5163, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5166, ptr noundef %5169, ptr noundef %5172, i32 noundef %5174) #11
  br label %5193

5176:                                             ; preds = %5154, %5147
  %5177 = load i32, ptr %100, align 4, !tbaa !5
  %5178 = call ptr @__errno_location() #12
  store i32 %5177, ptr %5178, align 4, !tbaa !5
  %5179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5180 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5182, ptr noundef @.str.4)
  %5184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror_debug(i32 noundef %5185, ptr noundef @.str.4)
  %5187 = call ptr @__errno_location() #12
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call ptr @strerror(i32 noundef %5188) #11
  %5190 = call ptr @__errno_location() #12
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5179, ptr noundef @.str.5, i32 noundef %5180, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5183, ptr noundef %5186, ptr noundef %5189, i32 noundef %5191) #11
  br label %5193

5193:                                             ; preds = %5176, %5159
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %5194

5194:                                             ; preds = %5193
  br label %5195

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

5196:                                             ; No predecessors!
  br label %5197

5197:                                             ; preds = %5196
  br label %5198

5198:                                             ; preds = %5197, %5139
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

5201:                                             ; preds = %5200
  %5202 = load i32, ptr @test_count, align 4, !tbaa !5
  %5203 = add nsw i32 %5202, 1
  store i32 %5203, ptr @test_count, align 4, !tbaa !5
  %5204 = load ptr, ptr %96, align 8, !tbaa !9
  %5205 = call i32 @s2n_config_set_client_auth_type(ptr noundef %5204, i32 noundef 2)
  %5206 = icmp eq i32 %5205, -1
  br i1 %5206, label %5207, label %5260

5207:                                             ; preds = %5201
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %5210 = call ptr @__errno_location() #12
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  store i32 %5211, ptr %101, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = call i32 @s2n_print_stacktrace(ptr noundef %5212)
  %5214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5215 = trunc i8 %5214 to i1
  br i1 %5215, label %5216, label %5238

5216:                                             ; preds = %5209
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = call i32 @fileno(ptr noundef %5217) #11
  %5219 = call i32 @isatty(i32 noundef %5218) #11
  %5220 = icmp ne i32 %5219, 0
  br i1 %5220, label %5221, label %5238

5221:                                             ; preds = %5216
  %5222 = load i32, ptr %101, align 4, !tbaa !5
  %5223 = call ptr @__errno_location() #12
  store i32 %5222, ptr %5223, align 4, !tbaa !5
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5227 = load i32, ptr %5226, align 4, !tbaa !5
  %5228 = call ptr @s2n_strerror(i32 noundef %5227, ptr noundef @.str.4)
  %5229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5230 = load i32, ptr %5229, align 4, !tbaa !5
  %5231 = call ptr @s2n_strerror_debug(i32 noundef %5230, ptr noundef @.str.4)
  %5232 = call ptr @__errno_location() #12
  %5233 = load i32, ptr %5232, align 4, !tbaa !5
  %5234 = call ptr @strerror(i32 noundef %5233) #11
  %5235 = call ptr @__errno_location() #12
  %5236 = load i32, ptr %5235, align 4, !tbaa !5
  %5237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5224, ptr noundef @.str.2, i32 noundef %5225, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5228, ptr noundef %5231, ptr noundef %5234, i32 noundef %5236) #11
  br label %5255

5238:                                             ; preds = %5216, %5209
  %5239 = load i32, ptr %101, align 4, !tbaa !5
  %5240 = call ptr @__errno_location() #12
  store i32 %5239, ptr %5240, align 4, !tbaa !5
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5242 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5244, ptr noundef @.str.4)
  %5246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call ptr @s2n_strerror_debug(i32 noundef %5247, ptr noundef @.str.4)
  %5249 = call ptr @__errno_location() #12
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = call ptr @strerror(i32 noundef %5250) #11
  %5252 = call ptr @__errno_location() #12
  %5253 = load i32, ptr %5252, align 4, !tbaa !5
  %5254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5241, ptr noundef @.str.5, i32 noundef %5242, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5245, ptr noundef %5248, ptr noundef %5251, i32 noundef %5253) #11
  br label %5255

5255:                                             ; preds = %5238, %5221
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5256

5256:                                             ; preds = %5255
  br label %5257

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

5258:                                             ; No predecessors!
  br label %5259

5259:                                             ; preds = %5258
  br label %5260

5260:                                             ; preds = %5259, %5201
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

5262:                                             ; preds = %5261
  call void @llvm.lifetime.start.p0(i64 2, ptr %102) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %102, ptr align 1 @__const.main.verify_data, i64 2, i1 false)
  br label %5263

5263:                                             ; preds = %5262
  %5264 = load i32, ptr @test_count, align 4, !tbaa !5
  %5265 = add nsw i32 %5264, 1
  store i32 %5265, ptr @test_count, align 4, !tbaa !5
  %5266 = load ptr, ptr %96, align 8, !tbaa !9
  %5267 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %5266, ptr noundef @verify_host_fn, ptr noundef %102)
  %5268 = icmp eq i32 %5267, -1
  br i1 %5268, label %5269, label %5322

5269:                                             ; preds = %5263
  br label %5270

5270:                                             ; preds = %5269
  br label %5271

5271:                                             ; preds = %5270
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %5272 = call ptr @__errno_location() #12
  %5273 = load i32, ptr %5272, align 4, !tbaa !5
  store i32 %5273, ptr %103, align 4, !tbaa !5
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @s2n_print_stacktrace(ptr noundef %5274)
  %5276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5277 = trunc i8 %5276 to i1
  br i1 %5277, label %5278, label %5300

5278:                                             ; preds = %5271
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @fileno(ptr noundef %5279) #11
  %5281 = call i32 @isatty(i32 noundef %5280) #11
  %5282 = icmp ne i32 %5281, 0
  br i1 %5282, label %5283, label %5300

5283:                                             ; preds = %5278
  %5284 = load i32, ptr %103, align 4, !tbaa !5
  %5285 = call ptr @__errno_location() #12
  store i32 %5284, ptr %5285, align 4, !tbaa !5
  %5286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5287 = load i32, ptr @test_count, align 4, !tbaa !5
  %5288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5289 = load i32, ptr %5288, align 4, !tbaa !5
  %5290 = call ptr @s2n_strerror(i32 noundef %5289, ptr noundef @.str.4)
  %5291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5292 = load i32, ptr %5291, align 4, !tbaa !5
  %5293 = call ptr @s2n_strerror_debug(i32 noundef %5292, ptr noundef @.str.4)
  %5294 = call ptr @__errno_location() #12
  %5295 = load i32, ptr %5294, align 4, !tbaa !5
  %5296 = call ptr @strerror(i32 noundef %5295) #11
  %5297 = call ptr @__errno_location() #12
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  %5299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5286, ptr noundef @.str.2, i32 noundef %5287, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5290, ptr noundef %5293, ptr noundef %5296, i32 noundef %5298) #11
  br label %5317

5300:                                             ; preds = %5278, %5271
  %5301 = load i32, ptr %103, align 4, !tbaa !5
  %5302 = call ptr @__errno_location() #12
  store i32 %5301, ptr %5302, align 4, !tbaa !5
  %5303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5304 = load i32, ptr @test_count, align 4, !tbaa !5
  %5305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @s2n_strerror(i32 noundef %5306, ptr noundef @.str.4)
  %5308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror_debug(i32 noundef %5309, ptr noundef @.str.4)
  %5311 = call ptr @__errno_location() #12
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  %5313 = call ptr @strerror(i32 noundef %5312) #11
  %5314 = call ptr @__errno_location() #12
  %5315 = load i32, ptr %5314, align 4, !tbaa !5
  %5316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5303, ptr noundef @.str.5, i32 noundef %5304, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5307, ptr noundef %5310, ptr noundef %5313, i32 noundef %5315) #11
  br label %5317

5317:                                             ; preds = %5300, %5283
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %5318

5318:                                             ; preds = %5317
  br label %5319

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

5320:                                             ; No predecessors!
  br label %5321

5321:                                             ; preds = %5320
  br label %5322

5322:                                             ; preds = %5321, %5263
  br label %5323

5323:                                             ; preds = %5322
  br label %5324

5324:                                             ; preds = %5323
  br label %5325

5325:                                             ; preds = %5324
  %5326 = load i32, ptr @test_count, align 4, !tbaa !5
  %5327 = add nsw i32 %5326, 1
  store i32 %5327, ptr @test_count, align 4, !tbaa !5
  %5328 = load ptr, ptr %96, align 8, !tbaa !9
  %5329 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %5328, ptr noundef @.str.11, ptr noundef null)
  %5330 = icmp eq i32 %5329, -1
  br i1 %5330, label %5331, label %5384

5331:                                             ; preds = %5325
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

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

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

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

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

5379:                                             ; preds = %5362, %5345
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

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

5382:                                             ; No predecessors!
  br label %5383

5383:                                             ; preds = %5382
  br label %5384

5384:                                             ; preds = %5383, %5325
  br label %5385

5385:                                             ; preds = %5384
  br label %5386

5386:                                             ; preds = %5385
  br label %5387

5387:                                             ; preds = %5386
  %5388 = load i32, ptr @test_count, align 4, !tbaa !5
  %5389 = add nsw i32 %5388, 1
  store i32 %5389, ptr @test_count, align 4, !tbaa !5
  %5390 = load ptr, ptr %96, align 8, !tbaa !9
  %5391 = load ptr, ptr %94, align 8, !tbaa !9
  %5392 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5390, ptr noundef %5391)
  %5393 = icmp eq i32 %5392, -1
  br i1 %5393, label %5394, label %5447

5394:                                             ; preds = %5387
  br label %5395

5395:                                             ; preds = %5394
  br label %5396

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

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

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

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

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

5443:                                             ; preds = %5442
  br label %5444

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

5445:                                             ; No predecessors!
  br label %5446

5446:                                             ; preds = %5445
  br label %5447

5447:                                             ; preds = %5446, %5387
  br label %5448

5448:                                             ; preds = %5447
  br label %5449

5449:                                             ; preds = %5448
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  %5450 = call ptr @s2n_config_new()
  store ptr %5450, ptr %106, align 8, !tbaa !9
  br label %5451

5451:                                             ; preds = %5449
  %5452 = load i32, ptr @test_count, align 4, !tbaa !5
  %5453 = add nsw i32 %5452, 1
  store i32 %5453, ptr @test_count, align 4, !tbaa !5
  %5454 = load ptr, ptr %106, align 8, !tbaa !9
  %5455 = icmp eq ptr %5454, null
  br i1 %5455, label %5456, label %5509

5456:                                             ; preds = %5451
  br label %5457

5457:                                             ; preds = %5456
  br label %5458

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

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

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

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

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

5505:                                             ; preds = %5504
  br label %5506

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

5507:                                             ; No predecessors!
  br label %5508

5508:                                             ; preds = %5507
  br label %5509

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

5510:                                             ; preds = %5509
  br label %5511

5511:                                             ; preds = %5510
  br label %5512

5512:                                             ; preds = %5511
  %5513 = load i32, ptr @test_count, align 4, !tbaa !5
  %5514 = add nsw i32 %5513, 1
  store i32 %5514, ptr @test_count, align 4, !tbaa !5
  %5515 = load ptr, ptr %106, align 8, !tbaa !9
  %5516 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5515, ptr noundef @.str.65)
  %5517 = icmp eq i32 %5516, -1
  br i1 %5517, label %5518, label %5571

5518:                                             ; preds = %5512
  br label %5519

5519:                                             ; preds = %5518
  br label %5520

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

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

5532:                                             ; preds = %5527
  %5533 = load i32, ptr %108, align 4, !tbaa !5
  %5534 = call ptr @__errno_location() #12
  store i32 %5533, ptr %5534, align 4, !tbaa !5
  %5535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5536 = load i32, ptr @test_count, align 4, !tbaa !5
  %5537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5538 = load i32, ptr %5537, align 4, !tbaa !5
  %5539 = call ptr @s2n_strerror(i32 noundef %5538, ptr noundef @.str.4)
  %5540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5541 = load i32, ptr %5540, align 4, !tbaa !5
  %5542 = call ptr @s2n_strerror_debug(i32 noundef %5541, ptr noundef @.str.4)
  %5543 = call ptr @__errno_location() #12
  %5544 = load i32, ptr %5543, align 4, !tbaa !5
  %5545 = call ptr @strerror(i32 noundef %5544) #11
  %5546 = call ptr @__errno_location() #12
  %5547 = load i32, ptr %5546, align 4, !tbaa !5
  %5548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5535, ptr noundef @.str.2, i32 noundef %5536, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5539, ptr noundef %5542, ptr noundef %5545, i32 noundef %5547) #11
  br label %5566

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

5566:                                             ; preds = %5549, %5532
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5567

5567:                                             ; preds = %5566
  br label %5568

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

5569:                                             ; No predecessors!
  br label %5570

5570:                                             ; preds = %5569
  br label %5571

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

5572:                                             ; preds = %5571
  br label %5573

5573:                                             ; preds = %5572
  br label %5574

5574:                                             ; preds = %5573
  %5575 = load i32, ptr @test_count, align 4, !tbaa !5
  %5576 = add nsw i32 %5575, 1
  store i32 %5576, ptr @test_count, align 4, !tbaa !5
  %5577 = load ptr, ptr %106, align 8, !tbaa !9
  %5578 = call i32 @s2n_config_set_client_auth_type(ptr noundef %5577, i32 noundef 1)
  %5579 = icmp eq i32 %5578, -1
  br i1 %5579, label %5580, label %5633

5580:                                             ; preds = %5574
  br label %5581

5581:                                             ; preds = %5580
  br label %5582

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

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

5594:                                             ; preds = %5589
  %5595 = load i32, ptr %109, align 4, !tbaa !5
  %5596 = call ptr @__errno_location() #12
  store i32 %5595, ptr %5596, align 4, !tbaa !5
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = load i32, ptr @test_count, align 4, !tbaa !5
  %5599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5600 = load i32, ptr %5599, align 4, !tbaa !5
  %5601 = call ptr @s2n_strerror(i32 noundef %5600, ptr noundef @.str.4)
  %5602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5603 = load i32, ptr %5602, align 4, !tbaa !5
  %5604 = call ptr @s2n_strerror_debug(i32 noundef %5603, ptr noundef @.str.4)
  %5605 = call ptr @__errno_location() #12
  %5606 = load i32, ptr %5605, align 4, !tbaa !5
  %5607 = call ptr @strerror(i32 noundef %5606) #11
  %5608 = call ptr @__errno_location() #12
  %5609 = load i32, ptr %5608, align 4, !tbaa !5
  %5610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5597, ptr noundef @.str.2, i32 noundef %5598, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5601, ptr noundef %5604, ptr noundef %5607, i32 noundef %5609) #11
  br label %5628

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

5628:                                             ; preds = %5611, %5594
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5629

5629:                                             ; preds = %5628
  br label %5630

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

5631:                                             ; No predecessors!
  br label %5632

5632:                                             ; preds = %5631
  br label %5633

5633:                                             ; preds = %5632, %5574
  br label %5634

5634:                                             ; preds = %5633
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

5636:                                             ; preds = %5635
  %5637 = load i32, ptr @test_count, align 4, !tbaa !5
  %5638 = add nsw i32 %5637, 1
  store i32 %5638, ptr @test_count, align 4, !tbaa !5
  %5639 = load ptr, ptr %106, align 8, !tbaa !9
  %5640 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %5639, ptr noundef @verify_host_fn, ptr noundef %102)
  %5641 = icmp eq i32 %5640, -1
  br i1 %5641, label %5642, label %5695

5642:                                             ; preds = %5636
  br label %5643

5643:                                             ; preds = %5642
  br label %5644

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

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

5656:                                             ; preds = %5651
  %5657 = load i32, ptr %110, align 4, !tbaa !5
  %5658 = call ptr @__errno_location() #12
  store i32 %5657, ptr %5658, align 4, !tbaa !5
  %5659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5660 = load i32, ptr @test_count, align 4, !tbaa !5
  %5661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror(i32 noundef %5662, ptr noundef @.str.4)
  %5664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call ptr @s2n_strerror_debug(i32 noundef %5665, ptr noundef @.str.4)
  %5667 = call ptr @__errno_location() #12
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call ptr @strerror(i32 noundef %5668) #11
  %5670 = call ptr @__errno_location() #12
  %5671 = load i32, ptr %5670, align 4, !tbaa !5
  %5672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5659, ptr noundef @.str.2, i32 noundef %5660, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5663, ptr noundef %5666, ptr noundef %5669, i32 noundef %5671) #11
  br label %5690

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

5690:                                             ; preds = %5673, %5656
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5691

5691:                                             ; preds = %5690
  br label %5692

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

5693:                                             ; No predecessors!
  br label %5694

5694:                                             ; preds = %5693
  br label %5695

5695:                                             ; preds = %5694, %5636
  br label %5696

5696:                                             ; preds = %5695
  br label %5697

5697:                                             ; preds = %5696
  br label %5698

5698:                                             ; preds = %5697
  %5699 = load i32, ptr @test_count, align 4, !tbaa !5
  %5700 = add nsw i32 %5699, 1
  store i32 %5700, ptr @test_count, align 4, !tbaa !5
  %5701 = load ptr, ptr %106, align 8, !tbaa !9
  %5702 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %5701, ptr noundef @.str.11, ptr noundef null)
  %5703 = icmp eq i32 %5702, -1
  br i1 %5703, label %5704, label %5757

5704:                                             ; preds = %5698
  br label %5705

5705:                                             ; preds = %5704
  br label %5706

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

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

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

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

5752:                                             ; preds = %5735, %5718
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5753

5753:                                             ; preds = %5752
  br label %5754

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

5755:                                             ; No predecessors!
  br label %5756

5756:                                             ; preds = %5755
  br label %5757

5757:                                             ; preds = %5756, %5698
  br label %5758

5758:                                             ; preds = %5757
  br label %5759

5759:                                             ; preds = %5758
  br label %5760

5760:                                             ; preds = %5759
  %5761 = load i32, ptr @test_count, align 4, !tbaa !5
  %5762 = add nsw i32 %5761, 1
  store i32 %5762, ptr @test_count, align 4, !tbaa !5
  %5763 = load ptr, ptr %106, align 8, !tbaa !9
  %5764 = load ptr, ptr %94, align 8, !tbaa !9
  %5765 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5763, ptr noundef %5764)
  %5766 = icmp eq i32 %5765, -1
  br i1 %5766, label %5767, label %5820

5767:                                             ; preds = %5760
  br label %5768

5768:                                             ; preds = %5767
  br label %5769

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

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

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

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

5815:                                             ; preds = %5798, %5781
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5816

5816:                                             ; preds = %5815
  br label %5817

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

5818:                                             ; No predecessors!
  br label %5819

5819:                                             ; preds = %5818
  br label %5820

5820:                                             ; preds = %5819, %5760
  br label %5821

5821:                                             ; preds = %5820
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

5823:                                             ; preds = %5822
  %5824 = load i32, ptr @test_count, align 4, !tbaa !5
  %5825 = add nsw i32 %5824, 1
  store i32 %5825, ptr @test_count, align 4, !tbaa !5
  %5826 = load ptr, ptr %106, align 8, !tbaa !9
  %5827 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %5826, i8 noundef zeroext 0)
  %5828 = icmp eq i32 %5827, -1
  br i1 %5828, label %5829, label %5882

5829:                                             ; preds = %5823
  br label %5830

5830:                                             ; preds = %5829
  br label %5831

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

5838:                                             ; preds = %5831
  %5839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5840 = call i32 @fileno(ptr noundef %5839) #11
  %5841 = call i32 @isatty(i32 noundef %5840) #11
  %5842 = icmp ne i32 %5841, 0
  br i1 %5842, label %5843, label %5860

5843:                                             ; preds = %5838
  %5844 = load i32, ptr %113, align 4, !tbaa !5
  %5845 = call ptr @__errno_location() #12
  store i32 %5844, ptr %5845, align 4, !tbaa !5
  %5846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5847 = load i32, ptr @test_count, align 4, !tbaa !5
  %5848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5849 = load i32, ptr %5848, align 4, !tbaa !5
  %5850 = call ptr @s2n_strerror(i32 noundef %5849, ptr noundef @.str.4)
  %5851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5852 = load i32, ptr %5851, align 4, !tbaa !5
  %5853 = call ptr @s2n_strerror_debug(i32 noundef %5852, ptr noundef @.str.4)
  %5854 = call ptr @__errno_location() #12
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call ptr @strerror(i32 noundef %5855) #11
  %5857 = call ptr @__errno_location() #12
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5846, ptr noundef @.str.2, i32 noundef %5847, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5850, ptr noundef %5853, ptr noundef %5856, i32 noundef %5858) #11
  br label %5877

5860:                                             ; preds = %5838, %5831
  %5861 = load i32, ptr %113, align 4, !tbaa !5
  %5862 = call ptr @__errno_location() #12
  store i32 %5861, ptr %5862, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror(i32 noundef %5866, ptr noundef @.str.4)
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror_debug(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call ptr @__errno_location() #12
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @strerror(i32 noundef %5872) #11
  %5874 = call ptr @__errno_location() #12
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5863, ptr noundef @.str.5, i32 noundef %5864, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5867, ptr noundef %5870, ptr noundef %5873, i32 noundef %5875) #11
  br label %5877

5877:                                             ; preds = %5860, %5843
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5878

5878:                                             ; preds = %5877
  br label %5879

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

5880:                                             ; No predecessors!
  br label %5881

5881:                                             ; preds = %5880
  br label %5882

5882:                                             ; preds = %5881, %5823
  br label %5883

5883:                                             ; preds = %5882
  br label %5884

5884:                                             ; preds = %5883
  br label %5885

5885:                                             ; preds = %5884
  %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 = load ptr, ptr %88, align 8, !tbaa !9
  %5889 = load ptr, ptr %96, align 8, !tbaa !9
  %5890 = call i32 @s2n_connection_set_config(ptr noundef %5888, ptr noundef %5889)
  %5891 = icmp eq i32 %5890, -1
  br i1 %5891, label %5892, label %5945

5892:                                             ; preds = %5885
  br label %5893

5893:                                             ; preds = %5892
  br label %5894

5894:                                             ; preds = %5893
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5895 = call ptr @__errno_location() #12
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  store i32 %5896, ptr %114, align 4, !tbaa !5
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = call i32 @s2n_print_stacktrace(ptr noundef %5897)
  %5899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5900 = trunc i8 %5899 to i1
  br i1 %5900, label %5901, label %5923

5901:                                             ; preds = %5894
  %5902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5903 = call i32 @fileno(ptr noundef %5902) #11
  %5904 = call i32 @isatty(i32 noundef %5903) #11
  %5905 = icmp ne i32 %5904, 0
  br i1 %5905, label %5906, label %5923

5906:                                             ; preds = %5901
  %5907 = load i32, ptr %114, align 4, !tbaa !5
  %5908 = call ptr @__errno_location() #12
  store i32 %5907, ptr %5908, align 4, !tbaa !5
  %5909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5910 = load i32, ptr @test_count, align 4, !tbaa !5
  %5911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5912 = load i32, ptr %5911, align 4, !tbaa !5
  %5913 = call ptr @s2n_strerror(i32 noundef %5912, ptr noundef @.str.4)
  %5914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5915 = load i32, ptr %5914, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror_debug(i32 noundef %5915, ptr noundef @.str.4)
  %5917 = call ptr @__errno_location() #12
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call ptr @strerror(i32 noundef %5918) #11
  %5920 = call ptr @__errno_location() #12
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5909, ptr noundef @.str.2, i32 noundef %5910, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5913, ptr noundef %5916, ptr noundef %5919, i32 noundef %5921) #11
  br label %5940

5923:                                             ; preds = %5901, %5894
  %5924 = load i32, ptr %114, align 4, !tbaa !5
  %5925 = call ptr @__errno_location() #12
  store i32 %5924, ptr %5925, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = load i32, ptr @test_count, align 4, !tbaa !5
  %5928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  %5930 = call ptr @s2n_strerror(i32 noundef %5929, ptr noundef @.str.4)
  %5931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5932 = load i32, ptr %5931, align 4, !tbaa !5
  %5933 = call ptr @s2n_strerror_debug(i32 noundef %5932, ptr noundef @.str.4)
  %5934 = call ptr @__errno_location() #12
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call ptr @strerror(i32 noundef %5935) #11
  %5937 = call ptr @__errno_location() #12
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  %5939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5926, ptr noundef @.str.5, i32 noundef %5927, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5930, ptr noundef %5933, ptr noundef %5936, i32 noundef %5938) #11
  br label %5940

5940:                                             ; preds = %5923, %5906
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5941

5941:                                             ; preds = %5940
  br label %5942

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

5943:                                             ; No predecessors!
  br label %5944

5944:                                             ; preds = %5943
  br label %5945

5945:                                             ; preds = %5944, %5885
  br label %5946

5946:                                             ; preds = %5945
  br label %5947

5947:                                             ; preds = %5946
  br label %5948

5948:                                             ; preds = %5947
  %5949 = load i32, ptr @test_count, align 4, !tbaa !5
  %5950 = add nsw i32 %5949, 1
  store i32 %5950, ptr @test_count, align 4, !tbaa !5
  %5951 = load ptr, ptr %88, align 8, !tbaa !9
  %5952 = getelementptr inbounds %struct.s2n_connection, ptr %5951, i32 0, i32 72
  %5953 = getelementptr inbounds %struct.s2n_x509_validator, ptr %5952, i32 0, i32 2
  %5954 = load i8, ptr %5953, align 8, !tbaa !37
  %5955 = zext i8 %5954 to i32
  %5956 = icmp eq i32 %5955, 1
  br i1 %5956, label %6010, label %5957

5957:                                             ; preds = %5948
  br label %5958

5958:                                             ; preds = %5957
  br label %5959

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

5966:                                             ; preds = %5959
  %5967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5968 = call i32 @fileno(ptr noundef %5967) #11
  %5969 = call i32 @isatty(i32 noundef %5968) #11
  %5970 = icmp ne i32 %5969, 0
  br i1 %5970, label %5971, label %5988

5971:                                             ; preds = %5966
  %5972 = load i32, ptr %115, align 4, !tbaa !5
  %5973 = call ptr @__errno_location() #12
  store i32 %5972, ptr %5973, align 4, !tbaa !5
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = load i32, ptr @test_count, align 4, !tbaa !5
  %5976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5977 = load i32, ptr %5976, align 4, !tbaa !5
  %5978 = call ptr @s2n_strerror(i32 noundef %5977, ptr noundef @.str.4)
  %5979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5980 = load i32, ptr %5979, align 4, !tbaa !5
  %5981 = call ptr @s2n_strerror_debug(i32 noundef %5980, ptr noundef @.str.4)
  %5982 = call ptr @__errno_location() #12
  %5983 = load i32, ptr %5982, align 4, !tbaa !5
  %5984 = call ptr @strerror(i32 noundef %5983) #11
  %5985 = call ptr @__errno_location() #12
  %5986 = load i32, ptr %5985, align 4, !tbaa !5
  %5987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5974, ptr noundef @.str.2, i32 noundef %5975, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 264, ptr noundef %5978, ptr noundef %5981, ptr noundef %5984, i32 noundef %5986) #11
  br label %6005

5988:                                             ; preds = %5966, %5959
  %5989 = load i32, ptr %115, align 4, !tbaa !5
  %5990 = call ptr @__errno_location() #12
  store i32 %5989, ptr %5990, align 4, !tbaa !5
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5994 = load i32, ptr %5993, align 4, !tbaa !5
  %5995 = call ptr @s2n_strerror(i32 noundef %5994, ptr noundef @.str.4)
  %5996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5997 = load i32, ptr %5996, align 4, !tbaa !5
  %5998 = call ptr @s2n_strerror_debug(i32 noundef %5997, ptr noundef @.str.4)
  %5999 = call ptr @__errno_location() #12
  %6000 = load i32, ptr %5999, align 4, !tbaa !5
  %6001 = call ptr @strerror(i32 noundef %6000) #11
  %6002 = call ptr @__errno_location() #12
  %6003 = load i32, ptr %6002, align 4, !tbaa !5
  %6004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5991, ptr noundef @.str.5, i32 noundef %5992, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 264, ptr noundef %5995, ptr noundef %5998, ptr noundef %6001, i32 noundef %6003) #11
  br label %6005

6005:                                             ; preds = %5988, %5971
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %6006

6006:                                             ; preds = %6005
  br label %6007

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

6008:                                             ; No predecessors!
  br label %6009

6009:                                             ; preds = %6008
  br label %6010

6010:                                             ; preds = %6009, %5948
  br label %6011

6011:                                             ; preds = %6010
  br label %6012

6012:                                             ; preds = %6011
  br label %6013

6013:                                             ; preds = %6012
  %6014 = load i32, ptr @test_count, align 4, !tbaa !5
  %6015 = add nsw i32 %6014, 1
  store i32 %6015, ptr @test_count, align 4, !tbaa !5
  %6016 = load ptr, ptr %89, align 8, !tbaa !9
  %6017 = load ptr, ptr %106, align 8, !tbaa !9
  %6018 = call i32 @s2n_connection_set_config(ptr noundef %6016, ptr noundef %6017)
  %6019 = icmp eq i32 %6018, -1
  br i1 %6019, label %6020, label %6073

6020:                                             ; preds = %6013
  br label %6021

6021:                                             ; preds = %6020
  br label %6022

6022:                                             ; preds = %6021
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %6023 = call ptr @__errno_location() #12
  %6024 = load i32, ptr %6023, align 4, !tbaa !5
  store i32 %6024, ptr %116, align 4, !tbaa !5
  %6025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6026 = call i32 @s2n_print_stacktrace(ptr noundef %6025)
  %6027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6028 = trunc i8 %6027 to i1
  br i1 %6028, label %6029, label %6051

6029:                                             ; preds = %6022
  %6030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6031 = call i32 @fileno(ptr noundef %6030) #11
  %6032 = call i32 @isatty(i32 noundef %6031) #11
  %6033 = icmp ne i32 %6032, 0
  br i1 %6033, label %6034, label %6051

6034:                                             ; preds = %6029
  %6035 = load i32, ptr %116, align 4, !tbaa !5
  %6036 = call ptr @__errno_location() #12
  store i32 %6035, ptr %6036, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = load i32, ptr @test_count, align 4, !tbaa !5
  %6039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  %6041 = call ptr @s2n_strerror(i32 noundef %6040, ptr noundef @.str.4)
  %6042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @s2n_strerror_debug(i32 noundef %6043, ptr noundef @.str.4)
  %6045 = call ptr @__errno_location() #12
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call ptr @strerror(i32 noundef %6046) #11
  %6048 = call ptr @__errno_location() #12
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6037, ptr noundef @.str.2, i32 noundef %6038, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6041, ptr noundef %6044, ptr noundef %6047, i32 noundef %6049) #11
  br label %6068

6051:                                             ; preds = %6029, %6022
  %6052 = load i32, ptr %116, align 4, !tbaa !5
  %6053 = call ptr @__errno_location() #12
  store i32 %6052, ptr %6053, align 4, !tbaa !5
  %6054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6055 = load i32, ptr @test_count, align 4, !tbaa !5
  %6056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6057 = load i32, ptr %6056, align 4, !tbaa !5
  %6058 = call ptr @s2n_strerror(i32 noundef %6057, ptr noundef @.str.4)
  %6059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6060 = load i32, ptr %6059, align 4, !tbaa !5
  %6061 = call ptr @s2n_strerror_debug(i32 noundef %6060, ptr noundef @.str.4)
  %6062 = call ptr @__errno_location() #12
  %6063 = load i32, ptr %6062, align 4, !tbaa !5
  %6064 = call ptr @strerror(i32 noundef %6063) #11
  %6065 = call ptr @__errno_location() #12
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6054, ptr noundef @.str.5, i32 noundef %6055, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6058, ptr noundef %6061, ptr noundef %6064, i32 noundef %6066) #11
  br label %6068

6068:                                             ; preds = %6051, %6034
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %6069

6069:                                             ; preds = %6068
  br label %6070

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

6071:                                             ; No predecessors!
  br label %6072

6072:                                             ; preds = %6071
  br label %6073

6073:                                             ; preds = %6072, %6013
  br label %6074

6074:                                             ; preds = %6073
  br label %6075

6075:                                             ; preds = %6074
  br label %6076

6076:                                             ; preds = %6075
  %6077 = load i32, ptr @test_count, align 4, !tbaa !5
  %6078 = add nsw i32 %6077, 1
  store i32 %6078, ptr @test_count, align 4, !tbaa !5
  %6079 = load ptr, ptr %89, align 8, !tbaa !9
  %6080 = getelementptr inbounds %struct.s2n_connection, ptr %6079, i32 0, i32 72
  %6081 = getelementptr inbounds %struct.s2n_x509_validator, ptr %6080, i32 0, i32 2
  %6082 = load i8, ptr %6081, align 8, !tbaa !37
  %6083 = zext i8 %6082 to i32
  %6084 = icmp eq i32 %6083, 0
  br i1 %6084, label %6138, label %6085

6085:                                             ; preds = %6076
  br label %6086

6086:                                             ; preds = %6085
  br label %6087

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

6094:                                             ; preds = %6087
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = call i32 @fileno(ptr noundef %6095) #11
  %6097 = call i32 @isatty(i32 noundef %6096) #11
  %6098 = icmp ne i32 %6097, 0
  br i1 %6098, label %6099, label %6116

6099:                                             ; preds = %6094
  %6100 = load i32, ptr %117, align 4, !tbaa !5
  %6101 = call ptr @__errno_location() #12
  store i32 %6100, ptr %6101, align 4, !tbaa !5
  %6102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6103 = load i32, ptr @test_count, align 4, !tbaa !5
  %6104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6105 = load i32, ptr %6104, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror(i32 noundef %6105, ptr noundef @.str.4)
  %6107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  %6109 = call ptr @s2n_strerror_debug(i32 noundef %6108, ptr noundef @.str.4)
  %6110 = call ptr @__errno_location() #12
  %6111 = load i32, ptr %6110, align 4, !tbaa !5
  %6112 = call ptr @strerror(i32 noundef %6111) #11
  %6113 = call ptr @__errno_location() #12
  %6114 = load i32, ptr %6113, align 4, !tbaa !5
  %6115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6102, ptr noundef @.str.2, i32 noundef %6103, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6106, ptr noundef %6109, ptr noundef %6112, i32 noundef %6114) #11
  br label %6133

6116:                                             ; preds = %6094, %6087
  %6117 = load i32, ptr %117, align 4, !tbaa !5
  %6118 = call ptr @__errno_location() #12
  store i32 %6117, ptr %6118, align 4, !tbaa !5
  %6119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6120 = load i32, ptr @test_count, align 4, !tbaa !5
  %6121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6122 = load i32, ptr %6121, align 4, !tbaa !5
  %6123 = call ptr @s2n_strerror(i32 noundef %6122, ptr noundef @.str.4)
  %6124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6125 = load i32, ptr %6124, align 4, !tbaa !5
  %6126 = call ptr @s2n_strerror_debug(i32 noundef %6125, ptr noundef @.str.4)
  %6127 = call ptr @__errno_location() #12
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  %6129 = call ptr @strerror(i32 noundef %6128) #11
  %6130 = call ptr @__errno_location() #12
  %6131 = load i32, ptr %6130, align 4, !tbaa !5
  %6132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6119, ptr noundef @.str.5, i32 noundef %6120, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6123, ptr noundef %6126, ptr noundef %6129, i32 noundef %6131) #11
  br label %6133

6133:                                             ; preds = %6116, %6099
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %6134

6134:                                             ; preds = %6133
  br label %6135

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

6136:                                             ; No predecessors!
  br label %6137

6137:                                             ; preds = %6136
  br label %6138

6138:                                             ; preds = %6137, %6076
  br label %6139

6139:                                             ; preds = %6138
  br label %6140

6140:                                             ; preds = %6139
  br label %6141

6141:                                             ; preds = %6140
  %6142 = load i32, ptr @test_count, align 4, !tbaa !5
  %6143 = add nsw i32 %6142, 1
  store i32 %6143, ptr @test_count, align 4, !tbaa !5
  %6144 = load ptr, ptr %88, align 8, !tbaa !9
  %6145 = load ptr, ptr %89, align 8, !tbaa !9
  %6146 = call i32 @s2n_connections_set_io_pair(ptr noundef %6144, ptr noundef %6145, ptr noundef %92)
  %6147 = icmp eq i32 %6146, -1
  br i1 %6147, label %6148, label %6201

6148:                                             ; preds = %6141
  br label %6149

6149:                                             ; preds = %6148
  br label %6150

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

6157:                                             ; preds = %6150
  %6158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6159 = call i32 @fileno(ptr noundef %6158) #11
  %6160 = call i32 @isatty(i32 noundef %6159) #11
  %6161 = icmp ne i32 %6160, 0
  br i1 %6161, label %6162, label %6179

6162:                                             ; preds = %6157
  %6163 = load i32, ptr %118, align 4, !tbaa !5
  %6164 = call ptr @__errno_location() #12
  store i32 %6163, ptr %6164, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = load i32, ptr @test_count, align 4, !tbaa !5
  %6167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror(i32 noundef %6168, ptr noundef @.str.4)
  %6170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6171 = load i32, ptr %6170, align 4, !tbaa !5
  %6172 = call ptr @s2n_strerror_debug(i32 noundef %6171, ptr noundef @.str.4)
  %6173 = call ptr @__errno_location() #12
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @strerror(i32 noundef %6174) #11
  %6176 = call ptr @__errno_location() #12
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6165, ptr noundef @.str.2, i32 noundef %6166, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6169, ptr noundef %6172, ptr noundef %6175, i32 noundef %6177) #11
  br label %6196

6179:                                             ; preds = %6157, %6150
  %6180 = load i32, ptr %118, align 4, !tbaa !5
  %6181 = call ptr @__errno_location() #12
  store i32 %6180, ptr %6181, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror(i32 noundef %6185, ptr noundef @.str.4)
  %6187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror_debug(i32 noundef %6188, ptr noundef @.str.4)
  %6190 = call ptr @__errno_location() #12
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @strerror(i32 noundef %6191) #11
  %6193 = call ptr @__errno_location() #12
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef @.str.5, i32 noundef %6183, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6186, ptr noundef %6189, ptr noundef %6192, i32 noundef %6194) #11
  br label %6196

6196:                                             ; preds = %6179, %6162
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6197

6197:                                             ; preds = %6196
  br label %6198

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

6199:                                             ; No predecessors!
  br label %6200

6200:                                             ; preds = %6199
  br label %6201

6201:                                             ; preds = %6200, %6141
  br label %6202

6202:                                             ; preds = %6201
  br label %6203

6203:                                             ; preds = %6202
  br label %6204

6204:                                             ; preds = %6203
  %6205 = load i32, ptr @test_count, align 4, !tbaa !5
  %6206 = add nsw i32 %6205, 1
  store i32 %6206, ptr @test_count, align 4, !tbaa !5
  %6207 = load ptr, ptr %89, align 8, !tbaa !9
  %6208 = load ptr, ptr %88, align 8, !tbaa !9
  %6209 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6207, ptr noundef %6208)
  %6210 = icmp eq i32 %6209, -1
  br i1 %6210, label %6211, label %6264

6211:                                             ; preds = %6204
  br label %6212

6212:                                             ; preds = %6211
  br label %6213

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

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

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

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

6259:                                             ; preds = %6242, %6225
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %6260

6260:                                             ; preds = %6259
  br label %6261

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

6262:                                             ; No predecessors!
  br label %6263

6263:                                             ; preds = %6262
  br label %6264

6264:                                             ; preds = %6263, %6204
  br label %6265

6265:                                             ; preds = %6264
  br label %6266

6266:                                             ; preds = %6265
  br label %6267

6267:                                             ; preds = %6266
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %6269 = add nsw i32 %6268, 1
  store i32 %6269, ptr @test_count, align 4, !tbaa !5
  %6270 = load ptr, ptr %89, align 8, !tbaa !9
  %6271 = getelementptr inbounds %struct.s2n_connection, ptr %6270, i32 0, i32 72
  %6272 = getelementptr inbounds %struct.s2n_x509_validator, ptr %6271, i32 0, i32 6
  %6273 = load i32, ptr %6272, align 8, !tbaa !61
  %6274 = icmp eq i32 %6273, 4
  br i1 %6274, label %6328, label %6275

6275:                                             ; preds = %6267
  br label %6276

6276:                                             ; preds = %6275
  br label %6277

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

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

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

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

6323:                                             ; preds = %6306, %6289
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %6324

6324:                                             ; preds = %6323
  br label %6325

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

6326:                                             ; No predecessors!
  br label %6327

6327:                                             ; preds = %6326
  br label %6328

6328:                                             ; preds = %6327, %6267
  br label %6329

6329:                                             ; preds = %6328
  br label %6330

6330:                                             ; preds = %6329
  br label %6331

6331:                                             ; preds = %6330
  %6332 = load i32, ptr @test_count, align 4, !tbaa !5
  %6333 = add nsw i32 %6332, 1
  store i32 %6333, ptr @test_count, align 4, !tbaa !5
  %6334 = load ptr, ptr %88, align 8, !tbaa !9
  %6335 = getelementptr inbounds %struct.s2n_connection, ptr %6334, i32 0, i32 72
  %6336 = getelementptr inbounds %struct.s2n_x509_validator, ptr %6335, i32 0, i32 6
  %6337 = load i32, ptr %6336, align 8, !tbaa !61
  %6338 = icmp eq i32 %6337, 4
  br i1 %6338, label %6339, label %6392

6339:                                             ; preds = %6331
  br label %6340

6340:                                             ; preds = %6339
  br label %6341

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

6348:                                             ; preds = %6341
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = call i32 @fileno(ptr noundef %6349) #11
  %6351 = call i32 @isatty(i32 noundef %6350) #11
  %6352 = icmp ne i32 %6351, 0
  br i1 %6352, label %6353, label %6370

6353:                                             ; preds = %6348
  %6354 = load i32, ptr %121, align 4, !tbaa !5
  %6355 = call ptr @__errno_location() #12
  store i32 %6354, ptr %6355, align 4, !tbaa !5
  %6356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6357 = load i32, ptr @test_count, align 4, !tbaa !5
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror(i32 noundef %6359, ptr noundef @.str.4)
  %6361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror_debug(i32 noundef %6362, ptr noundef @.str.4)
  %6364 = call ptr @__errno_location() #12
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call ptr @strerror(i32 noundef %6365) #11
  %6367 = call ptr @__errno_location() #12
  %6368 = load i32, ptr %6367, align 4, !tbaa !5
  %6369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6356, ptr noundef @.str.2, i32 noundef %6357, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6360, ptr noundef %6363, ptr noundef %6366, i32 noundef %6368) #11
  br label %6387

6370:                                             ; preds = %6348, %6341
  %6371 = load i32, ptr %121, align 4, !tbaa !5
  %6372 = call ptr @__errno_location() #12
  store i32 %6371, ptr %6372, align 4, !tbaa !5
  %6373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6374 = load i32, ptr @test_count, align 4, !tbaa !5
  %6375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  %6377 = call ptr @s2n_strerror(i32 noundef %6376, ptr noundef @.str.4)
  %6378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6379 = load i32, ptr %6378, align 4, !tbaa !5
  %6380 = call ptr @s2n_strerror_debug(i32 noundef %6379, ptr noundef @.str.4)
  %6381 = call ptr @__errno_location() #12
  %6382 = load i32, ptr %6381, align 4, !tbaa !5
  %6383 = call ptr @strerror(i32 noundef %6382) #11
  %6384 = call ptr @__errno_location() #12
  %6385 = load i32, ptr %6384, align 4, !tbaa !5
  %6386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6373, ptr noundef @.str.5, i32 noundef %6374, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6377, ptr noundef %6380, ptr noundef %6383, i32 noundef %6385) #11
  br label %6387

6387:                                             ; preds = %6370, %6353
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

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

6390:                                             ; No predecessors!
  br label %6391

6391:                                             ; preds = %6390
  br label %6392

6392:                                             ; preds = %6391, %6331
  br label %6393

6393:                                             ; preds = %6392
  br label %6394

6394:                                             ; preds = %6393
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #11
  %6395 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %6395, ptr %122, align 8, !tbaa !9
  br label %6396

6396:                                             ; preds = %6394
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = load ptr, ptr %122, align 8, !tbaa !9
  %6400 = icmp eq ptr %6399, null
  br i1 %6400, label %6401, label %6454

6401:                                             ; preds = %6396
  br label %6402

6402:                                             ; preds = %6401
  br label %6403

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

6410:                                             ; preds = %6403
  %6411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6412 = call i32 @fileno(ptr noundef %6411) #11
  %6413 = call i32 @isatty(i32 noundef %6412) #11
  %6414 = icmp ne i32 %6413, 0
  br i1 %6414, label %6415, label %6432

6415:                                             ; preds = %6410
  %6416 = load i32, ptr %123, align 4, !tbaa !5
  %6417 = call ptr @__errno_location() #12
  store i32 %6416, ptr %6417, align 4, !tbaa !5
  %6418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6419 = load i32, ptr @test_count, align 4, !tbaa !5
  %6420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6421 = load i32, ptr %6420, align 4, !tbaa !5
  %6422 = call ptr @s2n_strerror(i32 noundef %6421, ptr noundef @.str.4)
  %6423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6424 = load i32, ptr %6423, align 4, !tbaa !5
  %6425 = call ptr @s2n_strerror_debug(i32 noundef %6424, ptr noundef @.str.4)
  %6426 = call ptr @__errno_location() #12
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  %6428 = call ptr @strerror(i32 noundef %6427) #11
  %6429 = call ptr @__errno_location() #12
  %6430 = load i32, ptr %6429, align 4, !tbaa !5
  %6431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6418, ptr noundef @.str.2, i32 noundef %6419, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6422, ptr noundef %6425, ptr noundef %6428, i32 noundef %6430) #11
  br label %6449

6432:                                             ; preds = %6410, %6403
  %6433 = load i32, ptr %123, align 4, !tbaa !5
  %6434 = call ptr @__errno_location() #12
  store i32 %6433, ptr %6434, align 4, !tbaa !5
  %6435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6436 = load i32, ptr @test_count, align 4, !tbaa !5
  %6437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6438 = load i32, ptr %6437, align 4, !tbaa !5
  %6439 = call ptr @s2n_strerror(i32 noundef %6438, ptr noundef @.str.4)
  %6440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6441 = load i32, ptr %6440, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror_debug(i32 noundef %6441, ptr noundef @.str.4)
  %6443 = call ptr @__errno_location() #12
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #11
  %6446 = call ptr @__errno_location() #12
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6435, ptr noundef @.str.5, i32 noundef %6436, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6439, ptr noundef %6442, ptr noundef %6445, i32 noundef %6447) #11
  br label %6449

6449:                                             ; preds = %6432, %6415
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6450

6450:                                             ; preds = %6449
  br label %6451

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

6452:                                             ; No predecessors!
  br label %6453

6453:                                             ; preds = %6452
  br label %6454

6454:                                             ; preds = %6453, %6396
  br label %6455

6455:                                             ; preds = %6454
  br label %6456

6456:                                             ; preds = %6455
  br label %6457

6457:                                             ; preds = %6456
  br label %6458

6458:                                             ; preds = %6457
  br label %6459

6459:                                             ; preds = %6458
  %6460 = load i32, ptr @test_count, align 4, !tbaa !5
  %6461 = add nsw i32 %6460, 1
  store i32 %6461, ptr @test_count, align 4, !tbaa !5
  %6462 = load ptr, ptr %122, align 8, !tbaa !9
  %6463 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef null, ptr noundef %6462)
  %6464 = icmp eq i32 %6463, -1
  br i1 %6464, label %6518, label %6465

6465:                                             ; preds = %6459
  br label %6466

6466:                                             ; preds = %6465
  br label %6467

6467:                                             ; preds = %6466
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %6468 = call ptr @__errno_location() #12
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  store i32 %6469, ptr %124, align 4, !tbaa !5
  %6470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6471 = call i32 @s2n_print_stacktrace(ptr noundef %6470)
  %6472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6473 = trunc i8 %6472 to i1
  br i1 %6473, label %6474, label %6496

6474:                                             ; preds = %6467
  %6475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6476 = call i32 @fileno(ptr noundef %6475) #11
  %6477 = call i32 @isatty(i32 noundef %6476) #11
  %6478 = icmp ne i32 %6477, 0
  br i1 %6478, label %6479, label %6496

6479:                                             ; preds = %6474
  %6480 = load i32, ptr %124, align 4, !tbaa !5
  %6481 = call ptr @__errno_location() #12
  store i32 %6480, ptr %6481, align 4, !tbaa !5
  %6482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6483 = load i32, ptr @test_count, align 4, !tbaa !5
  %6484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror(i32 noundef %6485, ptr noundef @.str.4)
  %6487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror_debug(i32 noundef %6488, ptr noundef @.str.4)
  %6490 = call ptr @__errno_location() #12
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call ptr @strerror(i32 noundef %6491) #11
  %6493 = call ptr @__errno_location() #12
  %6494 = load i32, ptr %6493, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6482, ptr noundef @.str.2, i32 noundef %6483, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6486, ptr noundef %6489, ptr noundef %6492, i32 noundef %6494) #11
  br label %6513

6496:                                             ; preds = %6474, %6467
  %6497 = load i32, ptr %124, align 4, !tbaa !5
  %6498 = call ptr @__errno_location() #12
  store i32 %6497, ptr %6498, align 4, !tbaa !5
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = load i32, ptr @test_count, align 4, !tbaa !5
  %6501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror(i32 noundef %6502, ptr noundef @.str.4)
  %6504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call ptr @s2n_strerror_debug(i32 noundef %6505, ptr noundef @.str.4)
  %6507 = call ptr @__errno_location() #12
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call ptr @strerror(i32 noundef %6508) #11
  %6510 = call ptr @__errno_location() #12
  %6511 = load i32, ptr %6510, align 4, !tbaa !5
  %6512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6499, ptr noundef @.str.5, i32 noundef %6500, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6503, ptr noundef %6506, ptr noundef %6509, i32 noundef %6511) #11
  br label %6513

6513:                                             ; preds = %6496, %6479
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6514

6514:                                             ; preds = %6513
  br label %6515

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

6516:                                             ; No predecessors!
  br label %6517

6517:                                             ; preds = %6516
  br label %6518

6518:                                             ; preds = %6517, %6459
  br label %6519

6519:                                             ; preds = %6518
  br label %6520

6520:                                             ; preds = %6519
  br label %6521

6521:                                             ; preds = %6520
  %6522 = load i32, ptr @test_count, align 4, !tbaa !5
  %6523 = add nsw i32 %6522, 1
  store i32 %6523, ptr @test_count, align 4, !tbaa !5
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = icmp eq i32 %6525, 402653193
  br i1 %6526, label %6580, label %6527

6527:                                             ; preds = %6521
  br label %6528

6528:                                             ; preds = %6527
  br label %6529

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

6536:                                             ; preds = %6529
  %6537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6538 = call i32 @fileno(ptr noundef %6537) #11
  %6539 = call i32 @isatty(i32 noundef %6538) #11
  %6540 = icmp ne i32 %6539, 0
  br i1 %6540, label %6541, label %6558

6541:                                             ; preds = %6536
  %6542 = load i32, ptr %125, align 4, !tbaa !5
  %6543 = call ptr @__errno_location() #12
  store i32 %6542, ptr %6543, align 4, !tbaa !5
  %6544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6545 = load i32, ptr @test_count, align 4, !tbaa !5
  %6546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror(i32 noundef %6547, ptr noundef @.str.4)
  %6549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call ptr @s2n_strerror_debug(i32 noundef %6550, ptr noundef @.str.4)
  %6552 = call ptr @__errno_location() #12
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call ptr @strerror(i32 noundef %6553) #11
  %6555 = call ptr @__errno_location() #12
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  %6557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6544, ptr noundef @.str.2, i32 noundef %6545, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6548, ptr noundef %6551, ptr noundef %6554, i32 noundef %6556) #11
  br label %6575

6558:                                             ; preds = %6536, %6529
  %6559 = load i32, ptr %125, align 4, !tbaa !5
  %6560 = call ptr @__errno_location() #12
  store i32 %6559, ptr %6560, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @s2n_strerror(i32 noundef %6564, ptr noundef @.str.4)
  %6566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @s2n_strerror_debug(i32 noundef %6567, ptr noundef @.str.4)
  %6569 = call ptr @__errno_location() #12
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call ptr @strerror(i32 noundef %6570) #11
  %6572 = call ptr @__errno_location() #12
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  %6574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6561, ptr noundef @.str.5, i32 noundef %6562, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6565, ptr noundef %6568, ptr noundef %6571, i32 noundef %6573) #11
  br label %6575

6575:                                             ; preds = %6558, %6541
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

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

6578:                                             ; No predecessors!
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

6580:                                             ; preds = %6579, %6521
  br label %6581

6581:                                             ; preds = %6580
  br label %6582

6582:                                             ; preds = %6581
  br label %6583

6583:                                             ; preds = %6582
  %6584 = load i32, ptr @test_count, align 4, !tbaa !5
  %6585 = add nsw i32 %6584, 1
  store i32 %6585, ptr @test_count, align 4, !tbaa !5
  %6586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6587 = load i32, ptr %6586, align 4, !tbaa !5
  %6588 = call ptr @s2n_strerror_debug(i32 noundef %6587, ptr noundef @.str.4)
  %6589 = icmp eq ptr %6588, null
  br i1 %6589, label %6590, label %6643

6590:                                             ; preds = %6583
  br label %6591

6591:                                             ; preds = %6590
  br label %6592

6592:                                             ; preds = %6591
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6593 = call ptr @__errno_location() #12
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  store i32 %6594, ptr %126, align 4, !tbaa !5
  %6595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6596 = call i32 @s2n_print_stacktrace(ptr noundef %6595)
  %6597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6598 = trunc i8 %6597 to i1
  br i1 %6598, label %6599, label %6621

6599:                                             ; preds = %6592
  %6600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6601 = call i32 @fileno(ptr noundef %6600) #11
  %6602 = call i32 @isatty(i32 noundef %6601) #11
  %6603 = icmp ne i32 %6602, 0
  br i1 %6603, label %6604, label %6621

6604:                                             ; preds = %6599
  %6605 = load i32, ptr %126, align 4, !tbaa !5
  %6606 = call ptr @__errno_location() #12
  store i32 %6605, ptr %6606, align 4, !tbaa !5
  %6607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call ptr @s2n_strerror(i32 noundef %6610, ptr noundef @.str.4)
  %6612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6613 = load i32, ptr %6612, align 4, !tbaa !5
  %6614 = call ptr @s2n_strerror_debug(i32 noundef %6613, ptr noundef @.str.4)
  %6615 = call ptr @__errno_location() #12
  %6616 = load i32, ptr %6615, align 4, !tbaa !5
  %6617 = call ptr @strerror(i32 noundef %6616) #11
  %6618 = call ptr @__errno_location() #12
  %6619 = load i32, ptr %6618, align 4, !tbaa !5
  %6620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6607, ptr noundef @.str.2, i32 noundef %6608, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6611, ptr noundef %6614, ptr noundef %6617, i32 noundef %6619) #11
  br label %6638

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

6638:                                             ; preds = %6621, %6604
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6639

6639:                                             ; preds = %6638
  br label %6640

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

6641:                                             ; No predecessors!
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

6643:                                             ; preds = %6642, %6583
  br label %6644

6644:                                             ; preds = %6643
  br label %6645

6645:                                             ; preds = %6644
  br label %6646

6646:                                             ; preds = %6645
  br label %6647

6647:                                             ; preds = %6646
  br label %6648

6648:                                             ; preds = %6647
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6649, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6650 = call ptr @__errno_location() #12
  store i32 0, ptr %6650, align 4, !tbaa !5
  br label %6651

6651:                                             ; preds = %6648
  br label %6652

6652:                                             ; preds = %6651
  br label %6653

6653:                                             ; preds = %6652
  br label %6654

6654:                                             ; preds = %6653
  br label %6655

6655:                                             ; preds = %6654
  br label %6656

6656:                                             ; preds = %6655
  br label %6657

6657:                                             ; preds = %6656
  %6658 = load i32, ptr @test_count, align 4, !tbaa !5
  %6659 = add nsw i32 %6658, 1
  store i32 %6659, ptr @test_count, align 4, !tbaa !5
  %6660 = load ptr, ptr %89, align 8, !tbaa !9
  %6661 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %6660, ptr noundef null)
  %6662 = icmp eq i32 %6661, -1
  br i1 %6662, label %6716, label %6663

6663:                                             ; preds = %6657
  br label %6664

6664:                                             ; preds = %6663
  br label %6665

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

6672:                                             ; preds = %6665
  %6673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6674 = call i32 @fileno(ptr noundef %6673) #11
  %6675 = call i32 @isatty(i32 noundef %6674) #11
  %6676 = icmp ne i32 %6675, 0
  br i1 %6676, label %6677, label %6694

6677:                                             ; preds = %6672
  %6678 = load i32, ptr %127, align 4, !tbaa !5
  %6679 = call ptr @__errno_location() #12
  store i32 %6678, ptr %6679, align 4, !tbaa !5
  %6680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6681 = load i32, ptr @test_count, align 4, !tbaa !5
  %6682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6683 = load i32, ptr %6682, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror(i32 noundef %6683, ptr noundef @.str.4)
  %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_debug(i32 noundef %6686, ptr noundef @.str.4)
  %6688 = call ptr @__errno_location() #12
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call ptr @strerror(i32 noundef %6689) #11
  %6691 = call ptr @__errno_location() #12
  %6692 = load i32, ptr %6691, align 4, !tbaa !5
  %6693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6680, ptr noundef @.str.2, i32 noundef %6681, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6684, ptr noundef %6687, ptr noundef %6690, i32 noundef %6692) #11
  br label %6711

6694:                                             ; preds = %6672, %6665
  %6695 = load i32, ptr %127, align 4, !tbaa !5
  %6696 = call ptr @__errno_location() #12
  store i32 %6695, ptr %6696, align 4, !tbaa !5
  %6697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6698 = load i32, ptr @test_count, align 4, !tbaa !5
  %6699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call ptr @s2n_strerror(i32 noundef %6700, ptr noundef @.str.4)
  %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_debug(i32 noundef %6703, ptr noundef @.str.4)
  %6705 = call ptr @__errno_location() #12
  %6706 = load i32, ptr %6705, align 4, !tbaa !5
  %6707 = call ptr @strerror(i32 noundef %6706) #11
  %6708 = call ptr @__errno_location() #12
  %6709 = load i32, ptr %6708, align 4, !tbaa !5
  %6710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6697, ptr noundef @.str.5, i32 noundef %6698, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6701, ptr noundef %6704, ptr noundef %6707, i32 noundef %6709) #11
  br label %6711

6711:                                             ; preds = %6694, %6677
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

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

6714:                                             ; No predecessors!
  br label %6715

6715:                                             ; preds = %6714
  br label %6716

6716:                                             ; preds = %6715, %6657
  br label %6717

6717:                                             ; preds = %6716
  br label %6718

6718:                                             ; preds = %6717
  br label %6719

6719:                                             ; preds = %6718
  %6720 = load i32, ptr @test_count, align 4, !tbaa !5
  %6721 = add nsw i32 %6720, 1
  store i32 %6721, ptr @test_count, align 4, !tbaa !5
  %6722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6723 = load i32, ptr %6722, align 4, !tbaa !5
  %6724 = icmp eq i32 %6723, 402653193
  br i1 %6724, label %6778, label %6725

6725:                                             ; preds = %6719
  br label %6726

6726:                                             ; preds = %6725
  br label %6727

6727:                                             ; preds = %6726
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6728 = call ptr @__errno_location() #12
  %6729 = load i32, ptr %6728, align 4, !tbaa !5
  store i32 %6729, ptr %128, align 4, !tbaa !5
  %6730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6731 = call i32 @s2n_print_stacktrace(ptr noundef %6730)
  %6732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6733 = trunc i8 %6732 to i1
  br i1 %6733, label %6734, label %6756

6734:                                             ; preds = %6727
  %6735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6736 = call i32 @fileno(ptr noundef %6735) #11
  %6737 = call i32 @isatty(i32 noundef %6736) #11
  %6738 = icmp ne i32 %6737, 0
  br i1 %6738, label %6739, label %6756

6739:                                             ; preds = %6734
  %6740 = load i32, ptr %128, align 4, !tbaa !5
  %6741 = call ptr @__errno_location() #12
  store i32 %6740, ptr %6741, align 4, !tbaa !5
  %6742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6743 = load i32, ptr @test_count, align 4, !tbaa !5
  %6744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6745 = load i32, ptr %6744, align 4, !tbaa !5
  %6746 = call ptr @s2n_strerror(i32 noundef %6745, ptr noundef @.str.4)
  %6747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6748 = load i32, ptr %6747, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror_debug(i32 noundef %6748, ptr noundef @.str.4)
  %6750 = call ptr @__errno_location() #12
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  %6752 = call ptr @strerror(i32 noundef %6751) #11
  %6753 = call ptr @__errno_location() #12
  %6754 = load i32, ptr %6753, align 4, !tbaa !5
  %6755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6742, ptr noundef @.str.2, i32 noundef %6743, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6746, ptr noundef %6749, ptr noundef %6752, i32 noundef %6754) #11
  br label %6773

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

6773:                                             ; preds = %6756, %6739
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

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

6776:                                             ; No predecessors!
  br label %6777

6777:                                             ; preds = %6776
  br label %6778

6778:                                             ; preds = %6777, %6719
  br label %6779

6779:                                             ; preds = %6778
  br label %6780

6780:                                             ; preds = %6779
  br label %6781

6781:                                             ; preds = %6780
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = add nsw i32 %6782, 1
  store i32 %6783, ptr @test_count, align 4, !tbaa !5
  %6784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6785 = load i32, ptr %6784, align 4, !tbaa !5
  %6786 = call ptr @s2n_strerror_debug(i32 noundef %6785, ptr noundef @.str.4)
  %6787 = icmp eq ptr %6786, null
  br i1 %6787, label %6788, label %6841

6788:                                             ; preds = %6781
  br label %6789

6789:                                             ; preds = %6788
  br label %6790

6790:                                             ; preds = %6789
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6791 = call ptr @__errno_location() #12
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  store i32 %6792, ptr %129, align 4, !tbaa !5
  %6793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6794 = call i32 @s2n_print_stacktrace(ptr noundef %6793)
  %6795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6796 = trunc i8 %6795 to i1
  br i1 %6796, label %6797, label %6819

6797:                                             ; preds = %6790
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = call i32 @fileno(ptr noundef %6798) #11
  %6800 = call i32 @isatty(i32 noundef %6799) #11
  %6801 = icmp ne i32 %6800, 0
  br i1 %6801, label %6802, label %6819

6802:                                             ; preds = %6797
  %6803 = load i32, ptr %129, align 4, !tbaa !5
  %6804 = call ptr @__errno_location() #12
  store i32 %6803, ptr %6804, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6808 = load i32, ptr %6807, align 4, !tbaa !5
  %6809 = call ptr @s2n_strerror(i32 noundef %6808, ptr noundef @.str.4)
  %6810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6811 = load i32, ptr %6810, align 4, !tbaa !5
  %6812 = call ptr @s2n_strerror_debug(i32 noundef %6811, ptr noundef @.str.4)
  %6813 = call ptr @__errno_location() #12
  %6814 = load i32, ptr %6813, align 4, !tbaa !5
  %6815 = call ptr @strerror(i32 noundef %6814) #11
  %6816 = call ptr @__errno_location() #12
  %6817 = load i32, ptr %6816, align 4, !tbaa !5
  %6818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6805, ptr noundef @.str.2, i32 noundef %6806, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6809, ptr noundef %6812, ptr noundef %6815, i32 noundef %6817) #11
  br label %6836

6819:                                             ; preds = %6797, %6790
  %6820 = load i32, ptr %129, align 4, !tbaa !5
  %6821 = call ptr @__errno_location() #12
  store i32 %6820, ptr %6821, align 4, !tbaa !5
  %6822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6823 = load i32, ptr @test_count, align 4, !tbaa !5
  %6824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6825 = load i32, ptr %6824, align 4, !tbaa !5
  %6826 = call ptr @s2n_strerror(i32 noundef %6825, ptr noundef @.str.4)
  %6827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call ptr @s2n_strerror_debug(i32 noundef %6828, ptr noundef @.str.4)
  %6830 = call ptr @__errno_location() #12
  %6831 = load i32, ptr %6830, align 4, !tbaa !5
  %6832 = call ptr @strerror(i32 noundef %6831) #11
  %6833 = call ptr @__errno_location() #12
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6822, ptr noundef @.str.5, i32 noundef %6823, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6826, ptr noundef %6829, ptr noundef %6832, i32 noundef %6834) #11
  br label %6836

6836:                                             ; preds = %6819, %6802
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6837

6837:                                             ; preds = %6836
  br label %6838

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

6839:                                             ; No predecessors!
  br label %6840

6840:                                             ; preds = %6839
  br label %6841

6841:                                             ; preds = %6840, %6781
  br label %6842

6842:                                             ; preds = %6841
  br label %6843

6843:                                             ; preds = %6842
  br label %6844

6844:                                             ; preds = %6843
  br label %6845

6845:                                             ; preds = %6844
  br label %6846

6846:                                             ; preds = %6845
  %6847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6847, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6848 = call ptr @__errno_location() #12
  store i32 0, ptr %6848, align 4, !tbaa !5
  br label %6849

6849:                                             ; preds = %6846
  br label %6850

6850:                                             ; preds = %6849
  br label %6851

6851:                                             ; preds = %6850
  br label %6852

6852:                                             ; preds = %6851
  %6853 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %122)
  %6854 = getelementptr inbounds %struct.s2n_result, ptr %130, i32 0, i32 0
  store i32 %6853, ptr %6854, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  store ptr null, ptr %131, align 8, !tbaa !9
  br label %6855

6855:                                             ; preds = %6852
  %6856 = load i32, ptr @test_count, align 4, !tbaa !5
  %6857 = add nsw i32 %6856, 1
  store i32 %6857, ptr @test_count, align 4, !tbaa !5
  %6858 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %131, ptr noundef @.str.11, ptr noundef @.str.12)
  %6859 = icmp eq i32 %6858, -1
  br i1 %6859, label %6860, label %6913

6860:                                             ; preds = %6855
  br label %6861

6861:                                             ; preds = %6860
  br label %6862

6862:                                             ; preds = %6861
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6863 = call ptr @__errno_location() #12
  %6864 = load i32, ptr %6863, align 4, !tbaa !5
  store i32 %6864, ptr %132, align 4, !tbaa !5
  %6865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6866 = call i32 @s2n_print_stacktrace(ptr noundef %6865)
  %6867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6868 = trunc i8 %6867 to i1
  br i1 %6868, label %6869, label %6891

6869:                                             ; preds = %6862
  %6870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6871 = call i32 @fileno(ptr noundef %6870) #11
  %6872 = call i32 @isatty(i32 noundef %6871) #11
  %6873 = icmp ne i32 %6872, 0
  br i1 %6873, label %6874, label %6891

6874:                                             ; preds = %6869
  %6875 = load i32, ptr %132, align 4, !tbaa !5
  %6876 = call ptr @__errno_location() #12
  store i32 %6875, ptr %6876, align 4, !tbaa !5
  %6877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6878 = load i32, ptr @test_count, align 4, !tbaa !5
  %6879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call ptr @s2n_strerror(i32 noundef %6880, ptr noundef @.str.4)
  %6882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6883 = load i32, ptr %6882, align 4, !tbaa !5
  %6884 = call ptr @s2n_strerror_debug(i32 noundef %6883, ptr noundef @.str.4)
  %6885 = call ptr @__errno_location() #12
  %6886 = load i32, ptr %6885, align 4, !tbaa !5
  %6887 = call ptr @strerror(i32 noundef %6886) #11
  %6888 = call ptr @__errno_location() #12
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6877, ptr noundef @.str.2, i32 noundef %6878, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 289, ptr noundef %6881, ptr noundef %6884, ptr noundef %6887, i32 noundef %6889) #11
  br label %6908

6891:                                             ; preds = %6869, %6862
  %6892 = load i32, ptr %132, align 4, !tbaa !5
  %6893 = call ptr @__errno_location() #12
  store i32 %6892, ptr %6893, align 4, !tbaa !5
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = load i32, ptr @test_count, align 4, !tbaa !5
  %6896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror(i32 noundef %6897, ptr noundef @.str.4)
  %6899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @s2n_strerror_debug(i32 noundef %6900, ptr noundef @.str.4)
  %6902 = call ptr @__errno_location() #12
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @strerror(i32 noundef %6903) #11
  %6905 = call ptr @__errno_location() #12
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6894, ptr noundef @.str.5, i32 noundef %6895, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 289, ptr noundef %6898, ptr noundef %6901, ptr noundef %6904, i32 noundef %6906) #11
  br label %6908

6908:                                             ; preds = %6891, %6874
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6909

6909:                                             ; preds = %6908
  br label %6910

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

6911:                                             ; No predecessors!
  br label %6912

6912:                                             ; preds = %6911
  br label %6913

6913:                                             ; preds = %6912, %6855
  br label %6914

6914:                                             ; preds = %6913
  br label %6915

6915:                                             ; preds = %6914
  br label %6916

6916:                                             ; preds = %6915
  br label %6917

6917:                                             ; preds = %6916
  br label %6918

6918:                                             ; preds = %6917
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = add nsw i32 %6919, 1
  store i32 %6920, ptr @test_count, align 4, !tbaa !5
  %6921 = load ptr, ptr %89, align 8, !tbaa !9
  %6922 = load ptr, ptr %131, align 8, !tbaa !9
  %6923 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %6921, ptr noundef %6922)
  %6924 = icmp eq i32 %6923, -1
  br i1 %6924, label %6978, label %6925

6925:                                             ; preds = %6918
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6928 = call ptr @__errno_location() #12
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  store i32 %6929, ptr %133, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = call i32 @s2n_print_stacktrace(ptr noundef %6930)
  %6932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6933 = trunc i8 %6932 to i1
  br i1 %6933, label %6934, label %6956

6934:                                             ; preds = %6927
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @fileno(ptr noundef %6935) #11
  %6937 = call i32 @isatty(i32 noundef %6936) #11
  %6938 = icmp ne i32 %6937, 0
  br i1 %6938, label %6939, label %6956

6939:                                             ; preds = %6934
  %6940 = load i32, ptr %133, align 4, !tbaa !5
  %6941 = call ptr @__errno_location() #12
  store i32 %6940, ptr %6941, align 4, !tbaa !5
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = load i32, ptr @test_count, align 4, !tbaa !5
  %6944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @s2n_strerror(i32 noundef %6945, ptr noundef @.str.4)
  %6947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror_debug(i32 noundef %6948, ptr noundef @.str.4)
  %6950 = call ptr @__errno_location() #12
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #11
  %6953 = call ptr @__errno_location() #12
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6942, ptr noundef @.str.2, i32 noundef %6943, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 291, ptr noundef %6946, ptr noundef %6949, ptr noundef %6952, i32 noundef %6954) #11
  br label %6973

6956:                                             ; preds = %6934, %6927
  %6957 = load i32, ptr %133, align 4, !tbaa !5
  %6958 = call ptr @__errno_location() #12
  store i32 %6957, ptr %6958, align 4, !tbaa !5
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = load i32, ptr @test_count, align 4, !tbaa !5
  %6961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror(i32 noundef %6962, ptr noundef @.str.4)
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror_debug(i32 noundef %6965, ptr noundef @.str.4)
  %6967 = call ptr @__errno_location() #12
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @strerror(i32 noundef %6968) #11
  %6970 = call ptr @__errno_location() #12
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6959, ptr noundef @.str.5, i32 noundef %6960, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 291, ptr noundef %6963, ptr noundef %6966, ptr noundef %6969, i32 noundef %6971) #11
  br label %6973

6973:                                             ; preds = %6956, %6939
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6974

6974:                                             ; preds = %6973
  br label %6975

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

6976:                                             ; No predecessors!
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

6978:                                             ; preds = %6977, %6918
  br label %6979

6979:                                             ; preds = %6978
  br label %6980

6980:                                             ; preds = %6979
  br label %6981

6981:                                             ; preds = %6980
  %6982 = load i32, ptr @test_count, align 4, !tbaa !5
  %6983 = add nsw i32 %6982, 1
  store i32 %6983, ptr @test_count, align 4, !tbaa !5
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = icmp eq i32 %6985, 469762089
  br i1 %6986, label %7040, label %6987

6987:                                             ; preds = %6981
  br label %6988

6988:                                             ; preds = %6987
  br label %6989

6989:                                             ; preds = %6988
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  store i32 %6991, ptr %134, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = call i32 @s2n_print_stacktrace(ptr noundef %6992)
  %6994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6995 = trunc i8 %6994 to i1
  br i1 %6995, label %6996, label %7018

6996:                                             ; preds = %6989
  %6997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6998 = call i32 @fileno(ptr noundef %6997) #11
  %6999 = call i32 @isatty(i32 noundef %6998) #11
  %7000 = icmp ne i32 %6999, 0
  br i1 %7000, label %7001, label %7018

7001:                                             ; preds = %6996
  %7002 = load i32, ptr %134, align 4, !tbaa !5
  %7003 = call ptr @__errno_location() #12
  store i32 %7002, ptr %7003, align 4, !tbaa !5
  %7004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7005 = load i32, ptr @test_count, align 4, !tbaa !5
  %7006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7007 = load i32, ptr %7006, align 4, !tbaa !5
  %7008 = call ptr @s2n_strerror(i32 noundef %7007, ptr noundef @.str.4)
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7010 = load i32, ptr %7009, align 4, !tbaa !5
  %7011 = call ptr @s2n_strerror_debug(i32 noundef %7010, ptr noundef @.str.4)
  %7012 = call ptr @__errno_location() #12
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @strerror(i32 noundef %7013) #11
  %7015 = call ptr @__errno_location() #12
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7004, ptr noundef @.str.2, i32 noundef %7005, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7008, ptr noundef %7011, ptr noundef %7014, i32 noundef %7016) #11
  br label %7035

7018:                                             ; preds = %6996, %6989
  %7019 = load i32, ptr %134, align 4, !tbaa !5
  %7020 = call ptr @__errno_location() #12
  store i32 %7019, ptr %7020, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  %7025 = call ptr @s2n_strerror(i32 noundef %7024, ptr noundef @.str.4)
  %7026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @s2n_strerror_debug(i32 noundef %7027, ptr noundef @.str.4)
  %7029 = call ptr @__errno_location() #12
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @strerror(i32 noundef %7030) #11
  %7032 = call ptr @__errno_location() #12
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7021, ptr noundef @.str.5, i32 noundef %7022, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7025, ptr noundef %7028, ptr noundef %7031, i32 noundef %7033) #11
  br label %7035

7035:                                             ; preds = %7018, %7001
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %7036

7036:                                             ; preds = %7035
  br label %7037

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

7038:                                             ; No predecessors!
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

7040:                                             ; preds = %7039, %6981
  br label %7041

7041:                                             ; preds = %7040
  br label %7042

7042:                                             ; preds = %7041
  br label %7043

7043:                                             ; preds = %7042
  %7044 = load i32, ptr @test_count, align 4, !tbaa !5
  %7045 = add nsw i32 %7044, 1
  store i32 %7045, ptr @test_count, align 4, !tbaa !5
  %7046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror_debug(i32 noundef %7047, ptr noundef @.str.4)
  %7049 = icmp eq ptr %7048, null
  br i1 %7049, label %7050, label %7103

7050:                                             ; preds = %7043
  br label %7051

7051:                                             ; preds = %7050
  br label %7052

7052:                                             ; preds = %7051
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %7053 = call ptr @__errno_location() #12
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  store i32 %7054, ptr %135, align 4, !tbaa !5
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = call i32 @s2n_print_stacktrace(ptr noundef %7055)
  %7057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7058 = trunc i8 %7057 to i1
  br i1 %7058, label %7059, label %7081

7059:                                             ; preds = %7052
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = call i32 @fileno(ptr noundef %7060) #11
  %7062 = call i32 @isatty(i32 noundef %7061) #11
  %7063 = icmp ne i32 %7062, 0
  br i1 %7063, label %7064, label %7081

7064:                                             ; preds = %7059
  %7065 = load i32, ptr %135, align 4, !tbaa !5
  %7066 = call ptr @__errno_location() #12
  store i32 %7065, ptr %7066, align 4, !tbaa !5
  %7067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7068 = load i32, ptr @test_count, align 4, !tbaa !5
  %7069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7070 = load i32, ptr %7069, align 4, !tbaa !5
  %7071 = call ptr @s2n_strerror(i32 noundef %7070, ptr noundef @.str.4)
  %7072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7073 = load i32, ptr %7072, align 4, !tbaa !5
  %7074 = call ptr @s2n_strerror_debug(i32 noundef %7073, ptr noundef @.str.4)
  %7075 = call ptr @__errno_location() #12
  %7076 = load i32, ptr %7075, align 4, !tbaa !5
  %7077 = call ptr @strerror(i32 noundef %7076) #11
  %7078 = call ptr @__errno_location() #12
  %7079 = load i32, ptr %7078, align 4, !tbaa !5
  %7080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7067, ptr noundef @.str.2, i32 noundef %7068, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7071, ptr noundef %7074, ptr noundef %7077, i32 noundef %7079) #11
  br label %7098

7081:                                             ; preds = %7059, %7052
  %7082 = load i32, ptr %135, align 4, !tbaa !5
  %7083 = call ptr @__errno_location() #12
  store i32 %7082, ptr %7083, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = load i32, ptr @test_count, align 4, !tbaa !5
  %7086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7087 = load i32, ptr %7086, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror(i32 noundef %7087, ptr noundef @.str.4)
  %7089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7090 = load i32, ptr %7089, align 4, !tbaa !5
  %7091 = call ptr @s2n_strerror_debug(i32 noundef %7090, ptr noundef @.str.4)
  %7092 = call ptr @__errno_location() #12
  %7093 = load i32, ptr %7092, align 4, !tbaa !5
  %7094 = call ptr @strerror(i32 noundef %7093) #11
  %7095 = call ptr @__errno_location() #12
  %7096 = load i32, ptr %7095, align 4, !tbaa !5
  %7097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7084, ptr noundef @.str.5, i32 noundef %7085, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7088, ptr noundef %7091, ptr noundef %7094, i32 noundef %7096) #11
  br label %7098

7098:                                             ; preds = %7081, %7064
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %7099

7099:                                             ; preds = %7098
  br label %7100

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

7101:                                             ; No predecessors!
  br label %7102

7102:                                             ; preds = %7101
  br label %7103

7103:                                             ; preds = %7102, %7043
  br label %7104

7104:                                             ; preds = %7103
  br label %7105

7105:                                             ; preds = %7104
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106
  br label %7108

7108:                                             ; preds = %7107
  %7109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7109, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7110 = call ptr @__errno_location() #12
  store i32 0, ptr %7110, align 4, !tbaa !5
  br label %7111

7111:                                             ; preds = %7108
  br label %7112

7112:                                             ; preds = %7111
  br label %7113

7113:                                             ; preds = %7112
  br label %7114

7114:                                             ; preds = %7113
  br label %7115

7115:                                             ; preds = %7114
  %7116 = load i32, ptr @test_count, align 4, !tbaa !5
  %7117 = add nsw i32 %7116, 1
  store i32 %7117, ptr @test_count, align 4, !tbaa !5
  %7118 = load ptr, ptr %131, align 8, !tbaa !9
  %7119 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %7118, i32 0, i32 0
  %7120 = load ptr, ptr %7119, align 8, !tbaa !15
  %7121 = icmp eq ptr %7120, null
  br i1 %7121, label %7122, label %7175

7122:                                             ; preds = %7115
  br label %7123

7123:                                             ; preds = %7122
  br label %7124

7124:                                             ; preds = %7123
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %7125 = call ptr @__errno_location() #12
  %7126 = load i32, ptr %7125, align 4, !tbaa !5
  store i32 %7126, ptr %136, align 4, !tbaa !5
  %7127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7128 = call i32 @s2n_print_stacktrace(ptr noundef %7127)
  %7129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7130 = trunc i8 %7129 to i1
  br i1 %7130, label %7131, label %7153

7131:                                             ; preds = %7124
  %7132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7133 = call i32 @fileno(ptr noundef %7132) #11
  %7134 = call i32 @isatty(i32 noundef %7133) #11
  %7135 = icmp ne i32 %7134, 0
  br i1 %7135, label %7136, label %7153

7136:                                             ; preds = %7131
  %7137 = load i32, ptr %136, align 4, !tbaa !5
  %7138 = call ptr @__errno_location() #12
  store i32 %7137, ptr %7138, align 4, !tbaa !5
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = load i32, ptr @test_count, align 4, !tbaa !5
  %7141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7142 = load i32, ptr %7141, align 4, !tbaa !5
  %7143 = call ptr @s2n_strerror(i32 noundef %7142, ptr noundef @.str.4)
  %7144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror_debug(i32 noundef %7145, ptr noundef @.str.4)
  %7147 = call ptr @__errno_location() #12
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @strerror(i32 noundef %7148) #11
  %7150 = call ptr @__errno_location() #12
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7139, ptr noundef @.str.2, i32 noundef %7140, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7143, ptr noundef %7146, ptr noundef %7149, i32 noundef %7151) #11
  br label %7170

7153:                                             ; preds = %7131, %7124
  %7154 = load i32, ptr %136, align 4, !tbaa !5
  %7155 = call ptr @__errno_location() #12
  store i32 %7154, ptr %7155, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = load i32, ptr @test_count, align 4, !tbaa !5
  %7158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror(i32 noundef %7159, ptr noundef @.str.4)
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror_debug(i32 noundef %7162, ptr noundef @.str.4)
  %7164 = call ptr @__errno_location() #12
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #11
  %7167 = call ptr @__errno_location() #12
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7156, ptr noundef @.str.5, i32 noundef %7157, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7160, ptr noundef %7163, ptr noundef %7166, i32 noundef %7168) #11
  br label %7170

7170:                                             ; preds = %7153, %7136
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %7171

7171:                                             ; preds = %7170
  br label %7172

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

7173:                                             ; No predecessors!
  br label %7174

7174:                                             ; preds = %7173
  br label %7175

7175:                                             ; preds = %7174, %7115
  br label %7176

7176:                                             ; preds = %7175
  br label %7177

7177:                                             ; preds = %7176
  br label %7178

7178:                                             ; preds = %7177
  %7179 = load i32, ptr @test_count, align 4, !tbaa !5
  %7180 = add nsw i32 %7179, 1
  store i32 %7180, ptr @test_count, align 4, !tbaa !5
  %7181 = load ptr, ptr %131, align 8, !tbaa !9
  %7182 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %7181, i32 0, i32 0
  %7183 = load ptr, ptr %7182, align 8, !tbaa !15
  %7184 = getelementptr inbounds %struct.s2n_cert_chain, ptr %7183, i32 0, i32 1
  %7185 = load ptr, ptr %7184, align 8, !tbaa !23
  %7186 = icmp eq ptr %7185, null
  br i1 %7186, label %7187, label %7240

7187:                                             ; preds = %7178
  br label %7188

7188:                                             ; preds = %7187
  br label %7189

7189:                                             ; preds = %7188
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %7190 = call ptr @__errno_location() #12
  %7191 = load i32, ptr %7190, align 4, !tbaa !5
  store i32 %7191, ptr %137, align 4, !tbaa !5
  %7192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7193 = call i32 @s2n_print_stacktrace(ptr noundef %7192)
  %7194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7195 = trunc i8 %7194 to i1
  br i1 %7195, label %7196, label %7218

7196:                                             ; preds = %7189
  %7197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7198 = call i32 @fileno(ptr noundef %7197) #11
  %7199 = call i32 @isatty(i32 noundef %7198) #11
  %7200 = icmp ne i32 %7199, 0
  br i1 %7200, label %7201, label %7218

7201:                                             ; preds = %7196
  %7202 = load i32, ptr %137, align 4, !tbaa !5
  %7203 = call ptr @__errno_location() #12
  store i32 %7202, ptr %7203, align 4, !tbaa !5
  %7204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7205 = load i32, ptr @test_count, align 4, !tbaa !5
  %7206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror(i32 noundef %7207, ptr noundef @.str.4)
  %7209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  %7211 = call ptr @s2n_strerror_debug(i32 noundef %7210, ptr noundef @.str.4)
  %7212 = call ptr @__errno_location() #12
  %7213 = load i32, ptr %7212, align 4, !tbaa !5
  %7214 = call ptr @strerror(i32 noundef %7213) #11
  %7215 = call ptr @__errno_location() #12
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7204, ptr noundef @.str.2, i32 noundef %7205, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7208, ptr noundef %7211, ptr noundef %7214, i32 noundef %7216) #11
  br label %7235

7218:                                             ; preds = %7196, %7189
  %7219 = load i32, ptr %137, align 4, !tbaa !5
  %7220 = call ptr @__errno_location() #12
  store i32 %7219, ptr %7220, align 4, !tbaa !5
  %7221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7222 = load i32, ptr @test_count, align 4, !tbaa !5
  %7223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef @.str.4)
  %7226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call ptr @s2n_strerror_debug(i32 noundef %7227, ptr noundef @.str.4)
  %7229 = call ptr @__errno_location() #12
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call ptr @strerror(i32 noundef %7230) #11
  %7232 = call ptr @__errno_location() #12
  %7233 = load i32, ptr %7232, align 4, !tbaa !5
  %7234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7221, ptr noundef @.str.5, i32 noundef %7222, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7225, ptr noundef %7228, ptr noundef %7231, i32 noundef %7233) #11
  br label %7235

7235:                                             ; preds = %7218, %7201
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %7236

7236:                                             ; preds = %7235
  br label %7237

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

7238:                                             ; No predecessors!
  br label %7239

7239:                                             ; preds = %7238
  br label %7240

7240:                                             ; preds = %7239, %7178
  br label %7241

7241:                                             ; preds = %7240
  br label %7242

7242:                                             ; preds = %7241
  br label %7243

7243:                                             ; preds = %7242
  %7244 = load i32, ptr @test_count, align 4, !tbaa !5
  %7245 = add nsw i32 %7244, 1
  store i32 %7245, ptr @test_count, align 4, !tbaa !5
  %7246 = load ptr, ptr %131, align 8, !tbaa !9
  %7247 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %7246, i32 0, i32 0
  %7248 = load ptr, ptr %7247, align 8, !tbaa !15
  %7249 = getelementptr inbounds %struct.s2n_cert_chain, ptr %7248, i32 0, i32 1
  %7250 = load ptr, ptr %7249, align 8, !tbaa !23
  %7251 = getelementptr inbounds %struct.s2n_cert, ptr %7250, i32 0, i32 0
  %7252 = load i32, ptr %7251, align 8, !tbaa !62
  %7253 = icmp eq i32 %7252, 1
  br i1 %7253, label %7307, label %7254

7254:                                             ; preds = %7243
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

7256:                                             ; preds = %7255
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %7257 = call ptr @__errno_location() #12
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  store i32 %7258, ptr %138, align 4, !tbaa !5
  %7259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7260 = call i32 @s2n_print_stacktrace(ptr noundef %7259)
  %7261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7262 = trunc i8 %7261 to i1
  br i1 %7262, label %7263, label %7285

7263:                                             ; preds = %7256
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = call i32 @fileno(ptr noundef %7264) #11
  %7266 = call i32 @isatty(i32 noundef %7265) #11
  %7267 = icmp ne i32 %7266, 0
  br i1 %7267, label %7268, label %7285

7268:                                             ; preds = %7263
  %7269 = load i32, ptr %138, align 4, !tbaa !5
  %7270 = call ptr @__errno_location() #12
  store i32 %7269, ptr %7270, align 4, !tbaa !5
  %7271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7272 = load i32, ptr @test_count, align 4, !tbaa !5
  %7273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7274 = load i32, ptr %7273, align 4, !tbaa !5
  %7275 = call ptr @s2n_strerror(i32 noundef %7274, ptr noundef @.str.4)
  %7276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7277 = load i32, ptr %7276, align 4, !tbaa !5
  %7278 = call ptr @s2n_strerror_debug(i32 noundef %7277, ptr noundef @.str.4)
  %7279 = call ptr @__errno_location() #12
  %7280 = load i32, ptr %7279, align 4, !tbaa !5
  %7281 = call ptr @strerror(i32 noundef %7280) #11
  %7282 = call ptr @__errno_location() #12
  %7283 = load i32, ptr %7282, align 4, !tbaa !5
  %7284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7271, ptr noundef @.str.2, i32 noundef %7272, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7275, ptr noundef %7278, ptr noundef %7281, i32 noundef %7283) #11
  br label %7302

7285:                                             ; preds = %7263, %7256
  %7286 = load i32, ptr %138, align 4, !tbaa !5
  %7287 = call ptr @__errno_location() #12
  store i32 %7286, ptr %7287, align 4, !tbaa !5
  %7288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7289 = load i32, ptr @test_count, align 4, !tbaa !5
  %7290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @s2n_strerror(i32 noundef %7291, ptr noundef @.str.4)
  %7293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call ptr @s2n_strerror_debug(i32 noundef %7294, ptr noundef @.str.4)
  %7296 = call ptr @__errno_location() #12
  %7297 = load i32, ptr %7296, align 4, !tbaa !5
  %7298 = call ptr @strerror(i32 noundef %7297) #11
  %7299 = call ptr @__errno_location() #12
  %7300 = load i32, ptr %7299, align 4, !tbaa !5
  %7301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7288, ptr noundef @.str.5, i32 noundef %7289, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7292, ptr noundef %7295, ptr noundef %7298, i32 noundef %7300) #11
  br label %7302

7302:                                             ; preds = %7285, %7268
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %7303

7303:                                             ; preds = %7302
  br label %7304

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

7305:                                             ; No predecessors!
  br label %7306

7306:                                             ; preds = %7305
  br label %7307

7307:                                             ; preds = %7306, %7243
  br label %7308

7308:                                             ; preds = %7307
  br label %7309

7309:                                             ; preds = %7308
  %7310 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %131)
  %7311 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  store i32 %7310, ptr %7311, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #11
  %7312 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %7312, ptr %140, align 8, !tbaa !9
  br label %7313

7313:                                             ; preds = %7309
  %7314 = load i32, ptr @test_count, align 4, !tbaa !5
  %7315 = add nsw i32 %7314, 1
  store i32 %7315, ptr @test_count, align 4, !tbaa !5
  %7316 = load ptr, ptr %140, align 8, !tbaa !9
  %7317 = icmp eq ptr %7316, null
  br i1 %7317, label %7318, label %7371

7318:                                             ; preds = %7313
  br label %7319

7319:                                             ; preds = %7318
  br label %7320

7320:                                             ; preds = %7319
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %7321 = call ptr @__errno_location() #12
  %7322 = load i32, ptr %7321, align 4, !tbaa !5
  store i32 %7322, ptr %141, align 4, !tbaa !5
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = call i32 @s2n_print_stacktrace(ptr noundef %7323)
  %7325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7326 = trunc i8 %7325 to i1
  br i1 %7326, label %7327, label %7349

7327:                                             ; preds = %7320
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = call i32 @fileno(ptr noundef %7328) #11
  %7330 = call i32 @isatty(i32 noundef %7329) #11
  %7331 = icmp ne i32 %7330, 0
  br i1 %7331, label %7332, label %7349

7332:                                             ; preds = %7327
  %7333 = load i32, ptr %141, align 4, !tbaa !5
  %7334 = call ptr @__errno_location() #12
  store i32 %7333, ptr %7334, align 4, !tbaa !5
  %7335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7336 = load i32, ptr @test_count, align 4, !tbaa !5
  %7337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7338 = load i32, ptr %7337, align 4, !tbaa !5
  %7339 = call ptr @s2n_strerror(i32 noundef %7338, ptr noundef @.str.4)
  %7340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7341 = load i32, ptr %7340, align 4, !tbaa !5
  %7342 = call ptr @s2n_strerror_debug(i32 noundef %7341, ptr noundef @.str.4)
  %7343 = call ptr @__errno_location() #12
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call ptr @strerror(i32 noundef %7344) #11
  %7346 = call ptr @__errno_location() #12
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  %7348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7335, ptr noundef @.str.2, i32 noundef %7336, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7339, ptr noundef %7342, ptr noundef %7345, i32 noundef %7347) #11
  br label %7366

7349:                                             ; preds = %7327, %7320
  %7350 = load i32, ptr %141, align 4, !tbaa !5
  %7351 = call ptr @__errno_location() #12
  store i32 %7350, ptr %7351, align 4, !tbaa !5
  %7352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7353 = load i32, ptr @test_count, align 4, !tbaa !5
  %7354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call ptr @s2n_strerror(i32 noundef %7355, ptr noundef @.str.4)
  %7357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  %7359 = call ptr @s2n_strerror_debug(i32 noundef %7358, ptr noundef @.str.4)
  %7360 = call ptr @__errno_location() #12
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call ptr @strerror(i32 noundef %7361) #11
  %7363 = call ptr @__errno_location() #12
  %7364 = load i32, ptr %7363, align 4, !tbaa !5
  %7365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7352, ptr noundef @.str.5, i32 noundef %7353, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7356, ptr noundef %7359, ptr noundef %7362, i32 noundef %7364) #11
  br label %7366

7366:                                             ; preds = %7349, %7332
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

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

7369:                                             ; No predecessors!
  br label %7370

7370:                                             ; preds = %7369
  br label %7371

7371:                                             ; preds = %7370, %7313
  br label %7372

7372:                                             ; preds = %7371
  br label %7373

7373:                                             ; preds = %7372
  br label %7374

7374:                                             ; preds = %7373
  br label %7375

7375:                                             ; preds = %7374
  br label %7376

7376:                                             ; preds = %7375
  %7377 = load i32, ptr @test_count, align 4, !tbaa !5
  %7378 = add nsw i32 %7377, 1
  store i32 %7378, ptr @test_count, align 4, !tbaa !5
  %7379 = load ptr, ptr %88, align 8, !tbaa !9
  %7380 = load ptr, ptr %140, align 8, !tbaa !9
  %7381 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %7379, ptr noundef %7380)
  %7382 = icmp eq i32 %7381, -1
  br i1 %7382, label %7436, label %7383

7383:                                             ; preds = %7376
  br label %7384

7384:                                             ; preds = %7383
  br label %7385

7385:                                             ; preds = %7384
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7386 = call ptr @__errno_location() #12
  %7387 = load i32, ptr %7386, align 4, !tbaa !5
  store i32 %7387, ptr %142, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = call i32 @s2n_print_stacktrace(ptr noundef %7388)
  %7390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7391 = trunc i8 %7390 to i1
  br i1 %7391, label %7392, label %7414

7392:                                             ; preds = %7385
  %7393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7394 = call i32 @fileno(ptr noundef %7393) #11
  %7395 = call i32 @isatty(i32 noundef %7394) #11
  %7396 = icmp ne i32 %7395, 0
  br i1 %7396, label %7397, label %7414

7397:                                             ; preds = %7392
  %7398 = load i32, ptr %142, align 4, !tbaa !5
  %7399 = call ptr @__errno_location() #12
  store i32 %7398, ptr %7399, align 4, !tbaa !5
  %7400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7401 = load i32, ptr @test_count, align 4, !tbaa !5
  %7402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror(i32 noundef %7403, ptr noundef @.str.4)
  %7405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror_debug(i32 noundef %7406, ptr noundef @.str.4)
  %7408 = call ptr @__errno_location() #12
  %7409 = load i32, ptr %7408, align 4, !tbaa !5
  %7410 = call ptr @strerror(i32 noundef %7409) #11
  %7411 = call ptr @__errno_location() #12
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7400, ptr noundef @.str.2, i32 noundef %7401, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7404, ptr noundef %7407, ptr noundef %7410, i32 noundef %7412) #11
  br label %7431

7414:                                             ; preds = %7392, %7385
  %7415 = load i32, ptr %142, align 4, !tbaa !5
  %7416 = call ptr @__errno_location() #12
  store i32 %7415, ptr %7416, align 4, !tbaa !5
  %7417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7418 = load i32, ptr @test_count, align 4, !tbaa !5
  %7419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @s2n_strerror(i32 noundef %7420, ptr noundef @.str.4)
  %7422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call ptr @s2n_strerror_debug(i32 noundef %7423, ptr noundef @.str.4)
  %7425 = call ptr @__errno_location() #12
  %7426 = load i32, ptr %7425, align 4, !tbaa !5
  %7427 = call ptr @strerror(i32 noundef %7426) #11
  %7428 = call ptr @__errno_location() #12
  %7429 = load i32, ptr %7428, align 4, !tbaa !5
  %7430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7417, ptr noundef @.str.5, i32 noundef %7418, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7421, ptr noundef %7424, ptr noundef %7427, i32 noundef %7429) #11
  br label %7431

7431:                                             ; preds = %7414, %7397
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7432

7432:                                             ; preds = %7431
  br label %7433

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

7434:                                             ; No predecessors!
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435, %7376
  br label %7437

7437:                                             ; preds = %7436
  br label %7438

7438:                                             ; preds = %7437
  br label %7439

7439:                                             ; preds = %7438
  %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 align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  %7444 = icmp eq i32 %7443, 469762115
  br i1 %7444, label %7498, label %7445

7445:                                             ; preds = %7439
  br label %7446

7446:                                             ; preds = %7445
  br label %7447

7447:                                             ; preds = %7446
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7448 = call ptr @__errno_location() #12
  %7449 = load i32, ptr %7448, align 4, !tbaa !5
  store i32 %7449, ptr %143, align 4, !tbaa !5
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @s2n_print_stacktrace(ptr noundef %7450)
  %7452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7453 = trunc i8 %7452 to i1
  br i1 %7453, label %7454, label %7476

7454:                                             ; preds = %7447
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = call i32 @fileno(ptr noundef %7455) #11
  %7457 = call i32 @isatty(i32 noundef %7456) #11
  %7458 = icmp ne i32 %7457, 0
  br i1 %7458, label %7459, label %7476

7459:                                             ; preds = %7454
  %7460 = load i32, ptr %143, align 4, !tbaa !5
  %7461 = call ptr @__errno_location() #12
  store i32 %7460, ptr %7461, align 4, !tbaa !5
  %7462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7463 = load i32, ptr @test_count, align 4, !tbaa !5
  %7464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7465 = load i32, ptr %7464, align 4, !tbaa !5
  %7466 = call ptr @s2n_strerror(i32 noundef %7465, ptr noundef @.str.4)
  %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_debug(i32 noundef %7468, ptr noundef @.str.4)
  %7470 = call ptr @__errno_location() #12
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @strerror(i32 noundef %7471) #11
  %7473 = call ptr @__errno_location() #12
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7462, ptr noundef @.str.2, i32 noundef %7463, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7466, ptr noundef %7469, ptr noundef %7472, i32 noundef %7474) #11
  br label %7493

7476:                                             ; preds = %7454, %7447
  %7477 = load i32, ptr %143, align 4, !tbaa !5
  %7478 = call ptr @__errno_location() #12
  store i32 %7477, ptr %7478, align 4, !tbaa !5
  %7479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7480 = load i32, ptr @test_count, align 4, !tbaa !5
  %7481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7482 = load i32, ptr %7481, align 4, !tbaa !5
  %7483 = call ptr @s2n_strerror(i32 noundef %7482, ptr noundef @.str.4)
  %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_debug(i32 noundef %7485, ptr noundef @.str.4)
  %7487 = call ptr @__errno_location() #12
  %7488 = load i32, ptr %7487, align 4, !tbaa !5
  %7489 = call ptr @strerror(i32 noundef %7488) #11
  %7490 = call ptr @__errno_location() #12
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7479, ptr noundef @.str.5, i32 noundef %7480, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7483, ptr noundef %7486, ptr noundef %7489, i32 noundef %7491) #11
  br label %7493

7493:                                             ; preds = %7476, %7459
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7494

7494:                                             ; preds = %7493
  br label %7495

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

7496:                                             ; No predecessors!
  br label %7497

7497:                                             ; preds = %7496
  br label %7498

7498:                                             ; preds = %7497, %7439
  br label %7499

7499:                                             ; preds = %7498
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500
  %7502 = load i32, ptr @test_count, align 4, !tbaa !5
  %7503 = add nsw i32 %7502, 1
  store i32 %7503, ptr @test_count, align 4, !tbaa !5
  %7504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7505 = load i32, ptr %7504, align 4, !tbaa !5
  %7506 = call ptr @s2n_strerror_debug(i32 noundef %7505, ptr noundef @.str.4)
  %7507 = icmp eq ptr %7506, null
  br i1 %7507, label %7508, label %7561

7508:                                             ; preds = %7501
  br label %7509

7509:                                             ; preds = %7508
  br label %7510

7510:                                             ; preds = %7509
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7511 = call ptr @__errno_location() #12
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  store i32 %7512, ptr %144, align 4, !tbaa !5
  %7513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7514 = call i32 @s2n_print_stacktrace(ptr noundef %7513)
  %7515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7516 = trunc i8 %7515 to i1
  br i1 %7516, label %7517, label %7539

7517:                                             ; preds = %7510
  %7518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7519 = call i32 @fileno(ptr noundef %7518) #11
  %7520 = call i32 @isatty(i32 noundef %7519) #11
  %7521 = icmp ne i32 %7520, 0
  br i1 %7521, label %7522, label %7539

7522:                                             ; preds = %7517
  %7523 = load i32, ptr %144, align 4, !tbaa !5
  %7524 = call ptr @__errno_location() #12
  store i32 %7523, ptr %7524, align 4, !tbaa !5
  %7525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7526 = load i32, ptr @test_count, align 4, !tbaa !5
  %7527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror(i32 noundef %7528, ptr noundef @.str.4)
  %7530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7531 = load i32, ptr %7530, align 4, !tbaa !5
  %7532 = call ptr @s2n_strerror_debug(i32 noundef %7531, ptr noundef @.str.4)
  %7533 = call ptr @__errno_location() #12
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @strerror(i32 noundef %7534) #11
  %7536 = call ptr @__errno_location() #12
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7525, ptr noundef @.str.2, i32 noundef %7526, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7529, ptr noundef %7532, ptr noundef %7535, i32 noundef %7537) #11
  br label %7556

7539:                                             ; preds = %7517, %7510
  %7540 = load i32, ptr %144, align 4, !tbaa !5
  %7541 = call ptr @__errno_location() #12
  store i32 %7540, ptr %7541, align 4, !tbaa !5
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  %7546 = call ptr @s2n_strerror(i32 noundef %7545, ptr noundef @.str.4)
  %7547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef @.str.4)
  %7550 = call ptr @__errno_location() #12
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @strerror(i32 noundef %7551) #11
  %7553 = call ptr @__errno_location() #12
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7542, ptr noundef @.str.5, i32 noundef %7543, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 305, ptr noundef %7546, ptr noundef %7549, ptr noundef %7552, i32 noundef %7554) #11
  br label %7556

7556:                                             ; preds = %7539, %7522
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

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

7559:                                             ; No predecessors!
  br label %7560

7560:                                             ; preds = %7559
  br label %7561

7561:                                             ; preds = %7560, %7501
  br label %7562

7562:                                             ; preds = %7561
  br label %7563

7563:                                             ; preds = %7562
  br label %7564

7564:                                             ; preds = %7563
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565
  %7567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7567, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7568 = call ptr @__errno_location() #12
  store i32 0, ptr %7568, align 4, !tbaa !5
  br label %7569

7569:                                             ; preds = %7566
  br label %7570

7570:                                             ; preds = %7569
  br label %7571

7571:                                             ; preds = %7570
  br label %7572

7572:                                             ; preds = %7571
  %7573 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %140)
  %7574 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %7573, ptr %7574, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #11
  br label %7575

7575:                                             ; preds = %7572
  %7576 = load i32, ptr @test_count, align 4, !tbaa !5
  %7577 = add nsw i32 %7576, 1
  store i32 %7577, ptr @test_count, align 4, !tbaa !5
  %7578 = load ptr, ptr %89, align 8, !tbaa !9
  %7579 = load ptr, ptr %88, align 8, !tbaa !9
  %7580 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %7578, ptr noundef %7579)
  %7581 = icmp eq i32 %7580, -1
  br i1 %7581, label %7582, label %7635

7582:                                             ; preds = %7575
  br label %7583

7583:                                             ; preds = %7582
  br label %7584

7584:                                             ; preds = %7583
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7585 = call ptr @__errno_location() #12
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  store i32 %7586, ptr %146, align 4, !tbaa !5
  %7587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7588 = call i32 @s2n_print_stacktrace(ptr noundef %7587)
  %7589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7590 = trunc i8 %7589 to i1
  br i1 %7590, label %7591, label %7613

7591:                                             ; preds = %7584
  %7592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7593 = call i32 @fileno(ptr noundef %7592) #11
  %7594 = call i32 @isatty(i32 noundef %7593) #11
  %7595 = icmp ne i32 %7594, 0
  br i1 %7595, label %7596, label %7613

7596:                                             ; preds = %7591
  %7597 = load i32, ptr %146, align 4, !tbaa !5
  %7598 = call ptr @__errno_location() #12
  store i32 %7597, ptr %7598, align 4, !tbaa !5
  %7599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7600 = load i32, ptr @test_count, align 4, !tbaa !5
  %7601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  %7603 = call ptr @s2n_strerror(i32 noundef %7602, ptr noundef @.str.4)
  %7604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7605 = load i32, ptr %7604, align 4, !tbaa !5
  %7606 = call ptr @s2n_strerror_debug(i32 noundef %7605, ptr noundef @.str.4)
  %7607 = call ptr @__errno_location() #12
  %7608 = load i32, ptr %7607, align 4, !tbaa !5
  %7609 = call ptr @strerror(i32 noundef %7608) #11
  %7610 = call ptr @__errno_location() #12
  %7611 = load i32, ptr %7610, align 4, !tbaa !5
  %7612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7599, ptr noundef @.str.2, i32 noundef %7600, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 308, ptr noundef %7603, ptr noundef %7606, ptr noundef %7609, i32 noundef %7611) #11
  br label %7630

7613:                                             ; preds = %7591, %7584
  %7614 = load i32, ptr %146, align 4, !tbaa !5
  %7615 = call ptr @__errno_location() #12
  store i32 %7614, ptr %7615, align 4, !tbaa !5
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7619 = load i32, ptr %7618, align 4, !tbaa !5
  %7620 = call ptr @s2n_strerror(i32 noundef %7619, ptr noundef @.str.4)
  %7621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call ptr @s2n_strerror_debug(i32 noundef %7622, ptr noundef @.str.4)
  %7624 = call ptr @__errno_location() #12
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call ptr @strerror(i32 noundef %7625) #11
  %7627 = call ptr @__errno_location() #12
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7616, ptr noundef @.str.5, i32 noundef %7617, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 308, ptr noundef %7620, ptr noundef %7623, ptr noundef %7626, i32 noundef %7628) #11
  br label %7630

7630:                                             ; preds = %7613, %7596
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7631

7631:                                             ; preds = %7630
  br label %7632

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

7633:                                             ; No predecessors!
  br label %7634

7634:                                             ; preds = %7633
  br label %7635

7635:                                             ; preds = %7634, %7575
  br label %7636

7636:                                             ; preds = %7635
  br label %7637

7637:                                             ; preds = %7636
  br label %7638

7638:                                             ; preds = %7637
  %7639 = load i32, ptr @test_count, align 4, !tbaa !5
  %7640 = add nsw i32 %7639, 1
  store i32 %7640, ptr @test_count, align 4, !tbaa !5
  %7641 = load ptr, ptr %88, align 8, !tbaa !9
  %7642 = call i32 @s2n_connection_wipe(ptr noundef %7641)
  %7643 = icmp eq i32 %7642, -1
  br i1 %7643, label %7644, label %7697

7644:                                             ; preds = %7638
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7647 = call ptr @__errno_location() #12
  %7648 = load i32, ptr %7647, align 4, !tbaa !5
  store i32 %7648, ptr %147, align 4, !tbaa !5
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = call i32 @s2n_print_stacktrace(ptr noundef %7649)
  %7651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7652 = trunc i8 %7651 to i1
  br i1 %7652, label %7653, label %7675

7653:                                             ; preds = %7646
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = call i32 @fileno(ptr noundef %7654) #11
  %7656 = call i32 @isatty(i32 noundef %7655) #11
  %7657 = icmp ne i32 %7656, 0
  br i1 %7657, label %7658, label %7675

7658:                                             ; preds = %7653
  %7659 = load i32, ptr %147, align 4, !tbaa !5
  %7660 = call ptr @__errno_location() #12
  store i32 %7659, ptr %7660, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef @.str.4)
  %7669 = call ptr @__errno_location() #12
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @strerror(i32 noundef %7670) #11
  %7672 = call ptr @__errno_location() #12
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef @.str.2, i32 noundef %7662, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7665, ptr noundef %7668, ptr noundef %7671, i32 noundef %7673) #11
  br label %7692

7675:                                             ; preds = %7653, %7646
  %7676 = load i32, ptr %147, align 4, !tbaa !5
  %7677 = call ptr @__errno_location() #12
  store i32 %7676, ptr %7677, align 4, !tbaa !5
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = load i32, ptr @test_count, align 4, !tbaa !5
  %7680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7681 = load i32, ptr %7680, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror(i32 noundef %7681, ptr noundef @.str.4)
  %7683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @s2n_strerror_debug(i32 noundef %7684, ptr noundef @.str.4)
  %7686 = call ptr @__errno_location() #12
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @strerror(i32 noundef %7687) #11
  %7689 = call ptr @__errno_location() #12
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7678, ptr noundef @.str.5, i32 noundef %7679, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7682, ptr noundef %7685, ptr noundef %7688, i32 noundef %7690) #11
  br label %7692

7692:                                             ; preds = %7675, %7658
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7693

7693:                                             ; preds = %7692
  br label %7694

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

7695:                                             ; No predecessors!
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

7697:                                             ; preds = %7696, %7638
  br label %7698

7698:                                             ; preds = %7697
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

7700:                                             ; preds = %7699
  %7701 = load i32, ptr @test_count, align 4, !tbaa !5
  %7702 = add nsw i32 %7701, 1
  store i32 %7702, ptr @test_count, align 4, !tbaa !5
  %7703 = load ptr, ptr %89, align 8, !tbaa !9
  %7704 = call i32 @s2n_connection_wipe(ptr noundef %7703)
  %7705 = icmp eq i32 %7704, -1
  br i1 %7705, label %7706, label %7759

7706:                                             ; preds = %7700
  br label %7707

7707:                                             ; preds = %7706
  br label %7708

7708:                                             ; preds = %7707
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  store i32 %7710, ptr %148, align 4, !tbaa !5
  %7711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7712 = call i32 @s2n_print_stacktrace(ptr noundef %7711)
  %7713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7714 = trunc i8 %7713 to i1
  br i1 %7714, label %7715, label %7737

7715:                                             ; preds = %7708
  %7716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7717 = call i32 @fileno(ptr noundef %7716) #11
  %7718 = call i32 @isatty(i32 noundef %7717) #11
  %7719 = icmp ne i32 %7718, 0
  br i1 %7719, label %7720, label %7737

7720:                                             ; preds = %7715
  %7721 = load i32, ptr %148, align 4, !tbaa !5
  %7722 = call ptr @__errno_location() #12
  store i32 %7721, ptr %7722, align 4, !tbaa !5
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = load i32, ptr @test_count, align 4, !tbaa !5
  %7725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7726 = load i32, ptr %7725, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror(i32 noundef %7726, ptr noundef @.str.4)
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call ptr @__errno_location() #12
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @strerror(i32 noundef %7732) #11
  %7734 = call ptr @__errno_location() #12
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7723, ptr noundef @.str.2, i32 noundef %7724, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 312, ptr noundef %7727, ptr noundef %7730, ptr noundef %7733, i32 noundef %7735) #11
  br label %7754

7737:                                             ; preds = %7715, %7708
  %7738 = load i32, ptr %148, align 4, !tbaa !5
  %7739 = call ptr @__errno_location() #12
  store i32 %7738, ptr %7739, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror(i32 noundef %7743, ptr noundef @.str.4)
  %7745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror_debug(i32 noundef %7746, ptr noundef @.str.4)
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @strerror(i32 noundef %7749) #11
  %7751 = call ptr @__errno_location() #12
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef @.str.5, i32 noundef %7741, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 312, ptr noundef %7744, ptr noundef %7747, ptr noundef %7750, i32 noundef %7752) #11
  br label %7754

7754:                                             ; preds = %7737, %7720
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7755

7755:                                             ; preds = %7754
  br label %7756

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

7757:                                             ; No predecessors!
  br label %7758

7758:                                             ; preds = %7757
  br label %7759

7759:                                             ; preds = %7758, %7700
  br label %7760

7760:                                             ; preds = %7759
  br label %7761

7761:                                             ; preds = %7760
  br label %7762

7762:                                             ; preds = %7761
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = add nsw i32 %7763, 1
  store i32 %7764, ptr @test_count, align 4, !tbaa !5
  %7765 = load ptr, ptr %88, align 8, !tbaa !9
  %7766 = load ptr, ptr %96, align 8, !tbaa !9
  %7767 = call i32 @s2n_connection_set_config(ptr noundef %7765, ptr noundef %7766)
  %7768 = icmp eq i32 %7767, -1
  br i1 %7768, label %7769, label %7822

7769:                                             ; preds = %7762
  br label %7770

7770:                                             ; preds = %7769
  br label %7771

7771:                                             ; preds = %7770
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7772 = call ptr @__errno_location() #12
  %7773 = load i32, ptr %7772, align 4, !tbaa !5
  store i32 %7773, ptr %149, align 4, !tbaa !5
  %7774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7775 = call i32 @s2n_print_stacktrace(ptr noundef %7774)
  %7776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7777 = trunc i8 %7776 to i1
  br i1 %7777, label %7778, label %7800

7778:                                             ; preds = %7771
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = call i32 @fileno(ptr noundef %7779) #11
  %7781 = call i32 @isatty(i32 noundef %7780) #11
  %7782 = icmp ne i32 %7781, 0
  br i1 %7782, label %7783, label %7800

7783:                                             ; preds = %7778
  %7784 = load i32, ptr %149, align 4, !tbaa !5
  %7785 = call ptr @__errno_location() #12
  store i32 %7784, ptr %7785, align 4, !tbaa !5
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = load i32, ptr @test_count, align 4, !tbaa !5
  %7788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7789 = load i32, ptr %7788, align 4, !tbaa !5
  %7790 = call ptr @s2n_strerror(i32 noundef %7789, ptr noundef @.str.4)
  %7791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  %7793 = call ptr @s2n_strerror_debug(i32 noundef %7792, ptr noundef @.str.4)
  %7794 = call ptr @__errno_location() #12
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  %7796 = call ptr @strerror(i32 noundef %7795) #11
  %7797 = call ptr @__errno_location() #12
  %7798 = load i32, ptr %7797, align 4, !tbaa !5
  %7799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7786, ptr noundef @.str.2, i32 noundef %7787, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7790, ptr noundef %7793, ptr noundef %7796, i32 noundef %7798) #11
  br label %7817

7800:                                             ; preds = %7778, %7771
  %7801 = load i32, ptr %149, align 4, !tbaa !5
  %7802 = call ptr @__errno_location() #12
  store i32 %7801, ptr %7802, align 4, !tbaa !5
  %7803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7804 = load i32, ptr @test_count, align 4, !tbaa !5
  %7805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7806 = load i32, ptr %7805, align 4, !tbaa !5
  %7807 = call ptr @s2n_strerror(i32 noundef %7806, ptr noundef @.str.4)
  %7808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7809 = load i32, ptr %7808, align 4, !tbaa !5
  %7810 = call ptr @s2n_strerror_debug(i32 noundef %7809, ptr noundef @.str.4)
  %7811 = call ptr @__errno_location() #12
  %7812 = load i32, ptr %7811, align 4, !tbaa !5
  %7813 = call ptr @strerror(i32 noundef %7812) #11
  %7814 = call ptr @__errno_location() #12
  %7815 = load i32, ptr %7814, align 4, !tbaa !5
  %7816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7803, ptr noundef @.str.5, i32 noundef %7804, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7807, ptr noundef %7810, ptr noundef %7813, i32 noundef %7815) #11
  br label %7817

7817:                                             ; preds = %7800, %7783
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7818

7818:                                             ; preds = %7817
  br label %7819

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

7820:                                             ; No predecessors!
  br label %7821

7821:                                             ; preds = %7820
  br label %7822

7822:                                             ; preds = %7821, %7762
  br label %7823

7823:                                             ; preds = %7822
  br label %7824

7824:                                             ; preds = %7823
  br label %7825

7825:                                             ; preds = %7824
  %7826 = load i32, ptr @test_count, align 4, !tbaa !5
  %7827 = add nsw i32 %7826, 1
  store i32 %7827, ptr @test_count, align 4, !tbaa !5
  %7828 = load ptr, ptr %88, align 8, !tbaa !9
  %7829 = getelementptr inbounds %struct.s2n_connection, ptr %7828, i32 0, i32 72
  %7830 = getelementptr inbounds %struct.s2n_x509_validator, ptr %7829, i32 0, i32 2
  %7831 = load i8, ptr %7830, align 8, !tbaa !37
  %7832 = zext i8 %7831 to i32
  %7833 = icmp eq i32 %7832, 1
  br i1 %7833, label %7887, label %7834

7834:                                             ; preds = %7825
  br label %7835

7835:                                             ; preds = %7834
  br label %7836

7836:                                             ; preds = %7835
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7837 = call ptr @__errno_location() #12
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  store i32 %7838, ptr %150, align 4, !tbaa !5
  %7839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7840 = call i32 @s2n_print_stacktrace(ptr noundef %7839)
  %7841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7842 = trunc i8 %7841 to i1
  br i1 %7842, label %7843, label %7865

7843:                                             ; preds = %7836
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @fileno(ptr noundef %7844) #11
  %7846 = call i32 @isatty(i32 noundef %7845) #11
  %7847 = icmp ne i32 %7846, 0
  br i1 %7847, label %7848, label %7865

7848:                                             ; preds = %7843
  %7849 = load i32, ptr %150, align 4, !tbaa !5
  %7850 = call ptr @__errno_location() #12
  store i32 %7849, ptr %7850, align 4, !tbaa !5
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = load i32, ptr @test_count, align 4, !tbaa !5
  %7853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call ptr @s2n_strerror(i32 noundef %7854, ptr noundef @.str.4)
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror_debug(i32 noundef %7857, ptr noundef @.str.4)
  %7859 = call ptr @__errno_location() #12
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @strerror(i32 noundef %7860) #11
  %7862 = call ptr @__errno_location() #12
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef @.str.2, i32 noundef %7852, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 318, ptr noundef %7855, ptr noundef %7858, ptr noundef %7861, i32 noundef %7863) #11
  br label %7882

7865:                                             ; preds = %7843, %7836
  %7866 = load i32, ptr %150, align 4, !tbaa !5
  %7867 = call ptr @__errno_location() #12
  store i32 %7866, ptr %7867, align 4, !tbaa !5
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror(i32 noundef %7871, ptr noundef @.str.4)
  %7873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror_debug(i32 noundef %7874, ptr noundef @.str.4)
  %7876 = call ptr @__errno_location() #12
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @strerror(i32 noundef %7877) #11
  %7879 = call ptr @__errno_location() #12
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7868, ptr noundef @.str.5, i32 noundef %7869, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 318, ptr noundef %7872, ptr noundef %7875, ptr noundef %7878, i32 noundef %7880) #11
  br label %7882

7882:                                             ; preds = %7865, %7848
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

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

7885:                                             ; No predecessors!
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886, %7825
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

7889:                                             ; preds = %7888
  br label %7890

7890:                                             ; preds = %7889
  %7891 = load i32, ptr @test_count, align 4, !tbaa !5
  %7892 = add nsw i32 %7891, 1
  store i32 %7892, ptr @test_count, align 4, !tbaa !5
  %7893 = load ptr, ptr %89, align 8, !tbaa !9
  %7894 = load ptr, ptr %106, align 8, !tbaa !9
  %7895 = call i32 @s2n_connection_set_config(ptr noundef %7893, ptr noundef %7894)
  %7896 = icmp eq i32 %7895, -1
  br i1 %7896, label %7897, label %7950

7897:                                             ; preds = %7890
  br label %7898

7898:                                             ; preds = %7897
  br label %7899

7899:                                             ; preds = %7898
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7900 = call ptr @__errno_location() #12
  %7901 = load i32, ptr %7900, align 4, !tbaa !5
  store i32 %7901, ptr %151, align 4, !tbaa !5
  %7902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7903 = call i32 @s2n_print_stacktrace(ptr noundef %7902)
  %7904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7905 = trunc i8 %7904 to i1
  br i1 %7905, label %7906, label %7928

7906:                                             ; preds = %7899
  %7907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7908 = call i32 @fileno(ptr noundef %7907) #11
  %7909 = call i32 @isatty(i32 noundef %7908) #11
  %7910 = icmp ne i32 %7909, 0
  br i1 %7910, label %7911, label %7928

7911:                                             ; preds = %7906
  %7912 = load i32, ptr %151, align 4, !tbaa !5
  %7913 = call ptr @__errno_location() #12
  store i32 %7912, ptr %7913, align 4, !tbaa !5
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror(i32 noundef %7917, ptr noundef @.str.4)
  %7919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @s2n_strerror_debug(i32 noundef %7920, ptr noundef @.str.4)
  %7922 = call ptr @__errno_location() #12
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call ptr @strerror(i32 noundef %7923) #11
  %7925 = call ptr @__errno_location() #12
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7914, ptr noundef @.str.2, i32 noundef %7915, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7918, ptr noundef %7921, ptr noundef %7924, i32 noundef %7926) #11
  br label %7945

7928:                                             ; preds = %7906, %7899
  %7929 = load i32, ptr %151, align 4, !tbaa !5
  %7930 = call ptr @__errno_location() #12
  store i32 %7929, ptr %7930, align 4, !tbaa !5
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = load i32, ptr @test_count, align 4, !tbaa !5
  %7933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror(i32 noundef %7934, ptr noundef @.str.4)
  %7936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @s2n_strerror_debug(i32 noundef %7937, ptr noundef @.str.4)
  %7939 = call ptr @__errno_location() #12
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @strerror(i32 noundef %7940) #11
  %7942 = call ptr @__errno_location() #12
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7931, ptr noundef @.str.5, i32 noundef %7932, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7935, ptr noundef %7938, ptr noundef %7941, i32 noundef %7943) #11
  br label %7945

7945:                                             ; preds = %7928, %7911
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

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

7948:                                             ; No predecessors!
  br label %7949

7949:                                             ; preds = %7948
  br label %7950

7950:                                             ; preds = %7949, %7890
  br label %7951

7951:                                             ; preds = %7950
  br label %7952

7952:                                             ; preds = %7951
  br label %7953

7953:                                             ; preds = %7952
  %7954 = load i32, ptr @test_count, align 4, !tbaa !5
  %7955 = add nsw i32 %7954, 1
  store i32 %7955, ptr @test_count, align 4, !tbaa !5
  %7956 = load ptr, ptr %89, align 8, !tbaa !9
  %7957 = getelementptr inbounds %struct.s2n_connection, ptr %7956, i32 0, i32 72
  %7958 = getelementptr inbounds %struct.s2n_x509_validator, ptr %7957, i32 0, i32 2
  %7959 = load i8, ptr %7958, align 8, !tbaa !37
  %7960 = zext i8 %7959 to i32
  %7961 = icmp eq i32 %7960, 0
  br i1 %7961, label %8015, label %7962

7962:                                             ; preds = %7953
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

7964:                                             ; preds = %7963
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7965 = call ptr @__errno_location() #12
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  store i32 %7966, ptr %152, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = call i32 @s2n_print_stacktrace(ptr noundef %7967)
  %7969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7970 = trunc i8 %7969 to i1
  br i1 %7970, label %7971, label %7993

7971:                                             ; preds = %7964
  %7972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7973 = call i32 @fileno(ptr noundef %7972) #11
  %7974 = call i32 @isatty(i32 noundef %7973) #11
  %7975 = icmp ne i32 %7974, 0
  br i1 %7975, label %7976, label %7993

7976:                                             ; preds = %7971
  %7977 = load i32, ptr %152, align 4, !tbaa !5
  %7978 = call ptr @__errno_location() #12
  store i32 %7977, ptr %7978, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = load i32, ptr @test_count, align 4, !tbaa !5
  %7981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror(i32 noundef %7982, ptr noundef @.str.4)
  %7984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call ptr @s2n_strerror_debug(i32 noundef %7985, ptr noundef @.str.4)
  %7987 = call ptr @__errno_location() #12
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @strerror(i32 noundef %7988) #11
  %7990 = call ptr @__errno_location() #12
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7979, ptr noundef @.str.2, i32 noundef %7980, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 321, ptr noundef %7983, ptr noundef %7986, ptr noundef %7989, i32 noundef %7991) #11
  br label %8010

7993:                                             ; preds = %7971, %7964
  %7994 = load i32, ptr %152, align 4, !tbaa !5
  %7995 = call ptr @__errno_location() #12
  store i32 %7994, ptr %7995, align 4, !tbaa !5
  %7996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7997 = load i32, ptr @test_count, align 4, !tbaa !5
  %7998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call ptr @s2n_strerror(i32 noundef %7999, ptr noundef @.str.4)
  %8001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8002 = load i32, ptr %8001, align 4, !tbaa !5
  %8003 = call ptr @s2n_strerror_debug(i32 noundef %8002, ptr noundef @.str.4)
  %8004 = call ptr @__errno_location() #12
  %8005 = load i32, ptr %8004, align 4, !tbaa !5
  %8006 = call ptr @strerror(i32 noundef %8005) #11
  %8007 = call ptr @__errno_location() #12
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7996, ptr noundef @.str.5, i32 noundef %7997, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8000, ptr noundef %8003, ptr noundef %8006, i32 noundef %8008) #11
  br label %8010

8010:                                             ; preds = %7993, %7976
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

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

8013:                                             ; No predecessors!
  br label %8014

8014:                                             ; preds = %8013
  br label %8015

8015:                                             ; preds = %8014, %7953
  br label %8016

8016:                                             ; preds = %8015
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

8018:                                             ; preds = %8017
  %8019 = load i32, ptr @test_count, align 4, !tbaa !5
  %8020 = add nsw i32 %8019, 1
  store i32 %8020, ptr @test_count, align 4, !tbaa !5
  %8021 = load ptr, ptr %88, align 8, !tbaa !9
  %8022 = load ptr, ptr %89, align 8, !tbaa !9
  %8023 = call i32 @s2n_connections_set_io_pair(ptr noundef %8021, ptr noundef %8022, ptr noundef %92)
  %8024 = icmp eq i32 %8023, -1
  br i1 %8024, label %8025, label %8078

8025:                                             ; preds = %8018
  br label %8026

8026:                                             ; preds = %8025
  br label %8027

8027:                                             ; preds = %8026
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %8028 = call ptr @__errno_location() #12
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  store i32 %8029, ptr %153, align 4, !tbaa !5
  %8030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8031 = call i32 @s2n_print_stacktrace(ptr noundef %8030)
  %8032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8033 = trunc i8 %8032 to i1
  br i1 %8033, label %8034, label %8056

8034:                                             ; preds = %8027
  %8035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8036 = call i32 @fileno(ptr noundef %8035) #11
  %8037 = call i32 @isatty(i32 noundef %8036) #11
  %8038 = icmp ne i32 %8037, 0
  br i1 %8038, label %8039, label %8056

8039:                                             ; preds = %8034
  %8040 = load i32, ptr %153, align 4, !tbaa !5
  %8041 = call ptr @__errno_location() #12
  store i32 %8040, ptr %8041, align 4, !tbaa !5
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = load i32, ptr @test_count, align 4, !tbaa !5
  %8044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call ptr @s2n_strerror(i32 noundef %8045, ptr noundef @.str.4)
  %8047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call ptr @s2n_strerror_debug(i32 noundef %8048, ptr noundef @.str.4)
  %8050 = call ptr @__errno_location() #12
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  %8052 = call ptr @strerror(i32 noundef %8051) #11
  %8053 = call ptr @__errno_location() #12
  %8054 = load i32, ptr %8053, align 4, !tbaa !5
  %8055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8042, ptr noundef @.str.2, i32 noundef %8043, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 323, ptr noundef %8046, ptr noundef %8049, ptr noundef %8052, i32 noundef %8054) #11
  br label %8073

8056:                                             ; preds = %8034, %8027
  %8057 = load i32, ptr %153, align 4, !tbaa !5
  %8058 = call ptr @__errno_location() #12
  store i32 %8057, ptr %8058, align 4, !tbaa !5
  %8059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8060 = load i32, ptr @test_count, align 4, !tbaa !5
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror(i32 noundef %8062, ptr noundef @.str.4)
  %8064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @s2n_strerror_debug(i32 noundef %8065, ptr noundef @.str.4)
  %8067 = call ptr @__errno_location() #12
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call ptr @strerror(i32 noundef %8068) #11
  %8070 = call ptr @__errno_location() #12
  %8071 = load i32, ptr %8070, align 4, !tbaa !5
  %8072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8059, ptr noundef @.str.5, i32 noundef %8060, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 323, ptr noundef %8063, ptr noundef %8066, ptr noundef %8069, i32 noundef %8071) #11
  br label %8073

8073:                                             ; preds = %8056, %8039
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

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

8076:                                             ; No predecessors!
  br label %8077

8077:                                             ; preds = %8076
  br label %8078

8078:                                             ; preds = %8077, %8018
  br label %8079

8079:                                             ; preds = %8078
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080
  %8082 = load i32, ptr @test_count, align 4, !tbaa !5
  %8083 = add nsw i32 %8082, 1
  store i32 %8083, ptr @test_count, align 4, !tbaa !5
  %8084 = load ptr, ptr %89, align 8, !tbaa !9
  %8085 = load ptr, ptr %88, align 8, !tbaa !9
  %8086 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8084, ptr noundef %8085)
  %8087 = icmp eq i32 %8086, -1
  br i1 %8087, label %8088, label %8141

8088:                                             ; preds = %8081
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

8090:                                             ; preds = %8089
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %8091 = call ptr @__errno_location() #12
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  store i32 %8092, ptr %154, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @s2n_print_stacktrace(ptr noundef %8093)
  %8095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8096 = trunc i8 %8095 to i1
  br i1 %8096, label %8097, label %8119

8097:                                             ; preds = %8090
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @fileno(ptr noundef %8098) #11
  %8100 = call i32 @isatty(i32 noundef %8099) #11
  %8101 = icmp ne i32 %8100, 0
  br i1 %8101, label %8102, label %8119

8102:                                             ; preds = %8097
  %8103 = load i32, ptr %154, align 4, !tbaa !5
  %8104 = call ptr @__errno_location() #12
  store i32 %8103, ptr %8104, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror_debug(i32 noundef %8111, ptr noundef @.str.4)
  %8113 = call ptr @__errno_location() #12
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #11
  %8116 = call ptr @__errno_location() #12
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8105, ptr noundef @.str.2, i32 noundef %8106, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8109, ptr noundef %8112, ptr noundef %8115, i32 noundef %8117) #11
  br label %8136

8119:                                             ; preds = %8097, %8090
  %8120 = load i32, ptr %154, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #12
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.4)
  %8130 = call ptr @__errno_location() #12
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #11
  %8133 = call ptr @__errno_location() #12
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.5, i32 noundef %8123, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #11
  br label %8136

8136:                                             ; preds = %8119, %8102
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %8137

8137:                                             ; preds = %8136
  br label %8138

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

8139:                                             ; No predecessors!
  br label %8140

8140:                                             ; preds = %8139
  br label %8141

8141:                                             ; preds = %8140, %8081
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  br label %8144

8144:                                             ; preds = %8143
  %8145 = load i32, ptr @test_count, align 4, !tbaa !5
  %8146 = add nsw i32 %8145, 1
  store i32 %8146, ptr @test_count, align 4, !tbaa !5
  %8147 = load ptr, ptr %89, align 8, !tbaa !9
  %8148 = getelementptr inbounds %struct.s2n_connection, ptr %8147, i32 0, i32 72
  %8149 = getelementptr inbounds %struct.s2n_x509_validator, ptr %8148, i32 0, i32 6
  %8150 = load i32, ptr %8149, align 8, !tbaa !61
  %8151 = icmp eq i32 %8150, 4
  br i1 %8151, label %8205, label %8152

8152:                                             ; preds = %8144
  br label %8153

8153:                                             ; preds = %8152
  br label %8154

8154:                                             ; preds = %8153
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %8155 = call ptr @__errno_location() #12
  %8156 = load i32, ptr %8155, align 4, !tbaa !5
  store i32 %8156, ptr %155, align 4, !tbaa !5
  %8157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8158 = call i32 @s2n_print_stacktrace(ptr noundef %8157)
  %8159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8160 = trunc i8 %8159 to i1
  br i1 %8160, label %8161, label %8183

8161:                                             ; preds = %8154
  %8162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8163 = call i32 @fileno(ptr noundef %8162) #11
  %8164 = call i32 @isatty(i32 noundef %8163) #11
  %8165 = icmp ne i32 %8164, 0
  br i1 %8165, label %8166, label %8183

8166:                                             ; preds = %8161
  %8167 = load i32, ptr %155, align 4, !tbaa !5
  %8168 = call ptr @__errno_location() #12
  store i32 %8167, ptr %8168, align 4, !tbaa !5
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = load i32, ptr @test_count, align 4, !tbaa !5
  %8171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8172 = load i32, ptr %8171, align 4, !tbaa !5
  %8173 = call ptr @s2n_strerror(i32 noundef %8172, ptr noundef @.str.4)
  %8174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror_debug(i32 noundef %8175, ptr noundef @.str.4)
  %8177 = call ptr @__errno_location() #12
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call ptr @strerror(i32 noundef %8178) #11
  %8180 = call ptr @__errno_location() #12
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8169, ptr noundef @.str.2, i32 noundef %8170, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8173, ptr noundef %8176, ptr noundef %8179, i32 noundef %8181) #11
  br label %8200

8183:                                             ; preds = %8161, %8154
  %8184 = load i32, ptr %155, align 4, !tbaa !5
  %8185 = call ptr @__errno_location() #12
  store i32 %8184, ptr %8185, align 4, !tbaa !5
  %8186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8187 = load i32, ptr @test_count, align 4, !tbaa !5
  %8188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8189 = load i32, ptr %8188, align 4, !tbaa !5
  %8190 = call ptr @s2n_strerror(i32 noundef %8189, ptr noundef @.str.4)
  %8191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8192 = load i32, ptr %8191, align 4, !tbaa !5
  %8193 = call ptr @s2n_strerror_debug(i32 noundef %8192, ptr noundef @.str.4)
  %8194 = call ptr @__errno_location() #12
  %8195 = load i32, ptr %8194, align 4, !tbaa !5
  %8196 = call ptr @strerror(i32 noundef %8195) #11
  %8197 = call ptr @__errno_location() #12
  %8198 = load i32, ptr %8197, align 4, !tbaa !5
  %8199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8186, ptr noundef @.str.5, i32 noundef %8187, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8190, ptr noundef %8193, ptr noundef %8196, i32 noundef %8198) #11
  br label %8200

8200:                                             ; preds = %8183, %8166
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %8201

8201:                                             ; preds = %8200
  br label %8202

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

8203:                                             ; No predecessors!
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

8205:                                             ; preds = %8204, %8144
  br label %8206

8206:                                             ; preds = %8205
  br label %8207

8207:                                             ; preds = %8206
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #11
  %8208 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %8208, ptr %156, align 8, !tbaa !9
  br label %8209

8209:                                             ; preds = %8207
  %8210 = load i32, ptr @test_count, align 4, !tbaa !5
  %8211 = add nsw i32 %8210, 1
  store i32 %8211, ptr @test_count, align 4, !tbaa !5
  %8212 = load ptr, ptr %156, align 8, !tbaa !9
  %8213 = icmp eq ptr %8212, null
  br i1 %8213, label %8214, label %8267

8214:                                             ; preds = %8209
  br label %8215

8215:                                             ; preds = %8214
  br label %8216

8216:                                             ; preds = %8215
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8217 = call ptr @__errno_location() #12
  %8218 = load i32, ptr %8217, align 4, !tbaa !5
  store i32 %8218, ptr %157, align 4, !tbaa !5
  %8219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8220 = call i32 @s2n_print_stacktrace(ptr noundef %8219)
  %8221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8222 = trunc i8 %8221 to i1
  br i1 %8222, label %8223, label %8245

8223:                                             ; preds = %8216
  %8224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8225 = call i32 @fileno(ptr noundef %8224) #11
  %8226 = call i32 @isatty(i32 noundef %8225) #11
  %8227 = icmp ne i32 %8226, 0
  br i1 %8227, label %8228, label %8245

8228:                                             ; preds = %8223
  %8229 = load i32, ptr %157, align 4, !tbaa !5
  %8230 = call ptr @__errno_location() #12
  store i32 %8229, ptr %8230, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = load i32, ptr @test_count, align 4, !tbaa !5
  %8233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8234 = load i32, ptr %8233, align 4, !tbaa !5
  %8235 = call ptr @s2n_strerror(i32 noundef %8234, ptr noundef @.str.4)
  %8236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8237 = load i32, ptr %8236, align 4, !tbaa !5
  %8238 = call ptr @s2n_strerror_debug(i32 noundef %8237, ptr noundef @.str.4)
  %8239 = call ptr @__errno_location() #12
  %8240 = load i32, ptr %8239, align 4, !tbaa !5
  %8241 = call ptr @strerror(i32 noundef %8240) #11
  %8242 = call ptr @__errno_location() #12
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  %8244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8231, ptr noundef @.str.2, i32 noundef %8232, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 330, ptr noundef %8235, ptr noundef %8238, ptr noundef %8241, i32 noundef %8243) #11
  br label %8262

8245:                                             ; preds = %8223, %8216
  %8246 = load i32, ptr %157, align 4, !tbaa !5
  %8247 = call ptr @__errno_location() #12
  store i32 %8246, ptr %8247, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = load i32, ptr @test_count, align 4, !tbaa !5
  %8250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror(i32 noundef %8251, ptr noundef @.str.4)
  %8253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @s2n_strerror_debug(i32 noundef %8254, ptr noundef @.str.4)
  %8256 = call ptr @__errno_location() #12
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call ptr @strerror(i32 noundef %8257) #11
  %8259 = call ptr @__errno_location() #12
  %8260 = load i32, ptr %8259, align 4, !tbaa !5
  %8261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8248, ptr noundef @.str.5, i32 noundef %8249, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 330, ptr noundef %8252, ptr noundef %8255, ptr noundef %8258, i32 noundef %8260) #11
  br label %8262

8262:                                             ; preds = %8245, %8228
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8263

8263:                                             ; preds = %8262
  br label %8264

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

8265:                                             ; No predecessors!
  br label %8266

8266:                                             ; preds = %8265
  br label %8267

8267:                                             ; preds = %8266, %8209
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268
  br label %8270

8270:                                             ; preds = %8269
  %8271 = load i32, ptr @test_count, align 4, !tbaa !5
  %8272 = add nsw i32 %8271, 1
  store i32 %8272, ptr @test_count, align 4, !tbaa !5
  %8273 = load ptr, ptr %89, align 8, !tbaa !9
  %8274 = load ptr, ptr %156, align 8, !tbaa !9
  %8275 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %8273, ptr noundef %8274)
  %8276 = icmp eq i32 %8275, -1
  br i1 %8276, label %8277, label %8330

8277:                                             ; preds = %8270
  br label %8278

8278:                                             ; preds = %8277
  br label %8279

8279:                                             ; preds = %8278
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %8280 = call ptr @__errno_location() #12
  %8281 = load i32, ptr %8280, align 4, !tbaa !5
  store i32 %8281, ptr %158, align 4, !tbaa !5
  %8282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8283 = call i32 @s2n_print_stacktrace(ptr noundef %8282)
  %8284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8285 = trunc i8 %8284 to i1
  br i1 %8285, label %8286, label %8308

8286:                                             ; preds = %8279
  %8287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8288 = call i32 @fileno(ptr noundef %8287) #11
  %8289 = call i32 @isatty(i32 noundef %8288) #11
  %8290 = icmp ne i32 %8289, 0
  br i1 %8290, label %8291, label %8308

8291:                                             ; preds = %8286
  %8292 = load i32, ptr %158, align 4, !tbaa !5
  %8293 = call ptr @__errno_location() #12
  store i32 %8292, ptr %8293, align 4, !tbaa !5
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = load i32, ptr @test_count, align 4, !tbaa !5
  %8296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8297 = load i32, ptr %8296, align 4, !tbaa !5
  %8298 = call ptr @s2n_strerror(i32 noundef %8297, ptr noundef @.str.4)
  %8299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8300 = load i32, ptr %8299, align 4, !tbaa !5
  %8301 = call ptr @s2n_strerror_debug(i32 noundef %8300, ptr noundef @.str.4)
  %8302 = call ptr @__errno_location() #12
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  %8304 = call ptr @strerror(i32 noundef %8303) #11
  %8305 = call ptr @__errno_location() #12
  %8306 = load i32, ptr %8305, align 4, !tbaa !5
  %8307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8294, ptr noundef @.str.2, i32 noundef %8295, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8298, ptr noundef %8301, ptr noundef %8304, i32 noundef %8306) #11
  br label %8325

8308:                                             ; preds = %8286, %8279
  %8309 = load i32, ptr %158, align 4, !tbaa !5
  %8310 = call ptr @__errno_location() #12
  store i32 %8309, ptr %8310, align 4, !tbaa !5
  %8311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8312 = load i32, ptr @test_count, align 4, !tbaa !5
  %8313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8314 = load i32, ptr %8313, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror(i32 noundef %8314, ptr noundef @.str.4)
  %8316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8317 = load i32, ptr %8316, align 4, !tbaa !5
  %8318 = call ptr @s2n_strerror_debug(i32 noundef %8317, ptr noundef @.str.4)
  %8319 = call ptr @__errno_location() #12
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call ptr @strerror(i32 noundef %8320) #11
  %8322 = call ptr @__errno_location() #12
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  %8324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8311, ptr noundef @.str.5, i32 noundef %8312, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8315, ptr noundef %8318, ptr noundef %8321, i32 noundef %8323) #11
  br label %8325

8325:                                             ; preds = %8308, %8291
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %8326

8326:                                             ; preds = %8325
  br label %8327

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

8328:                                             ; No predecessors!
  br label %8329

8329:                                             ; preds = %8328
  br label %8330

8330:                                             ; preds = %8329, %8270
  br label %8331

8331:                                             ; preds = %8330
  br label %8332

8332:                                             ; preds = %8331
  br label %8333

8333:                                             ; preds = %8332
  %8334 = load i32, ptr @test_count, align 4, !tbaa !5
  %8335 = add nsw i32 %8334, 1
  store i32 %8335, ptr @test_count, align 4, !tbaa !5
  %8336 = load ptr, ptr %89, align 8, !tbaa !9
  %8337 = load ptr, ptr %156, align 8, !tbaa !9
  %8338 = call i32 @s2n_compare_cert_chain(ptr noundef %8336, ptr noundef %8337)
  %8339 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %8338, ptr %8339, align 4
  %8340 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  %8341 = load i32, ptr %8340, align 4
  %8342 = call zeroext i1 @s2n_result_is_ok(i32 %8341)
  br i1 %8342, label %8396, label %8343

8343:                                             ; preds = %8333
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

8345:                                             ; preds = %8344
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %8346 = call ptr @__errno_location() #12
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  store i32 %8347, ptr %160, align 4, !tbaa !5
  %8348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8349 = call i32 @s2n_print_stacktrace(ptr noundef %8348)
  %8350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8351 = trunc i8 %8350 to i1
  br i1 %8351, label %8352, label %8374

8352:                                             ; preds = %8345
  %8353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8354 = call i32 @fileno(ptr noundef %8353) #11
  %8355 = call i32 @isatty(i32 noundef %8354) #11
  %8356 = icmp ne i32 %8355, 0
  br i1 %8356, label %8357, label %8374

8357:                                             ; preds = %8352
  %8358 = load i32, ptr %160, align 4, !tbaa !5
  %8359 = call ptr @__errno_location() #12
  store i32 %8358, ptr %8359, align 4, !tbaa !5
  %8360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8361 = load i32, ptr @test_count, align 4, !tbaa !5
  %8362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8363 = load i32, ptr %8362, align 4, !tbaa !5
  %8364 = call ptr @s2n_strerror(i32 noundef %8363, ptr noundef @.str.4)
  %8365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8366 = load i32, ptr %8365, align 4, !tbaa !5
  %8367 = call ptr @s2n_strerror_debug(i32 noundef %8366, ptr noundef @.str.4)
  %8368 = call ptr @__errno_location() #12
  %8369 = load i32, ptr %8368, align 4, !tbaa !5
  %8370 = call ptr @strerror(i32 noundef %8369) #11
  %8371 = call ptr @__errno_location() #12
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8360, ptr noundef @.str.2, i32 noundef %8361, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 334, ptr noundef %8364, ptr noundef %8367, ptr noundef %8370, i32 noundef %8372) #11
  br label %8391

8374:                                             ; preds = %8352, %8345
  %8375 = load i32, ptr %160, align 4, !tbaa !5
  %8376 = call ptr @__errno_location() #12
  store i32 %8375, ptr %8376, align 4, !tbaa !5
  %8377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8378 = load i32, ptr @test_count, align 4, !tbaa !5
  %8379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8380 = load i32, ptr %8379, align 4, !tbaa !5
  %8381 = call ptr @s2n_strerror(i32 noundef %8380, ptr noundef @.str.4)
  %8382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror_debug(i32 noundef %8383, ptr noundef @.str.4)
  %8385 = call ptr @__errno_location() #12
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @strerror(i32 noundef %8386) #11
  %8388 = call ptr @__errno_location() #12
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8377, ptr noundef @.str.5, i32 noundef %8378, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 334, ptr noundef %8381, ptr noundef %8384, ptr noundef %8387, i32 noundef %8389) #11
  br label %8391

8391:                                             ; preds = %8374, %8357
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %8392

8392:                                             ; preds = %8391
  br label %8393

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

8394:                                             ; No predecessors!
  br label %8395

8395:                                             ; preds = %8394
  br label %8396

8396:                                             ; preds = %8395, %8333
  br label %8397

8397:                                             ; preds = %8396
  br label %8398

8398:                                             ; preds = %8397
  br label %8399

8399:                                             ; preds = %8398
  %8400 = load i32, ptr @test_count, align 4, !tbaa !5
  %8401 = add nsw i32 %8400, 1
  store i32 %8401, ptr @test_count, align 4, !tbaa !5
  %8402 = load ptr, ptr %89, align 8, !tbaa !9
  %8403 = load ptr, ptr %88, align 8, !tbaa !9
  %8404 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %8402, ptr noundef %8403)
  %8405 = icmp eq i32 %8404, -1
  br i1 %8405, label %8406, label %8459

8406:                                             ; preds = %8399
  br label %8407

8407:                                             ; preds = %8406
  br label %8408

8408:                                             ; preds = %8407
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %8409 = call ptr @__errno_location() #12
  %8410 = load i32, ptr %8409, align 4, !tbaa !5
  store i32 %8410, ptr %161, align 4, !tbaa !5
  %8411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8412 = call i32 @s2n_print_stacktrace(ptr noundef %8411)
  %8413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8414 = trunc i8 %8413 to i1
  br i1 %8414, label %8415, label %8437

8415:                                             ; preds = %8408
  %8416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8417 = call i32 @fileno(ptr noundef %8416) #11
  %8418 = call i32 @isatty(i32 noundef %8417) #11
  %8419 = icmp ne i32 %8418, 0
  br i1 %8419, label %8420, label %8437

8420:                                             ; preds = %8415
  %8421 = load i32, ptr %161, align 4, !tbaa !5
  %8422 = call ptr @__errno_location() #12
  store i32 %8421, ptr %8422, align 4, !tbaa !5
  %8423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8424 = load i32, ptr @test_count, align 4, !tbaa !5
  %8425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = call ptr @s2n_strerror(i32 noundef %8426, ptr noundef @.str.4)
  %8428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8429 = load i32, ptr %8428, align 4, !tbaa !5
  %8430 = call ptr @s2n_strerror_debug(i32 noundef %8429, ptr noundef @.str.4)
  %8431 = call ptr @__errno_location() #12
  %8432 = load i32, ptr %8431, align 4, !tbaa !5
  %8433 = call ptr @strerror(i32 noundef %8432) #11
  %8434 = call ptr @__errno_location() #12
  %8435 = load i32, ptr %8434, align 4, !tbaa !5
  %8436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8423, ptr noundef @.str.2, i32 noundef %8424, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8427, ptr noundef %8430, ptr noundef %8433, i32 noundef %8435) #11
  br label %8454

8437:                                             ; preds = %8415, %8408
  %8438 = load i32, ptr %161, align 4, !tbaa !5
  %8439 = call ptr @__errno_location() #12
  store i32 %8438, ptr %8439, align 4, !tbaa !5
  %8440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8441 = load i32, ptr @test_count, align 4, !tbaa !5
  %8442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call ptr @s2n_strerror(i32 noundef %8443, ptr noundef @.str.4)
  %8445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8446 = load i32, ptr %8445, align 4, !tbaa !5
  %8447 = call ptr @s2n_strerror_debug(i32 noundef %8446, ptr noundef @.str.4)
  %8448 = call ptr @__errno_location() #12
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call ptr @strerror(i32 noundef %8449) #11
  %8451 = call ptr @__errno_location() #12
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8440, ptr noundef @.str.5, i32 noundef %8441, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8444, ptr noundef %8447, ptr noundef %8450, i32 noundef %8452) #11
  br label %8454

8454:                                             ; preds = %8437, %8420
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %8455

8455:                                             ; preds = %8454
  br label %8456

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

8457:                                             ; No predecessors!
  br label %8458

8458:                                             ; preds = %8457
  br label %8459

8459:                                             ; preds = %8458, %8399
  br label %8460

8460:                                             ; preds = %8459
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  %8463 = load i32, ptr @test_count, align 4, !tbaa !5
  %8464 = add nsw i32 %8463, 1
  store i32 %8464, ptr @test_count, align 4, !tbaa !5
  %8465 = load ptr, ptr %156, align 8, !tbaa !9
  %8466 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %8465)
  %8467 = icmp eq i32 %8466, -1
  br i1 %8467, label %8468, label %8521

8468:                                             ; preds = %8462
  br label %8469

8469:                                             ; preds = %8468
  br label %8470

8470:                                             ; preds = %8469
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %8471 = call ptr @__errno_location() #12
  %8472 = load i32, ptr %8471, align 4, !tbaa !5
  store i32 %8472, ptr %162, align 4, !tbaa !5
  %8473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8474 = call i32 @s2n_print_stacktrace(ptr noundef %8473)
  %8475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8476 = trunc i8 %8475 to i1
  br i1 %8476, label %8477, label %8499

8477:                                             ; preds = %8470
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = call i32 @fileno(ptr noundef %8478) #11
  %8480 = call i32 @isatty(i32 noundef %8479) #11
  %8481 = icmp ne i32 %8480, 0
  br i1 %8481, label %8482, label %8499

8482:                                             ; preds = %8477
  %8483 = load i32, ptr %162, align 4, !tbaa !5
  %8484 = call ptr @__errno_location() #12
  store i32 %8483, ptr %8484, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = load i32, ptr @test_count, align 4, !tbaa !5
  %8487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8488 = load i32, ptr %8487, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror(i32 noundef %8488, ptr noundef @.str.4)
  %8490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8491 = load i32, ptr %8490, align 4, !tbaa !5
  %8492 = call ptr @s2n_strerror_debug(i32 noundef %8491, ptr noundef @.str.4)
  %8493 = call ptr @__errno_location() #12
  %8494 = load i32, ptr %8493, align 4, !tbaa !5
  %8495 = call ptr @strerror(i32 noundef %8494) #11
  %8496 = call ptr @__errno_location() #12
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  %8498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8485, ptr noundef @.str.2, i32 noundef %8486, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 339, ptr noundef %8489, ptr noundef %8492, ptr noundef %8495, i32 noundef %8497) #11
  br label %8516

8499:                                             ; preds = %8477, %8470
  %8500 = load i32, ptr %162, align 4, !tbaa !5
  %8501 = call ptr @__errno_location() #12
  store i32 %8500, ptr %8501, align 4, !tbaa !5
  %8502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8503 = load i32, ptr @test_count, align 4, !tbaa !5
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror(i32 noundef %8505, ptr noundef @.str.4)
  %8507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror_debug(i32 noundef %8508, ptr noundef @.str.4)
  %8510 = call ptr @__errno_location() #12
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @strerror(i32 noundef %8511) #11
  %8513 = call ptr @__errno_location() #12
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8502, ptr noundef @.str.5, i32 noundef %8503, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 339, ptr noundef %8506, ptr noundef %8509, ptr noundef %8512, i32 noundef %8514) #11
  br label %8516

8516:                                             ; preds = %8499, %8482
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %8517

8517:                                             ; preds = %8516
  br label %8518

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

8519:                                             ; No predecessors!
  br label %8520

8520:                                             ; preds = %8519
  br label %8521

8521:                                             ; preds = %8520, %8462
  br label %8522

8522:                                             ; preds = %8521
  br label %8523

8523:                                             ; preds = %8522
  br label %8524

8524:                                             ; preds = %8523
  %8525 = load i32, ptr @test_count, align 4, !tbaa !5
  %8526 = add nsw i32 %8525, 1
  store i32 %8526, ptr @test_count, align 4, !tbaa !5
  %8527 = load ptr, ptr %88, align 8, !tbaa !9
  %8528 = call i32 @s2n_connection_wipe(ptr noundef %8527)
  %8529 = icmp eq i32 %8528, -1
  br i1 %8529, label %8530, label %8583

8530:                                             ; preds = %8524
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

8532:                                             ; preds = %8531
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8533 = call ptr @__errno_location() #12
  %8534 = load i32, ptr %8533, align 4, !tbaa !5
  store i32 %8534, ptr %163, align 4, !tbaa !5
  %8535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8536 = call i32 @s2n_print_stacktrace(ptr noundef %8535)
  %8537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8538 = trunc i8 %8537 to i1
  br i1 %8538, label %8539, label %8561

8539:                                             ; preds = %8532
  %8540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8541 = call i32 @fileno(ptr noundef %8540) #11
  %8542 = call i32 @isatty(i32 noundef %8541) #11
  %8543 = icmp ne i32 %8542, 0
  br i1 %8543, label %8544, label %8561

8544:                                             ; preds = %8539
  %8545 = load i32, ptr %163, align 4, !tbaa !5
  %8546 = call ptr @__errno_location() #12
  store i32 %8545, ptr %8546, align 4, !tbaa !5
  %8547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8548 = load i32, ptr @test_count, align 4, !tbaa !5
  %8549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8550 = load i32, ptr %8549, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror(i32 noundef %8550, ptr noundef @.str.4)
  %8552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8553 = load i32, ptr %8552, align 4, !tbaa !5
  %8554 = call ptr @s2n_strerror_debug(i32 noundef %8553, ptr noundef @.str.4)
  %8555 = call ptr @__errno_location() #12
  %8556 = load i32, ptr %8555, align 4, !tbaa !5
  %8557 = call ptr @strerror(i32 noundef %8556) #11
  %8558 = call ptr @__errno_location() #12
  %8559 = load i32, ptr %8558, align 4, !tbaa !5
  %8560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8547, ptr noundef @.str.2, i32 noundef %8548, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8551, ptr noundef %8554, ptr noundef %8557, i32 noundef %8559) #11
  br label %8578

8561:                                             ; preds = %8539, %8532
  %8562 = load i32, ptr %163, align 4, !tbaa !5
  %8563 = call ptr @__errno_location() #12
  store i32 %8562, ptr %8563, align 4, !tbaa !5
  %8564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8565 = load i32, ptr @test_count, align 4, !tbaa !5
  %8566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8567 = load i32, ptr %8566, align 4, !tbaa !5
  %8568 = call ptr @s2n_strerror(i32 noundef %8567, ptr noundef @.str.4)
  %8569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef @.str.4)
  %8572 = call ptr @__errno_location() #12
  %8573 = load i32, ptr %8572, align 4, !tbaa !5
  %8574 = call ptr @strerror(i32 noundef %8573) #11
  %8575 = call ptr @__errno_location() #12
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  %8577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8564, ptr noundef @.str.5, i32 noundef %8565, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8568, ptr noundef %8571, ptr noundef %8574, i32 noundef %8576) #11
  br label %8578

8578:                                             ; preds = %8561, %8544
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8579

8579:                                             ; preds = %8578
  br label %8580

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

8581:                                             ; No predecessors!
  br label %8582

8582:                                             ; preds = %8581
  br label %8583

8583:                                             ; preds = %8582, %8524
  br label %8584

8584:                                             ; preds = %8583
  br label %8585

8585:                                             ; preds = %8584
  br label %8586

8586:                                             ; preds = %8585
  %8587 = load i32, ptr @test_count, align 4, !tbaa !5
  %8588 = add nsw i32 %8587, 1
  store i32 %8588, ptr @test_count, align 4, !tbaa !5
  %8589 = load ptr, ptr %89, align 8, !tbaa !9
  %8590 = call i32 @s2n_connection_wipe(ptr noundef %8589)
  %8591 = icmp eq i32 %8590, -1
  br i1 %8591, label %8592, label %8645

8592:                                             ; preds = %8586
  br label %8593

8593:                                             ; preds = %8592
  br label %8594

8594:                                             ; preds = %8593
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8595 = call ptr @__errno_location() #12
  %8596 = load i32, ptr %8595, align 4, !tbaa !5
  store i32 %8596, ptr %164, align 4, !tbaa !5
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @s2n_print_stacktrace(ptr noundef %8597)
  %8599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8600 = trunc i8 %8599 to i1
  br i1 %8600, label %8601, label %8623

8601:                                             ; preds = %8594
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = call i32 @fileno(ptr noundef %8602) #11
  %8604 = call i32 @isatty(i32 noundef %8603) #11
  %8605 = icmp ne i32 %8604, 0
  br i1 %8605, label %8606, label %8623

8606:                                             ; preds = %8601
  %8607 = load i32, ptr %164, align 4, !tbaa !5
  %8608 = call ptr @__errno_location() #12
  store i32 %8607, ptr %8608, align 4, !tbaa !5
  %8609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8610 = load i32, ptr @test_count, align 4, !tbaa !5
  %8611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8612 = load i32, ptr %8611, align 4, !tbaa !5
  %8613 = call ptr @s2n_strerror(i32 noundef %8612, ptr noundef @.str.4)
  %8614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8615 = load i32, ptr %8614, align 4, !tbaa !5
  %8616 = call ptr @s2n_strerror_debug(i32 noundef %8615, ptr noundef @.str.4)
  %8617 = call ptr @__errno_location() #12
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = call ptr @strerror(i32 noundef %8618) #11
  %8620 = call ptr @__errno_location() #12
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  %8622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8609, ptr noundef @.str.2, i32 noundef %8610, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8613, ptr noundef %8616, ptr noundef %8619, i32 noundef %8621) #11
  br label %8640

8623:                                             ; preds = %8601, %8594
  %8624 = load i32, ptr %164, align 4, !tbaa !5
  %8625 = call ptr @__errno_location() #12
  store i32 %8624, ptr %8625, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @s2n_strerror(i32 noundef %8629, ptr noundef @.str.4)
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = call ptr @__errno_location() #12
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #11
  %8637 = call ptr @__errno_location() #12
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef @.str.5, i32 noundef %8627, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8630, ptr noundef %8633, ptr noundef %8636, i32 noundef %8638) #11
  br label %8640

8640:                                             ; preds = %8623, %8606
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8641

8641:                                             ; preds = %8640
  br label %8642

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

8643:                                             ; No predecessors!
  br label %8644

8644:                                             ; preds = %8643
  br label %8645

8645:                                             ; preds = %8644, %8586
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

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

8648:                                             ; preds = %8647
  %8649 = load i32, ptr @test_count, align 4, !tbaa !5
  %8650 = add nsw i32 %8649, 1
  store i32 %8650, ptr @test_count, align 4, !tbaa !5
  %8651 = load ptr, ptr %89, align 8, !tbaa !9
  %8652 = load ptr, ptr %96, align 8, !tbaa !9
  %8653 = call i32 @s2n_connection_set_config(ptr noundef %8651, ptr noundef %8652)
  %8654 = icmp eq i32 %8653, -1
  br i1 %8654, label %8655, label %8708

8655:                                             ; preds = %8648
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

8657:                                             ; preds = %8656
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %8658 = call ptr @__errno_location() #12
  %8659 = load i32, ptr %8658, align 4, !tbaa !5
  store i32 %8659, ptr %165, align 4, !tbaa !5
  %8660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8661 = call i32 @s2n_print_stacktrace(ptr noundef %8660)
  %8662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8663 = trunc i8 %8662 to i1
  br i1 %8663, label %8664, label %8686

8664:                                             ; preds = %8657
  %8665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8666 = call i32 @fileno(ptr noundef %8665) #11
  %8667 = call i32 @isatty(i32 noundef %8666) #11
  %8668 = icmp ne i32 %8667, 0
  br i1 %8668, label %8669, label %8686

8669:                                             ; preds = %8664
  %8670 = load i32, ptr %165, align 4, !tbaa !5
  %8671 = call ptr @__errno_location() #12
  store i32 %8670, ptr %8671, align 4, !tbaa !5
  %8672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8673 = load i32, ptr @test_count, align 4, !tbaa !5
  %8674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror(i32 noundef %8675, ptr noundef @.str.4)
  %8677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8678 = load i32, ptr %8677, align 4, !tbaa !5
  %8679 = call ptr @s2n_strerror_debug(i32 noundef %8678, ptr noundef @.str.4)
  %8680 = call ptr @__errno_location() #12
  %8681 = load i32, ptr %8680, align 4, !tbaa !5
  %8682 = call ptr @strerror(i32 noundef %8681) #11
  %8683 = call ptr @__errno_location() #12
  %8684 = load i32, ptr %8683, align 4, !tbaa !5
  %8685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8672, ptr noundef @.str.2, i32 noundef %8673, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 346, ptr noundef %8676, ptr noundef %8679, ptr noundef %8682, i32 noundef %8684) #11
  br label %8703

8686:                                             ; preds = %8664, %8657
  %8687 = load i32, ptr %165, align 4, !tbaa !5
  %8688 = call ptr @__errno_location() #12
  store i32 %8687, ptr %8688, align 4, !tbaa !5
  %8689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8690 = load i32, ptr @test_count, align 4, !tbaa !5
  %8691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror(i32 noundef %8692, ptr noundef @.str.4)
  %8694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @s2n_strerror_debug(i32 noundef %8695, ptr noundef @.str.4)
  %8697 = call ptr @__errno_location() #12
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call ptr @strerror(i32 noundef %8698) #11
  %8700 = call ptr @__errno_location() #12
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8689, ptr noundef @.str.5, i32 noundef %8690, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 346, ptr noundef %8693, ptr noundef %8696, ptr noundef %8699, i32 noundef %8701) #11
  br label %8703

8703:                                             ; preds = %8686, %8669
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %8704

8704:                                             ; preds = %8703
  br label %8705

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

8706:                                             ; No predecessors!
  br label %8707

8707:                                             ; preds = %8706
  br label %8708

8708:                                             ; preds = %8707, %8648
  br label %8709

8709:                                             ; preds = %8708
  br label %8710

8710:                                             ; preds = %8709
  br label %8711

8711:                                             ; preds = %8710
  %8712 = load i32, ptr @test_count, align 4, !tbaa !5
  %8713 = add nsw i32 %8712, 1
  store i32 %8713, ptr @test_count, align 4, !tbaa !5
  %8714 = load ptr, ptr %89, align 8, !tbaa !9
  %8715 = getelementptr inbounds %struct.s2n_connection, ptr %8714, i32 0, i32 72
  %8716 = getelementptr inbounds %struct.s2n_x509_validator, ptr %8715, i32 0, i32 2
  %8717 = load i8, ptr %8716, align 8, !tbaa !37
  %8718 = zext i8 %8717 to i32
  %8719 = icmp eq i32 %8718, 1
  br i1 %8719, label %8773, label %8720

8720:                                             ; preds = %8711
  br label %8721

8721:                                             ; preds = %8720
  br label %8722

8722:                                             ; preds = %8721
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %8723 = call ptr @__errno_location() #12
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  store i32 %8724, ptr %166, align 4, !tbaa !5
  %8725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8726 = call i32 @s2n_print_stacktrace(ptr noundef %8725)
  %8727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8728 = trunc i8 %8727 to i1
  br i1 %8728, label %8729, label %8751

8729:                                             ; preds = %8722
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = call i32 @fileno(ptr noundef %8730) #11
  %8732 = call i32 @isatty(i32 noundef %8731) #11
  %8733 = icmp ne i32 %8732, 0
  br i1 %8733, label %8734, label %8751

8734:                                             ; preds = %8729
  %8735 = load i32, ptr %166, align 4, !tbaa !5
  %8736 = call ptr @__errno_location() #12
  store i32 %8735, ptr %8736, align 4, !tbaa !5
  %8737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8740 = load i32, ptr %8739, align 4, !tbaa !5
  %8741 = call ptr @s2n_strerror(i32 noundef %8740, ptr noundef @.str.4)
  %8742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8743 = load i32, ptr %8742, align 4, !tbaa !5
  %8744 = call ptr @s2n_strerror_debug(i32 noundef %8743, ptr noundef @.str.4)
  %8745 = call ptr @__errno_location() #12
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  %8747 = call ptr @strerror(i32 noundef %8746) #11
  %8748 = call ptr @__errno_location() #12
  %8749 = load i32, ptr %8748, align 4, !tbaa !5
  %8750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8737, ptr noundef @.str.2, i32 noundef %8738, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 347, ptr noundef %8741, ptr noundef %8744, ptr noundef %8747, i32 noundef %8749) #11
  br label %8768

8751:                                             ; preds = %8729, %8722
  %8752 = load i32, ptr %166, align 4, !tbaa !5
  %8753 = call ptr @__errno_location() #12
  store i32 %8752, ptr %8753, align 4, !tbaa !5
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = load i32, ptr @test_count, align 4, !tbaa !5
  %8756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8757 = load i32, ptr %8756, align 4, !tbaa !5
  %8758 = call ptr @s2n_strerror(i32 noundef %8757, ptr noundef @.str.4)
  %8759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8760 = load i32, ptr %8759, align 4, !tbaa !5
  %8761 = call ptr @s2n_strerror_debug(i32 noundef %8760, ptr noundef @.str.4)
  %8762 = call ptr @__errno_location() #12
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  %8764 = call ptr @strerror(i32 noundef %8763) #11
  %8765 = call ptr @__errno_location() #12
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8754, ptr noundef @.str.5, i32 noundef %8755, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 347, ptr noundef %8758, ptr noundef %8761, ptr noundef %8764, i32 noundef %8766) #11
  br label %8768

8768:                                             ; preds = %8751, %8734
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8769

8769:                                             ; preds = %8768
  br label %8770

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

8771:                                             ; No predecessors!
  br label %8772

8772:                                             ; preds = %8771
  br label %8773

8773:                                             ; preds = %8772, %8711
  br label %8774

8774:                                             ; preds = %8773
  br label %8775

8775:                                             ; preds = %8774
  br label %8776

8776:                                             ; preds = %8775
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = add nsw i32 %8777, 1
  store i32 %8778, ptr @test_count, align 4, !tbaa !5
  %8779 = load ptr, ptr %88, align 8, !tbaa !9
  %8780 = load ptr, ptr %106, align 8, !tbaa !9
  %8781 = call i32 @s2n_connection_set_config(ptr noundef %8779, ptr noundef %8780)
  %8782 = icmp eq i32 %8781, -1
  br i1 %8782, label %8783, label %8836

8783:                                             ; preds = %8776
  br label %8784

8784:                                             ; preds = %8783
  br label %8785

8785:                                             ; preds = %8784
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8786 = call ptr @__errno_location() #12
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  store i32 %8787, ptr %167, align 4, !tbaa !5
  %8788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8789 = call i32 @s2n_print_stacktrace(ptr noundef %8788)
  %8790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8791 = trunc i8 %8790 to i1
  br i1 %8791, label %8792, label %8814

8792:                                             ; preds = %8785
  %8793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8794 = call i32 @fileno(ptr noundef %8793) #11
  %8795 = call i32 @isatty(i32 noundef %8794) #11
  %8796 = icmp ne i32 %8795, 0
  br i1 %8796, label %8797, label %8814

8797:                                             ; preds = %8792
  %8798 = load i32, ptr %167, align 4, !tbaa !5
  %8799 = call ptr @__errno_location() #12
  store i32 %8798, ptr %8799, align 4, !tbaa !5
  %8800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8801 = load i32, ptr @test_count, align 4, !tbaa !5
  %8802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8803 = load i32, ptr %8802, align 4, !tbaa !5
  %8804 = call ptr @s2n_strerror(i32 noundef %8803, ptr noundef @.str.4)
  %8805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8806 = load i32, ptr %8805, align 4, !tbaa !5
  %8807 = call ptr @s2n_strerror_debug(i32 noundef %8806, ptr noundef @.str.4)
  %8808 = call ptr @__errno_location() #12
  %8809 = load i32, ptr %8808, align 4, !tbaa !5
  %8810 = call ptr @strerror(i32 noundef %8809) #11
  %8811 = call ptr @__errno_location() #12
  %8812 = load i32, ptr %8811, align 4, !tbaa !5
  %8813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8800, ptr noundef @.str.2, i32 noundef %8801, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8804, ptr noundef %8807, ptr noundef %8810, i32 noundef %8812) #11
  br label %8831

8814:                                             ; preds = %8792, %8785
  %8815 = load i32, ptr %167, align 4, !tbaa !5
  %8816 = call ptr @__errno_location() #12
  store i32 %8815, ptr %8816, align 4, !tbaa !5
  %8817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8818 = load i32, ptr @test_count, align 4, !tbaa !5
  %8819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8820 = load i32, ptr %8819, align 4, !tbaa !5
  %8821 = call ptr @s2n_strerror(i32 noundef %8820, ptr noundef @.str.4)
  %8822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8823 = load i32, ptr %8822, align 4, !tbaa !5
  %8824 = call ptr @s2n_strerror_debug(i32 noundef %8823, ptr noundef @.str.4)
  %8825 = call ptr @__errno_location() #12
  %8826 = load i32, ptr %8825, align 4, !tbaa !5
  %8827 = call ptr @strerror(i32 noundef %8826) #11
  %8828 = call ptr @__errno_location() #12
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  %8830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8817, ptr noundef @.str.5, i32 noundef %8818, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8821, ptr noundef %8824, ptr noundef %8827, i32 noundef %8829) #11
  br label %8831

8831:                                             ; preds = %8814, %8797
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %8832

8832:                                             ; preds = %8831
  br label %8833

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

8834:                                             ; No predecessors!
  br label %8835

8835:                                             ; preds = %8834
  br label %8836

8836:                                             ; preds = %8835, %8776
  br label %8837

8837:                                             ; preds = %8836
  br label %8838

8838:                                             ; preds = %8837
  br label %8839

8839:                                             ; preds = %8838
  %8840 = load i32, ptr @test_count, align 4, !tbaa !5
  %8841 = add nsw i32 %8840, 1
  store i32 %8841, ptr @test_count, align 4, !tbaa !5
  %8842 = load ptr, ptr %88, align 8, !tbaa !9
  %8843 = getelementptr inbounds %struct.s2n_connection, ptr %8842, i32 0, i32 72
  %8844 = getelementptr inbounds %struct.s2n_x509_validator, ptr %8843, i32 0, i32 2
  %8845 = load i8, ptr %8844, align 8, !tbaa !37
  %8846 = zext i8 %8845 to i32
  %8847 = icmp eq i32 %8846, 0
  br i1 %8847, label %8901, label %8848

8848:                                             ; preds = %8839
  br label %8849

8849:                                             ; preds = %8848
  br label %8850

8850:                                             ; preds = %8849
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8851 = call ptr @__errno_location() #12
  %8852 = load i32, ptr %8851, align 4, !tbaa !5
  store i32 %8852, ptr %168, align 4, !tbaa !5
  %8853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8854 = call i32 @s2n_print_stacktrace(ptr noundef %8853)
  %8855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8856 = trunc i8 %8855 to i1
  br i1 %8856, label %8857, label %8879

8857:                                             ; preds = %8850
  %8858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8859 = call i32 @fileno(ptr noundef %8858) #11
  %8860 = call i32 @isatty(i32 noundef %8859) #11
  %8861 = icmp ne i32 %8860, 0
  br i1 %8861, label %8862, label %8879

8862:                                             ; preds = %8857
  %8863 = load i32, ptr %168, align 4, !tbaa !5
  %8864 = call ptr @__errno_location() #12
  store i32 %8863, ptr %8864, align 4, !tbaa !5
  %8865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8866 = load i32, ptr @test_count, align 4, !tbaa !5
  %8867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8868 = load i32, ptr %8867, align 4, !tbaa !5
  %8869 = call ptr @s2n_strerror(i32 noundef %8868, ptr noundef @.str.4)
  %8870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror_debug(i32 noundef %8871, ptr noundef @.str.4)
  %8873 = call ptr @__errno_location() #12
  %8874 = load i32, ptr %8873, align 4, !tbaa !5
  %8875 = call ptr @strerror(i32 noundef %8874) #11
  %8876 = call ptr @__errno_location() #12
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8865, ptr noundef @.str.2, i32 noundef %8866, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8869, ptr noundef %8872, ptr noundef %8875, i32 noundef %8877) #11
  br label %8896

8879:                                             ; preds = %8857, %8850
  %8880 = load i32, ptr %168, align 4, !tbaa !5
  %8881 = call ptr @__errno_location() #12
  store i32 %8880, ptr %8881, align 4, !tbaa !5
  %8882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8883 = load i32, ptr @test_count, align 4, !tbaa !5
  %8884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8885 = load i32, ptr %8884, align 4, !tbaa !5
  %8886 = call ptr @s2n_strerror(i32 noundef %8885, ptr noundef @.str.4)
  %8887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8888 = load i32, ptr %8887, align 4, !tbaa !5
  %8889 = call ptr @s2n_strerror_debug(i32 noundef %8888, ptr noundef @.str.4)
  %8890 = call ptr @__errno_location() #12
  %8891 = load i32, ptr %8890, align 4, !tbaa !5
  %8892 = call ptr @strerror(i32 noundef %8891) #11
  %8893 = call ptr @__errno_location() #12
  %8894 = load i32, ptr %8893, align 4, !tbaa !5
  %8895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8882, ptr noundef @.str.5, i32 noundef %8883, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8886, ptr noundef %8889, ptr noundef %8892, i32 noundef %8894) #11
  br label %8896

8896:                                             ; preds = %8879, %8862
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8897

8897:                                             ; preds = %8896
  br label %8898

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

8899:                                             ; No predecessors!
  br label %8900

8900:                                             ; preds = %8899
  br label %8901

8901:                                             ; preds = %8900, %8839
  br label %8902

8902:                                             ; preds = %8901
  br label %8903

8903:                                             ; preds = %8902
  br label %8904

8904:                                             ; preds = %8903
  %8905 = load i32, ptr @test_count, align 4, !tbaa !5
  %8906 = add nsw i32 %8905, 1
  store i32 %8906, ptr @test_count, align 4, !tbaa !5
  %8907 = load ptr, ptr %88, align 8, !tbaa !9
  %8908 = load ptr, ptr %89, align 8, !tbaa !9
  %8909 = call i32 @s2n_connections_set_io_pair(ptr noundef %8907, ptr noundef %8908, ptr noundef %92)
  %8910 = icmp eq i32 %8909, -1
  br i1 %8910, label %8911, label %8964

8911:                                             ; preds = %8904
  br label %8912

8912:                                             ; preds = %8911
  br label %8913

8913:                                             ; preds = %8912
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8914 = call ptr @__errno_location() #12
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  store i32 %8915, ptr %169, align 4, !tbaa !5
  %8916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8917 = call i32 @s2n_print_stacktrace(ptr noundef %8916)
  %8918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8919 = trunc i8 %8918 to i1
  br i1 %8919, label %8920, label %8942

8920:                                             ; preds = %8913
  %8921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8922 = call i32 @fileno(ptr noundef %8921) #11
  %8923 = call i32 @isatty(i32 noundef %8922) #11
  %8924 = icmp ne i32 %8923, 0
  br i1 %8924, label %8925, label %8942

8925:                                             ; preds = %8920
  %8926 = load i32, ptr %169, align 4, !tbaa !5
  %8927 = call ptr @__errno_location() #12
  store i32 %8926, ptr %8927, align 4, !tbaa !5
  %8928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8929 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8931, ptr noundef @.str.4)
  %8933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call ptr @s2n_strerror_debug(i32 noundef %8934, ptr noundef @.str.4)
  %8936 = call ptr @__errno_location() #12
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @strerror(i32 noundef %8937) #11
  %8939 = call ptr @__errno_location() #12
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8928, ptr noundef @.str.2, i32 noundef %8929, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8932, ptr noundef %8935, ptr noundef %8938, i32 noundef %8940) #11
  br label %8959

8942:                                             ; preds = %8920, %8913
  %8943 = load i32, ptr %169, align 4, !tbaa !5
  %8944 = call ptr @__errno_location() #12
  store i32 %8943, ptr %8944, align 4, !tbaa !5
  %8945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8946 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8948, ptr noundef @.str.4)
  %8950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8951 = load i32, ptr %8950, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror_debug(i32 noundef %8951, ptr noundef @.str.4)
  %8953 = call ptr @__errno_location() #12
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @strerror(i32 noundef %8954) #11
  %8956 = call ptr @__errno_location() #12
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8945, ptr noundef @.str.5, i32 noundef %8946, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8949, ptr noundef %8952, ptr noundef %8955, i32 noundef %8957) #11
  br label %8959

8959:                                             ; preds = %8942, %8925
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8960

8960:                                             ; preds = %8959
  br label %8961

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

8962:                                             ; No predecessors!
  br label %8963

8963:                                             ; preds = %8962
  br label %8964

8964:                                             ; preds = %8963, %8904
  br label %8965

8965:                                             ; preds = %8964
  br label %8966

8966:                                             ; preds = %8965
  br label %8967

8967:                                             ; preds = %8966
  %8968 = load i32, ptr @test_count, align 4, !tbaa !5
  %8969 = add nsw i32 %8968, 1
  store i32 %8969, ptr @test_count, align 4, !tbaa !5
  %8970 = load ptr, ptr %89, align 8, !tbaa !9
  %8971 = load ptr, ptr %88, align 8, !tbaa !9
  %8972 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8970, ptr noundef %8971)
  %8973 = icmp eq i32 %8972, -1
  br i1 %8973, label %8974, label %9027

8974:                                             ; preds = %8967
  br label %8975

8975:                                             ; preds = %8974
  br label %8976

8976:                                             ; preds = %8975
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8977 = call ptr @__errno_location() #12
  %8978 = load i32, ptr %8977, align 4, !tbaa !5
  store i32 %8978, ptr %170, align 4, !tbaa !5
  %8979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8980 = call i32 @s2n_print_stacktrace(ptr noundef %8979)
  %8981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8982 = trunc i8 %8981 to i1
  br i1 %8982, label %8983, label %9005

8983:                                             ; preds = %8976
  %8984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8985 = call i32 @fileno(ptr noundef %8984) #11
  %8986 = call i32 @isatty(i32 noundef %8985) #11
  %8987 = icmp ne i32 %8986, 0
  br i1 %8987, label %8988, label %9005

8988:                                             ; preds = %8983
  %8989 = load i32, ptr %170, align 4, !tbaa !5
  %8990 = call ptr @__errno_location() #12
  store i32 %8989, ptr %8990, align 4, !tbaa !5
  %8991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8992 = load i32, ptr @test_count, align 4, !tbaa !5
  %8993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8994 = load i32, ptr %8993, align 4, !tbaa !5
  %8995 = call ptr @s2n_strerror(i32 noundef %8994, ptr noundef @.str.4)
  %8996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8997 = load i32, ptr %8996, align 4, !tbaa !5
  %8998 = call ptr @s2n_strerror_debug(i32 noundef %8997, ptr noundef @.str.4)
  %8999 = call ptr @__errno_location() #12
  %9000 = load i32, ptr %8999, align 4, !tbaa !5
  %9001 = call ptr @strerror(i32 noundef %9000) #11
  %9002 = call ptr @__errno_location() #12
  %9003 = load i32, ptr %9002, align 4, !tbaa !5
  %9004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8991, ptr noundef @.str.2, i32 noundef %8992, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 355, ptr noundef %8995, ptr noundef %8998, ptr noundef %9001, i32 noundef %9003) #11
  br label %9022

9005:                                             ; preds = %8983, %8976
  %9006 = load i32, ptr %170, align 4, !tbaa !5
  %9007 = call ptr @__errno_location() #12
  store i32 %9006, ptr %9007, align 4, !tbaa !5
  %9008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9009 = load i32, ptr @test_count, align 4, !tbaa !5
  %9010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9011 = load i32, ptr %9010, align 4, !tbaa !5
  %9012 = call ptr @s2n_strerror(i32 noundef %9011, ptr noundef @.str.4)
  %9013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9014 = load i32, ptr %9013, align 4, !tbaa !5
  %9015 = call ptr @s2n_strerror_debug(i32 noundef %9014, ptr noundef @.str.4)
  %9016 = call ptr @__errno_location() #12
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @strerror(i32 noundef %9017) #11
  %9019 = call ptr @__errno_location() #12
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9008, ptr noundef @.str.5, i32 noundef %9009, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 355, ptr noundef %9012, ptr noundef %9015, ptr noundef %9018, i32 noundef %9020) #11
  br label %9022

9022:                                             ; preds = %9005, %8988
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %9023

9023:                                             ; preds = %9022
  br label %9024

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

9025:                                             ; No predecessors!
  br label %9026

9026:                                             ; preds = %9025
  br label %9027

9027:                                             ; preds = %9026, %8967
  br label %9028

9028:                                             ; preds = %9027
  br label %9029

9029:                                             ; preds = %9028
  br label %9030

9030:                                             ; preds = %9029
  %9031 = load i32, ptr @test_count, align 4, !tbaa !5
  %9032 = add nsw i32 %9031, 1
  store i32 %9032, ptr @test_count, align 4, !tbaa !5
  %9033 = load ptr, ptr %88, align 8, !tbaa !9
  %9034 = getelementptr inbounds %struct.s2n_connection, ptr %9033, i32 0, i32 72
  %9035 = getelementptr inbounds %struct.s2n_x509_validator, ptr %9034, i32 0, i32 6
  %9036 = load i32, ptr %9035, align 8, !tbaa !61
  %9037 = icmp eq i32 %9036, 4
  br i1 %9037, label %9091, label %9038

9038:                                             ; preds = %9030
  br label %9039

9039:                                             ; preds = %9038
  br label %9040

9040:                                             ; preds = %9039
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %9041 = call ptr @__errno_location() #12
  %9042 = load i32, ptr %9041, align 4, !tbaa !5
  store i32 %9042, ptr %171, align 4, !tbaa !5
  %9043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9044 = call i32 @s2n_print_stacktrace(ptr noundef %9043)
  %9045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9046 = trunc i8 %9045 to i1
  br i1 %9046, label %9047, label %9069

9047:                                             ; preds = %9040
  %9048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9049 = call i32 @fileno(ptr noundef %9048) #11
  %9050 = call i32 @isatty(i32 noundef %9049) #11
  %9051 = icmp ne i32 %9050, 0
  br i1 %9051, label %9052, label %9069

9052:                                             ; preds = %9047
  %9053 = load i32, ptr %171, align 4, !tbaa !5
  %9054 = call ptr @__errno_location() #12
  store i32 %9053, ptr %9054, align 4, !tbaa !5
  %9055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9056 = load i32, ptr @test_count, align 4, !tbaa !5
  %9057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9058 = load i32, ptr %9057, align 4, !tbaa !5
  %9059 = call ptr @s2n_strerror(i32 noundef %9058, ptr noundef @.str.4)
  %9060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror_debug(i32 noundef %9061, ptr noundef @.str.4)
  %9063 = call ptr @__errno_location() #12
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call ptr @strerror(i32 noundef %9064) #11
  %9066 = call ptr @__errno_location() #12
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9055, ptr noundef @.str.2, i32 noundef %9056, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9059, ptr noundef %9062, ptr noundef %9065, i32 noundef %9067) #11
  br label %9086

9069:                                             ; preds = %9047, %9040
  %9070 = load i32, ptr %171, align 4, !tbaa !5
  %9071 = call ptr @__errno_location() #12
  store i32 %9070, ptr %9071, align 4, !tbaa !5
  %9072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9073 = load i32, ptr @test_count, align 4, !tbaa !5
  %9074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @s2n_strerror(i32 noundef %9075, ptr noundef @.str.4)
  %9077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @s2n_strerror_debug(i32 noundef %9078, ptr noundef @.str.4)
  %9080 = call ptr @__errno_location() #12
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call ptr @strerror(i32 noundef %9081) #11
  %9083 = call ptr @__errno_location() #12
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9072, ptr noundef @.str.5, i32 noundef %9073, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9076, ptr noundef %9079, ptr noundef %9082, i32 noundef %9084) #11
  br label %9086

9086:                                             ; preds = %9069, %9052
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %9087

9087:                                             ; preds = %9086
  br label %9088

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

9089:                                             ; No predecessors!
  br label %9090

9090:                                             ; preds = %9089
  br label %9091

9091:                                             ; preds = %9090, %9030
  br label %9092

9092:                                             ; preds = %9091
  br label %9093

9093:                                             ; preds = %9092
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #11
  %9094 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %9094, ptr %172, align 8, !tbaa !9
  br label %9095

9095:                                             ; preds = %9093
  %9096 = load i32, ptr @test_count, align 4, !tbaa !5
  %9097 = add nsw i32 %9096, 1
  store i32 %9097, ptr @test_count, align 4, !tbaa !5
  %9098 = load ptr, ptr %172, align 8, !tbaa !9
  %9099 = icmp eq ptr %9098, null
  br i1 %9099, label %9100, label %9153

9100:                                             ; preds = %9095
  br label %9101

9101:                                             ; preds = %9100
  br label %9102

9102:                                             ; preds = %9101
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %9103 = call ptr @__errno_location() #12
  %9104 = load i32, ptr %9103, align 4, !tbaa !5
  store i32 %9104, ptr %173, align 4, !tbaa !5
  %9105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9106 = call i32 @s2n_print_stacktrace(ptr noundef %9105)
  %9107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9108 = trunc i8 %9107 to i1
  br i1 %9108, label %9109, label %9131

9109:                                             ; preds = %9102
  %9110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9111 = call i32 @fileno(ptr noundef %9110) #11
  %9112 = call i32 @isatty(i32 noundef %9111) #11
  %9113 = icmp ne i32 %9112, 0
  br i1 %9113, label %9114, label %9131

9114:                                             ; preds = %9109
  %9115 = load i32, ptr %173, align 4, !tbaa !5
  %9116 = call ptr @__errno_location() #12
  store i32 %9115, ptr %9116, align 4, !tbaa !5
  %9117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9118 = load i32, ptr @test_count, align 4, !tbaa !5
  %9119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9120 = load i32, ptr %9119, align 4, !tbaa !5
  %9121 = call ptr @s2n_strerror(i32 noundef %9120, ptr noundef @.str.4)
  %9122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9123 = load i32, ptr %9122, align 4, !tbaa !5
  %9124 = call ptr @s2n_strerror_debug(i32 noundef %9123, ptr noundef @.str.4)
  %9125 = call ptr @__errno_location() #12
  %9126 = load i32, ptr %9125, align 4, !tbaa !5
  %9127 = call ptr @strerror(i32 noundef %9126) #11
  %9128 = call ptr @__errno_location() #12
  %9129 = load i32, ptr %9128, align 4, !tbaa !5
  %9130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9117, ptr noundef @.str.2, i32 noundef %9118, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9121, ptr noundef %9124, ptr noundef %9127, i32 noundef %9129) #11
  br label %9148

9131:                                             ; preds = %9109, %9102
  %9132 = load i32, ptr %173, align 4, !tbaa !5
  %9133 = call ptr @__errno_location() #12
  store i32 %9132, ptr %9133, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = load i32, ptr @test_count, align 4, !tbaa !5
  %9136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9137 = load i32, ptr %9136, align 4, !tbaa !5
  %9138 = call ptr @s2n_strerror(i32 noundef %9137, ptr noundef @.str.4)
  %9139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9140 = load i32, ptr %9139, align 4, !tbaa !5
  %9141 = call ptr @s2n_strerror_debug(i32 noundef %9140, ptr noundef @.str.4)
  %9142 = call ptr @__errno_location() #12
  %9143 = load i32, ptr %9142, align 4, !tbaa !5
  %9144 = call ptr @strerror(i32 noundef %9143) #11
  %9145 = call ptr @__errno_location() #12
  %9146 = load i32, ptr %9145, align 4, !tbaa !5
  %9147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9134, ptr noundef @.str.5, i32 noundef %9135, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9138, ptr noundef %9141, ptr noundef %9144, i32 noundef %9146) #11
  br label %9148

9148:                                             ; preds = %9131, %9114
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %9149

9149:                                             ; preds = %9148
  br label %9150

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

9151:                                             ; No predecessors!
  br label %9152

9152:                                             ; preds = %9151
  br label %9153

9153:                                             ; preds = %9152, %9095
  br label %9154

9154:                                             ; preds = %9153
  br label %9155

9155:                                             ; preds = %9154
  br label %9156

9156:                                             ; preds = %9155
  %9157 = load i32, ptr @test_count, align 4, !tbaa !5
  %9158 = add nsw i32 %9157, 1
  store i32 %9158, ptr @test_count, align 4, !tbaa !5
  %9159 = load ptr, ptr %88, align 8, !tbaa !9
  %9160 = load ptr, ptr %172, align 8, !tbaa !9
  %9161 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %9159, ptr noundef %9160)
  %9162 = icmp eq i32 %9161, -1
  br i1 %9162, label %9163, label %9216

9163:                                             ; preds = %9156
  br label %9164

9164:                                             ; preds = %9163
  br label %9165

9165:                                             ; preds = %9164
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %9166 = call ptr @__errno_location() #12
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  store i32 %9167, ptr %174, align 4, !tbaa !5
  %9168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9169 = call i32 @s2n_print_stacktrace(ptr noundef %9168)
  %9170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9171 = trunc i8 %9170 to i1
  br i1 %9171, label %9172, label %9194

9172:                                             ; preds = %9165
  %9173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9174 = call i32 @fileno(ptr noundef %9173) #11
  %9175 = call i32 @isatty(i32 noundef %9174) #11
  %9176 = icmp ne i32 %9175, 0
  br i1 %9176, label %9177, label %9194

9177:                                             ; preds = %9172
  %9178 = load i32, ptr %174, align 4, !tbaa !5
  %9179 = call ptr @__errno_location() #12
  store i32 %9178, ptr %9179, align 4, !tbaa !5
  %9180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9181 = load i32, ptr @test_count, align 4, !tbaa !5
  %9182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9183 = load i32, ptr %9182, align 4, !tbaa !5
  %9184 = call ptr @s2n_strerror(i32 noundef %9183, ptr noundef @.str.4)
  %9185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9186 = load i32, ptr %9185, align 4, !tbaa !5
  %9187 = call ptr @s2n_strerror_debug(i32 noundef %9186, ptr noundef @.str.4)
  %9188 = call ptr @__errno_location() #12
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @strerror(i32 noundef %9189) #11
  %9191 = call ptr @__errno_location() #12
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9180, ptr noundef @.str.2, i32 noundef %9181, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9184, ptr noundef %9187, ptr noundef %9190, i32 noundef %9192) #11
  br label %9211

9194:                                             ; preds = %9172, %9165
  %9195 = load i32, ptr %174, align 4, !tbaa !5
  %9196 = call ptr @__errno_location() #12
  store i32 %9195, ptr %9196, align 4, !tbaa !5
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9200, ptr noundef @.str.4)
  %9202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call ptr @s2n_strerror_debug(i32 noundef %9203, ptr noundef @.str.4)
  %9205 = call ptr @__errno_location() #12
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call ptr @strerror(i32 noundef %9206) #11
  %9208 = call ptr @__errno_location() #12
  %9209 = load i32, ptr %9208, align 4, !tbaa !5
  %9210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9197, ptr noundef @.str.5, i32 noundef %9198, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9201, ptr noundef %9204, ptr noundef %9207, i32 noundef %9209) #11
  br label %9211

9211:                                             ; preds = %9194, %9177
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %9212

9212:                                             ; preds = %9211
  br label %9213

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

9214:                                             ; No predecessors!
  br label %9215

9215:                                             ; preds = %9214
  br label %9216

9216:                                             ; preds = %9215, %9156
  br label %9217

9217:                                             ; preds = %9216
  br label %9218

9218:                                             ; preds = %9217
  br label %9219

9219:                                             ; preds = %9218
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = add nsw i32 %9220, 1
  store i32 %9221, ptr @test_count, align 4, !tbaa !5
  %9222 = load ptr, ptr %88, align 8, !tbaa !9
  %9223 = load ptr, ptr %172, align 8, !tbaa !9
  %9224 = call i32 @s2n_compare_cert_chain(ptr noundef %9222, ptr noundef %9223)
  %9225 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  store i32 %9224, ptr %9225, align 4
  %9226 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  %9227 = load i32, ptr %9226, align 4
  %9228 = call zeroext i1 @s2n_result_is_ok(i32 %9227)
  br i1 %9228, label %9282, label %9229

9229:                                             ; preds = %9219
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

9231:                                             ; preds = %9230
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %9232 = call ptr @__errno_location() #12
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  store i32 %9233, ptr %176, align 4, !tbaa !5
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = call i32 @s2n_print_stacktrace(ptr noundef %9234)
  %9236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9237 = trunc i8 %9236 to i1
  br i1 %9237, label %9238, label %9260

9238:                                             ; preds = %9231
  %9239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9240 = call i32 @fileno(ptr noundef %9239) #11
  %9241 = call i32 @isatty(i32 noundef %9240) #11
  %9242 = icmp ne i32 %9241, 0
  br i1 %9242, label %9243, label %9260

9243:                                             ; preds = %9238
  %9244 = load i32, ptr %176, align 4, !tbaa !5
  %9245 = call ptr @__errno_location() #12
  store i32 %9244, ptr %9245, align 4, !tbaa !5
  %9246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9247 = load i32, ptr @test_count, align 4, !tbaa !5
  %9248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9249 = load i32, ptr %9248, align 4, !tbaa !5
  %9250 = call ptr @s2n_strerror(i32 noundef %9249, ptr noundef @.str.4)
  %9251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9252 = load i32, ptr %9251, align 4, !tbaa !5
  %9253 = call ptr @s2n_strerror_debug(i32 noundef %9252, ptr noundef @.str.4)
  %9254 = call ptr @__errno_location() #12
  %9255 = load i32, ptr %9254, align 4, !tbaa !5
  %9256 = call ptr @strerror(i32 noundef %9255) #11
  %9257 = call ptr @__errno_location() #12
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9246, ptr noundef @.str.2, i32 noundef %9247, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 363, ptr noundef %9250, ptr noundef %9253, ptr noundef %9256, i32 noundef %9258) #11
  br label %9277

9260:                                             ; preds = %9238, %9231
  %9261 = load i32, ptr %176, align 4, !tbaa !5
  %9262 = call ptr @__errno_location() #12
  store i32 %9261, ptr %9262, align 4, !tbaa !5
  %9263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9264 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9266, ptr noundef @.str.4)
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror_debug(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call ptr @__errno_location() #12
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @strerror(i32 noundef %9272) #11
  %9274 = call ptr @__errno_location() #12
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9263, ptr noundef @.str.5, i32 noundef %9264, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 363, ptr noundef %9267, ptr noundef %9270, ptr noundef %9273, i32 noundef %9275) #11
  br label %9277

9277:                                             ; preds = %9260, %9243
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %9278

9278:                                             ; preds = %9277
  br label %9279

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

9280:                                             ; No predecessors!
  br label %9281

9281:                                             ; preds = %9280
  br label %9282

9282:                                             ; preds = %9281, %9219
  br label %9283

9283:                                             ; preds = %9282
  br label %9284

9284:                                             ; preds = %9283
  br label %9285

9285:                                             ; preds = %9284
  %9286 = load i32, ptr @test_count, align 4, !tbaa !5
  %9287 = add nsw i32 %9286, 1
  store i32 %9287, ptr @test_count, align 4, !tbaa !5
  %9288 = load ptr, ptr %89, align 8, !tbaa !9
  %9289 = load ptr, ptr %88, align 8, !tbaa !9
  %9290 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %9288, ptr noundef %9289)
  %9291 = icmp eq i32 %9290, -1
  br i1 %9291, label %9292, label %9345

9292:                                             ; preds = %9285
  br label %9293

9293:                                             ; preds = %9292
  br label %9294

9294:                                             ; preds = %9293
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %9295 = call ptr @__errno_location() #12
  %9296 = load i32, ptr %9295, align 4, !tbaa !5
  store i32 %9296, ptr %177, align 4, !tbaa !5
  %9297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9298 = call i32 @s2n_print_stacktrace(ptr noundef %9297)
  %9299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9300 = trunc i8 %9299 to i1
  br i1 %9300, label %9301, label %9323

9301:                                             ; preds = %9294
  %9302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9303 = call i32 @fileno(ptr noundef %9302) #11
  %9304 = call i32 @isatty(i32 noundef %9303) #11
  %9305 = icmp ne i32 %9304, 0
  br i1 %9305, label %9306, label %9323

9306:                                             ; preds = %9301
  %9307 = load i32, ptr %177, align 4, !tbaa !5
  %9308 = call ptr @__errno_location() #12
  store i32 %9307, ptr %9308, align 4, !tbaa !5
  %9309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9310 = load i32, ptr @test_count, align 4, !tbaa !5
  %9311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  %9313 = call ptr @s2n_strerror(i32 noundef %9312, ptr noundef @.str.4)
  %9314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  %9316 = call ptr @s2n_strerror_debug(i32 noundef %9315, ptr noundef @.str.4)
  %9317 = call ptr @__errno_location() #12
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call ptr @strerror(i32 noundef %9318) #11
  %9320 = call ptr @__errno_location() #12
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9309, ptr noundef @.str.2, i32 noundef %9310, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9313, ptr noundef %9316, ptr noundef %9319, i32 noundef %9321) #11
  br label %9340

9323:                                             ; preds = %9301, %9294
  %9324 = load i32, ptr %177, align 4, !tbaa !5
  %9325 = call ptr @__errno_location() #12
  store i32 %9324, ptr %9325, align 4, !tbaa !5
  %9326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9327 = load i32, ptr @test_count, align 4, !tbaa !5
  %9328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9329 = load i32, ptr %9328, align 4, !tbaa !5
  %9330 = call ptr @s2n_strerror(i32 noundef %9329, ptr noundef @.str.4)
  %9331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9332 = load i32, ptr %9331, align 4, !tbaa !5
  %9333 = call ptr @s2n_strerror_debug(i32 noundef %9332, ptr noundef @.str.4)
  %9334 = call ptr @__errno_location() #12
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  %9336 = call ptr @strerror(i32 noundef %9335) #11
  %9337 = call ptr @__errno_location() #12
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9326, ptr noundef @.str.5, i32 noundef %9327, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9330, ptr noundef %9333, ptr noundef %9336, i32 noundef %9338) #11
  br label %9340

9340:                                             ; preds = %9323, %9306
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %9341

9341:                                             ; preds = %9340
  br label %9342

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

9343:                                             ; No predecessors!
  br label %9344

9344:                                             ; preds = %9343
  br label %9345

9345:                                             ; preds = %9344, %9285
  br label %9346

9346:                                             ; preds = %9345
  br label %9347

9347:                                             ; preds = %9346
  br label %9348

9348:                                             ; preds = %9347
  %9349 = load i32, ptr @test_count, align 4, !tbaa !5
  %9350 = add nsw i32 %9349, 1
  store i32 %9350, ptr @test_count, align 4, !tbaa !5
  %9351 = load ptr, ptr %172, align 8, !tbaa !9
  %9352 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %9351)
  %9353 = icmp eq i32 %9352, -1
  br i1 %9353, label %9354, label %9407

9354:                                             ; preds = %9348
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

9356:                                             ; preds = %9355
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9357 = call ptr @__errno_location() #12
  %9358 = load i32, ptr %9357, align 4, !tbaa !5
  store i32 %9358, ptr %178, align 4, !tbaa !5
  %9359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9360 = call i32 @s2n_print_stacktrace(ptr noundef %9359)
  %9361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9362 = trunc i8 %9361 to i1
  br i1 %9362, label %9363, label %9385

9363:                                             ; preds = %9356
  %9364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9365 = call i32 @fileno(ptr noundef %9364) #11
  %9366 = call i32 @isatty(i32 noundef %9365) #11
  %9367 = icmp ne i32 %9366, 0
  br i1 %9367, label %9368, label %9385

9368:                                             ; preds = %9363
  %9369 = load i32, ptr %178, align 4, !tbaa !5
  %9370 = call ptr @__errno_location() #12
  store i32 %9369, ptr %9370, align 4, !tbaa !5
  %9371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9372 = load i32, ptr @test_count, align 4, !tbaa !5
  %9373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9374 = load i32, ptr %9373, align 4, !tbaa !5
  %9375 = call ptr @s2n_strerror(i32 noundef %9374, ptr noundef @.str.4)
  %9376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call ptr @s2n_strerror_debug(i32 noundef %9377, ptr noundef @.str.4)
  %9379 = call ptr @__errno_location() #12
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  %9381 = call ptr @strerror(i32 noundef %9380) #11
  %9382 = call ptr @__errno_location() #12
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  %9384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9371, ptr noundef @.str.2, i32 noundef %9372, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 368, ptr noundef %9375, ptr noundef %9378, ptr noundef %9381, i32 noundef %9383) #11
  br label %9402

9385:                                             ; preds = %9363, %9356
  %9386 = load i32, ptr %178, align 4, !tbaa !5
  %9387 = call ptr @__errno_location() #12
  store i32 %9386, ptr %9387, align 4, !tbaa !5
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = load i32, ptr @test_count, align 4, !tbaa !5
  %9390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9391 = load i32, ptr %9390, align 4, !tbaa !5
  %9392 = call ptr @s2n_strerror(i32 noundef %9391, ptr noundef @.str.4)
  %9393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9394 = load i32, ptr %9393, align 4, !tbaa !5
  %9395 = call ptr @s2n_strerror_debug(i32 noundef %9394, ptr noundef @.str.4)
  %9396 = call ptr @__errno_location() #12
  %9397 = load i32, ptr %9396, align 4, !tbaa !5
  %9398 = call ptr @strerror(i32 noundef %9397) #11
  %9399 = call ptr @__errno_location() #12
  %9400 = load i32, ptr %9399, align 4, !tbaa !5
  %9401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9388, ptr noundef @.str.5, i32 noundef %9389, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 368, ptr noundef %9392, ptr noundef %9395, ptr noundef %9398, i32 noundef %9400) #11
  br label %9402

9402:                                             ; preds = %9385, %9368
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9403

9403:                                             ; preds = %9402
  br label %9404

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

9405:                                             ; No predecessors!
  br label %9406

9406:                                             ; preds = %9405
  br label %9407

9407:                                             ; preds = %9406, %9348
  br label %9408

9408:                                             ; preds = %9407
  br label %9409

9409:                                             ; preds = %9408
  br label %9410

9410:                                             ; preds = %9409
  %9411 = load i32, ptr @test_count, align 4, !tbaa !5
  %9412 = add nsw i32 %9411, 1
  store i32 %9412, ptr @test_count, align 4, !tbaa !5
  %9413 = load ptr, ptr %88, align 8, !tbaa !9
  %9414 = call i32 @s2n_connection_wipe(ptr noundef %9413)
  %9415 = icmp eq i32 %9414, -1
  br i1 %9415, label %9416, label %9469

9416:                                             ; preds = %9410
  br label %9417

9417:                                             ; preds = %9416
  br label %9418

9418:                                             ; preds = %9417
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9419 = call ptr @__errno_location() #12
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  store i32 %9420, ptr %179, align 4, !tbaa !5
  %9421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9422 = call i32 @s2n_print_stacktrace(ptr noundef %9421)
  %9423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9424 = trunc i8 %9423 to i1
  br i1 %9424, label %9425, label %9447

9425:                                             ; preds = %9418
  %9426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9427 = call i32 @fileno(ptr noundef %9426) #11
  %9428 = call i32 @isatty(i32 noundef %9427) #11
  %9429 = icmp ne i32 %9428, 0
  br i1 %9429, label %9430, label %9447

9430:                                             ; preds = %9425
  %9431 = load i32, ptr %179, align 4, !tbaa !5
  %9432 = call ptr @__errno_location() #12
  store i32 %9431, ptr %9432, align 4, !tbaa !5
  %9433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9434 = load i32, ptr @test_count, align 4, !tbaa !5
  %9435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9436 = load i32, ptr %9435, align 4, !tbaa !5
  %9437 = call ptr @s2n_strerror(i32 noundef %9436, ptr noundef @.str.4)
  %9438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9439 = load i32, ptr %9438, align 4, !tbaa !5
  %9440 = call ptr @s2n_strerror_debug(i32 noundef %9439, ptr noundef @.str.4)
  %9441 = call ptr @__errno_location() #12
  %9442 = load i32, ptr %9441, align 4, !tbaa !5
  %9443 = call ptr @strerror(i32 noundef %9442) #11
  %9444 = call ptr @__errno_location() #12
  %9445 = load i32, ptr %9444, align 4, !tbaa !5
  %9446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9433, ptr noundef @.str.2, i32 noundef %9434, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9437, ptr noundef %9440, ptr noundef %9443, i32 noundef %9445) #11
  br label %9464

9447:                                             ; preds = %9425, %9418
  %9448 = load i32, ptr %179, align 4, !tbaa !5
  %9449 = call ptr @__errno_location() #12
  store i32 %9448, ptr %9449, align 4, !tbaa !5
  %9450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9451 = load i32, ptr @test_count, align 4, !tbaa !5
  %9452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9453 = load i32, ptr %9452, align 4, !tbaa !5
  %9454 = call ptr @s2n_strerror(i32 noundef %9453, ptr noundef @.str.4)
  %9455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9456 = load i32, ptr %9455, align 4, !tbaa !5
  %9457 = call ptr @s2n_strerror_debug(i32 noundef %9456, ptr noundef @.str.4)
  %9458 = call ptr @__errno_location() #12
  %9459 = load i32, ptr %9458, align 4, !tbaa !5
  %9460 = call ptr @strerror(i32 noundef %9459) #11
  %9461 = call ptr @__errno_location() #12
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  %9463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9450, ptr noundef @.str.5, i32 noundef %9451, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9454, ptr noundef %9457, ptr noundef %9460, i32 noundef %9462) #11
  br label %9464

9464:                                             ; preds = %9447, %9430
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9465

9465:                                             ; preds = %9464
  br label %9466

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

9467:                                             ; No predecessors!
  br label %9468

9468:                                             ; preds = %9467
  br label %9469

9469:                                             ; preds = %9468, %9410
  br label %9470

9470:                                             ; preds = %9469
  br label %9471

9471:                                             ; preds = %9470
  br label %9472

9472:                                             ; preds = %9471
  %9473 = load i32, ptr @test_count, align 4, !tbaa !5
  %9474 = add nsw i32 %9473, 1
  store i32 %9474, ptr @test_count, align 4, !tbaa !5
  %9475 = load ptr, ptr %89, align 8, !tbaa !9
  %9476 = call i32 @s2n_connection_wipe(ptr noundef %9475)
  %9477 = icmp eq i32 %9476, -1
  br i1 %9477, label %9478, label %9531

9478:                                             ; preds = %9472
  br label %9479

9479:                                             ; preds = %9478
  br label %9480

9480:                                             ; preds = %9479
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9481 = call ptr @__errno_location() #12
  %9482 = load i32, ptr %9481, align 4, !tbaa !5
  store i32 %9482, ptr %180, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = call i32 @s2n_print_stacktrace(ptr noundef %9483)
  %9485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9486 = trunc i8 %9485 to i1
  br i1 %9486, label %9487, label %9509

9487:                                             ; preds = %9480
  %9488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9489 = call i32 @fileno(ptr noundef %9488) #11
  %9490 = call i32 @isatty(i32 noundef %9489) #11
  %9491 = icmp ne i32 %9490, 0
  br i1 %9491, label %9492, label %9509

9492:                                             ; preds = %9487
  %9493 = load i32, ptr %180, align 4, !tbaa !5
  %9494 = call ptr @__errno_location() #12
  store i32 %9493, ptr %9494, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror(i32 noundef %9498, ptr noundef @.str.4)
  %9500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call ptr @s2n_strerror_debug(i32 noundef %9501, ptr noundef @.str.4)
  %9503 = call ptr @__errno_location() #12
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @strerror(i32 noundef %9504) #11
  %9506 = call ptr @__errno_location() #12
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9495, ptr noundef @.str.2, i32 noundef %9496, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 370, ptr noundef %9499, ptr noundef %9502, ptr noundef %9505, i32 noundef %9507) #11
  br label %9526

9509:                                             ; preds = %9487, %9480
  %9510 = load i32, ptr %180, align 4, !tbaa !5
  %9511 = call ptr @__errno_location() #12
  store i32 %9510, ptr %9511, align 4, !tbaa !5
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = load i32, ptr @test_count, align 4, !tbaa !5
  %9514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror(i32 noundef %9515, ptr noundef @.str.4)
  %9517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call ptr @s2n_strerror_debug(i32 noundef %9518, ptr noundef @.str.4)
  %9520 = call ptr @__errno_location() #12
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @strerror(i32 noundef %9521) #11
  %9523 = call ptr @__errno_location() #12
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9512, ptr noundef @.str.5, i32 noundef %9513, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 370, ptr noundef %9516, ptr noundef %9519, ptr noundef %9522, i32 noundef %9524) #11
  br label %9526

9526:                                             ; preds = %9509, %9492
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9527

9527:                                             ; preds = %9526
  br label %9528

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

9529:                                             ; No predecessors!
  br label %9530

9530:                                             ; preds = %9529
  br label %9531

9531:                                             ; preds = %9530, %9472
  br label %9532

9532:                                             ; preds = %9531
  br label %9533

9533:                                             ; preds = %9532
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  %9534 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %9535 = icmp ne i8 %9534, 0
  br i1 %9535, label %9536, label %10548

9536:                                             ; preds = %9533
  br label %9537

9537:                                             ; preds = %9536
  %9538 = load i32, ptr @test_count, align 4, !tbaa !5
  %9539 = add nsw i32 %9538, 1
  store i32 %9539, ptr @test_count, align 4, !tbaa !5
  %9540 = load ptr, ptr %94, align 8, !tbaa !9
  %9541 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %9542 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %9540, ptr noundef %9541, i32 noundef 10)
  %9543 = icmp eq i32 %9542, -1
  br i1 %9543, label %9544, label %9597

9544:                                             ; preds = %9537
  br label %9545

9545:                                             ; preds = %9544
  br label %9546

9546:                                             ; preds = %9545
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %9547 = call ptr @__errno_location() #12
  %9548 = load i32, ptr %9547, align 4, !tbaa !5
  store i32 %9548, ptr %181, align 4, !tbaa !5
  %9549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9550 = call i32 @s2n_print_stacktrace(ptr noundef %9549)
  %9551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9552 = trunc i8 %9551 to i1
  br i1 %9552, label %9553, label %9575

9553:                                             ; preds = %9546
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = call i32 @fileno(ptr noundef %9554) #11
  %9556 = call i32 @isatty(i32 noundef %9555) #11
  %9557 = icmp ne i32 %9556, 0
  br i1 %9557, label %9558, label %9575

9558:                                             ; preds = %9553
  %9559 = load i32, ptr %181, align 4, !tbaa !5
  %9560 = call ptr @__errno_location() #12
  store i32 %9559, ptr %9560, align 4, !tbaa !5
  %9561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9562 = load i32, ptr @test_count, align 4, !tbaa !5
  %9563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9564 = load i32, ptr %9563, align 4, !tbaa !5
  %9565 = call ptr @s2n_strerror(i32 noundef %9564, ptr noundef @.str.4)
  %9566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9567 = load i32, ptr %9566, align 4, !tbaa !5
  %9568 = call ptr @s2n_strerror_debug(i32 noundef %9567, ptr noundef @.str.4)
  %9569 = call ptr @__errno_location() #12
  %9570 = load i32, ptr %9569, align 4, !tbaa !5
  %9571 = call ptr @strerror(i32 noundef %9570) #11
  %9572 = call ptr @__errno_location() #12
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  %9574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9561, ptr noundef @.str.2, i32 noundef %9562, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 376, ptr noundef %9565, ptr noundef %9568, ptr noundef %9571, i32 noundef %9573) #11
  br label %9592

9575:                                             ; preds = %9553, %9546
  %9576 = load i32, ptr %181, align 4, !tbaa !5
  %9577 = call ptr @__errno_location() #12
  store i32 %9576, ptr %9577, align 4, !tbaa !5
  %9578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9579 = load i32, ptr @test_count, align 4, !tbaa !5
  %9580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror(i32 noundef %9581, ptr noundef @.str.4)
  %9583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @s2n_strerror_debug(i32 noundef %9584, ptr noundef @.str.4)
  %9586 = call ptr @__errno_location() #12
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call ptr @strerror(i32 noundef %9587) #11
  %9589 = call ptr @__errno_location() #12
  %9590 = load i32, ptr %9589, align 4, !tbaa !5
  %9591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9578, ptr noundef @.str.5, i32 noundef %9579, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 376, ptr noundef %9582, ptr noundef %9585, ptr noundef %9588, i32 noundef %9590) #11
  br label %9592

9592:                                             ; preds = %9575, %9558
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %9593

9593:                                             ; preds = %9592
  br label %9594

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

9595:                                             ; No predecessors!
  br label %9596

9596:                                             ; preds = %9595
  br label %9597

9597:                                             ; preds = %9596, %9537
  br label %9598

9598:                                             ; preds = %9597
  br label %9599

9599:                                             ; preds = %9598
  br label %9600

9600:                                             ; preds = %9599
  %9601 = load i32, ptr @test_count, align 4, !tbaa !5
  %9602 = add nsw i32 %9601, 1
  store i32 %9602, ptr @test_count, align 4, !tbaa !5
  %9603 = load ptr, ptr %106, align 8, !tbaa !9
  %9604 = call i32 @s2n_config_set_status_request_type(ptr noundef %9603, i32 noundef 1)
  %9605 = icmp eq i32 %9604, -1
  br i1 %9605, label %9606, label %9659

9606:                                             ; preds = %9600
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

9608:                                             ; preds = %9607
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %9609 = call ptr @__errno_location() #12
  %9610 = load i32, ptr %9609, align 4, !tbaa !5
  store i32 %9610, ptr %182, align 4, !tbaa !5
  %9611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9612 = call i32 @s2n_print_stacktrace(ptr noundef %9611)
  %9613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9614 = trunc i8 %9613 to i1
  br i1 %9614, label %9615, label %9637

9615:                                             ; preds = %9608
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @fileno(ptr noundef %9616) #11
  %9618 = call i32 @isatty(i32 noundef %9617) #11
  %9619 = icmp ne i32 %9618, 0
  br i1 %9619, label %9620, label %9637

9620:                                             ; preds = %9615
  %9621 = load i32, ptr %182, align 4, !tbaa !5
  %9622 = call ptr @__errno_location() #12
  store i32 %9621, ptr %9622, align 4, !tbaa !5
  %9623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9624 = load i32, ptr @test_count, align 4, !tbaa !5
  %9625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @s2n_strerror(i32 noundef %9626, ptr noundef @.str.4)
  %9628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call ptr @s2n_strerror_debug(i32 noundef %9629, ptr noundef @.str.4)
  %9631 = call ptr @__errno_location() #12
  %9632 = load i32, ptr %9631, align 4, !tbaa !5
  %9633 = call ptr @strerror(i32 noundef %9632) #11
  %9634 = call ptr @__errno_location() #12
  %9635 = load i32, ptr %9634, align 4, !tbaa !5
  %9636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9623, ptr noundef @.str.2, i32 noundef %9624, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 377, ptr noundef %9627, ptr noundef %9630, ptr noundef %9633, i32 noundef %9635) #11
  br label %9654

9637:                                             ; preds = %9615, %9608
  %9638 = load i32, ptr %182, align 4, !tbaa !5
  %9639 = call ptr @__errno_location() #12
  store i32 %9638, ptr %9639, align 4, !tbaa !5
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = load i32, ptr @test_count, align 4, !tbaa !5
  %9642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @s2n_strerror(i32 noundef %9643, ptr noundef @.str.4)
  %9645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call ptr @s2n_strerror_debug(i32 noundef %9646, ptr noundef @.str.4)
  %9648 = call ptr @__errno_location() #12
  %9649 = load i32, ptr %9648, align 4, !tbaa !5
  %9650 = call ptr @strerror(i32 noundef %9649) #11
  %9651 = call ptr @__errno_location() #12
  %9652 = load i32, ptr %9651, align 4, !tbaa !5
  %9653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9640, ptr noundef @.str.5, i32 noundef %9641, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 377, ptr noundef %9644, ptr noundef %9647, ptr noundef %9650, i32 noundef %9652) #11
  br label %9654

9654:                                             ; preds = %9637, %9620
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %9655

9655:                                             ; preds = %9654
  br label %9656

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

9657:                                             ; No predecessors!
  br label %9658

9658:                                             ; preds = %9657
  br label %9659

9659:                                             ; preds = %9658, %9600
  br label %9660

9660:                                             ; preds = %9659
  br label %9661

9661:                                             ; preds = %9660
  br label %9662

9662:                                             ; preds = %9661
  %9663 = load i32, ptr @test_count, align 4, !tbaa !5
  %9664 = add nsw i32 %9663, 1
  store i32 %9664, ptr @test_count, align 4, !tbaa !5
  %9665 = load ptr, ptr %89, align 8, !tbaa !9
  %9666 = load ptr, ptr %96, align 8, !tbaa !9
  %9667 = call i32 @s2n_connection_set_config(ptr noundef %9665, ptr noundef %9666)
  %9668 = icmp eq i32 %9667, -1
  br i1 %9668, label %9669, label %9722

9669:                                             ; preds = %9662
  br label %9670

9670:                                             ; preds = %9669
  br label %9671

9671:                                             ; preds = %9670
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %9672 = call ptr @__errno_location() #12
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  store i32 %9673, ptr %183, align 4, !tbaa !5
  %9674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9675 = call i32 @s2n_print_stacktrace(ptr noundef %9674)
  %9676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9677 = trunc i8 %9676 to i1
  br i1 %9677, label %9678, label %9700

9678:                                             ; preds = %9671
  %9679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9680 = call i32 @fileno(ptr noundef %9679) #11
  %9681 = call i32 @isatty(i32 noundef %9680) #11
  %9682 = icmp ne i32 %9681, 0
  br i1 %9682, label %9683, label %9700

9683:                                             ; preds = %9678
  %9684 = load i32, ptr %183, align 4, !tbaa !5
  %9685 = call ptr @__errno_location() #12
  store i32 %9684, ptr %9685, align 4, !tbaa !5
  %9686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9687 = load i32, ptr @test_count, align 4, !tbaa !5
  %9688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = call ptr @s2n_strerror(i32 noundef %9689, ptr noundef @.str.4)
  %9691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  %9693 = call ptr @s2n_strerror_debug(i32 noundef %9692, ptr noundef @.str.4)
  %9694 = call ptr @__errno_location() #12
  %9695 = load i32, ptr %9694, align 4, !tbaa !5
  %9696 = call ptr @strerror(i32 noundef %9695) #11
  %9697 = call ptr @__errno_location() #12
  %9698 = load i32, ptr %9697, align 4, !tbaa !5
  %9699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9686, ptr noundef @.str.2, i32 noundef %9687, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 379, ptr noundef %9690, ptr noundef %9693, ptr noundef %9696, i32 noundef %9698) #11
  br label %9717

9700:                                             ; preds = %9678, %9671
  %9701 = load i32, ptr %183, align 4, !tbaa !5
  %9702 = call ptr @__errno_location() #12
  store i32 %9701, ptr %9702, align 4, !tbaa !5
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = load i32, ptr @test_count, align 4, !tbaa !5
  %9705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @s2n_strerror(i32 noundef %9706, ptr noundef @.str.4)
  %9708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror_debug(i32 noundef %9709, ptr noundef @.str.4)
  %9711 = call ptr @__errno_location() #12
  %9712 = load i32, ptr %9711, align 4, !tbaa !5
  %9713 = call ptr @strerror(i32 noundef %9712) #11
  %9714 = call ptr @__errno_location() #12
  %9715 = load i32, ptr %9714, align 4, !tbaa !5
  %9716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9703, ptr noundef @.str.5, i32 noundef %9704, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 379, ptr noundef %9707, ptr noundef %9710, ptr noundef %9713, i32 noundef %9715) #11
  br label %9717

9717:                                             ; preds = %9700, %9683
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %9718

9718:                                             ; preds = %9717
  br label %9719

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

9720:                                             ; No predecessors!
  br label %9721

9721:                                             ; preds = %9720
  br label %9722

9722:                                             ; preds = %9721, %9662
  br label %9723

9723:                                             ; preds = %9722
  br label %9724

9724:                                             ; preds = %9723
  br label %9725

9725:                                             ; preds = %9724
  %9726 = load i32, ptr @test_count, align 4, !tbaa !5
  %9727 = add nsw i32 %9726, 1
  store i32 %9727, ptr @test_count, align 4, !tbaa !5
  %9728 = load ptr, ptr %89, align 8, !tbaa !9
  %9729 = getelementptr inbounds %struct.s2n_connection, ptr %9728, i32 0, i32 72
  %9730 = getelementptr inbounds %struct.s2n_x509_validator, ptr %9729, i32 0, i32 2
  %9731 = load i8, ptr %9730, align 8, !tbaa !37
  %9732 = zext i8 %9731 to i32
  %9733 = icmp eq i32 %9732, 1
  br i1 %9733, label %9787, label %9734

9734:                                             ; preds = %9725
  br label %9735

9735:                                             ; preds = %9734
  br label %9736

9736:                                             ; preds = %9735
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %9737 = call ptr @__errno_location() #12
  %9738 = load i32, ptr %9737, align 4, !tbaa !5
  store i32 %9738, ptr %184, align 4, !tbaa !5
  %9739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9740 = call i32 @s2n_print_stacktrace(ptr noundef %9739)
  %9741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9742 = trunc i8 %9741 to i1
  br i1 %9742, label %9743, label %9765

9743:                                             ; preds = %9736
  %9744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9745 = call i32 @fileno(ptr noundef %9744) #11
  %9746 = call i32 @isatty(i32 noundef %9745) #11
  %9747 = icmp ne i32 %9746, 0
  br i1 %9747, label %9748, label %9765

9748:                                             ; preds = %9743
  %9749 = load i32, ptr %184, align 4, !tbaa !5
  %9750 = call ptr @__errno_location() #12
  store i32 %9749, ptr %9750, align 4, !tbaa !5
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = load i32, ptr @test_count, align 4, !tbaa !5
  %9753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9754 = load i32, ptr %9753, align 4, !tbaa !5
  %9755 = call ptr @s2n_strerror(i32 noundef %9754, ptr noundef @.str.4)
  %9756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9757 = load i32, ptr %9756, align 4, !tbaa !5
  %9758 = call ptr @s2n_strerror_debug(i32 noundef %9757, ptr noundef @.str.4)
  %9759 = call ptr @__errno_location() #12
  %9760 = load i32, ptr %9759, align 4, !tbaa !5
  %9761 = call ptr @strerror(i32 noundef %9760) #11
  %9762 = call ptr @__errno_location() #12
  %9763 = load i32, ptr %9762, align 4, !tbaa !5
  %9764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9751, ptr noundef @.str.2, i32 noundef %9752, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 380, ptr noundef %9755, ptr noundef %9758, ptr noundef %9761, i32 noundef %9763) #11
  br label %9782

9765:                                             ; preds = %9743, %9736
  %9766 = load i32, ptr %184, align 4, !tbaa !5
  %9767 = call ptr @__errno_location() #12
  store i32 %9766, ptr %9767, align 4, !tbaa !5
  %9768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9769 = load i32, ptr @test_count, align 4, !tbaa !5
  %9770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call ptr @s2n_strerror(i32 noundef %9771, ptr noundef @.str.4)
  %9773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call ptr @s2n_strerror_debug(i32 noundef %9774, ptr noundef @.str.4)
  %9776 = call ptr @__errno_location() #12
  %9777 = load i32, ptr %9776, align 4, !tbaa !5
  %9778 = call ptr @strerror(i32 noundef %9777) #11
  %9779 = call ptr @__errno_location() #12
  %9780 = load i32, ptr %9779, align 4, !tbaa !5
  %9781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9768, ptr noundef @.str.5, i32 noundef %9769, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 380, ptr noundef %9772, ptr noundef %9775, ptr noundef %9778, i32 noundef %9780) #11
  br label %9782

9782:                                             ; preds = %9765, %9748
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %9783

9783:                                             ; preds = %9782
  br label %9784

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

9785:                                             ; No predecessors!
  br label %9786

9786:                                             ; preds = %9785
  br label %9787

9787:                                             ; preds = %9786, %9725
  br label %9788

9788:                                             ; preds = %9787
  br label %9789

9789:                                             ; preds = %9788
  br label %9790

9790:                                             ; preds = %9789
  %9791 = load i32, ptr @test_count, align 4, !tbaa !5
  %9792 = add nsw i32 %9791, 1
  store i32 %9792, ptr @test_count, align 4, !tbaa !5
  %9793 = load ptr, ptr %88, align 8, !tbaa !9
  %9794 = load ptr, ptr %106, align 8, !tbaa !9
  %9795 = call i32 @s2n_connection_set_config(ptr noundef %9793, ptr noundef %9794)
  %9796 = icmp eq i32 %9795, -1
  br i1 %9796, label %9797, label %9850

9797:                                             ; preds = %9790
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %9800 = call ptr @__errno_location() #12
  %9801 = load i32, ptr %9800, align 4, !tbaa !5
  store i32 %9801, ptr %185, align 4, !tbaa !5
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = call i32 @s2n_print_stacktrace(ptr noundef %9802)
  %9804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9805 = trunc i8 %9804 to i1
  br i1 %9805, label %9806, label %9828

9806:                                             ; preds = %9799
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = call i32 @fileno(ptr noundef %9807) #11
  %9809 = call i32 @isatty(i32 noundef %9808) #11
  %9810 = icmp ne i32 %9809, 0
  br i1 %9810, label %9811, label %9828

9811:                                             ; preds = %9806
  %9812 = load i32, ptr %185, align 4, !tbaa !5
  %9813 = call ptr @__errno_location() #12
  store i32 %9812, ptr %9813, align 4, !tbaa !5
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = load i32, ptr @test_count, align 4, !tbaa !5
  %9816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9817 = load i32, ptr %9816, align 4, !tbaa !5
  %9818 = call ptr @s2n_strerror(i32 noundef %9817, ptr noundef @.str.4)
  %9819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9820 = load i32, ptr %9819, align 4, !tbaa !5
  %9821 = call ptr @s2n_strerror_debug(i32 noundef %9820, ptr noundef @.str.4)
  %9822 = call ptr @__errno_location() #12
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call ptr @strerror(i32 noundef %9823) #11
  %9825 = call ptr @__errno_location() #12
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9814, ptr noundef @.str.2, i32 noundef %9815, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 382, ptr noundef %9818, ptr noundef %9821, ptr noundef %9824, i32 noundef %9826) #11
  br label %9845

9828:                                             ; preds = %9806, %9799
  %9829 = load i32, ptr %185, align 4, !tbaa !5
  %9830 = call ptr @__errno_location() #12
  store i32 %9829, ptr %9830, align 4, !tbaa !5
  %9831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9832 = load i32, ptr @test_count, align 4, !tbaa !5
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror_debug(i32 noundef %9837, ptr noundef @.str.4)
  %9839 = call ptr @__errno_location() #12
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @strerror(i32 noundef %9840) #11
  %9842 = call ptr @__errno_location() #12
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9831, ptr noundef @.str.5, i32 noundef %9832, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 382, ptr noundef %9835, ptr noundef %9838, ptr noundef %9841, i32 noundef %9843) #11
  br label %9845

9845:                                             ; preds = %9828, %9811
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %9846

9846:                                             ; preds = %9845
  br label %9847

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

9848:                                             ; No predecessors!
  br label %9849

9849:                                             ; preds = %9848
  br label %9850

9850:                                             ; preds = %9849, %9790
  br label %9851

9851:                                             ; preds = %9850
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

9853:                                             ; preds = %9852
  %9854 = load i32, ptr @test_count, align 4, !tbaa !5
  %9855 = add nsw i32 %9854, 1
  store i32 %9855, ptr @test_count, align 4, !tbaa !5
  %9856 = load ptr, ptr %88, align 8, !tbaa !9
  %9857 = getelementptr inbounds %struct.s2n_connection, ptr %9856, i32 0, i32 72
  %9858 = getelementptr inbounds %struct.s2n_x509_validator, ptr %9857, i32 0, i32 2
  %9859 = load i8, ptr %9858, align 8, !tbaa !37
  %9860 = zext i8 %9859 to i32
  %9861 = icmp eq i32 %9860, 0
  br i1 %9861, label %9915, label %9862

9862:                                             ; preds = %9853
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %9865 = call ptr @__errno_location() #12
  %9866 = load i32, ptr %9865, align 4, !tbaa !5
  store i32 %9866, ptr %186, align 4, !tbaa !5
  %9867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9868 = call i32 @s2n_print_stacktrace(ptr noundef %9867)
  %9869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9870 = trunc i8 %9869 to i1
  br i1 %9870, label %9871, label %9893

9871:                                             ; preds = %9864
  %9872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9873 = call i32 @fileno(ptr noundef %9872) #11
  %9874 = call i32 @isatty(i32 noundef %9873) #11
  %9875 = icmp ne i32 %9874, 0
  br i1 %9875, label %9876, label %9893

9876:                                             ; preds = %9871
  %9877 = load i32, ptr %186, align 4, !tbaa !5
  %9878 = call ptr @__errno_location() #12
  store i32 %9877, ptr %9878, align 4, !tbaa !5
  %9879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9880 = load i32, ptr @test_count, align 4, !tbaa !5
  %9881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9882 = load i32, ptr %9881, align 4, !tbaa !5
  %9883 = call ptr @s2n_strerror(i32 noundef %9882, ptr noundef @.str.4)
  %9884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9885 = load i32, ptr %9884, align 4, !tbaa !5
  %9886 = call ptr @s2n_strerror_debug(i32 noundef %9885, ptr noundef @.str.4)
  %9887 = call ptr @__errno_location() #12
  %9888 = load i32, ptr %9887, align 4, !tbaa !5
  %9889 = call ptr @strerror(i32 noundef %9888) #11
  %9890 = call ptr @__errno_location() #12
  %9891 = load i32, ptr %9890, align 4, !tbaa !5
  %9892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9879, ptr noundef @.str.2, i32 noundef %9880, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 383, ptr noundef %9883, ptr noundef %9886, ptr noundef %9889, i32 noundef %9891) #11
  br label %9910

9893:                                             ; preds = %9871, %9864
  %9894 = load i32, ptr %186, align 4, !tbaa !5
  %9895 = call ptr @__errno_location() #12
  store i32 %9894, ptr %9895, align 4, !tbaa !5
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = load i32, ptr @test_count, align 4, !tbaa !5
  %9898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call ptr @s2n_strerror(i32 noundef %9899, ptr noundef @.str.4)
  %9901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call ptr @s2n_strerror_debug(i32 noundef %9902, ptr noundef @.str.4)
  %9904 = call ptr @__errno_location() #12
  %9905 = load i32, ptr %9904, align 4, !tbaa !5
  %9906 = call ptr @strerror(i32 noundef %9905) #11
  %9907 = call ptr @__errno_location() #12
  %9908 = load i32, ptr %9907, align 4, !tbaa !5
  %9909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9896, ptr noundef @.str.5, i32 noundef %9897, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 383, ptr noundef %9900, ptr noundef %9903, ptr noundef %9906, i32 noundef %9908) #11
  br label %9910

9910:                                             ; preds = %9893, %9876
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %9911

9911:                                             ; preds = %9910
  br label %9912

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

9913:                                             ; No predecessors!
  br label %9914

9914:                                             ; preds = %9913
  br label %9915

9915:                                             ; preds = %9914, %9853
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = add nsw i32 %9919, 1
  store i32 %9920, ptr @test_count, align 4, !tbaa !5
  %9921 = load ptr, ptr %88, align 8, !tbaa !9
  %9922 = load ptr, ptr %89, align 8, !tbaa !9
  %9923 = call i32 @s2n_connections_set_io_pair(ptr noundef %9921, ptr noundef %9922, ptr noundef %92)
  %9924 = icmp eq i32 %9923, -1
  br i1 %9924, label %9925, label %9978

9925:                                             ; preds = %9918
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %9928 = call ptr @__errno_location() #12
  %9929 = load i32, ptr %9928, align 4, !tbaa !5
  store i32 %9929, ptr %187, align 4, !tbaa !5
  %9930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9931 = call i32 @s2n_print_stacktrace(ptr noundef %9930)
  %9932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9933 = trunc i8 %9932 to i1
  br i1 %9933, label %9934, label %9956

9934:                                             ; preds = %9927
  %9935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9936 = call i32 @fileno(ptr noundef %9935) #11
  %9937 = call i32 @isatty(i32 noundef %9936) #11
  %9938 = icmp ne i32 %9937, 0
  br i1 %9938, label %9939, label %9956

9939:                                             ; preds = %9934
  %9940 = load i32, ptr %187, align 4, !tbaa !5
  %9941 = call ptr @__errno_location() #12
  store i32 %9940, ptr %9941, align 4, !tbaa !5
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9945 = load i32, ptr %9944, align 4, !tbaa !5
  %9946 = call ptr @s2n_strerror(i32 noundef %9945, ptr noundef @.str.4)
  %9947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call ptr @s2n_strerror_debug(i32 noundef %9948, ptr noundef @.str.4)
  %9950 = call ptr @__errno_location() #12
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  %9952 = call ptr @strerror(i32 noundef %9951) #11
  %9953 = call ptr @__errno_location() #12
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9942, ptr noundef @.str.2, i32 noundef %9943, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 385, ptr noundef %9946, ptr noundef %9949, ptr noundef %9952, i32 noundef %9954) #11
  br label %9973

9956:                                             ; preds = %9934, %9927
  %9957 = load i32, ptr %187, align 4, !tbaa !5
  %9958 = call ptr @__errno_location() #12
  store i32 %9957, ptr %9958, align 4, !tbaa !5
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = load i32, ptr @test_count, align 4, !tbaa !5
  %9961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9962 = load i32, ptr %9961, align 4, !tbaa !5
  %9963 = call ptr @s2n_strerror(i32 noundef %9962, ptr noundef @.str.4)
  %9964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror_debug(i32 noundef %9965, ptr noundef @.str.4)
  %9967 = call ptr @__errno_location() #12
  %9968 = load i32, ptr %9967, align 4, !tbaa !5
  %9969 = call ptr @strerror(i32 noundef %9968) #11
  %9970 = call ptr @__errno_location() #12
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9959, ptr noundef @.str.5, i32 noundef %9960, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 385, ptr noundef %9963, ptr noundef %9966, ptr noundef %9969, i32 noundef %9971) #11
  br label %9973

9973:                                             ; preds = %9956, %9939
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9974

9974:                                             ; preds = %9973
  br label %9975

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

9976:                                             ; No predecessors!
  br label %9977

9977:                                             ; preds = %9976
  br label %9978

9978:                                             ; preds = %9977, %9918
  br label %9979

9979:                                             ; preds = %9978
  br label %9980

9980:                                             ; preds = %9979
  br label %9981

9981:                                             ; preds = %9980
  %9982 = load i32, ptr @test_count, align 4, !tbaa !5
  %9983 = add nsw i32 %9982, 1
  store i32 %9983, ptr @test_count, align 4, !tbaa !5
  %9984 = load ptr, ptr %89, align 8, !tbaa !9
  %9985 = load ptr, ptr %88, align 8, !tbaa !9
  %9986 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9984, ptr noundef %9985)
  %9987 = icmp eq i32 %9986, -1
  br i1 %9987, label %9988, label %10041

9988:                                             ; preds = %9981
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9991 = call ptr @__errno_location() #12
  %9992 = load i32, ptr %9991, align 4, !tbaa !5
  store i32 %9992, ptr %188, align 4, !tbaa !5
  %9993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9994 = call i32 @s2n_print_stacktrace(ptr noundef %9993)
  %9995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9996 = trunc i8 %9995 to i1
  br i1 %9996, label %9997, label %10019

9997:                                             ; preds = %9990
  %9998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9999 = call i32 @fileno(ptr noundef %9998) #11
  %10000 = call i32 @isatty(i32 noundef %9999) #11
  %10001 = icmp ne i32 %10000, 0
  br i1 %10001, label %10002, label %10019

10002:                                            ; preds = %9997
  %10003 = load i32, ptr %188, align 4, !tbaa !5
  %10004 = call ptr @__errno_location() #12
  store i32 %10003, ptr %10004, align 4, !tbaa !5
  %10005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10006 = load i32, ptr @test_count, align 4, !tbaa !5
  %10007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10008 = load i32, ptr %10007, align 4, !tbaa !5
  %10009 = call ptr @s2n_strerror(i32 noundef %10008, ptr noundef @.str.4)
  %10010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10011 = load i32, ptr %10010, align 4, !tbaa !5
  %10012 = call ptr @s2n_strerror_debug(i32 noundef %10011, ptr noundef @.str.4)
  %10013 = call ptr @__errno_location() #12
  %10014 = load i32, ptr %10013, align 4, !tbaa !5
  %10015 = call ptr @strerror(i32 noundef %10014) #11
  %10016 = call ptr @__errno_location() #12
  %10017 = load i32, ptr %10016, align 4, !tbaa !5
  %10018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10005, ptr noundef @.str.2, i32 noundef %10006, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 388, ptr noundef %10009, ptr noundef %10012, ptr noundef %10015, i32 noundef %10017) #11
  br label %10036

10019:                                            ; preds = %9997, %9990
  %10020 = load i32, ptr %188, align 4, !tbaa !5
  %10021 = call ptr @__errno_location() #12
  store i32 %10020, ptr %10021, align 4, !tbaa !5
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = load i32, ptr @test_count, align 4, !tbaa !5
  %10024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call ptr @s2n_strerror(i32 noundef %10025, ptr noundef @.str.4)
  %10027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @s2n_strerror_debug(i32 noundef %10028, ptr noundef @.str.4)
  %10030 = call ptr @__errno_location() #12
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call ptr @strerror(i32 noundef %10031) #11
  %10033 = call ptr @__errno_location() #12
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10022, ptr noundef @.str.5, i32 noundef %10023, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 388, ptr noundef %10026, ptr noundef %10029, ptr noundef %10032, i32 noundef %10034) #11
  br label %10036

10036:                                            ; preds = %10019, %10002
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %10037

10037:                                            ; preds = %10036
  br label %10038

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

10039:                                            ; No predecessors!
  br label %10040

10040:                                            ; preds = %10039
  br label %10041

10041:                                            ; preds = %10040, %9981
  br label %10042

10042:                                            ; preds = %10041
  br label %10043

10043:                                            ; preds = %10042
  br label %10044

10044:                                            ; preds = %10043
  %10045 = load i32, ptr @test_count, align 4, !tbaa !5
  %10046 = add nsw i32 %10045, 1
  store i32 %10046, ptr @test_count, align 4, !tbaa !5
  %10047 = load ptr, ptr %88, align 8, !tbaa !9
  %10048 = getelementptr inbounds %struct.s2n_connection, ptr %10047, i32 0, i32 72
  %10049 = getelementptr inbounds %struct.s2n_x509_validator, ptr %10048, i32 0, i32 6
  %10050 = load i32, ptr %10049, align 8, !tbaa !61
  %10051 = icmp eq i32 %10050, 5
  br i1 %10051, label %10105, label %10052

10052:                                            ; preds = %10044
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %10055 = call ptr @__errno_location() #12
  %10056 = load i32, ptr %10055, align 4, !tbaa !5
  store i32 %10056, ptr %189, align 4, !tbaa !5
  %10057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10058 = call i32 @s2n_print_stacktrace(ptr noundef %10057)
  %10059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10060 = trunc i8 %10059 to i1
  br i1 %10060, label %10061, label %10083

10061:                                            ; preds = %10054
  %10062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10063 = call i32 @fileno(ptr noundef %10062) #11
  %10064 = call i32 @isatty(i32 noundef %10063) #11
  %10065 = icmp ne i32 %10064, 0
  br i1 %10065, label %10066, label %10083

10066:                                            ; preds = %10061
  %10067 = load i32, ptr %189, align 4, !tbaa !5
  %10068 = call ptr @__errno_location() #12
  store i32 %10067, ptr %10068, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = load i32, ptr @test_count, align 4, !tbaa !5
  %10071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10072 = load i32, ptr %10071, align 4, !tbaa !5
  %10073 = call ptr @s2n_strerror(i32 noundef %10072, ptr noundef @.str.4)
  %10074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call ptr @s2n_strerror_debug(i32 noundef %10075, ptr noundef @.str.4)
  %10077 = call ptr @__errno_location() #12
  %10078 = load i32, ptr %10077, align 4, !tbaa !5
  %10079 = call ptr @strerror(i32 noundef %10078) #11
  %10080 = call ptr @__errno_location() #12
  %10081 = load i32, ptr %10080, align 4, !tbaa !5
  %10082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10069, ptr noundef @.str.2, i32 noundef %10070, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 389, ptr noundef %10073, ptr noundef %10076, ptr noundef %10079, i32 noundef %10081) #11
  br label %10100

10083:                                            ; preds = %10061, %10054
  %10084 = load i32, ptr %189, align 4, !tbaa !5
  %10085 = call ptr @__errno_location() #12
  store i32 %10084, ptr %10085, align 4, !tbaa !5
  %10086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10087 = load i32, ptr @test_count, align 4, !tbaa !5
  %10088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call ptr @s2n_strerror(i32 noundef %10089, ptr noundef @.str.4)
  %10091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror_debug(i32 noundef %10092, ptr noundef @.str.4)
  %10094 = call ptr @__errno_location() #12
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  %10096 = call ptr @strerror(i32 noundef %10095) #11
  %10097 = call ptr @__errno_location() #12
  %10098 = load i32, ptr %10097, align 4, !tbaa !5
  %10099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10086, ptr noundef @.str.5, i32 noundef %10087, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 389, ptr noundef %10090, ptr noundef %10093, ptr noundef %10096, i32 noundef %10098) #11
  br label %10100

10100:                                            ; preds = %10083, %10066
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %10101

10101:                                            ; preds = %10100
  br label %10102

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

10103:                                            ; No predecessors!
  br label %10104

10104:                                            ; preds = %10103
  br label %10105

10105:                                            ; preds = %10104, %10044
  br label %10106

10106:                                            ; preds = %10105
  br label %10107

10107:                                            ; preds = %10106
  call void @llvm.lifetime.start.p0(i64 8, ptr %190) #11
  %10108 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %10108, ptr %190, align 8, !tbaa !9
  br label %10109

10109:                                            ; preds = %10107
  %10110 = load i32, ptr @test_count, align 4, !tbaa !5
  %10111 = add nsw i32 %10110, 1
  store i32 %10111, ptr @test_count, align 4, !tbaa !5
  %10112 = load ptr, ptr %190, align 8, !tbaa !9
  %10113 = icmp eq ptr %10112, null
  br i1 %10113, label %10114, label %10167

10114:                                            ; preds = %10109
  br label %10115

10115:                                            ; preds = %10114
  br label %10116

10116:                                            ; preds = %10115
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %10117 = call ptr @__errno_location() #12
  %10118 = load i32, ptr %10117, align 4, !tbaa !5
  store i32 %10118, ptr %191, align 4, !tbaa !5
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = call i32 @s2n_print_stacktrace(ptr noundef %10119)
  %10121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10122 = trunc i8 %10121 to i1
  br i1 %10122, label %10123, label %10145

10123:                                            ; preds = %10116
  %10124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10125 = call i32 @fileno(ptr noundef %10124) #11
  %10126 = call i32 @isatty(i32 noundef %10125) #11
  %10127 = icmp ne i32 %10126, 0
  br i1 %10127, label %10128, label %10145

10128:                                            ; preds = %10123
  %10129 = load i32, ptr %191, align 4, !tbaa !5
  %10130 = call ptr @__errno_location() #12
  store i32 %10129, ptr %10130, align 4, !tbaa !5
  %10131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10132 = load i32, ptr @test_count, align 4, !tbaa !5
  %10133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10134 = load i32, ptr %10133, align 4, !tbaa !5
  %10135 = call ptr @s2n_strerror(i32 noundef %10134, ptr noundef @.str.4)
  %10136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10137 = load i32, ptr %10136, align 4, !tbaa !5
  %10138 = call ptr @s2n_strerror_debug(i32 noundef %10137, ptr noundef @.str.4)
  %10139 = call ptr @__errno_location() #12
  %10140 = load i32, ptr %10139, align 4, !tbaa !5
  %10141 = call ptr @strerror(i32 noundef %10140) #11
  %10142 = call ptr @__errno_location() #12
  %10143 = load i32, ptr %10142, align 4, !tbaa !5
  %10144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10131, ptr noundef @.str.2, i32 noundef %10132, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 392, ptr noundef %10135, ptr noundef %10138, ptr noundef %10141, i32 noundef %10143) #11
  br label %10162

10145:                                            ; preds = %10123, %10116
  %10146 = load i32, ptr %191, align 4, !tbaa !5
  %10147 = call ptr @__errno_location() #12
  store i32 %10146, ptr %10147, align 4, !tbaa !5
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = load i32, ptr @test_count, align 4, !tbaa !5
  %10150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call ptr @s2n_strerror(i32 noundef %10151, ptr noundef @.str.4)
  %10153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call ptr @s2n_strerror_debug(i32 noundef %10154, ptr noundef @.str.4)
  %10156 = call ptr @__errno_location() #12
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call ptr @strerror(i32 noundef %10157) #11
  %10159 = call ptr @__errno_location() #12
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10148, ptr noundef @.str.5, i32 noundef %10149, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 392, ptr noundef %10152, ptr noundef %10155, ptr noundef %10158, i32 noundef %10160) #11
  br label %10162

10162:                                            ; preds = %10145, %10128
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %10163

10163:                                            ; preds = %10162
  br label %10164

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

10165:                                            ; No predecessors!
  br label %10166

10166:                                            ; preds = %10165
  br label %10167

10167:                                            ; preds = %10166, %10109
  br label %10168

10168:                                            ; preds = %10167
  br label %10169

10169:                                            ; preds = %10168
  br label %10170

10170:                                            ; preds = %10169
  %10171 = load i32, ptr @test_count, align 4, !tbaa !5
  %10172 = add nsw i32 %10171, 1
  store i32 %10172, ptr @test_count, align 4, !tbaa !5
  %10173 = load ptr, ptr %88, align 8, !tbaa !9
  %10174 = load ptr, ptr %190, align 8, !tbaa !9
  %10175 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef %10173, ptr noundef %10174)
  %10176 = icmp eq i32 %10175, -1
  br i1 %10176, label %10177, label %10230

10177:                                            ; preds = %10170
  br label %10178

10178:                                            ; preds = %10177
  br label %10179

10179:                                            ; preds = %10178
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %10180 = call ptr @__errno_location() #12
  %10181 = load i32, ptr %10180, align 4, !tbaa !5
  store i32 %10181, ptr %192, align 4, !tbaa !5
  %10182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10183 = call i32 @s2n_print_stacktrace(ptr noundef %10182)
  %10184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10185 = trunc i8 %10184 to i1
  br i1 %10185, label %10186, label %10208

10186:                                            ; preds = %10179
  %10187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10188 = call i32 @fileno(ptr noundef %10187) #11
  %10189 = call i32 @isatty(i32 noundef %10188) #11
  %10190 = icmp ne i32 %10189, 0
  br i1 %10190, label %10191, label %10208

10191:                                            ; preds = %10186
  %10192 = load i32, ptr %192, align 4, !tbaa !5
  %10193 = call ptr @__errno_location() #12
  store i32 %10192, ptr %10193, align 4, !tbaa !5
  %10194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10195 = load i32, ptr @test_count, align 4, !tbaa !5
  %10196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10197 = load i32, ptr %10196, align 4, !tbaa !5
  %10198 = call ptr @s2n_strerror(i32 noundef %10197, ptr noundef @.str.4)
  %10199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10200 = load i32, ptr %10199, align 4, !tbaa !5
  %10201 = call ptr @s2n_strerror_debug(i32 noundef %10200, ptr noundef @.str.4)
  %10202 = call ptr @__errno_location() #12
  %10203 = load i32, ptr %10202, align 4, !tbaa !5
  %10204 = call ptr @strerror(i32 noundef %10203) #11
  %10205 = call ptr @__errno_location() #12
  %10206 = load i32, ptr %10205, align 4, !tbaa !5
  %10207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10194, ptr noundef @.str.2, i32 noundef %10195, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 394, ptr noundef %10198, ptr noundef %10201, ptr noundef %10204, i32 noundef %10206) #11
  br label %10225

10208:                                            ; preds = %10186, %10179
  %10209 = load i32, ptr %192, align 4, !tbaa !5
  %10210 = call ptr @__errno_location() #12
  store i32 %10209, ptr %10210, align 4, !tbaa !5
  %10211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10212 = load i32, ptr @test_count, align 4, !tbaa !5
  %10213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10214 = load i32, ptr %10213, align 4, !tbaa !5
  %10215 = call ptr @s2n_strerror(i32 noundef %10214, ptr noundef @.str.4)
  %10216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10217 = load i32, ptr %10216, align 4, !tbaa !5
  %10218 = call ptr @s2n_strerror_debug(i32 noundef %10217, ptr noundef @.str.4)
  %10219 = call ptr @__errno_location() #12
  %10220 = load i32, ptr %10219, align 4, !tbaa !5
  %10221 = call ptr @strerror(i32 noundef %10220) #11
  %10222 = call ptr @__errno_location() #12
  %10223 = load i32, ptr %10222, align 4, !tbaa !5
  %10224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10211, ptr noundef @.str.5, i32 noundef %10212, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 394, ptr noundef %10215, ptr noundef %10218, ptr noundef %10221, i32 noundef %10223) #11
  br label %10225

10225:                                            ; preds = %10208, %10191
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %10226

10226:                                            ; preds = %10225
  br label %10227

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

10228:                                            ; No predecessors!
  br label %10229

10229:                                            ; preds = %10228
  br label %10230

10230:                                            ; preds = %10229, %10170
  br label %10231

10231:                                            ; preds = %10230
  br label %10232

10232:                                            ; preds = %10231
  br label %10233

10233:                                            ; preds = %10232
  %10234 = load i32, ptr @test_count, align 4, !tbaa !5
  %10235 = add nsw i32 %10234, 1
  store i32 %10235, ptr @test_count, align 4, !tbaa !5
  %10236 = load ptr, ptr %88, align 8, !tbaa !9
  %10237 = load ptr, ptr %190, align 8, !tbaa !9
  %10238 = call i32 @s2n_compare_cert_chain(ptr noundef %10236, ptr noundef %10237)
  %10239 = getelementptr inbounds %struct.s2n_result, ptr %193, i32 0, i32 0
  store i32 %10238, ptr %10239, align 4
  %10240 = getelementptr inbounds %struct.s2n_result, ptr %193, i32 0, i32 0
  %10241 = load i32, ptr %10240, align 4
  %10242 = call zeroext i1 @s2n_result_is_ok(i32 %10241)
  br i1 %10242, label %10296, label %10243

10243:                                            ; preds = %10233
  br label %10244

10244:                                            ; preds = %10243
  br label %10245

10245:                                            ; preds = %10244
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %10246 = call ptr @__errno_location() #12
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  store i32 %10247, ptr %194, align 4, !tbaa !5
  %10248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10249 = call i32 @s2n_print_stacktrace(ptr noundef %10248)
  %10250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10251 = trunc i8 %10250 to i1
  br i1 %10251, label %10252, label %10274

10252:                                            ; preds = %10245
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @fileno(ptr noundef %10253) #11
  %10255 = call i32 @isatty(i32 noundef %10254) #11
  %10256 = icmp ne i32 %10255, 0
  br i1 %10256, label %10257, label %10274

10257:                                            ; preds = %10252
  %10258 = load i32, ptr %194, align 4, !tbaa !5
  %10259 = call ptr @__errno_location() #12
  store i32 %10258, ptr %10259, align 4, !tbaa !5
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10263 = load i32, ptr %10262, align 4, !tbaa !5
  %10264 = call ptr @s2n_strerror(i32 noundef %10263, ptr noundef @.str.4)
  %10265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10266 = load i32, ptr %10265, align 4, !tbaa !5
  %10267 = call ptr @s2n_strerror_debug(i32 noundef %10266, ptr noundef @.str.4)
  %10268 = call ptr @__errno_location() #12
  %10269 = load i32, ptr %10268, align 4, !tbaa !5
  %10270 = call ptr @strerror(i32 noundef %10269) #11
  %10271 = call ptr @__errno_location() #12
  %10272 = load i32, ptr %10271, align 4, !tbaa !5
  %10273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10260, ptr noundef @.str.2, i32 noundef %10261, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 396, ptr noundef %10264, ptr noundef %10267, ptr noundef %10270, i32 noundef %10272) #11
  br label %10291

10274:                                            ; preds = %10252, %10245
  %10275 = load i32, ptr %194, align 4, !tbaa !5
  %10276 = call ptr @__errno_location() #12
  store i32 %10275, ptr %10276, align 4, !tbaa !5
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = load i32, ptr @test_count, align 4, !tbaa !5
  %10279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10280 = load i32, ptr %10279, align 4, !tbaa !5
  %10281 = call ptr @s2n_strerror(i32 noundef %10280, ptr noundef @.str.4)
  %10282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10283 = load i32, ptr %10282, align 4, !tbaa !5
  %10284 = call ptr @s2n_strerror_debug(i32 noundef %10283, ptr noundef @.str.4)
  %10285 = call ptr @__errno_location() #12
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call ptr @strerror(i32 noundef %10286) #11
  %10288 = call ptr @__errno_location() #12
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10277, ptr noundef @.str.5, i32 noundef %10278, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 396, ptr noundef %10281, ptr noundef %10284, ptr noundef %10287, i32 noundef %10289) #11
  br label %10291

10291:                                            ; preds = %10274, %10257
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %10292

10292:                                            ; preds = %10291
  br label %10293

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

10294:                                            ; No predecessors!
  br label %10295

10295:                                            ; preds = %10294
  br label %10296

10296:                                            ; preds = %10295, %10233
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

10298:                                            ; preds = %10297
  br label %10299

10299:                                            ; preds = %10298
  %10300 = load i32, ptr @test_count, align 4, !tbaa !5
  %10301 = add nsw i32 %10300, 1
  store i32 %10301, ptr @test_count, align 4, !tbaa !5
  %10302 = load ptr, ptr %89, align 8, !tbaa !9
  %10303 = load ptr, ptr %88, align 8, !tbaa !9
  %10304 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %10302, ptr noundef %10303)
  %10305 = icmp eq i32 %10304, -1
  br i1 %10305, label %10306, label %10359

10306:                                            ; preds = %10299
  br label %10307

10307:                                            ; preds = %10306
  br label %10308

10308:                                            ; preds = %10307
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  store i32 %10310, ptr %195, align 4, !tbaa !5
  %10311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10312 = call i32 @s2n_print_stacktrace(ptr noundef %10311)
  %10313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10314 = trunc i8 %10313 to i1
  br i1 %10314, label %10315, label %10337

10315:                                            ; preds = %10308
  %10316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10317 = call i32 @fileno(ptr noundef %10316) #11
  %10318 = call i32 @isatty(i32 noundef %10317) #11
  %10319 = icmp ne i32 %10318, 0
  br i1 %10319, label %10320, label %10337

10320:                                            ; preds = %10315
  %10321 = load i32, ptr %195, align 4, !tbaa !5
  %10322 = call ptr @__errno_location() #12
  store i32 %10321, ptr %10322, align 4, !tbaa !5
  %10323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  %10327 = call ptr @s2n_strerror(i32 noundef %10326, ptr noundef @.str.4)
  %10328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call ptr @s2n_strerror_debug(i32 noundef %10329, ptr noundef @.str.4)
  %10331 = call ptr @__errno_location() #12
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call ptr @strerror(i32 noundef %10332) #11
  %10334 = call ptr @__errno_location() #12
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  %10336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10323, ptr noundef @.str.2, i32 noundef %10324, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 398, ptr noundef %10327, ptr noundef %10330, ptr noundef %10333, i32 noundef %10335) #11
  br label %10354

10337:                                            ; preds = %10315, %10308
  %10338 = load i32, ptr %195, align 4, !tbaa !5
  %10339 = call ptr @__errno_location() #12
  store i32 %10338, ptr %10339, align 4, !tbaa !5
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = load i32, ptr @test_count, align 4, !tbaa !5
  %10342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10343 = load i32, ptr %10342, align 4, !tbaa !5
  %10344 = call ptr @s2n_strerror(i32 noundef %10343, ptr noundef @.str.4)
  %10345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  %10347 = call ptr @s2n_strerror_debug(i32 noundef %10346, ptr noundef @.str.4)
  %10348 = call ptr @__errno_location() #12
  %10349 = load i32, ptr %10348, align 4, !tbaa !5
  %10350 = call ptr @strerror(i32 noundef %10349) #11
  %10351 = call ptr @__errno_location() #12
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10340, ptr noundef @.str.5, i32 noundef %10341, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 398, ptr noundef %10344, ptr noundef %10347, ptr noundef %10350, i32 noundef %10352) #11
  br label %10354

10354:                                            ; preds = %10337, %10320
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %10355

10355:                                            ; preds = %10354
  br label %10356

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

10357:                                            ; No predecessors!
  br label %10358

10358:                                            ; preds = %10357
  br label %10359

10359:                                            ; preds = %10358, %10299
  br label %10360

10360:                                            ; preds = %10359
  br label %10361

10361:                                            ; preds = %10360
  br label %10362

10362:                                            ; preds = %10361
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = add nsw i32 %10363, 1
  store i32 %10364, ptr @test_count, align 4, !tbaa !5
  %10365 = load ptr, ptr %190, align 8, !tbaa !9
  %10366 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %10365)
  %10367 = icmp eq i32 %10366, -1
  br i1 %10367, label %10368, label %10421

10368:                                            ; preds = %10362
  br label %10369

10369:                                            ; preds = %10368
  br label %10370

10370:                                            ; preds = %10369
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %10371 = call ptr @__errno_location() #12
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  store i32 %10372, ptr %196, align 4, !tbaa !5
  %10373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10374 = call i32 @s2n_print_stacktrace(ptr noundef %10373)
  %10375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10376 = trunc i8 %10375 to i1
  br i1 %10376, label %10377, label %10399

10377:                                            ; preds = %10370
  %10378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10379 = call i32 @fileno(ptr noundef %10378) #11
  %10380 = call i32 @isatty(i32 noundef %10379) #11
  %10381 = icmp ne i32 %10380, 0
  br i1 %10381, label %10382, label %10399

10382:                                            ; preds = %10377
  %10383 = load i32, ptr %196, align 4, !tbaa !5
  %10384 = call ptr @__errno_location() #12
  store i32 %10383, ptr %10384, align 4, !tbaa !5
  %10385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10388 = load i32, ptr %10387, align 4, !tbaa !5
  %10389 = call ptr @s2n_strerror(i32 noundef %10388, ptr noundef @.str.4)
  %10390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10391 = load i32, ptr %10390, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror_debug(i32 noundef %10391, ptr noundef @.str.4)
  %10393 = call ptr @__errno_location() #12
  %10394 = load i32, ptr %10393, align 4, !tbaa !5
  %10395 = call ptr @strerror(i32 noundef %10394) #11
  %10396 = call ptr @__errno_location() #12
  %10397 = load i32, ptr %10396, align 4, !tbaa !5
  %10398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10385, ptr noundef @.str.2, i32 noundef %10386, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 401, ptr noundef %10389, ptr noundef %10392, ptr noundef %10395, i32 noundef %10397) #11
  br label %10416

10399:                                            ; preds = %10377, %10370
  %10400 = load i32, ptr %196, align 4, !tbaa !5
  %10401 = call ptr @__errno_location() #12
  store i32 %10400, ptr %10401, align 4, !tbaa !5
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = load i32, ptr @test_count, align 4, !tbaa !5
  %10404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10405 = load i32, ptr %10404, align 4, !tbaa !5
  %10406 = call ptr @s2n_strerror(i32 noundef %10405, ptr noundef @.str.4)
  %10407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10408 = load i32, ptr %10407, align 4, !tbaa !5
  %10409 = call ptr @s2n_strerror_debug(i32 noundef %10408, ptr noundef @.str.4)
  %10410 = call ptr @__errno_location() #12
  %10411 = load i32, ptr %10410, align 4, !tbaa !5
  %10412 = call ptr @strerror(i32 noundef %10411) #11
  %10413 = call ptr @__errno_location() #12
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10402, ptr noundef @.str.5, i32 noundef %10403, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 401, ptr noundef %10406, ptr noundef %10409, ptr noundef %10412, i32 noundef %10414) #11
  br label %10416

10416:                                            ; preds = %10399, %10382
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %10417

10417:                                            ; preds = %10416
  br label %10418

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

10419:                                            ; No predecessors!
  br label %10420

10420:                                            ; preds = %10419
  br label %10421

10421:                                            ; preds = %10420, %10362
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

10423:                                            ; preds = %10422
  br label %10424

10424:                                            ; preds = %10423
  %10425 = load i32, ptr @test_count, align 4, !tbaa !5
  %10426 = add nsw i32 %10425, 1
  store i32 %10426, ptr @test_count, align 4, !tbaa !5
  %10427 = load ptr, ptr %88, align 8, !tbaa !9
  %10428 = call i32 @s2n_connection_wipe(ptr noundef %10427)
  %10429 = icmp eq i32 %10428, -1
  br i1 %10429, label %10430, label %10483

10430:                                            ; preds = %10424
  br label %10431

10431:                                            ; preds = %10430
  br label %10432

10432:                                            ; preds = %10431
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %10433 = call ptr @__errno_location() #12
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  store i32 %10434, ptr %197, align 4, !tbaa !5
  %10435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10436 = call i32 @s2n_print_stacktrace(ptr noundef %10435)
  %10437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10438 = trunc i8 %10437 to i1
  br i1 %10438, label %10439, label %10461

10439:                                            ; preds = %10432
  %10440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10441 = call i32 @fileno(ptr noundef %10440) #11
  %10442 = call i32 @isatty(i32 noundef %10441) #11
  %10443 = icmp ne i32 %10442, 0
  br i1 %10443, label %10444, label %10461

10444:                                            ; preds = %10439
  %10445 = load i32, ptr %197, align 4, !tbaa !5
  %10446 = call ptr @__errno_location() #12
  store i32 %10445, ptr %10446, align 4, !tbaa !5
  %10447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10448 = load i32, ptr @test_count, align 4, !tbaa !5
  %10449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10450 = load i32, ptr %10449, align 4, !tbaa !5
  %10451 = call ptr @s2n_strerror(i32 noundef %10450, ptr noundef @.str.4)
  %10452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  %10454 = call ptr @s2n_strerror_debug(i32 noundef %10453, ptr noundef @.str.4)
  %10455 = call ptr @__errno_location() #12
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  %10457 = call ptr @strerror(i32 noundef %10456) #11
  %10458 = call ptr @__errno_location() #12
  %10459 = load i32, ptr %10458, align 4, !tbaa !5
  %10460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10447, ptr noundef @.str.2, i32 noundef %10448, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 402, ptr noundef %10451, ptr noundef %10454, ptr noundef %10457, i32 noundef %10459) #11
  br label %10478

10461:                                            ; preds = %10439, %10432
  %10462 = load i32, ptr %197, align 4, !tbaa !5
  %10463 = call ptr @__errno_location() #12
  store i32 %10462, ptr %10463, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = load i32, ptr @test_count, align 4, !tbaa !5
  %10466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call ptr @s2n_strerror(i32 noundef %10467, ptr noundef @.str.4)
  %10469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror_debug(i32 noundef %10470, ptr noundef @.str.4)
  %10472 = call ptr @__errno_location() #12
  %10473 = load i32, ptr %10472, align 4, !tbaa !5
  %10474 = call ptr @strerror(i32 noundef %10473) #11
  %10475 = call ptr @__errno_location() #12
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10464, ptr noundef @.str.5, i32 noundef %10465, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 402, ptr noundef %10468, ptr noundef %10471, ptr noundef %10474, i32 noundef %10476) #11
  br label %10478

10478:                                            ; preds = %10461, %10444
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %10479

10479:                                            ; preds = %10478
  br label %10480

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

10481:                                            ; No predecessors!
  br label %10482

10482:                                            ; preds = %10481
  br label %10483

10483:                                            ; preds = %10482, %10424
  br label %10484

10484:                                            ; preds = %10483
  br label %10485

10485:                                            ; preds = %10484
  br label %10486

10486:                                            ; preds = %10485
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = add nsw i32 %10487, 1
  store i32 %10488, ptr @test_count, align 4, !tbaa !5
  %10489 = load ptr, ptr %89, align 8, !tbaa !9
  %10490 = call i32 @s2n_connection_wipe(ptr noundef %10489)
  %10491 = icmp eq i32 %10490, -1
  br i1 %10491, label %10492, label %10545

10492:                                            ; preds = %10486
  br label %10493

10493:                                            ; preds = %10492
  br label %10494

10494:                                            ; preds = %10493
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %10495 = call ptr @__errno_location() #12
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  store i32 %10496, ptr %198, align 4, !tbaa !5
  %10497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10498 = call i32 @s2n_print_stacktrace(ptr noundef %10497)
  %10499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10500 = trunc i8 %10499 to i1
  br i1 %10500, label %10501, label %10523

10501:                                            ; preds = %10494
  %10502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10503 = call i32 @fileno(ptr noundef %10502) #11
  %10504 = call i32 @isatty(i32 noundef %10503) #11
  %10505 = icmp ne i32 %10504, 0
  br i1 %10505, label %10506, label %10523

10506:                                            ; preds = %10501
  %10507 = load i32, ptr %198, align 4, !tbaa !5
  %10508 = call ptr @__errno_location() #12
  store i32 %10507, ptr %10508, align 4, !tbaa !5
  %10509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10510 = load i32, ptr @test_count, align 4, !tbaa !5
  %10511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10512 = load i32, ptr %10511, align 4, !tbaa !5
  %10513 = call ptr @s2n_strerror(i32 noundef %10512, ptr noundef @.str.4)
  %10514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10515 = load i32, ptr %10514, align 4, !tbaa !5
  %10516 = call ptr @s2n_strerror_debug(i32 noundef %10515, ptr noundef @.str.4)
  %10517 = call ptr @__errno_location() #12
  %10518 = load i32, ptr %10517, align 4, !tbaa !5
  %10519 = call ptr @strerror(i32 noundef %10518) #11
  %10520 = call ptr @__errno_location() #12
  %10521 = load i32, ptr %10520, align 4, !tbaa !5
  %10522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10509, ptr noundef @.str.2, i32 noundef %10510, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 403, ptr noundef %10513, ptr noundef %10516, ptr noundef %10519, i32 noundef %10521) #11
  br label %10540

10523:                                            ; preds = %10501, %10494
  %10524 = load i32, ptr %198, align 4, !tbaa !5
  %10525 = call ptr @__errno_location() #12
  store i32 %10524, ptr %10525, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = load i32, ptr @test_count, align 4, !tbaa !5
  %10528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10529 = load i32, ptr %10528, align 4, !tbaa !5
  %10530 = call ptr @s2n_strerror(i32 noundef %10529, ptr noundef @.str.4)
  %10531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10532 = load i32, ptr %10531, align 4, !tbaa !5
  %10533 = call ptr @s2n_strerror_debug(i32 noundef %10532, ptr noundef @.str.4)
  %10534 = call ptr @__errno_location() #12
  %10535 = load i32, ptr %10534, align 4, !tbaa !5
  %10536 = call ptr @strerror(i32 noundef %10535) #11
  %10537 = call ptr @__errno_location() #12
  %10538 = load i32, ptr %10537, align 4, !tbaa !5
  %10539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10526, ptr noundef @.str.5, i32 noundef %10527, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 403, ptr noundef %10530, ptr noundef %10533, ptr noundef %10536, i32 noundef %10538) #11
  br label %10540

10540:                                            ; preds = %10523, %10506
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %10541

10541:                                            ; preds = %10540
  br label %10542

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

10543:                                            ; No predecessors!
  br label %10544

10544:                                            ; preds = %10543
  br label %10545

10545:                                            ; preds = %10544, %10486
  br label %10546

10546:                                            ; preds = %10545
  br label %10547

10547:                                            ; preds = %10546
  call void @llvm.lifetime.end.p0(i64 8, ptr %190) #11
  br label %10548

10548:                                            ; preds = %10547, %9533
  br label %10549

10549:                                            ; preds = %10548
  %10550 = load i32, ptr @test_count, align 4, !tbaa !5
  %10551 = add nsw i32 %10550, 1
  store i32 %10551, ptr @test_count, align 4, !tbaa !5
  %10552 = load ptr, ptr %96, align 8, !tbaa !9
  %10553 = call i32 @s2n_config_free(ptr noundef %10552)
  %10554 = icmp eq i32 %10553, -1
  br i1 %10554, label %10555, label %10608

10555:                                            ; preds = %10549
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

10557:                                            ; preds = %10556
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %10558 = call ptr @__errno_location() #12
  %10559 = load i32, ptr %10558, align 4, !tbaa !5
  store i32 %10559, ptr %199, align 4, !tbaa !5
  %10560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10561 = call i32 @s2n_print_stacktrace(ptr noundef %10560)
  %10562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10563 = trunc i8 %10562 to i1
  br i1 %10563, label %10564, label %10586

10564:                                            ; preds = %10557
  %10565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10566 = call i32 @fileno(ptr noundef %10565) #11
  %10567 = call i32 @isatty(i32 noundef %10566) #11
  %10568 = icmp ne i32 %10567, 0
  br i1 %10568, label %10569, label %10586

10569:                                            ; preds = %10564
  %10570 = load i32, ptr %199, align 4, !tbaa !5
  %10571 = call ptr @__errno_location() #12
  store i32 %10570, ptr %10571, align 4, !tbaa !5
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = load i32, ptr @test_count, align 4, !tbaa !5
  %10574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10575 = load i32, ptr %10574, align 4, !tbaa !5
  %10576 = call ptr @s2n_strerror(i32 noundef %10575, ptr noundef @.str.4)
  %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.4)
  %10580 = call ptr @__errno_location() #12
  %10581 = load i32, ptr %10580, align 4, !tbaa !5
  %10582 = call ptr @strerror(i32 noundef %10581) #11
  %10583 = call ptr @__errno_location() #12
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10572, ptr noundef @.str.2, i32 noundef %10573, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 407, ptr noundef %10576, ptr noundef %10579, ptr noundef %10582, i32 noundef %10584) #11
  br label %10603

10586:                                            ; preds = %10564, %10557
  %10587 = load i32, ptr %199, align 4, !tbaa !5
  %10588 = call ptr @__errno_location() #12
  store i32 %10587, ptr %10588, align 4, !tbaa !5
  %10589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10590 = load i32, ptr @test_count, align 4, !tbaa !5
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror(i32 noundef %10592, ptr noundef @.str.4)
  %10594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call ptr @s2n_strerror_debug(i32 noundef %10595, ptr noundef @.str.4)
  %10597 = call ptr @__errno_location() #12
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  %10599 = call ptr @strerror(i32 noundef %10598) #11
  %10600 = call ptr @__errno_location() #12
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10589, ptr noundef @.str.5, i32 noundef %10590, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 407, ptr noundef %10593, ptr noundef %10596, ptr noundef %10599, i32 noundef %10601) #11
  br label %10603

10603:                                            ; preds = %10586, %10569
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %10604

10604:                                            ; preds = %10603
  br label %10605

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

10606:                                            ; No predecessors!
  br label %10607

10607:                                            ; preds = %10606
  br label %10608

10608:                                            ; preds = %10607, %10549
  br label %10609

10609:                                            ; preds = %10608
  br label %10610

10610:                                            ; preds = %10609
  br label %10611

10611:                                            ; preds = %10610
  %10612 = load i32, ptr @test_count, align 4, !tbaa !5
  %10613 = add nsw i32 %10612, 1
  store i32 %10613, ptr @test_count, align 4, !tbaa !5
  %10614 = load ptr, ptr %106, align 8, !tbaa !9
  %10615 = call i32 @s2n_config_free(ptr noundef %10614)
  %10616 = icmp eq i32 %10615, -1
  br i1 %10616, label %10617, label %10670

10617:                                            ; preds = %10611
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

10619:                                            ; preds = %10618
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10620 = call ptr @__errno_location() #12
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  store i32 %10621, ptr %200, align 4, !tbaa !5
  %10622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10623 = call i32 @s2n_print_stacktrace(ptr noundef %10622)
  %10624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10625 = trunc i8 %10624 to i1
  br i1 %10625, label %10626, label %10648

10626:                                            ; preds = %10619
  %10627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10628 = call i32 @fileno(ptr noundef %10627) #11
  %10629 = call i32 @isatty(i32 noundef %10628) #11
  %10630 = icmp ne i32 %10629, 0
  br i1 %10630, label %10631, label %10648

10631:                                            ; preds = %10626
  %10632 = load i32, ptr %200, align 4, !tbaa !5
  %10633 = call ptr @__errno_location() #12
  store i32 %10632, ptr %10633, align 4, !tbaa !5
  %10634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10635 = load i32, ptr @test_count, align 4, !tbaa !5
  %10636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10637 = load i32, ptr %10636, align 4, !tbaa !5
  %10638 = call ptr @s2n_strerror(i32 noundef %10637, ptr noundef @.str.4)
  %10639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call ptr @s2n_strerror_debug(i32 noundef %10640, ptr noundef @.str.4)
  %10642 = call ptr @__errno_location() #12
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call ptr @strerror(i32 noundef %10643) #11
  %10645 = call ptr @__errno_location() #12
  %10646 = load i32, ptr %10645, align 4, !tbaa !5
  %10647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10634, ptr noundef @.str.2, i32 noundef %10635, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 408, ptr noundef %10638, ptr noundef %10641, ptr noundef %10644, i32 noundef %10646) #11
  br label %10665

10648:                                            ; preds = %10626, %10619
  %10649 = load i32, ptr %200, align 4, !tbaa !5
  %10650 = call ptr @__errno_location() #12
  store i32 %10649, ptr %10650, align 4, !tbaa !5
  %10651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10652 = load i32, ptr @test_count, align 4, !tbaa !5
  %10653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call ptr @s2n_strerror(i32 noundef %10654, ptr noundef @.str.4)
  %10656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  %10658 = call ptr @s2n_strerror_debug(i32 noundef %10657, ptr noundef @.str.4)
  %10659 = call ptr @__errno_location() #12
  %10660 = load i32, ptr %10659, align 4, !tbaa !5
  %10661 = call ptr @strerror(i32 noundef %10660) #11
  %10662 = call ptr @__errno_location() #12
  %10663 = load i32, ptr %10662, align 4, !tbaa !5
  %10664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10651, ptr noundef @.str.5, i32 noundef %10652, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 408, ptr noundef %10655, ptr noundef %10658, ptr noundef %10661, i32 noundef %10663) #11
  br label %10665

10665:                                            ; preds = %10648, %10631
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10666

10666:                                            ; preds = %10665
  br label %10667

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

10668:                                            ; No predecessors!
  br label %10669

10669:                                            ; preds = %10668
  br label %10670

10670:                                            ; preds = %10669, %10611
  br label %10671

10671:                                            ; preds = %10670
  br label %10672

10672:                                            ; preds = %10671
  br label %10673

10673:                                            ; preds = %10672
  %10674 = load i32, ptr @test_count, align 4, !tbaa !5
  %10675 = add nsw i32 %10674, 1
  store i32 %10675, ptr @test_count, align 4, !tbaa !5
  %10676 = load ptr, ptr %89, align 8, !tbaa !9
  %10677 = call i32 @s2n_connection_free(ptr noundef %10676)
  %10678 = icmp eq i32 %10677, -1
  br i1 %10678, label %10679, label %10732

10679:                                            ; preds = %10673
  br label %10680

10680:                                            ; preds = %10679
  br label %10681

10681:                                            ; preds = %10680
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %10682 = call ptr @__errno_location() #12
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  store i32 %10683, ptr %201, align 4, !tbaa !5
  %10684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10685 = call i32 @s2n_print_stacktrace(ptr noundef %10684)
  %10686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10687 = trunc i8 %10686 to i1
  br i1 %10687, label %10688, label %10710

10688:                                            ; preds = %10681
  %10689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10690 = call i32 @fileno(ptr noundef %10689) #11
  %10691 = call i32 @isatty(i32 noundef %10690) #11
  %10692 = icmp ne i32 %10691, 0
  br i1 %10692, label %10693, label %10710

10693:                                            ; preds = %10688
  %10694 = load i32, ptr %201, align 4, !tbaa !5
  %10695 = call ptr @__errno_location() #12
  store i32 %10694, ptr %10695, align 4, !tbaa !5
  %10696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10697 = load i32, ptr @test_count, align 4, !tbaa !5
  %10698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror(i32 noundef %10699, ptr noundef @.str.4)
  %10701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10702 = load i32, ptr %10701, align 4, !tbaa !5
  %10703 = call ptr @s2n_strerror_debug(i32 noundef %10702, ptr noundef @.str.4)
  %10704 = call ptr @__errno_location() #12
  %10705 = load i32, ptr %10704, align 4, !tbaa !5
  %10706 = call ptr @strerror(i32 noundef %10705) #11
  %10707 = call ptr @__errno_location() #12
  %10708 = load i32, ptr %10707, align 4, !tbaa !5
  %10709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10696, ptr noundef @.str.2, i32 noundef %10697, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 409, ptr noundef %10700, ptr noundef %10703, ptr noundef %10706, i32 noundef %10708) #11
  br label %10727

10710:                                            ; preds = %10688, %10681
  %10711 = load i32, ptr %201, align 4, !tbaa !5
  %10712 = call ptr @__errno_location() #12
  store i32 %10711, ptr %10712, align 4, !tbaa !5
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = load i32, ptr @test_count, align 4, !tbaa !5
  %10715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10716 = load i32, ptr %10715, align 4, !tbaa !5
  %10717 = call ptr @s2n_strerror(i32 noundef %10716, ptr noundef @.str.4)
  %10718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10719 = load i32, ptr %10718, align 4, !tbaa !5
  %10720 = call ptr @s2n_strerror_debug(i32 noundef %10719, ptr noundef @.str.4)
  %10721 = call ptr @__errno_location() #12
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  %10723 = call ptr @strerror(i32 noundef %10722) #11
  %10724 = call ptr @__errno_location() #12
  %10725 = load i32, ptr %10724, align 4, !tbaa !5
  %10726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10713, ptr noundef @.str.5, i32 noundef %10714, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 409, ptr noundef %10717, ptr noundef %10720, ptr noundef %10723, i32 noundef %10725) #11
  br label %10727

10727:                                            ; preds = %10710, %10693
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %10728

10728:                                            ; preds = %10727
  br label %10729

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

10730:                                            ; No predecessors!
  br label %10731

10731:                                            ; preds = %10730
  br label %10732

10732:                                            ; preds = %10731, %10673
  br label %10733

10733:                                            ; preds = %10732
  br label %10734

10734:                                            ; preds = %10733
  br label %10735

10735:                                            ; preds = %10734
  %10736 = load i32, ptr @test_count, align 4, !tbaa !5
  %10737 = add nsw i32 %10736, 1
  store i32 %10737, ptr @test_count, align 4, !tbaa !5
  %10738 = load ptr, ptr %88, align 8, !tbaa !9
  %10739 = call i32 @s2n_connection_free(ptr noundef %10738)
  %10740 = icmp eq i32 %10739, -1
  br i1 %10740, label %10741, label %10794

10741:                                            ; preds = %10735
  br label %10742

10742:                                            ; preds = %10741
  br label %10743

10743:                                            ; preds = %10742
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10744 = call ptr @__errno_location() #12
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  store i32 %10745, ptr %202, align 4, !tbaa !5
  %10746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10747 = call i32 @s2n_print_stacktrace(ptr noundef %10746)
  %10748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10749 = trunc i8 %10748 to i1
  br i1 %10749, label %10750, label %10772

10750:                                            ; preds = %10743
  %10751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10752 = call i32 @fileno(ptr noundef %10751) #11
  %10753 = call i32 @isatty(i32 noundef %10752) #11
  %10754 = icmp ne i32 %10753, 0
  br i1 %10754, label %10755, label %10772

10755:                                            ; preds = %10750
  %10756 = load i32, ptr %202, align 4, !tbaa !5
  %10757 = call ptr @__errno_location() #12
  store i32 %10756, ptr %10757, align 4, !tbaa !5
  %10758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10759 = load i32, ptr @test_count, align 4, !tbaa !5
  %10760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  %10762 = call ptr @s2n_strerror(i32 noundef %10761, ptr noundef @.str.4)
  %10763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10764 = load i32, ptr %10763, align 4, !tbaa !5
  %10765 = call ptr @s2n_strerror_debug(i32 noundef %10764, ptr noundef @.str.4)
  %10766 = call ptr @__errno_location() #12
  %10767 = load i32, ptr %10766, align 4, !tbaa !5
  %10768 = call ptr @strerror(i32 noundef %10767) #11
  %10769 = call ptr @__errno_location() #12
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10758, ptr noundef @.str.2, i32 noundef %10759, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 410, ptr noundef %10762, ptr noundef %10765, ptr noundef %10768, i32 noundef %10770) #11
  br label %10789

10772:                                            ; preds = %10750, %10743
  %10773 = load i32, ptr %202, align 4, !tbaa !5
  %10774 = call ptr @__errno_location() #12
  store i32 %10773, ptr %10774, align 4, !tbaa !5
  %10775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10776 = load i32, ptr @test_count, align 4, !tbaa !5
  %10777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10778 = load i32, ptr %10777, align 4, !tbaa !5
  %10779 = call ptr @s2n_strerror(i32 noundef %10778, ptr noundef @.str.4)
  %10780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10781 = load i32, ptr %10780, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror_debug(i32 noundef %10781, ptr noundef @.str.4)
  %10783 = call ptr @__errno_location() #12
  %10784 = load i32, ptr %10783, align 4, !tbaa !5
  %10785 = call ptr @strerror(i32 noundef %10784) #11
  %10786 = call ptr @__errno_location() #12
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10775, ptr noundef @.str.5, i32 noundef %10776, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 410, ptr noundef %10779, ptr noundef %10782, ptr noundef %10785, i32 noundef %10787) #11
  br label %10789

10789:                                            ; preds = %10772, %10755
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10790

10790:                                            ; preds = %10789
  br label %10791

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

10792:                                            ; No predecessors!
  br label %10793

10793:                                            ; preds = %10792
  br label %10794

10794:                                            ; preds = %10793, %10735
  br label %10795

10795:                                            ; preds = %10794
  br label %10796

10796:                                            ; preds = %10795
  br label %10797

10797:                                            ; preds = %10796
  %10798 = load i32, ptr @test_count, align 4, !tbaa !5
  %10799 = add nsw i32 %10798, 1
  store i32 %10799, ptr @test_count, align 4, !tbaa !5
  %10800 = call i32 @s2n_io_pair_close(ptr noundef %92)
  %10801 = icmp eq i32 %10800, -1
  br i1 %10801, label %10802, label %10855

10802:                                            ; preds = %10797
  br label %10803

10803:                                            ; preds = %10802
  br label %10804

10804:                                            ; preds = %10803
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %10805 = call ptr @__errno_location() #12
  %10806 = load i32, ptr %10805, align 4, !tbaa !5
  store i32 %10806, ptr %203, align 4, !tbaa !5
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = call i32 @s2n_print_stacktrace(ptr noundef %10807)
  %10809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10810 = trunc i8 %10809 to i1
  br i1 %10810, label %10811, label %10833

10811:                                            ; preds = %10804
  %10812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10813 = call i32 @fileno(ptr noundef %10812) #11
  %10814 = call i32 @isatty(i32 noundef %10813) #11
  %10815 = icmp ne i32 %10814, 0
  br i1 %10815, label %10816, label %10833

10816:                                            ; preds = %10811
  %10817 = load i32, ptr %203, align 4, !tbaa !5
  %10818 = call ptr @__errno_location() #12
  store i32 %10817, ptr %10818, align 4, !tbaa !5
  %10819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10820 = load i32, ptr @test_count, align 4, !tbaa !5
  %10821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10822 = load i32, ptr %10821, align 4, !tbaa !5
  %10823 = call ptr @s2n_strerror(i32 noundef %10822, ptr noundef @.str.4)
  %10824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10825 = load i32, ptr %10824, align 4, !tbaa !5
  %10826 = call ptr @s2n_strerror_debug(i32 noundef %10825, ptr noundef @.str.4)
  %10827 = call ptr @__errno_location() #12
  %10828 = load i32, ptr %10827, align 4, !tbaa !5
  %10829 = call ptr @strerror(i32 noundef %10828) #11
  %10830 = call ptr @__errno_location() #12
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10819, ptr noundef @.str.2, i32 noundef %10820, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10823, ptr noundef %10826, ptr noundef %10829, i32 noundef %10831) #11
  br label %10850

10833:                                            ; preds = %10811, %10804
  %10834 = load i32, ptr %203, align 4, !tbaa !5
  %10835 = call ptr @__errno_location() #12
  store i32 %10834, ptr %10835, align 4, !tbaa !5
  %10836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10837 = load i32, ptr @test_count, align 4, !tbaa !5
  %10838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10839 = load i32, ptr %10838, align 4, !tbaa !5
  %10840 = call ptr @s2n_strerror(i32 noundef %10839, ptr noundef @.str.4)
  %10841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10842 = load i32, ptr %10841, align 4, !tbaa !5
  %10843 = call ptr @s2n_strerror_debug(i32 noundef %10842, ptr noundef @.str.4)
  %10844 = call ptr @__errno_location() #12
  %10845 = load i32, ptr %10844, align 4, !tbaa !5
  %10846 = call ptr @strerror(i32 noundef %10845) #11
  %10847 = call ptr @__errno_location() #12
  %10848 = load i32, ptr %10847, align 4, !tbaa !5
  %10849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10836, ptr noundef @.str.5, i32 noundef %10837, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10840, ptr noundef %10843, ptr noundef %10846, i32 noundef %10848) #11
  br label %10850

10850:                                            ; preds = %10833, %10816
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %10851

10851:                                            ; preds = %10850
  br label %10852

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

10853:                                            ; No predecessors!
  br label %10854

10854:                                            ; preds = %10853
  br label %10855

10855:                                            ; preds = %10854, %10797
  br label %10856

10856:                                            ; preds = %10855
  br label %10857

10857:                                            ; preds = %10856
  br label %10858

10858:                                            ; preds = %10857
  %10859 = load i32, ptr @test_count, align 4, !tbaa !5
  %10860 = add nsw i32 %10859, 1
  store i32 %10860, ptr @test_count, align 4, !tbaa !5
  %10861 = load ptr, ptr %94, align 8, !tbaa !9
  %10862 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %10861)
  %10863 = icmp eq i32 %10862, -1
  br i1 %10863, label %10864, label %10917

10864:                                            ; preds = %10858
  br label %10865

10865:                                            ; preds = %10864
  br label %10866

10866:                                            ; preds = %10865
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10867 = call ptr @__errno_location() #12
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  store i32 %10868, ptr %204, align 4, !tbaa !5
  %10869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10870 = call i32 @s2n_print_stacktrace(ptr noundef %10869)
  %10871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10872 = trunc i8 %10871 to i1
  br i1 %10872, label %10873, label %10895

10873:                                            ; preds = %10866
  %10874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10875 = call i32 @fileno(ptr noundef %10874) #11
  %10876 = call i32 @isatty(i32 noundef %10875) #11
  %10877 = icmp ne i32 %10876, 0
  br i1 %10877, label %10878, label %10895

10878:                                            ; preds = %10873
  %10879 = load i32, ptr %204, align 4, !tbaa !5
  %10880 = call ptr @__errno_location() #12
  store i32 %10879, ptr %10880, align 4, !tbaa !5
  %10881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10882 = load i32, ptr @test_count, align 4, !tbaa !5
  %10883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10884 = load i32, ptr %10883, align 4, !tbaa !5
  %10885 = call ptr @s2n_strerror(i32 noundef %10884, ptr noundef @.str.4)
  %10886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10887 = load i32, ptr %10886, align 4, !tbaa !5
  %10888 = call ptr @s2n_strerror_debug(i32 noundef %10887, ptr noundef @.str.4)
  %10889 = call ptr @__errno_location() #12
  %10890 = load i32, ptr %10889, align 4, !tbaa !5
  %10891 = call ptr @strerror(i32 noundef %10890) #11
  %10892 = call ptr @__errno_location() #12
  %10893 = load i32, ptr %10892, align 4, !tbaa !5
  %10894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10881, ptr noundef @.str.2, i32 noundef %10882, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 412, ptr noundef %10885, ptr noundef %10888, ptr noundef %10891, i32 noundef %10893) #11
  br label %10912

10895:                                            ; preds = %10873, %10866
  %10896 = load i32, ptr %204, align 4, !tbaa !5
  %10897 = call ptr @__errno_location() #12
  store i32 %10896, ptr %10897, align 4, !tbaa !5
  %10898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10899 = load i32, ptr @test_count, align 4, !tbaa !5
  %10900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10901 = load i32, ptr %10900, align 4, !tbaa !5
  %10902 = call ptr @s2n_strerror(i32 noundef %10901, ptr noundef @.str.4)
  %10903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10904 = load i32, ptr %10903, align 4, !tbaa !5
  %10905 = call ptr @s2n_strerror_debug(i32 noundef %10904, ptr noundef @.str.4)
  %10906 = call ptr @__errno_location() #12
  %10907 = load i32, ptr %10906, align 4, !tbaa !5
  %10908 = call ptr @strerror(i32 noundef %10907) #11
  %10909 = call ptr @__errno_location() #12
  %10910 = load i32, ptr %10909, align 4, !tbaa !5
  %10911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10898, ptr noundef @.str.5, i32 noundef %10899, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 412, ptr noundef %10902, ptr noundef %10905, ptr noundef %10908, i32 noundef %10910) #11
  br label %10912

10912:                                            ; preds = %10895, %10878
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10913

10913:                                            ; preds = %10912
  br label %10914

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

10915:                                            ; No predecessors!
  br label %10916

10916:                                            ; preds = %10915
  br label %10917

10917:                                            ; preds = %10916, %10858
  br label %10918

10918:                                            ; preds = %10917
  br label %10919

10919:                                            ; preds = %10918
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %102) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %205) #11
  call void @llvm.memset.p0.i64(ptr align 8 %205, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %206) #11
  call void @llvm.memset.p0.i64(ptr align 8 %206, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %207) #11
  store i8 0, ptr %207, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 8, ptr %209) #11
  store ptr null, ptr %209, align 8, !tbaa !9
  br label %10920

10920:                                            ; preds = %10919
  %10921 = load i32, ptr @test_count, align 4, !tbaa !5
  %10922 = add nsw i32 %10921, 1
  store i32 %10922, ptr @test_count, align 4, !tbaa !5
  %10923 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %209, ptr noundef @.str.119, ptr noundef @.str.120)
  %10924 = icmp eq i32 %10923, -1
  br i1 %10924, label %10925, label %10978

10925:                                            ; preds = %10920
  br label %10926

10926:                                            ; preds = %10925
  br label %10927

10927:                                            ; preds = %10926
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %10928 = call ptr @__errno_location() #12
  %10929 = load i32, ptr %10928, align 4, !tbaa !5
  store i32 %10929, ptr %210, align 4, !tbaa !5
  %10930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10931 = call i32 @s2n_print_stacktrace(ptr noundef %10930)
  %10932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10933 = trunc i8 %10932 to i1
  br i1 %10933, label %10934, label %10956

10934:                                            ; preds = %10927
  %10935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10936 = call i32 @fileno(ptr noundef %10935) #11
  %10937 = call i32 @isatty(i32 noundef %10936) #11
  %10938 = icmp ne i32 %10937, 0
  br i1 %10938, label %10939, label %10956

10939:                                            ; preds = %10934
  %10940 = load i32, ptr %210, align 4, !tbaa !5
  %10941 = call ptr @__errno_location() #12
  store i32 %10940, ptr %10941, align 4, !tbaa !5
  %10942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10943 = load i32, ptr @test_count, align 4, !tbaa !5
  %10944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  %10946 = call ptr @s2n_strerror(i32 noundef %10945, ptr noundef @.str.4)
  %10947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10948 = load i32, ptr %10947, align 4, !tbaa !5
  %10949 = call ptr @s2n_strerror_debug(i32 noundef %10948, ptr noundef @.str.4)
  %10950 = call ptr @__errno_location() #12
  %10951 = load i32, ptr %10950, align 4, !tbaa !5
  %10952 = call ptr @strerror(i32 noundef %10951) #11
  %10953 = call ptr @__errno_location() #12
  %10954 = load i32, ptr %10953, align 4, !tbaa !5
  %10955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10942, ptr noundef @.str.2, i32 noundef %10943, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10946, ptr noundef %10949, ptr noundef %10952, i32 noundef %10954) #11
  br label %10973

10956:                                            ; preds = %10934, %10927
  %10957 = load i32, ptr %210, align 4, !tbaa !5
  %10958 = call ptr @__errno_location() #12
  store i32 %10957, ptr %10958, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = load i32, ptr @test_count, align 4, !tbaa !5
  %10961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call ptr @s2n_strerror(i32 noundef %10962, ptr noundef @.str.4)
  %10964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror_debug(i32 noundef %10965, ptr noundef @.str.4)
  %10967 = call ptr @__errno_location() #12
  %10968 = load i32, ptr %10967, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #11
  %10970 = call ptr @__errno_location() #12
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  %10972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10959, ptr noundef @.str.5, i32 noundef %10960, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10963, ptr noundef %10966, ptr noundef %10969, i32 noundef %10971) #11
  br label %10973

10973:                                            ; preds = %10956, %10939
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10974

10974:                                            ; preds = %10973
  br label %10975

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

10976:                                            ; No predecessors!
  br label %10977

10977:                                            ; preds = %10976
  br label %10978

10978:                                            ; preds = %10977, %10920
  br label %10979

10979:                                            ; preds = %10978
  br label %10980

10980:                                            ; preds = %10979
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #11
  %10981 = load ptr, ptr %209, align 8, !tbaa !9
  %10982 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %10981, i32 0, i32 0
  %10983 = load ptr, ptr %10982, align 8, !tbaa !15
  %10984 = getelementptr inbounds %struct.s2n_cert_chain, ptr %10983, i32 0, i32 1
  %10985 = load ptr, ptr %10984, align 8, !tbaa !23
  store ptr %10985, ptr %211, align 8, !tbaa !9
  br label %10986

10986:                                            ; preds = %10980
  %10987 = load i32, ptr @test_count, align 4, !tbaa !5
  %10988 = add nsw i32 %10987, 1
  store i32 %10988, ptr @test_count, align 4, !tbaa !5
  %10989 = load ptr, ptr %211, align 8, !tbaa !9
  %10990 = icmp eq ptr %10989, null
  br i1 %10990, label %10991, label %11044

10991:                                            ; preds = %10986
  br label %10992

10992:                                            ; preds = %10991
  br label %10993

10993:                                            ; preds = %10992
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %10994 = call ptr @__errno_location() #12
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  store i32 %10995, ptr %212, align 4, !tbaa !5
  %10996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10997 = call i32 @s2n_print_stacktrace(ptr noundef %10996)
  %10998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10999 = trunc i8 %10998 to i1
  br i1 %10999, label %11000, label %11022

11000:                                            ; preds = %10993
  %11001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11002 = call i32 @fileno(ptr noundef %11001) #11
  %11003 = call i32 @isatty(i32 noundef %11002) #11
  %11004 = icmp ne i32 %11003, 0
  br i1 %11004, label %11005, label %11022

11005:                                            ; preds = %11000
  %11006 = load i32, ptr %212, align 4, !tbaa !5
  %11007 = call ptr @__errno_location() #12
  store i32 %11006, ptr %11007, align 4, !tbaa !5
  %11008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11009 = load i32, ptr @test_count, align 4, !tbaa !5
  %11010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11011 = load i32, ptr %11010, align 4, !tbaa !5
  %11012 = call ptr @s2n_strerror(i32 noundef %11011, ptr noundef @.str.4)
  %11013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11014 = load i32, ptr %11013, align 4, !tbaa !5
  %11015 = call ptr @s2n_strerror_debug(i32 noundef %11014, ptr noundef @.str.4)
  %11016 = call ptr @__errno_location() #12
  %11017 = load i32, ptr %11016, align 4, !tbaa !5
  %11018 = call ptr @strerror(i32 noundef %11017) #11
  %11019 = call ptr @__errno_location() #12
  %11020 = load i32, ptr %11019, align 4, !tbaa !5
  %11021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11008, ptr noundef @.str.2, i32 noundef %11009, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11012, ptr noundef %11015, ptr noundef %11018, i32 noundef %11020) #11
  br label %11039

11022:                                            ; preds = %11000, %10993
  %11023 = load i32, ptr %212, align 4, !tbaa !5
  %11024 = call ptr @__errno_location() #12
  store i32 %11023, ptr %11024, align 4, !tbaa !5
  %11025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11026 = load i32, ptr @test_count, align 4, !tbaa !5
  %11027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call ptr @s2n_strerror(i32 noundef %11028, ptr noundef @.str.4)
  %11030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11031 = load i32, ptr %11030, align 4, !tbaa !5
  %11032 = call ptr @s2n_strerror_debug(i32 noundef %11031, ptr noundef @.str.4)
  %11033 = call ptr @__errno_location() #12
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  %11035 = call ptr @strerror(i32 noundef %11034) #11
  %11036 = call ptr @__errno_location() #12
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  %11038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11025, ptr noundef @.str.5, i32 noundef %11026, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11029, ptr noundef %11032, ptr noundef %11035, i32 noundef %11037) #11
  br label %11039

11039:                                            ; preds = %11022, %11005
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %11040

11040:                                            ; preds = %11039
  br label %11041

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

11042:                                            ; No predecessors!
  br label %11043

11043:                                            ; preds = %11042
  br label %11044

11044:                                            ; preds = %11043, %10986
  br label %11045

11045:                                            ; preds = %11044
  br label %11046

11046:                                            ; preds = %11045
  call void @llvm.lifetime.start.p0(i64 24, ptr %213) #11
  call void @llvm.memset.p0.i64(ptr align 8 %213, i8 0, i64 24, i1 false)
  br label %11047

11047:                                            ; preds = %11046
  %11048 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %213, ptr noundef @.str.123)
  %11049 = getelementptr inbounds %struct.s2n_result, ptr %214, i32 0, i32 0
  store i32 %11048, ptr %11049, align 4
  %11050 = getelementptr inbounds %struct.s2n_result, ptr %214, i32 0, i32 0
  %11051 = load i32, ptr %11050, align 4
  %11052 = call zeroext i1 @s2n_result_is_ok(i32 %11051)
  br i1 %11052, label %11054, label %11053

11053:                                            ; preds = %11047
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17194

11054:                                            ; preds = %11047
  br label %11055

11055:                                            ; preds = %11054
  br label %11056

11056:                                            ; preds = %11055
  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 %11057

11057:                                            ; preds = %11056
  %11058 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %216, ptr noundef @.str.124)
  %11059 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  store i32 %11058, ptr %11059, align 4
  %11060 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  %11061 = load i32, ptr %11060, align 4
  %11062 = call zeroext i1 @s2n_result_is_ok(i32 %11061)
  br i1 %11062, label %11064, label %11063

11063:                                            ; preds = %11057
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17192

11064:                                            ; preds = %11057
  br label %11065

11065:                                            ; preds = %11064
  br label %11066

11066:                                            ; preds = %11065
  call void @llvm.lifetime.start.p0(i64 24, ptr %218) #11
  call void @llvm.memset.p0.i64(ptr align 8 %218, i8 0, i64 24, i1 false)
  br label %11067

11067:                                            ; preds = %11066
  %11068 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %218, ptr noundef @.str.125)
  %11069 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  store i32 %11068, ptr %11069, align 4
  %11070 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  %11071 = load i32, ptr %11070, align 4
  %11072 = call zeroext i1 @s2n_result_is_ok(i32 %11071)
  br i1 %11072, label %11074, label %11073

11073:                                            ; preds = %11067
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17190

11074:                                            ; preds = %11067
  br label %11075

11075:                                            ; preds = %11074
  br label %11076

11076:                                            ; preds = %11075
  call void @llvm.lifetime.start.p0(i64 24, ptr %220) #11
  call void @llvm.memset.p0.i64(ptr align 8 %220, i8 0, i64 24, i1 false)
  br label %11077

11077:                                            ; preds = %11076
  %11078 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %220, ptr noundef @.str.126)
  %11079 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  store i32 %11078, ptr %11079, align 4
  %11080 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  %11081 = load i32, ptr %11080, align 4
  %11082 = call zeroext i1 @s2n_result_is_ok(i32 %11081)
  br i1 %11082, label %11084, label %11083

11083:                                            ; preds = %11077
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17188

11084:                                            ; preds = %11077
  br label %11085

11085:                                            ; preds = %11084
  br label %11086

11086:                                            ; preds = %11085
  call void @llvm.lifetime.start.p0(i64 24, ptr %222) #11
  call void @llvm.memset.p0.i64(ptr align 8 %222, i8 0, i64 24, i1 false)
  br label %11087

11087:                                            ; preds = %11086
  %11088 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %222, ptr noundef @.str.127)
  %11089 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  store i32 %11088, ptr %11089, align 4
  %11090 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  %11091 = load i32, ptr %11090, align 4
  %11092 = call zeroext i1 @s2n_result_is_ok(i32 %11091)
  br i1 %11092, label %11094, label %11093

11093:                                            ; preds = %11087
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17186

11094:                                            ; preds = %11087
  br label %11095

11095:                                            ; preds = %11094
  br label %11096

11096:                                            ; preds = %11095
  call void @llvm.lifetime.start.p0(i64 24, ptr %224) #11
  call void @llvm.memset.p0.i64(ptr align 8 %224, i8 0, i64 24, i1 false)
  br label %11097

11097:                                            ; preds = %11096
  %11098 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %224, ptr noundef @.str.128)
  %11099 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  store i32 %11098, ptr %11099, align 4
  %11100 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  %11101 = load i32, ptr %11100, align 4
  %11102 = call zeroext i1 @s2n_result_is_ok(i32 %11101)
  br i1 %11102, label %11104, label %11103

11103:                                            ; preds = %11097
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17184

11104:                                            ; preds = %11097
  br label %11105

11105:                                            ; preds = %11104
  br label %11106

11106:                                            ; preds = %11105
  call void @llvm.lifetime.start.p0(i64 24, ptr %226) #11
  call void @llvm.memset.p0.i64(ptr align 8 %226, i8 0, i64 24, i1 false)
  br label %11107

11107:                                            ; preds = %11106
  %11108 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %226, ptr noundef @.str.129)
  %11109 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %11108, ptr %11109, align 4
  %11110 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  %11111 = load i32, ptr %11110, align 4
  %11112 = call zeroext i1 @s2n_result_is_ok(i32 %11111)
  br i1 %11112, label %11114, label %11113

11113:                                            ; preds = %11107
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %17182

11114:                                            ; preds = %11107
  br label %11115

11115:                                            ; preds = %11114
  br label %11116

11116:                                            ; preds = %11115
  call void @llvm.lifetime.start.p0(i64 704, ptr %228) #11
  %11117 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 0
  store ptr @.str.130, ptr %11117, align 8, !tbaa !63
  %11118 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 1
  store i32 0, ptr %11118, align 8, !tbaa !65
  %11119 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 2
  store ptr null, ptr %11119, align 8, !tbaa !66
  %11120 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 3
  store i32 0, ptr %11120, align 8, !tbaa !67
  %11121 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11121, ptr align 8 %213, i64 24, i1 false), !tbaa.struct !68
  %11122 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11122, i8 0, i64 24, i1 false)
  %11123 = getelementptr inbounds %struct.anon, ptr %228, i32 0, i32 6
  store i8 0, ptr %11123, align 8, !tbaa !70
  %11124 = getelementptr inbounds %struct.anon, ptr %228, i64 1
  %11125 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 0
  store ptr @.str.131, ptr %11125, align 8, !tbaa !63
  %11126 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 1
  store i32 0, ptr %11126, align 8, !tbaa !65
  %11127 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 2
  store ptr null, ptr %11127, align 8, !tbaa !66
  %11128 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 3
  store i32 0, ptr %11128, align 8, !tbaa !67
  %11129 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11129, ptr align 8 %216, i64 24, i1 false), !tbaa.struct !68
  %11130 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11130, i8 0, i64 24, i1 false)
  %11131 = getelementptr inbounds %struct.anon, ptr %11124, i32 0, i32 6
  store i8 0, ptr %11131, align 8, !tbaa !70
  %11132 = getelementptr inbounds %struct.anon, ptr %228, i64 2
  %11133 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 0
  store ptr @.str.132, ptr %11133, align 8, !tbaa !63
  %11134 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 1
  store i32 0, ptr %11134, align 8, !tbaa !65
  %11135 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 2
  store ptr null, ptr %11135, align 8, !tbaa !66
  %11136 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 3
  store i32 0, ptr %11136, align 8, !tbaa !67
  %11137 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11137, ptr align 8 %218, i64 24, i1 false), !tbaa.struct !68
  %11138 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11138, i8 0, i64 24, i1 false)
  %11139 = getelementptr inbounds %struct.anon, ptr %11132, i32 0, i32 6
  store i8 1, ptr %11139, align 8, !tbaa !70
  %11140 = getelementptr inbounds %struct.anon, ptr %228, i64 3
  %11141 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 0
  store ptr @.str.133, ptr %11141, align 8, !tbaa !63
  %11142 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 1
  store i32 0, ptr %11142, align 8, !tbaa !65
  %11143 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 2
  store ptr null, ptr %11143, align 8, !tbaa !66
  %11144 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 3
  store i32 0, ptr %11144, align 8, !tbaa !67
  %11145 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11145, ptr align 8 %220, i64 24, i1 false), !tbaa.struct !68
  %11146 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11146, i8 0, i64 24, i1 false)
  %11147 = getelementptr inbounds %struct.anon, ptr %11140, i32 0, i32 6
  store i8 1, ptr %11147, align 8, !tbaa !70
  %11148 = getelementptr inbounds %struct.anon, ptr %228, i64 4
  %11149 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 0
  store ptr @.str.134, ptr %11149, align 8, !tbaa !63
  %11150 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 1
  store i32 0, ptr %11150, align 8, !tbaa !65
  %11151 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 2
  store ptr @.str.135, ptr %11151, align 8, !tbaa !66
  %11152 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 3
  store i32 0, ptr %11152, align 8, !tbaa !67
  %11153 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11153, ptr align 8 %222, i64 24, i1 false), !tbaa.struct !68
  %11154 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11154, i8 0, i64 24, i1 false)
  %11155 = getelementptr inbounds %struct.anon, ptr %11148, i32 0, i32 6
  store i8 0, ptr %11155, align 8, !tbaa !70
  %11156 = getelementptr inbounds %struct.anon, ptr %228, i64 5
  %11157 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 0
  store ptr @.str.136, ptr %11157, align 8, !tbaa !63
  %11158 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 1
  store i32 0, ptr %11158, align 8, !tbaa !65
  %11159 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 2
  store ptr @.str.137, ptr %11159, align 8, !tbaa !66
  %11160 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 3
  store i32 0, ptr %11160, align 8, !tbaa !67
  %11161 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11161, ptr align 8 %224, i64 24, i1 false), !tbaa.struct !68
  %11162 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11162, i8 0, i64 24, i1 false)
  %11163 = getelementptr inbounds %struct.anon, ptr %11156, i32 0, i32 6
  store i8 0, ptr %11163, align 8, !tbaa !70
  %11164 = getelementptr inbounds %struct.anon, ptr %228, i64 6
  %11165 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 0
  store ptr @.str.138, ptr %11165, align 8, !tbaa !63
  %11166 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 1
  store i32 0, ptr %11166, align 8, !tbaa !65
  %11167 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 2
  store ptr @.str.139, ptr %11167, align 8, !tbaa !66
  %11168 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 3
  store i32 0, ptr %11168, align 8, !tbaa !67
  %11169 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11169, ptr align 8 %226, i64 24, i1 false), !tbaa.struct !68
  %11170 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 5
  call void @llvm.memset.p0.i64(ptr align 8 %11170, i8 0, i64 24, i1 false)
  %11171 = getelementptr inbounds %struct.anon, ptr %11164, i32 0, i32 6
  store i8 0, ptr %11171, align 8, !tbaa !70
  %11172 = getelementptr inbounds %struct.anon, ptr %228, i64 7
  call void @llvm.memset.p0.i64(ptr align 8 %11172, i8 0, i64 88, i1 false)
  %11173 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 0
  store ptr @.str.140, ptr %11173, align 8, !tbaa !63
  %11174 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 1
  %11175 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 2
  %11176 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 3
  %11177 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 4
  %11178 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 5
  %11179 = getelementptr inbounds %struct.anon, ptr %11172, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 27, ptr %229) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %229, ptr align 16 @__const.main.oid, i64 27, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  store i32 0, ptr %230, align 4, !tbaa !5
  br label %11180

11180:                                            ; preds = %11116
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181
  %11183 = load i32, ptr @test_count, align 4, !tbaa !5
  %11184 = add nsw i32 %11183, 1
  store i32 %11184, ptr @test_count, align 4, !tbaa !5
  %11185 = getelementptr inbounds [27 x i8], ptr %229, i64 0, i64 0
  %11186 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef null, ptr noundef %11185, ptr noundef %230)
  %11187 = icmp eq i32 %11186, -1
  br i1 %11187, label %11241, label %11188

11188:                                            ; preds = %11182
  br label %11189

11189:                                            ; preds = %11188
  br label %11190

11190:                                            ; preds = %11189
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11191 = call ptr @__errno_location() #12
  %11192 = load i32, ptr %11191, align 4, !tbaa !5
  store i32 %11192, ptr %231, align 4, !tbaa !5
  %11193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11194 = call i32 @s2n_print_stacktrace(ptr noundef %11193)
  %11195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11196 = trunc i8 %11195 to i1
  br i1 %11196, label %11197, label %11219

11197:                                            ; preds = %11190
  %11198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11199 = call i32 @fileno(ptr noundef %11198) #11
  %11200 = call i32 @isatty(i32 noundef %11199) #11
  %11201 = icmp ne i32 %11200, 0
  br i1 %11201, label %11202, label %11219

11202:                                            ; preds = %11197
  %11203 = load i32, ptr %231, align 4, !tbaa !5
  %11204 = call ptr @__errno_location() #12
  store i32 %11203, ptr %11204, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = load i32, ptr @test_count, align 4, !tbaa !5
  %11207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  %11209 = call ptr @s2n_strerror(i32 noundef %11208, ptr noundef @.str.4)
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror_debug(i32 noundef %11211, ptr noundef @.str.4)
  %11213 = call ptr @__errno_location() #12
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @strerror(i32 noundef %11214) #11
  %11216 = call ptr @__errno_location() #12
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11205, ptr noundef @.str.2, i32 noundef %11206, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11209, ptr noundef %11212, ptr noundef %11215, i32 noundef %11217) #11
  br label %11236

11219:                                            ; preds = %11197, %11190
  %11220 = load i32, ptr %231, align 4, !tbaa !5
  %11221 = call ptr @__errno_location() #12
  store i32 %11220, ptr %11221, align 4, !tbaa !5
  %11222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11223 = load i32, ptr @test_count, align 4, !tbaa !5
  %11224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11225 = load i32, ptr %11224, align 4, !tbaa !5
  %11226 = call ptr @s2n_strerror(i32 noundef %11225, ptr noundef @.str.4)
  %11227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror_debug(i32 noundef %11228, ptr noundef @.str.4)
  %11230 = call ptr @__errno_location() #12
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call ptr @strerror(i32 noundef %11231) #11
  %11233 = call ptr @__errno_location() #12
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11222, ptr noundef @.str.5, i32 noundef %11223, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11226, ptr noundef %11229, ptr noundef %11232, i32 noundef %11234) #11
  br label %11236

11236:                                            ; preds = %11219, %11202
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

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

11239:                                            ; No predecessors!
  br label %11240

11240:                                            ; preds = %11239
  br label %11241

11241:                                            ; preds = %11240, %11182
  br label %11242

11242:                                            ; preds = %11241
  br label %11243

11243:                                            ; preds = %11242
  br label %11244

11244:                                            ; preds = %11243
  %11245 = load i32, ptr @test_count, align 4, !tbaa !5
  %11246 = add nsw i32 %11245, 1
  store i32 %11246, ptr @test_count, align 4, !tbaa !5
  %11247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  %11249 = icmp eq i32 %11248, 402653193
  br i1 %11249, label %11303, label %11250

11250:                                            ; preds = %11244
  br label %11251

11251:                                            ; preds = %11250
  br label %11252

11252:                                            ; preds = %11251
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %11253 = call ptr @__errno_location() #12
  %11254 = load i32, ptr %11253, align 4, !tbaa !5
  store i32 %11254, ptr %232, align 4, !tbaa !5
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = call i32 @s2n_print_stacktrace(ptr noundef %11255)
  %11257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11258 = trunc i8 %11257 to i1
  br i1 %11258, label %11259, label %11281

11259:                                            ; preds = %11252
  %11260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11261 = call i32 @fileno(ptr noundef %11260) #11
  %11262 = call i32 @isatty(i32 noundef %11261) #11
  %11263 = icmp ne i32 %11262, 0
  br i1 %11263, label %11264, label %11281

11264:                                            ; preds = %11259
  %11265 = load i32, ptr %232, align 4, !tbaa !5
  %11266 = call ptr @__errno_location() #12
  store i32 %11265, ptr %11266, align 4, !tbaa !5
  %11267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11268 = load i32, ptr @test_count, align 4, !tbaa !5
  %11269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @s2n_strerror(i32 noundef %11270, ptr noundef @.str.4)
  %11272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror_debug(i32 noundef %11273, ptr noundef @.str.4)
  %11275 = call ptr @__errno_location() #12
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @strerror(i32 noundef %11276) #11
  %11278 = call ptr @__errno_location() #12
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11267, ptr noundef @.str.2, i32 noundef %11268, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11271, ptr noundef %11274, ptr noundef %11277, i32 noundef %11279) #11
  br label %11298

11281:                                            ; preds = %11259, %11252
  %11282 = load i32, ptr %232, align 4, !tbaa !5
  %11283 = call ptr @__errno_location() #12
  store i32 %11282, ptr %11283, align 4, !tbaa !5
  %11284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11285 = load i32, ptr @test_count, align 4, !tbaa !5
  %11286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11287 = load i32, ptr %11286, align 4, !tbaa !5
  %11288 = call ptr @s2n_strerror(i32 noundef %11287, ptr noundef @.str.4)
  %11289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11290 = load i32, ptr %11289, align 4, !tbaa !5
  %11291 = call ptr @s2n_strerror_debug(i32 noundef %11290, ptr noundef @.str.4)
  %11292 = call ptr @__errno_location() #12
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  %11294 = call ptr @strerror(i32 noundef %11293) #11
  %11295 = call ptr @__errno_location() #12
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  %11297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11284, ptr noundef @.str.5, i32 noundef %11285, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11288, ptr noundef %11291, ptr noundef %11294, i32 noundef %11296) #11
  br label %11298

11298:                                            ; preds = %11281, %11264
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %11299

11299:                                            ; preds = %11298
  br label %11300

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

11301:                                            ; No predecessors!
  br label %11302

11302:                                            ; preds = %11301
  br label %11303

11303:                                            ; preds = %11302, %11244
  br label %11304

11304:                                            ; preds = %11303
  br label %11305

11305:                                            ; preds = %11304
  br label %11306

11306:                                            ; preds = %11305
  %11307 = load i32, ptr @test_count, align 4, !tbaa !5
  %11308 = add nsw i32 %11307, 1
  store i32 %11308, ptr @test_count, align 4, !tbaa !5
  %11309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11310 = load i32, ptr %11309, align 4, !tbaa !5
  %11311 = call ptr @s2n_strerror_debug(i32 noundef %11310, ptr noundef @.str.4)
  %11312 = icmp eq ptr %11311, null
  br i1 %11312, label %11313, label %11366

11313:                                            ; preds = %11306
  br label %11314

11314:                                            ; preds = %11313
  br label %11315

11315:                                            ; preds = %11314
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11316 = call ptr @__errno_location() #12
  %11317 = load i32, ptr %11316, align 4, !tbaa !5
  store i32 %11317, ptr %233, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @s2n_print_stacktrace(ptr noundef %11318)
  %11320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11321 = trunc i8 %11320 to i1
  br i1 %11321, label %11322, label %11344

11322:                                            ; preds = %11315
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = call i32 @fileno(ptr noundef %11323) #11
  %11325 = call i32 @isatty(i32 noundef %11324) #11
  %11326 = icmp ne i32 %11325, 0
  br i1 %11326, label %11327, label %11344

11327:                                            ; preds = %11322
  %11328 = load i32, ptr %233, align 4, !tbaa !5
  %11329 = call ptr @__errno_location() #12
  store i32 %11328, ptr %11329, align 4, !tbaa !5
  %11330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11331 = load i32, ptr @test_count, align 4, !tbaa !5
  %11332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11333 = load i32, ptr %11332, align 4, !tbaa !5
  %11334 = call ptr @s2n_strerror(i32 noundef %11333, ptr noundef @.str.4)
  %11335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11336 = load i32, ptr %11335, align 4, !tbaa !5
  %11337 = call ptr @s2n_strerror_debug(i32 noundef %11336, ptr noundef @.str.4)
  %11338 = call ptr @__errno_location() #12
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  %11340 = call ptr @strerror(i32 noundef %11339) #11
  %11341 = call ptr @__errno_location() #12
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11330, ptr noundef @.str.2, i32 noundef %11331, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11334, ptr noundef %11337, ptr noundef %11340, i32 noundef %11342) #11
  br label %11361

11344:                                            ; preds = %11322, %11315
  %11345 = load i32, ptr %233, align 4, !tbaa !5
  %11346 = call ptr @__errno_location() #12
  store i32 %11345, ptr %11346, align 4, !tbaa !5
  %11347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11348 = load i32, ptr @test_count, align 4, !tbaa !5
  %11349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11350 = load i32, ptr %11349, align 4, !tbaa !5
  %11351 = call ptr @s2n_strerror(i32 noundef %11350, ptr noundef @.str.4)
  %11352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11353 = load i32, ptr %11352, align 4, !tbaa !5
  %11354 = call ptr @s2n_strerror_debug(i32 noundef %11353, ptr noundef @.str.4)
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call ptr @strerror(i32 noundef %11356) #11
  %11358 = call ptr @__errno_location() #12
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11347, ptr noundef @.str.5, i32 noundef %11348, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 490, ptr noundef %11351, ptr noundef %11354, ptr noundef %11357, i32 noundef %11359) #11
  br label %11361

11361:                                            ; preds = %11344, %11327
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11362

11362:                                            ; preds = %11361
  br label %11363

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

11364:                                            ; No predecessors!
  br label %11365

11365:                                            ; preds = %11364
  br label %11366

11366:                                            ; preds = %11365, %11306
  br label %11367

11367:                                            ; preds = %11366
  br label %11368

11368:                                            ; preds = %11367
  br label %11369

11369:                                            ; preds = %11368
  br label %11370

11370:                                            ; preds = %11369
  br label %11371

11371:                                            ; preds = %11370
  %11372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11372, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11373 = call ptr @__errno_location() #12
  store i32 0, ptr %11373, align 4, !tbaa !5
  br label %11374

11374:                                            ; preds = %11371
  br label %11375

11375:                                            ; preds = %11374
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  br label %11378

11378:                                            ; preds = %11377
  br label %11379

11379:                                            ; preds = %11378
  br label %11380

11380:                                            ; preds = %11379
  %11381 = load i32, ptr @test_count, align 4, !tbaa !5
  %11382 = add nsw i32 %11381, 1
  store i32 %11382, ptr @test_count, align 4, !tbaa !5
  %11383 = load ptr, ptr %211, align 8, !tbaa !9
  %11384 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef %11383, ptr noundef null, ptr noundef %230)
  %11385 = icmp eq i32 %11384, -1
  br i1 %11385, label %11439, label %11386

11386:                                            ; preds = %11380
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %11389 = call ptr @__errno_location() #12
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  store i32 %11390, ptr %234, align 4, !tbaa !5
  %11391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11392 = call i32 @s2n_print_stacktrace(ptr noundef %11391)
  %11393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11394 = trunc i8 %11393 to i1
  br i1 %11394, label %11395, label %11417

11395:                                            ; preds = %11388
  %11396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11397 = call i32 @fileno(ptr noundef %11396) #11
  %11398 = call i32 @isatty(i32 noundef %11397) #11
  %11399 = icmp ne i32 %11398, 0
  br i1 %11399, label %11400, label %11417

11400:                                            ; preds = %11395
  %11401 = load i32, ptr %234, align 4, !tbaa !5
  %11402 = call ptr @__errno_location() #12
  store i32 %11401, ptr %11402, align 4, !tbaa !5
  %11403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11404 = load i32, ptr @test_count, align 4, !tbaa !5
  %11405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11406 = load i32, ptr %11405, align 4, !tbaa !5
  %11407 = call ptr @s2n_strerror(i32 noundef %11406, ptr noundef @.str.4)
  %11408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11409 = load i32, ptr %11408, align 4, !tbaa !5
  %11410 = call ptr @s2n_strerror_debug(i32 noundef %11409, ptr noundef @.str.4)
  %11411 = call ptr @__errno_location() #12
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call ptr @strerror(i32 noundef %11412) #11
  %11414 = call ptr @__errno_location() #12
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11403, ptr noundef @.str.2, i32 noundef %11404, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11407, ptr noundef %11410, ptr noundef %11413, i32 noundef %11415) #11
  br label %11434

11417:                                            ; preds = %11395, %11388
  %11418 = load i32, ptr %234, align 4, !tbaa !5
  %11419 = call ptr @__errno_location() #12
  store i32 %11418, ptr %11419, align 4, !tbaa !5
  %11420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11421 = load i32, ptr @test_count, align 4, !tbaa !5
  %11422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call ptr @s2n_strerror(i32 noundef %11423, ptr noundef @.str.4)
  %11425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call ptr @s2n_strerror_debug(i32 noundef %11426, ptr noundef @.str.4)
  %11428 = call ptr @__errno_location() #12
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  %11430 = call ptr @strerror(i32 noundef %11429) #11
  %11431 = call ptr @__errno_location() #12
  %11432 = load i32, ptr %11431, align 4, !tbaa !5
  %11433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11420, ptr noundef @.str.5, i32 noundef %11421, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11424, ptr noundef %11427, ptr noundef %11430, i32 noundef %11432) #11
  br label %11434

11434:                                            ; preds = %11417, %11400
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %11435

11435:                                            ; preds = %11434
  br label %11436

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

11437:                                            ; No predecessors!
  br label %11438

11438:                                            ; preds = %11437
  br label %11439

11439:                                            ; preds = %11438, %11380
  br label %11440

11440:                                            ; preds = %11439
  br label %11441

11441:                                            ; preds = %11440
  br label %11442

11442:                                            ; preds = %11441
  %11443 = load i32, ptr @test_count, align 4, !tbaa !5
  %11444 = add nsw i32 %11443, 1
  store i32 %11444, ptr @test_count, align 4, !tbaa !5
  %11445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11446 = load i32, ptr %11445, align 4, !tbaa !5
  %11447 = icmp eq i32 %11446, 402653193
  br i1 %11447, label %11501, label %11448

11448:                                            ; preds = %11442
  br label %11449

11449:                                            ; preds = %11448
  br label %11450

11450:                                            ; preds = %11449
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %11451 = call ptr @__errno_location() #12
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  store i32 %11452, ptr %235, align 4, !tbaa !5
  %11453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11454 = call i32 @s2n_print_stacktrace(ptr noundef %11453)
  %11455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11456 = trunc i8 %11455 to i1
  br i1 %11456, label %11457, label %11479

11457:                                            ; preds = %11450
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = call i32 @fileno(ptr noundef %11458) #11
  %11460 = call i32 @isatty(i32 noundef %11459) #11
  %11461 = icmp ne i32 %11460, 0
  br i1 %11461, label %11462, label %11479

11462:                                            ; preds = %11457
  %11463 = load i32, ptr %235, align 4, !tbaa !5
  %11464 = call ptr @__errno_location() #12
  store i32 %11463, ptr %11464, align 4, !tbaa !5
  %11465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11466 = load i32, ptr @test_count, align 4, !tbaa !5
  %11467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11468 = load i32, ptr %11467, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror(i32 noundef %11468, ptr noundef @.str.4)
  %11470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call ptr @s2n_strerror_debug(i32 noundef %11471, ptr noundef @.str.4)
  %11473 = call ptr @__errno_location() #12
  %11474 = load i32, ptr %11473, align 4, !tbaa !5
  %11475 = call ptr @strerror(i32 noundef %11474) #11
  %11476 = call ptr @__errno_location() #12
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11465, ptr noundef @.str.2, i32 noundef %11466, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11469, ptr noundef %11472, ptr noundef %11475, i32 noundef %11477) #11
  br label %11496

11479:                                            ; preds = %11457, %11450
  %11480 = load i32, ptr %235, align 4, !tbaa !5
  %11481 = call ptr @__errno_location() #12
  store i32 %11480, ptr %11481, align 4, !tbaa !5
  %11482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11483 = load i32, ptr @test_count, align 4, !tbaa !5
  %11484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = call ptr @s2n_strerror(i32 noundef %11485, ptr noundef @.str.4)
  %11487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @s2n_strerror_debug(i32 noundef %11488, ptr noundef @.str.4)
  %11490 = call ptr @__errno_location() #12
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call ptr @strerror(i32 noundef %11491) #11
  %11493 = call ptr @__errno_location() #12
  %11494 = load i32, ptr %11493, align 4, !tbaa !5
  %11495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11482, ptr noundef @.str.5, i32 noundef %11483, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11486, ptr noundef %11489, ptr noundef %11492, i32 noundef %11494) #11
  br label %11496

11496:                                            ; preds = %11479, %11462
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

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

11499:                                            ; No predecessors!
  br label %11500

11500:                                            ; preds = %11499
  br label %11501

11501:                                            ; preds = %11500, %11442
  br label %11502

11502:                                            ; preds = %11501
  br label %11503

11503:                                            ; preds = %11502
  br label %11504

11504:                                            ; preds = %11503
  %11505 = load i32, ptr @test_count, align 4, !tbaa !5
  %11506 = add nsw i32 %11505, 1
  store i32 %11506, ptr @test_count, align 4, !tbaa !5
  %11507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call ptr @s2n_strerror_debug(i32 noundef %11508, ptr noundef @.str.4)
  %11510 = icmp eq ptr %11509, null
  br i1 %11510, label %11511, label %11564

11511:                                            ; preds = %11504
  br label %11512

11512:                                            ; preds = %11511
  br label %11513

11513:                                            ; preds = %11512
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %11514 = call ptr @__errno_location() #12
  %11515 = load i32, ptr %11514, align 4, !tbaa !5
  store i32 %11515, ptr %236, align 4, !tbaa !5
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = call i32 @s2n_print_stacktrace(ptr noundef %11516)
  %11518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11519 = trunc i8 %11518 to i1
  br i1 %11519, label %11520, label %11542

11520:                                            ; preds = %11513
  %11521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11522 = call i32 @fileno(ptr noundef %11521) #11
  %11523 = call i32 @isatty(i32 noundef %11522) #11
  %11524 = icmp ne i32 %11523, 0
  br i1 %11524, label %11525, label %11542

11525:                                            ; preds = %11520
  %11526 = load i32, ptr %236, align 4, !tbaa !5
  %11527 = call ptr @__errno_location() #12
  store i32 %11526, ptr %11527, align 4, !tbaa !5
  %11528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11529 = load i32, ptr @test_count, align 4, !tbaa !5
  %11530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @s2n_strerror(i32 noundef %11531, ptr noundef @.str.4)
  %11533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call ptr @s2n_strerror_debug(i32 noundef %11534, ptr noundef @.str.4)
  %11536 = call ptr @__errno_location() #12
  %11537 = load i32, ptr %11536, align 4, !tbaa !5
  %11538 = call ptr @strerror(i32 noundef %11537) #11
  %11539 = call ptr @__errno_location() #12
  %11540 = load i32, ptr %11539, align 4, !tbaa !5
  %11541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11528, ptr noundef @.str.2, i32 noundef %11529, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11532, ptr noundef %11535, ptr noundef %11538, i32 noundef %11540) #11
  br label %11559

11542:                                            ; preds = %11520, %11513
  %11543 = load i32, ptr %236, align 4, !tbaa !5
  %11544 = call ptr @__errno_location() #12
  store i32 %11543, ptr %11544, align 4, !tbaa !5
  %11545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11546 = load i32, ptr @test_count, align 4, !tbaa !5
  %11547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror(i32 noundef %11548, ptr noundef @.str.4)
  %11550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror_debug(i32 noundef %11551, ptr noundef @.str.4)
  %11553 = call ptr @__errno_location() #12
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call ptr @strerror(i32 noundef %11554) #11
  %11556 = call ptr @__errno_location() #12
  %11557 = load i32, ptr %11556, align 4, !tbaa !5
  %11558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11545, ptr noundef @.str.5, i32 noundef %11546, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 491, ptr noundef %11549, ptr noundef %11552, ptr noundef %11555, i32 noundef %11557) #11
  br label %11559

11559:                                            ; preds = %11542, %11525
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

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

11562:                                            ; No predecessors!
  br label %11563

11563:                                            ; preds = %11562
  br label %11564

11564:                                            ; preds = %11563, %11504
  br label %11565

11565:                                            ; preds = %11564
  br label %11566

11566:                                            ; preds = %11565
  br label %11567

11567:                                            ; preds = %11566
  br label %11568

11568:                                            ; preds = %11567
  br label %11569

11569:                                            ; preds = %11568
  %11570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11570, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11571 = call ptr @__errno_location() #12
  store i32 0, ptr %11571, align 4, !tbaa !5
  br label %11572

11572:                                            ; preds = %11569
  br label %11573

11573:                                            ; preds = %11572
  br label %11574

11574:                                            ; preds = %11573
  br label %11575

11575:                                            ; preds = %11574
  br label %11576

11576:                                            ; preds = %11575
  br label %11577

11577:                                            ; preds = %11576
  br label %11578

11578:                                            ; preds = %11577
  %11579 = load i32, ptr @test_count, align 4, !tbaa !5
  %11580 = add nsw i32 %11579, 1
  store i32 %11580, ptr @test_count, align 4, !tbaa !5
  %11581 = load ptr, ptr %211, align 8, !tbaa !9
  %11582 = getelementptr inbounds [27 x i8], ptr %229, i64 0, i64 0
  %11583 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef %11581, ptr noundef %11582, ptr noundef null)
  %11584 = icmp eq i32 %11583, -1
  br i1 %11584, label %11638, label %11585

11585:                                            ; preds = %11578
  br label %11586

11586:                                            ; preds = %11585
  br label %11587

11587:                                            ; preds = %11586
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %11588 = call ptr @__errno_location() #12
  %11589 = load i32, ptr %11588, align 4, !tbaa !5
  store i32 %11589, ptr %237, align 4, !tbaa !5
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = call i32 @s2n_print_stacktrace(ptr noundef %11590)
  %11592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11593 = trunc i8 %11592 to i1
  br i1 %11593, label %11594, label %11616

11594:                                            ; preds = %11587
  %11595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11596 = call i32 @fileno(ptr noundef %11595) #11
  %11597 = call i32 @isatty(i32 noundef %11596) #11
  %11598 = icmp ne i32 %11597, 0
  br i1 %11598, label %11599, label %11616

11599:                                            ; preds = %11594
  %11600 = load i32, ptr %237, align 4, !tbaa !5
  %11601 = call ptr @__errno_location() #12
  store i32 %11600, ptr %11601, align 4, !tbaa !5
  %11602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11603 = load i32, ptr @test_count, align 4, !tbaa !5
  %11604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11605 = load i32, ptr %11604, align 4, !tbaa !5
  %11606 = call ptr @s2n_strerror(i32 noundef %11605, ptr noundef @.str.4)
  %11607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11608 = load i32, ptr %11607, align 4, !tbaa !5
  %11609 = call ptr @s2n_strerror_debug(i32 noundef %11608, ptr noundef @.str.4)
  %11610 = call ptr @__errno_location() #12
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  %11612 = call ptr @strerror(i32 noundef %11611) #11
  %11613 = call ptr @__errno_location() #12
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11602, ptr noundef @.str.2, i32 noundef %11603, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11606, ptr noundef %11609, ptr noundef %11612, i32 noundef %11614) #11
  br label %11633

11616:                                            ; preds = %11594, %11587
  %11617 = load i32, ptr %237, align 4, !tbaa !5
  %11618 = call ptr @__errno_location() #12
  store i32 %11617, ptr %11618, align 4, !tbaa !5
  %11619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11620 = load i32, ptr @test_count, align 4, !tbaa !5
  %11621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11622 = load i32, ptr %11621, align 4, !tbaa !5
  %11623 = call ptr @s2n_strerror(i32 noundef %11622, ptr noundef @.str.4)
  %11624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  %11626 = call ptr @s2n_strerror_debug(i32 noundef %11625, ptr noundef @.str.4)
  %11627 = call ptr @__errno_location() #12
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call ptr @strerror(i32 noundef %11628) #11
  %11630 = call ptr @__errno_location() #12
  %11631 = load i32, ptr %11630, align 4, !tbaa !5
  %11632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11619, ptr noundef @.str.5, i32 noundef %11620, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11623, ptr noundef %11626, ptr noundef %11629, i32 noundef %11631) #11
  br label %11633

11633:                                            ; preds = %11616, %11599
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %11634

11634:                                            ; preds = %11633
  br label %11635

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

11636:                                            ; No predecessors!
  br label %11637

11637:                                            ; preds = %11636
  br label %11638

11638:                                            ; preds = %11637, %11578
  br label %11639

11639:                                            ; preds = %11638
  br label %11640

11640:                                            ; preds = %11639
  br label %11641

11641:                                            ; preds = %11640
  %11642 = load i32, ptr @test_count, align 4, !tbaa !5
  %11643 = add nsw i32 %11642, 1
  store i32 %11643, ptr @test_count, align 4, !tbaa !5
  %11644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = icmp eq i32 %11645, 402653193
  br i1 %11646, label %11700, label %11647

11647:                                            ; preds = %11641
  br label %11648

11648:                                            ; preds = %11647
  br label %11649

11649:                                            ; preds = %11648
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %11650 = call ptr @__errno_location() #12
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  store i32 %11651, ptr %238, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = call i32 @s2n_print_stacktrace(ptr noundef %11652)
  %11654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11655 = trunc i8 %11654 to i1
  br i1 %11655, label %11656, label %11678

11656:                                            ; preds = %11649
  %11657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11658 = call i32 @fileno(ptr noundef %11657) #11
  %11659 = call i32 @isatty(i32 noundef %11658) #11
  %11660 = icmp ne i32 %11659, 0
  br i1 %11660, label %11661, label %11678

11661:                                            ; preds = %11656
  %11662 = load i32, ptr %238, align 4, !tbaa !5
  %11663 = call ptr @__errno_location() #12
  store i32 %11662, ptr %11663, align 4, !tbaa !5
  %11664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11665 = load i32, ptr @test_count, align 4, !tbaa !5
  %11666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  %11668 = call ptr @s2n_strerror(i32 noundef %11667, ptr noundef @.str.4)
  %11669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11670 = load i32, ptr %11669, align 4, !tbaa !5
  %11671 = call ptr @s2n_strerror_debug(i32 noundef %11670, ptr noundef @.str.4)
  %11672 = call ptr @__errno_location() #12
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  %11674 = call ptr @strerror(i32 noundef %11673) #11
  %11675 = call ptr @__errno_location() #12
  %11676 = load i32, ptr %11675, align 4, !tbaa !5
  %11677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11664, ptr noundef @.str.2, i32 noundef %11665, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11668, ptr noundef %11671, ptr noundef %11674, i32 noundef %11676) #11
  br label %11695

11678:                                            ; preds = %11656, %11649
  %11679 = load i32, ptr %238, align 4, !tbaa !5
  %11680 = call ptr @__errno_location() #12
  store i32 %11679, ptr %11680, align 4, !tbaa !5
  %11681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11682 = load i32, ptr @test_count, align 4, !tbaa !5
  %11683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11684 = load i32, ptr %11683, align 4, !tbaa !5
  %11685 = call ptr @s2n_strerror(i32 noundef %11684, ptr noundef @.str.4)
  %11686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11687 = load i32, ptr %11686, align 4, !tbaa !5
  %11688 = call ptr @s2n_strerror_debug(i32 noundef %11687, ptr noundef @.str.4)
  %11689 = call ptr @__errno_location() #12
  %11690 = load i32, ptr %11689, align 4, !tbaa !5
  %11691 = call ptr @strerror(i32 noundef %11690) #11
  %11692 = call ptr @__errno_location() #12
  %11693 = load i32, ptr %11692, align 4, !tbaa !5
  %11694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11681, ptr noundef @.str.5, i32 noundef %11682, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11685, ptr noundef %11688, ptr noundef %11691, i32 noundef %11693) #11
  br label %11695

11695:                                            ; preds = %11678, %11661
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %11696

11696:                                            ; preds = %11695
  br label %11697

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

11698:                                            ; No predecessors!
  br label %11699

11699:                                            ; preds = %11698
  br label %11700

11700:                                            ; preds = %11699, %11641
  br label %11701

11701:                                            ; preds = %11700
  br label %11702

11702:                                            ; preds = %11701
  br label %11703

11703:                                            ; preds = %11702
  %11704 = load i32, ptr @test_count, align 4, !tbaa !5
  %11705 = add nsw i32 %11704, 1
  store i32 %11705, ptr @test_count, align 4, !tbaa !5
  %11706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11707 = load i32, ptr %11706, align 4, !tbaa !5
  %11708 = call ptr @s2n_strerror_debug(i32 noundef %11707, ptr noundef @.str.4)
  %11709 = icmp eq ptr %11708, null
  br i1 %11709, label %11710, label %11763

11710:                                            ; preds = %11703
  br label %11711

11711:                                            ; preds = %11710
  br label %11712

11712:                                            ; preds = %11711
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %11713 = call ptr @__errno_location() #12
  %11714 = load i32, ptr %11713, align 4, !tbaa !5
  store i32 %11714, ptr %239, align 4, !tbaa !5
  %11715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11716 = call i32 @s2n_print_stacktrace(ptr noundef %11715)
  %11717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11718 = trunc i8 %11717 to i1
  br i1 %11718, label %11719, label %11741

11719:                                            ; preds = %11712
  %11720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11721 = call i32 @fileno(ptr noundef %11720) #11
  %11722 = call i32 @isatty(i32 noundef %11721) #11
  %11723 = icmp ne i32 %11722, 0
  br i1 %11723, label %11724, label %11741

11724:                                            ; preds = %11719
  %11725 = load i32, ptr %239, align 4, !tbaa !5
  %11726 = call ptr @__errno_location() #12
  store i32 %11725, ptr %11726, align 4, !tbaa !5
  %11727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11728 = load i32, ptr @test_count, align 4, !tbaa !5
  %11729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call ptr @s2n_strerror(i32 noundef %11730, ptr noundef @.str.4)
  %11732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11733 = load i32, ptr %11732, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror_debug(i32 noundef %11733, ptr noundef @.str.4)
  %11735 = call ptr @__errno_location() #12
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = call ptr @strerror(i32 noundef %11736) #11
  %11738 = call ptr @__errno_location() #12
  %11739 = load i32, ptr %11738, align 4, !tbaa !5
  %11740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11727, ptr noundef @.str.2, i32 noundef %11728, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11731, ptr noundef %11734, ptr noundef %11737, i32 noundef %11739) #11
  br label %11758

11741:                                            ; preds = %11719, %11712
  %11742 = load i32, ptr %239, align 4, !tbaa !5
  %11743 = call ptr @__errno_location() #12
  store i32 %11742, ptr %11743, align 4, !tbaa !5
  %11744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11745 = load i32, ptr @test_count, align 4, !tbaa !5
  %11746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11747 = load i32, ptr %11746, align 4, !tbaa !5
  %11748 = call ptr @s2n_strerror(i32 noundef %11747, ptr noundef @.str.4)
  %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_debug(i32 noundef %11750, ptr noundef @.str.4)
  %11752 = call ptr @__errno_location() #12
  %11753 = load i32, ptr %11752, align 4, !tbaa !5
  %11754 = call ptr @strerror(i32 noundef %11753) #11
  %11755 = call ptr @__errno_location() #12
  %11756 = load i32, ptr %11755, align 4, !tbaa !5
  %11757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11744, ptr noundef @.str.5, i32 noundef %11745, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 492, ptr noundef %11748, ptr noundef %11751, ptr noundef %11754, i32 noundef %11756) #11
  br label %11758

11758:                                            ; preds = %11741, %11724
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %11759

11759:                                            ; preds = %11758
  br label %11760

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

11761:                                            ; No predecessors!
  br label %11762

11762:                                            ; preds = %11761
  br label %11763

11763:                                            ; preds = %11762, %11703
  br label %11764

11764:                                            ; preds = %11763
  br label %11765

11765:                                            ; preds = %11764
  br label %11766

11766:                                            ; preds = %11765
  br label %11767

11767:                                            ; preds = %11766
  br label %11768

11768:                                            ; preds = %11767
  %11769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11769, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11770 = call ptr @__errno_location() #12
  store i32 0, ptr %11770, align 4, !tbaa !5
  br label %11771

11771:                                            ; preds = %11768
  br label %11772

11772:                                            ; preds = %11771
  br label %11773

11773:                                            ; preds = %11772
  br label %11774

11774:                                            ; preds = %11773
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  call void @llvm.lifetime.end.p0(i64 27, ptr %229) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  br label %11775

11775:                                            ; preds = %11917, %11774
  %11776 = load i64, ptr %208, align 8, !tbaa !28
  %11777 = icmp ult i64 %11776, 7
  br i1 %11777, label %11778, label %11920

11778:                                            ; preds = %11775
  br label %11779

11779:                                            ; preds = %11778
  %11780 = load i32, ptr @test_count, align 4, !tbaa !5
  %11781 = add nsw i32 %11780, 1
  store i32 %11781, ptr @test_count, align 4, !tbaa !5
  %11782 = load ptr, ptr %211, align 8, !tbaa !9
  %11783 = load i64, ptr %208, align 8, !tbaa !28
  %11784 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11783
  %11785 = getelementptr inbounds %struct.anon, ptr %11784, i32 0, i32 0
  %11786 = load ptr, ptr %11785, align 8, !tbaa !63
  %11787 = load i64, ptr %208, align 8, !tbaa !28
  %11788 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11787
  %11789 = getelementptr inbounds %struct.anon, ptr %11788, i32 0, i32 1
  %11790 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef %11782, ptr noundef %11786, ptr noundef %11789)
  %11791 = icmp eq i32 %11790, -1
  br i1 %11791, label %11792, label %11845

11792:                                            ; preds = %11779
  br label %11793

11793:                                            ; preds = %11792
  br label %11794

11794:                                            ; preds = %11793
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %11795 = call ptr @__errno_location() #12
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  store i32 %11796, ptr %240, align 4, !tbaa !5
  %11797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11798 = call i32 @s2n_print_stacktrace(ptr noundef %11797)
  %11799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11800 = trunc i8 %11799 to i1
  br i1 %11800, label %11801, label %11823

11801:                                            ; preds = %11794
  %11802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11803 = call i32 @fileno(ptr noundef %11802) #11
  %11804 = call i32 @isatty(i32 noundef %11803) #11
  %11805 = icmp ne i32 %11804, 0
  br i1 %11805, label %11806, label %11823

11806:                                            ; preds = %11801
  %11807 = load i32, ptr %240, align 4, !tbaa !5
  %11808 = call ptr @__errno_location() #12
  store i32 %11807, ptr %11808, align 4, !tbaa !5
  %11809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11810 = load i32, ptr @test_count, align 4, !tbaa !5
  %11811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11812 = load i32, ptr %11811, align 4, !tbaa !5
  %11813 = call ptr @s2n_strerror(i32 noundef %11812, ptr noundef @.str.4)
  %11814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11815 = load i32, ptr %11814, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror_debug(i32 noundef %11815, ptr noundef @.str.4)
  %11817 = call ptr @__errno_location() #12
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  %11819 = call ptr @strerror(i32 noundef %11818) #11
  %11820 = call ptr @__errno_location() #12
  %11821 = load i32, ptr %11820, align 4, !tbaa !5
  %11822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11809, ptr noundef @.str.2, i32 noundef %11810, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 497, ptr noundef %11813, ptr noundef %11816, ptr noundef %11819, i32 noundef %11821) #11
  br label %11840

11823:                                            ; preds = %11801, %11794
  %11824 = load i32, ptr %240, align 4, !tbaa !5
  %11825 = call ptr @__errno_location() #12
  store i32 %11824, ptr %11825, align 4, !tbaa !5
  %11826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11827 = load i32, ptr @test_count, align 4, !tbaa !5
  %11828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11829 = load i32, ptr %11828, align 4, !tbaa !5
  %11830 = call ptr @s2n_strerror(i32 noundef %11829, ptr noundef @.str.4)
  %11831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11832 = load i32, ptr %11831, align 4, !tbaa !5
  %11833 = call ptr @s2n_strerror_debug(i32 noundef %11832, ptr noundef @.str.4)
  %11834 = call ptr @__errno_location() #12
  %11835 = load i32, ptr %11834, align 4, !tbaa !5
  %11836 = call ptr @strerror(i32 noundef %11835) #11
  %11837 = call ptr @__errno_location() #12
  %11838 = load i32, ptr %11837, align 4, !tbaa !5
  %11839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11826, ptr noundef @.str.5, i32 noundef %11827, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 497, ptr noundef %11830, ptr noundef %11833, ptr noundef %11836, i32 noundef %11838) #11
  br label %11840

11840:                                            ; preds = %11823, %11806
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %11841

11841:                                            ; preds = %11840
  br label %11842

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

11843:                                            ; No predecessors!
  br label %11844

11844:                                            ; preds = %11843
  br label %11845

11845:                                            ; preds = %11844, %11779
  br label %11846

11846:                                            ; preds = %11845
  br label %11847

11847:                                            ; preds = %11846
  br label %11848

11848:                                            ; preds = %11847
  %11849 = load i32, ptr @test_count, align 4, !tbaa !5
  %11850 = add nsw i32 %11849, 1
  store i32 %11850, ptr @test_count, align 4, !tbaa !5
  %11851 = load i64, ptr %208, align 8, !tbaa !28
  %11852 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11851
  %11853 = getelementptr inbounds %struct.anon, ptr %11852, i32 0, i32 1
  %11854 = load i32, ptr %11853, align 8, !tbaa !65
  %11855 = load i64, ptr %208, align 8, !tbaa !28
  %11856 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11855
  %11857 = getelementptr inbounds %struct.anon, ptr %11856, i32 0, i32 4
  %11858 = getelementptr inbounds %struct.s2n_blob, ptr %11857, i32 0, i32 1
  %11859 = load i32, ptr %11858, align 8, !tbaa !71
  %11860 = icmp eq i32 %11854, %11859
  br i1 %11860, label %11914, label %11861

11861:                                            ; preds = %11848
  br label %11862

11862:                                            ; preds = %11861
  br label %11863

11863:                                            ; preds = %11862
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %11864 = call ptr @__errno_location() #12
  %11865 = load i32, ptr %11864, align 4, !tbaa !5
  store i32 %11865, ptr %241, align 4, !tbaa !5
  %11866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11867 = call i32 @s2n_print_stacktrace(ptr noundef %11866)
  %11868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11869 = trunc i8 %11868 to i1
  br i1 %11869, label %11870, label %11892

11870:                                            ; preds = %11863
  %11871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11872 = call i32 @fileno(ptr noundef %11871) #11
  %11873 = call i32 @isatty(i32 noundef %11872) #11
  %11874 = icmp ne i32 %11873, 0
  br i1 %11874, label %11875, label %11892

11875:                                            ; preds = %11870
  %11876 = load i32, ptr %241, align 4, !tbaa !5
  %11877 = call ptr @__errno_location() #12
  store i32 %11876, ptr %11877, align 4, !tbaa !5
  %11878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11879 = load i32, ptr @test_count, align 4, !tbaa !5
  %11880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11881 = load i32, ptr %11880, align 4, !tbaa !5
  %11882 = call ptr @s2n_strerror(i32 noundef %11881, ptr noundef @.str.4)
  %11883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11884 = load i32, ptr %11883, align 4, !tbaa !5
  %11885 = call ptr @s2n_strerror_debug(i32 noundef %11884, ptr noundef @.str.4)
  %11886 = call ptr @__errno_location() #12
  %11887 = load i32, ptr %11886, align 4, !tbaa !5
  %11888 = call ptr @strerror(i32 noundef %11887) #11
  %11889 = call ptr @__errno_location() #12
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  %11891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11878, ptr noundef @.str.2, i32 noundef %11879, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 498, ptr noundef %11882, ptr noundef %11885, ptr noundef %11888, i32 noundef %11890) #11
  br label %11909

11892:                                            ; preds = %11870, %11863
  %11893 = load i32, ptr %241, align 4, !tbaa !5
  %11894 = call ptr @__errno_location() #12
  store i32 %11893, ptr %11894, align 4, !tbaa !5
  %11895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11896 = load i32, ptr @test_count, align 4, !tbaa !5
  %11897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11898 = load i32, ptr %11897, align 4, !tbaa !5
  %11899 = call ptr @s2n_strerror(i32 noundef %11898, ptr noundef @.str.4)
  %11900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  %11902 = call ptr @s2n_strerror_debug(i32 noundef %11901, ptr noundef @.str.4)
  %11903 = call ptr @__errno_location() #12
  %11904 = load i32, ptr %11903, align 4, !tbaa !5
  %11905 = call ptr @strerror(i32 noundef %11904) #11
  %11906 = call ptr @__errno_location() #12
  %11907 = load i32, ptr %11906, align 4, !tbaa !5
  %11908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11895, ptr noundef @.str.5, i32 noundef %11896, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 498, ptr noundef %11899, ptr noundef %11902, ptr noundef %11905, i32 noundef %11907) #11
  br label %11909

11909:                                            ; preds = %11892, %11875
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %11910

11910:                                            ; preds = %11909
  br label %11911

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

11912:                                            ; No predecessors!
  br label %11913

11913:                                            ; preds = %11912
  br label %11914

11914:                                            ; preds = %11913, %11848
  br label %11915

11915:                                            ; preds = %11914
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916
  %11918 = load i64, ptr %208, align 8, !tbaa !28
  %11919 = add i64 %11918, 1
  store i64 %11919, ptr %208, align 8, !tbaa !28
  br label %11775, !llvm.loop !72

11920:                                            ; preds = %11775
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #11
  store i64 7, ptr %242, align 8, !tbaa !28
  br label %11921

11921:                                            ; preds = %11920
  br label %11922

11922:                                            ; preds = %11921
  br label %11923

11923:                                            ; preds = %11922
  %11924 = load i32, ptr @test_count, align 4, !tbaa !5
  %11925 = add nsw i32 %11924, 1
  store i32 %11925, ptr @test_count, align 4, !tbaa !5
  %11926 = load ptr, ptr %211, align 8, !tbaa !9
  %11927 = load i64, ptr %242, align 8, !tbaa !28
  %11928 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11927
  %11929 = getelementptr inbounds %struct.anon, ptr %11928, i32 0, i32 0
  %11930 = load ptr, ptr %11929, align 8, !tbaa !63
  %11931 = load i64, ptr %208, align 8, !tbaa !28
  %11932 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %11931
  %11933 = getelementptr inbounds %struct.anon, ptr %11932, i32 0, i32 1
  %11934 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef %11926, ptr noundef %11930, ptr noundef %11933)
  %11935 = icmp eq i32 %11934, -1
  br i1 %11935, label %11989, label %11936

11936:                                            ; preds = %11923
  br label %11937

11937:                                            ; preds = %11936
  br label %11938

11938:                                            ; preds = %11937
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %11939 = call ptr @__errno_location() #12
  %11940 = load i32, ptr %11939, align 4, !tbaa !5
  store i32 %11940, ptr %243, align 4, !tbaa !5
  %11941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11942 = call i32 @s2n_print_stacktrace(ptr noundef %11941)
  %11943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11944 = trunc i8 %11943 to i1
  br i1 %11944, label %11945, label %11967

11945:                                            ; preds = %11938
  %11946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11947 = call i32 @fileno(ptr noundef %11946) #11
  %11948 = call i32 @isatty(i32 noundef %11947) #11
  %11949 = icmp ne i32 %11948, 0
  br i1 %11949, label %11950, label %11967

11950:                                            ; preds = %11945
  %11951 = load i32, ptr %243, align 4, !tbaa !5
  %11952 = call ptr @__errno_location() #12
  store i32 %11951, ptr %11952, align 4, !tbaa !5
  %11953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11954 = load i32, ptr @test_count, align 4, !tbaa !5
  %11955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11956 = load i32, ptr %11955, align 4, !tbaa !5
  %11957 = call ptr @s2n_strerror(i32 noundef %11956, ptr noundef @.str.4)
  %11958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11959 = load i32, ptr %11958, align 4, !tbaa !5
  %11960 = call ptr @s2n_strerror_debug(i32 noundef %11959, ptr noundef @.str.4)
  %11961 = call ptr @__errno_location() #12
  %11962 = load i32, ptr %11961, align 4, !tbaa !5
  %11963 = call ptr @strerror(i32 noundef %11962) #11
  %11964 = call ptr @__errno_location() #12
  %11965 = load i32, ptr %11964, align 4, !tbaa !5
  %11966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11953, ptr noundef @.str.2, i32 noundef %11954, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 506, ptr noundef %11957, ptr noundef %11960, ptr noundef %11963, i32 noundef %11965) #11
  br label %11984

11967:                                            ; preds = %11945, %11938
  %11968 = load i32, ptr %243, align 4, !tbaa !5
  %11969 = call ptr @__errno_location() #12
  store i32 %11968, ptr %11969, align 4, !tbaa !5
  %11970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11971 = load i32, ptr @test_count, align 4, !tbaa !5
  %11972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11973 = load i32, ptr %11972, align 4, !tbaa !5
  %11974 = call ptr @s2n_strerror(i32 noundef %11973, ptr noundef @.str.4)
  %11975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11976 = load i32, ptr %11975, align 4, !tbaa !5
  %11977 = call ptr @s2n_strerror_debug(i32 noundef %11976, ptr noundef @.str.4)
  %11978 = call ptr @__errno_location() #12
  %11979 = load i32, ptr %11978, align 4, !tbaa !5
  %11980 = call ptr @strerror(i32 noundef %11979) #11
  %11981 = call ptr @__errno_location() #12
  %11982 = load i32, ptr %11981, align 4, !tbaa !5
  %11983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11970, ptr noundef @.str.5, i32 noundef %11971, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 506, ptr noundef %11974, ptr noundef %11977, ptr noundef %11980, i32 noundef %11982) #11
  br label %11984

11984:                                            ; preds = %11967, %11950
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %11985

11985:                                            ; preds = %11984
  br label %11986

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

11987:                                            ; No predecessors!
  br label %11988

11988:                                            ; preds = %11987
  br label %11989

11989:                                            ; preds = %11988, %11923
  br label %11990

11990:                                            ; preds = %11989
  br label %11991

11991:                                            ; preds = %11990
  br label %11992

11992:                                            ; preds = %11991
  %11993 = load i32, ptr @test_count, align 4, !tbaa !5
  %11994 = add nsw i32 %11993, 1
  store i32 %11994, ptr @test_count, align 4, !tbaa !5
  %11995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11996 = load i32, ptr %11995, align 4, !tbaa !5
  %11997 = icmp eq i32 %11996, 469762118
  br i1 %11997, label %12051, label %11998

11998:                                            ; preds = %11992
  br label %11999

11999:                                            ; preds = %11998
  br label %12000

12000:                                            ; preds = %11999
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %12001 = call ptr @__errno_location() #12
  %12002 = load i32, ptr %12001, align 4, !tbaa !5
  store i32 %12002, ptr %244, align 4, !tbaa !5
  %12003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12004 = call i32 @s2n_print_stacktrace(ptr noundef %12003)
  %12005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12006 = trunc i8 %12005 to i1
  br i1 %12006, label %12007, label %12029

12007:                                            ; preds = %12000
  %12008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12009 = call i32 @fileno(ptr noundef %12008) #11
  %12010 = call i32 @isatty(i32 noundef %12009) #11
  %12011 = icmp ne i32 %12010, 0
  br i1 %12011, label %12012, label %12029

12012:                                            ; preds = %12007
  %12013 = load i32, ptr %244, align 4, !tbaa !5
  %12014 = call ptr @__errno_location() #12
  store i32 %12013, ptr %12014, align 4, !tbaa !5
  %12015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12016 = load i32, ptr @test_count, align 4, !tbaa !5
  %12017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = call ptr @s2n_strerror(i32 noundef %12018, ptr noundef @.str.4)
  %12020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12021 = load i32, ptr %12020, align 4, !tbaa !5
  %12022 = call ptr @s2n_strerror_debug(i32 noundef %12021, ptr noundef @.str.4)
  %12023 = call ptr @__errno_location() #12
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  %12025 = call ptr @strerror(i32 noundef %12024) #11
  %12026 = call ptr @__errno_location() #12
  %12027 = load i32, ptr %12026, align 4, !tbaa !5
  %12028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12015, ptr noundef @.str.2, i32 noundef %12016, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 506, ptr noundef %12019, ptr noundef %12022, ptr noundef %12025, i32 noundef %12027) #11
  br label %12046

12029:                                            ; preds = %12007, %12000
  %12030 = load i32, ptr %244, align 4, !tbaa !5
  %12031 = call ptr @__errno_location() #12
  store i32 %12030, ptr %12031, align 4, !tbaa !5
  %12032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12033 = load i32, ptr @test_count, align 4, !tbaa !5
  %12034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call ptr @s2n_strerror(i32 noundef %12035, ptr noundef @.str.4)
  %12037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12038 = load i32, ptr %12037, align 4, !tbaa !5
  %12039 = call ptr @s2n_strerror_debug(i32 noundef %12038, ptr noundef @.str.4)
  %12040 = call ptr @__errno_location() #12
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  %12042 = call ptr @strerror(i32 noundef %12041) #11
  %12043 = call ptr @__errno_location() #12
  %12044 = load i32, ptr %12043, align 4, !tbaa !5
  %12045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12032, ptr noundef @.str.5, i32 noundef %12033, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 506, ptr noundef %12036, ptr noundef %12039, ptr noundef %12042, i32 noundef %12044) #11
  br label %12046

12046:                                            ; preds = %12029, %12012
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %12047

12047:                                            ; preds = %12046
  br label %12048

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

12049:                                            ; No predecessors!
  br label %12050

12050:                                            ; preds = %12049
  br label %12051

12051:                                            ; preds = %12050, %11992
  br label %12052

12052:                                            ; preds = %12051
  br label %12053

12053:                                            ; preds = %12052
  br label %12054

12054:                                            ; preds = %12053
  %12055 = load i32, ptr @test_count, align 4, !tbaa !5
  %12056 = add nsw i32 %12055, 1
  store i32 %12056, ptr @test_count, align 4, !tbaa !5
  %12057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12058 = load i32, ptr %12057, align 4, !tbaa !5
  %12059 = call ptr @s2n_strerror_debug(i32 noundef %12058, ptr noundef @.str.4)
  %12060 = icmp eq ptr %12059, null
  br i1 %12060, label %12061, label %12114

12061:                                            ; preds = %12054
  br label %12062

12062:                                            ; preds = %12061
  br label %12063

12063:                                            ; preds = %12062
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %12064 = call ptr @__errno_location() #12
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  store i32 %12065, ptr %245, align 4, !tbaa !5
  %12066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12067 = call i32 @s2n_print_stacktrace(ptr noundef %12066)
  %12068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12069 = trunc i8 %12068 to i1
  br i1 %12069, label %12070, label %12092

12070:                                            ; preds = %12063
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = call i32 @fileno(ptr noundef %12071) #11
  %12073 = call i32 @isatty(i32 noundef %12072) #11
  %12074 = icmp ne i32 %12073, 0
  br i1 %12074, label %12075, label %12092

12075:                                            ; preds = %12070
  %12076 = load i32, ptr %245, align 4, !tbaa !5
  %12077 = call ptr @__errno_location() #12
  store i32 %12076, ptr %12077, align 4, !tbaa !5
  %12078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12079 = load i32, ptr @test_count, align 4, !tbaa !5
  %12080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12081 = load i32, ptr %12080, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror(i32 noundef %12081, ptr noundef @.str.4)
  %12083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12084 = load i32, ptr %12083, align 4, !tbaa !5
  %12085 = call ptr @s2n_strerror_debug(i32 noundef %12084, ptr noundef @.str.4)
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  %12088 = call ptr @strerror(i32 noundef %12087) #11
  %12089 = call ptr @__errno_location() #12
  %12090 = load i32, ptr %12089, align 4, !tbaa !5
  %12091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12078, ptr noundef @.str.2, i32 noundef %12079, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 506, ptr noundef %12082, ptr noundef %12085, ptr noundef %12088, i32 noundef %12090) #11
  br label %12109

12092:                                            ; preds = %12070, %12063
  %12093 = load i32, ptr %245, align 4, !tbaa !5
  %12094 = call ptr @__errno_location() #12
  store i32 %12093, ptr %12094, align 4, !tbaa !5
  %12095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12096 = load i32, ptr @test_count, align 4, !tbaa !5
  %12097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12098 = load i32, ptr %12097, align 4, !tbaa !5
  %12099 = call ptr @s2n_strerror(i32 noundef %12098, ptr noundef @.str.4)
  %12100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12101 = load i32, ptr %12100, align 4, !tbaa !5
  %12102 = call ptr @s2n_strerror_debug(i32 noundef %12101, ptr noundef @.str.4)
  %12103 = call ptr @__errno_location() #12
  %12104 = load i32, ptr %12103, align 4, !tbaa !5
  %12105 = call ptr @strerror(i32 noundef %12104) #11
  %12106 = call ptr @__errno_location() #12
  %12107 = load i32, ptr %12106, align 4, !tbaa !5
  %12108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12095, ptr noundef @.str.5, i32 noundef %12096, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 506, ptr noundef %12099, ptr noundef %12102, ptr noundef %12105, i32 noundef %12107) #11
  br label %12109

12109:                                            ; preds = %12092, %12075
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %12110

12110:                                            ; preds = %12109
  br label %12111

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

12112:                                            ; No predecessors!
  br label %12113

12113:                                            ; preds = %12112
  br label %12114

12114:                                            ; preds = %12113, %12054
  br label %12115

12115:                                            ; preds = %12114
  br label %12116

12116:                                            ; preds = %12115
  br label %12117

12117:                                            ; preds = %12116
  br label %12118

12118:                                            ; preds = %12117
  br label %12119

12119:                                            ; preds = %12118
  %12120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12120, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12121 = call ptr @__errno_location() #12
  store i32 0, ptr %12121, align 4, !tbaa !5
  br label %12122

12122:                                            ; preds = %12119
  br label %12123

12123:                                            ; preds = %12122
  br label %12124

12124:                                            ; preds = %12123
  br label %12125

12125:                                            ; preds = %12124
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #11
  call void @llvm.lifetime.start.p0(i64 27, ptr %246) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %246, ptr align 16 @__const.main.oid.148, i64 27, i1 false)
  br label %12126

12126:                                            ; preds = %12125
  %12127 = load i32, ptr @test_count, align 4, !tbaa !5
  %12128 = add nsw i32 %12127, 1
  store i32 %12128, ptr @test_count, align 4, !tbaa !5
  %12129 = call i32 @s2n_alloc(ptr noundef %205, i32 noundef 65535)
  %12130 = icmp eq i32 %12129, -1
  br i1 %12130, label %12131, label %12184

12131:                                            ; preds = %12126
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

12133:                                            ; preds = %12132
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %12134 = call ptr @__errno_location() #12
  %12135 = load i32, ptr %12134, align 4, !tbaa !5
  store i32 %12135, ptr %247, align 4, !tbaa !5
  %12136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12137 = call i32 @s2n_print_stacktrace(ptr noundef %12136)
  %12138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12139 = trunc i8 %12138 to i1
  br i1 %12139, label %12140, label %12162

12140:                                            ; preds = %12133
  %12141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12142 = call i32 @fileno(ptr noundef %12141) #11
  %12143 = call i32 @isatty(i32 noundef %12142) #11
  %12144 = icmp ne i32 %12143, 0
  br i1 %12144, label %12145, label %12162

12145:                                            ; preds = %12140
  %12146 = load i32, ptr %247, align 4, !tbaa !5
  %12147 = call ptr @__errno_location() #12
  store i32 %12146, ptr %12147, align 4, !tbaa !5
  %12148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12149 = load i32, ptr @test_count, align 4, !tbaa !5
  %12150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call ptr @s2n_strerror(i32 noundef %12151, ptr noundef @.str.4)
  %12153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12154 = load i32, ptr %12153, align 4, !tbaa !5
  %12155 = call ptr @s2n_strerror_debug(i32 noundef %12154, ptr noundef @.str.4)
  %12156 = call ptr @__errno_location() #12
  %12157 = load i32, ptr %12156, align 4, !tbaa !5
  %12158 = call ptr @strerror(i32 noundef %12157) #11
  %12159 = call ptr @__errno_location() #12
  %12160 = load i32, ptr %12159, align 4, !tbaa !5
  %12161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12148, ptr noundef @.str.2, i32 noundef %12149, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 515, ptr noundef %12152, ptr noundef %12155, ptr noundef %12158, i32 noundef %12160) #11
  br label %12179

12162:                                            ; preds = %12140, %12133
  %12163 = load i32, ptr %247, align 4, !tbaa !5
  %12164 = call ptr @__errno_location() #12
  store i32 %12163, ptr %12164, align 4, !tbaa !5
  %12165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12166 = load i32, ptr @test_count, align 4, !tbaa !5
  %12167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @s2n_strerror(i32 noundef %12168, ptr noundef @.str.4)
  %12170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call ptr @s2n_strerror_debug(i32 noundef %12171, ptr noundef @.str.4)
  %12173 = call ptr @__errno_location() #12
  %12174 = load i32, ptr %12173, align 4, !tbaa !5
  %12175 = call ptr @strerror(i32 noundef %12174) #11
  %12176 = call ptr @__errno_location() #12
  %12177 = load i32, ptr %12176, align 4, !tbaa !5
  %12178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12165, ptr noundef @.str.5, i32 noundef %12166, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 515, ptr noundef %12169, ptr noundef %12172, ptr noundef %12175, i32 noundef %12177) #11
  br label %12179

12179:                                            ; preds = %12162, %12145
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %12180

12180:                                            ; preds = %12179
  br label %12181

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

12182:                                            ; No predecessors!
  br label %12183

12183:                                            ; preds = %12182
  br label %12184

12184:                                            ; preds = %12183, %12126
  br label %12185

12185:                                            ; preds = %12184
  br label %12186

12186:                                            ; preds = %12185
  br label %12187

12187:                                            ; preds = %12186
  br label %12188

12188:                                            ; preds = %12187
  br label %12189

12189:                                            ; preds = %12188
  %12190 = load i32, ptr @test_count, align 4, !tbaa !5
  %12191 = add nsw i32 %12190, 1
  store i32 %12191, ptr @test_count, align 4, !tbaa !5
  %12192 = getelementptr inbounds [27 x i8], ptr %246, i64 0, i64 0
  %12193 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 0
  %12194 = load ptr, ptr %12193, align 8, !tbaa !73
  %12195 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 1
  %12196 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef null, ptr noundef %12192, ptr noundef %12194, ptr noundef %12195, ptr noundef %207)
  %12197 = icmp eq i32 %12196, -1
  br i1 %12197, label %12251, label %12198

12198:                                            ; preds = %12189
  br label %12199

12199:                                            ; preds = %12198
  br label %12200

12200:                                            ; preds = %12199
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %12201 = call ptr @__errno_location() #12
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  store i32 %12202, ptr %248, align 4, !tbaa !5
  %12203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12204 = call i32 @s2n_print_stacktrace(ptr noundef %12203)
  %12205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12206 = trunc i8 %12205 to i1
  br i1 %12206, label %12207, label %12229

12207:                                            ; preds = %12200
  %12208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12209 = call i32 @fileno(ptr noundef %12208) #11
  %12210 = call i32 @isatty(i32 noundef %12209) #11
  %12211 = icmp ne i32 %12210, 0
  br i1 %12211, label %12212, label %12229

12212:                                            ; preds = %12207
  %12213 = load i32, ptr %248, align 4, !tbaa !5
  %12214 = call ptr @__errno_location() #12
  store i32 %12213, ptr %12214, align 4, !tbaa !5
  %12215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12216 = load i32, ptr @test_count, align 4, !tbaa !5
  %12217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12218 = load i32, ptr %12217, align 4, !tbaa !5
  %12219 = call ptr @s2n_strerror(i32 noundef %12218, ptr noundef @.str.4)
  %12220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12221 = load i32, ptr %12220, align 4, !tbaa !5
  %12222 = call ptr @s2n_strerror_debug(i32 noundef %12221, ptr noundef @.str.4)
  %12223 = call ptr @__errno_location() #12
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  %12225 = call ptr @strerror(i32 noundef %12224) #11
  %12226 = call ptr @__errno_location() #12
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12215, ptr noundef @.str.2, i32 noundef %12216, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 519, ptr noundef %12219, ptr noundef %12222, ptr noundef %12225, i32 noundef %12227) #11
  br label %12246

12229:                                            ; preds = %12207, %12200
  %12230 = load i32, ptr %248, align 4, !tbaa !5
  %12231 = call ptr @__errno_location() #12
  store i32 %12230, ptr %12231, align 4, !tbaa !5
  %12232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12233 = load i32, ptr @test_count, align 4, !tbaa !5
  %12234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12235 = load i32, ptr %12234, align 4, !tbaa !5
  %12236 = call ptr @s2n_strerror(i32 noundef %12235, ptr noundef @.str.4)
  %12237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12238 = load i32, ptr %12237, align 4, !tbaa !5
  %12239 = call ptr @s2n_strerror_debug(i32 noundef %12238, ptr noundef @.str.4)
  %12240 = call ptr @__errno_location() #12
  %12241 = load i32, ptr %12240, align 4, !tbaa !5
  %12242 = call ptr @strerror(i32 noundef %12241) #11
  %12243 = call ptr @__errno_location() #12
  %12244 = load i32, ptr %12243, align 4, !tbaa !5
  %12245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12232, ptr noundef @.str.5, i32 noundef %12233, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 519, ptr noundef %12236, ptr noundef %12239, ptr noundef %12242, i32 noundef %12244) #11
  br label %12246

12246:                                            ; preds = %12229, %12212
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %12247

12247:                                            ; preds = %12246
  br label %12248

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

12249:                                            ; No predecessors!
  br label %12250

12250:                                            ; preds = %12249
  br label %12251

12251:                                            ; preds = %12250, %12189
  br label %12252

12252:                                            ; preds = %12251
  br label %12253

12253:                                            ; preds = %12252
  br label %12254

12254:                                            ; preds = %12253
  %12255 = load i32, ptr @test_count, align 4, !tbaa !5
  %12256 = add nsw i32 %12255, 1
  store i32 %12256, ptr @test_count, align 4, !tbaa !5
  %12257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = icmp eq i32 %12258, 402653193
  br i1 %12259, label %12313, label %12260

12260:                                            ; preds = %12254
  br label %12261

12261:                                            ; preds = %12260
  br label %12262

12262:                                            ; preds = %12261
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %12263 = call ptr @__errno_location() #12
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  store i32 %12264, ptr %249, align 4, !tbaa !5
  %12265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12266 = call i32 @s2n_print_stacktrace(ptr noundef %12265)
  %12267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12268 = trunc i8 %12267 to i1
  br i1 %12268, label %12269, label %12291

12269:                                            ; preds = %12262
  %12270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12271 = call i32 @fileno(ptr noundef %12270) #11
  %12272 = call i32 @isatty(i32 noundef %12271) #11
  %12273 = icmp ne i32 %12272, 0
  br i1 %12273, label %12274, label %12291

12274:                                            ; preds = %12269
  %12275 = load i32, ptr %249, align 4, !tbaa !5
  %12276 = call ptr @__errno_location() #12
  store i32 %12275, ptr %12276, align 4, !tbaa !5
  %12277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12278 = load i32, ptr @test_count, align 4, !tbaa !5
  %12279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12280 = load i32, ptr %12279, align 4, !tbaa !5
  %12281 = call ptr @s2n_strerror(i32 noundef %12280, ptr noundef @.str.4)
  %12282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12283 = load i32, ptr %12282, align 4, !tbaa !5
  %12284 = call ptr @s2n_strerror_debug(i32 noundef %12283, ptr noundef @.str.4)
  %12285 = call ptr @__errno_location() #12
  %12286 = load i32, ptr %12285, align 4, !tbaa !5
  %12287 = call ptr @strerror(i32 noundef %12286) #11
  %12288 = call ptr @__errno_location() #12
  %12289 = load i32, ptr %12288, align 4, !tbaa !5
  %12290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12277, ptr noundef @.str.2, i32 noundef %12278, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 519, ptr noundef %12281, ptr noundef %12284, ptr noundef %12287, i32 noundef %12289) #11
  br label %12308

12291:                                            ; preds = %12269, %12262
  %12292 = load i32, ptr %249, align 4, !tbaa !5
  %12293 = call ptr @__errno_location() #12
  store i32 %12292, ptr %12293, align 4, !tbaa !5
  %12294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12295 = load i32, ptr @test_count, align 4, !tbaa !5
  %12296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12297 = load i32, ptr %12296, align 4, !tbaa !5
  %12298 = call ptr @s2n_strerror(i32 noundef %12297, ptr noundef @.str.4)
  %12299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  %12301 = call ptr @s2n_strerror_debug(i32 noundef %12300, ptr noundef @.str.4)
  %12302 = call ptr @__errno_location() #12
  %12303 = load i32, ptr %12302, align 4, !tbaa !5
  %12304 = call ptr @strerror(i32 noundef %12303) #11
  %12305 = call ptr @__errno_location() #12
  %12306 = load i32, ptr %12305, align 4, !tbaa !5
  %12307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12294, ptr noundef @.str.5, i32 noundef %12295, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 519, ptr noundef %12298, ptr noundef %12301, ptr noundef %12304, i32 noundef %12306) #11
  br label %12308

12308:                                            ; preds = %12291, %12274
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %12309

12309:                                            ; preds = %12308
  br label %12310

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

12311:                                            ; No predecessors!
  br label %12312

12312:                                            ; preds = %12311
  br label %12313

12313:                                            ; preds = %12312, %12254
  br label %12314

12314:                                            ; preds = %12313
  br label %12315

12315:                                            ; preds = %12314
  br label %12316

12316:                                            ; preds = %12315
  %12317 = load i32, ptr @test_count, align 4, !tbaa !5
  %12318 = add nsw i32 %12317, 1
  store i32 %12318, ptr @test_count, align 4, !tbaa !5
  %12319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror_debug(i32 noundef %12320, ptr noundef @.str.4)
  %12322 = icmp eq ptr %12321, null
  br i1 %12322, label %12323, label %12376

12323:                                            ; preds = %12316
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %12326 = call ptr @__errno_location() #12
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  store i32 %12327, ptr %250, 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 %250, 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.4)
  %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.4)
  %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.2, i32 noundef %12341, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 519, ptr noundef %12344, ptr noundef %12347, ptr noundef %12350, i32 noundef %12352) #11
  br label %12371

12354:                                            ; preds = %12332, %12325
  %12355 = load i32, ptr %250, 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.4)
  %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.4)
  %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.5, i32 noundef %12358, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 519, 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 %250) #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, %12316
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  br label %12379

12379:                                            ; preds = %12378
  br label %12380

12380:                                            ; preds = %12379
  br label %12381

12381:                                            ; preds = %12380
  %12382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12382, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12383 = call ptr @__errno_location() #12
  store i32 0, ptr %12383, align 4, !tbaa !5
  br label %12384

12384:                                            ; preds = %12381
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385
  br label %12387

12387:                                            ; preds = %12386
  br label %12388

12388:                                            ; preds = %12387
  br label %12389

12389:                                            ; preds = %12388
  br label %12390

12390:                                            ; preds = %12389
  %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 = load ptr, ptr %211, align 8, !tbaa !9
  %12394 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 0
  %12395 = load ptr, ptr %12394, align 8, !tbaa !73
  %12396 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 1
  %12397 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %12393, ptr noundef null, ptr noundef %12395, ptr noundef %12396, ptr noundef %207)
  %12398 = icmp eq i32 %12397, -1
  br i1 %12398, label %12452, label %12399

12399:                                            ; preds = %12390
  br label %12400

12400:                                            ; preds = %12399
  br label %12401

12401:                                            ; preds = %12400
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %12402 = call ptr @__errno_location() #12
  %12403 = load i32, ptr %12402, align 4, !tbaa !5
  store i32 %12403, ptr %251, align 4, !tbaa !5
  %12404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12405 = call i32 @s2n_print_stacktrace(ptr noundef %12404)
  %12406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12407 = trunc i8 %12406 to i1
  br i1 %12407, label %12408, label %12430

12408:                                            ; preds = %12401
  %12409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12410 = call i32 @fileno(ptr noundef %12409) #11
  %12411 = call i32 @isatty(i32 noundef %12410) #11
  %12412 = icmp ne i32 %12411, 0
  br i1 %12412, label %12413, label %12430

12413:                                            ; preds = %12408
  %12414 = load i32, ptr %251, align 4, !tbaa !5
  %12415 = call ptr @__errno_location() #12
  store i32 %12414, ptr %12415, align 4, !tbaa !5
  %12416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12417 = load i32, ptr @test_count, align 4, !tbaa !5
  %12418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @s2n_strerror(i32 noundef %12419, ptr noundef @.str.4)
  %12421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call ptr @s2n_strerror_debug(i32 noundef %12422, ptr noundef @.str.4)
  %12424 = call ptr @__errno_location() #12
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call ptr @strerror(i32 noundef %12425) #11
  %12427 = call ptr @__errno_location() #12
  %12428 = load i32, ptr %12427, align 4, !tbaa !5
  %12429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12416, ptr noundef @.str.2, i32 noundef %12417, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12420, ptr noundef %12423, ptr noundef %12426, i32 noundef %12428) #11
  br label %12447

12430:                                            ; preds = %12408, %12401
  %12431 = load i32, ptr %251, align 4, !tbaa !5
  %12432 = call ptr @__errno_location() #12
  store i32 %12431, ptr %12432, align 4, !tbaa !5
  %12433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12434 = load i32, ptr @test_count, align 4, !tbaa !5
  %12435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @s2n_strerror(i32 noundef %12436, ptr noundef @.str.4)
  %12438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call ptr @s2n_strerror_debug(i32 noundef %12439, ptr noundef @.str.4)
  %12441 = call ptr @__errno_location() #12
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  %12443 = call ptr @strerror(i32 noundef %12442) #11
  %12444 = call ptr @__errno_location() #12
  %12445 = load i32, ptr %12444, align 4, !tbaa !5
  %12446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12433, ptr noundef @.str.5, i32 noundef %12434, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12437, ptr noundef %12440, ptr noundef %12443, i32 noundef %12445) #11
  br label %12447

12447:                                            ; preds = %12430, %12413
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

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

12450:                                            ; No predecessors!
  br label %12451

12451:                                            ; preds = %12450
  br label %12452

12452:                                            ; preds = %12451, %12390
  br label %12453

12453:                                            ; preds = %12452
  br label %12454

12454:                                            ; preds = %12453
  br label %12455

12455:                                            ; preds = %12454
  %12456 = load i32, ptr @test_count, align 4, !tbaa !5
  %12457 = add nsw i32 %12456, 1
  store i32 %12457, ptr @test_count, align 4, !tbaa !5
  %12458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12459 = load i32, ptr %12458, align 4, !tbaa !5
  %12460 = icmp eq i32 %12459, 402653193
  br i1 %12460, label %12514, label %12461

12461:                                            ; preds = %12455
  br label %12462

12462:                                            ; preds = %12461
  br label %12463

12463:                                            ; preds = %12462
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %12464 = call ptr @__errno_location() #12
  %12465 = load i32, ptr %12464, align 4, !tbaa !5
  store i32 %12465, ptr %252, align 4, !tbaa !5
  %12466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12467 = call i32 @s2n_print_stacktrace(ptr noundef %12466)
  %12468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12469 = trunc i8 %12468 to i1
  br i1 %12469, label %12470, label %12492

12470:                                            ; preds = %12463
  %12471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12472 = call i32 @fileno(ptr noundef %12471) #11
  %12473 = call i32 @isatty(i32 noundef %12472) #11
  %12474 = icmp ne i32 %12473, 0
  br i1 %12474, label %12475, label %12492

12475:                                            ; preds = %12470
  %12476 = load i32, ptr %252, align 4, !tbaa !5
  %12477 = call ptr @__errno_location() #12
  store i32 %12476, ptr %12477, align 4, !tbaa !5
  %12478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12479 = load i32, ptr @test_count, align 4, !tbaa !5
  %12480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  %12482 = call ptr @s2n_strerror(i32 noundef %12481, ptr noundef @.str.4)
  %12483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12484 = load i32, ptr %12483, align 4, !tbaa !5
  %12485 = call ptr @s2n_strerror_debug(i32 noundef %12484, ptr noundef @.str.4)
  %12486 = call ptr @__errno_location() #12
  %12487 = load i32, ptr %12486, align 4, !tbaa !5
  %12488 = call ptr @strerror(i32 noundef %12487) #11
  %12489 = call ptr @__errno_location() #12
  %12490 = load i32, ptr %12489, align 4, !tbaa !5
  %12491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12478, ptr noundef @.str.2, i32 noundef %12479, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12482, ptr noundef %12485, ptr noundef %12488, i32 noundef %12490) #11
  br label %12509

12492:                                            ; preds = %12470, %12463
  %12493 = load i32, ptr %252, align 4, !tbaa !5
  %12494 = call ptr @__errno_location() #12
  store i32 %12493, ptr %12494, align 4, !tbaa !5
  %12495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12496 = load i32, ptr @test_count, align 4, !tbaa !5
  %12497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12498 = load i32, ptr %12497, align 4, !tbaa !5
  %12499 = call ptr @s2n_strerror(i32 noundef %12498, ptr noundef @.str.4)
  %12500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12501 = load i32, ptr %12500, align 4, !tbaa !5
  %12502 = call ptr @s2n_strerror_debug(i32 noundef %12501, ptr noundef @.str.4)
  %12503 = call ptr @__errno_location() #12
  %12504 = load i32, ptr %12503, align 4, !tbaa !5
  %12505 = call ptr @strerror(i32 noundef %12504) #11
  %12506 = call ptr @__errno_location() #12
  %12507 = load i32, ptr %12506, align 4, !tbaa !5
  %12508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12495, ptr noundef @.str.5, i32 noundef %12496, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12499, ptr noundef %12502, ptr noundef %12505, i32 noundef %12507) #11
  br label %12509

12509:                                            ; preds = %12492, %12475
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %12510

12510:                                            ; preds = %12509
  br label %12511

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

12512:                                            ; No predecessors!
  br label %12513

12513:                                            ; preds = %12512
  br label %12514

12514:                                            ; preds = %12513, %12455
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

12516:                                            ; preds = %12515
  br label %12517

12517:                                            ; preds = %12516
  %12518 = load i32, ptr @test_count, align 4, !tbaa !5
  %12519 = add nsw i32 %12518, 1
  store i32 %12519, ptr @test_count, align 4, !tbaa !5
  %12520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12521 = load i32, ptr %12520, align 4, !tbaa !5
  %12522 = call ptr @s2n_strerror_debug(i32 noundef %12521, ptr noundef @.str.4)
  %12523 = icmp eq ptr %12522, null
  br i1 %12523, label %12524, label %12577

12524:                                            ; preds = %12517
  br label %12525

12525:                                            ; preds = %12524
  br label %12526

12526:                                            ; preds = %12525
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %12527 = call ptr @__errno_location() #12
  %12528 = load i32, ptr %12527, align 4, !tbaa !5
  store i32 %12528, ptr %253, align 4, !tbaa !5
  %12529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12530 = call i32 @s2n_print_stacktrace(ptr noundef %12529)
  %12531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12532 = trunc i8 %12531 to i1
  br i1 %12532, label %12533, label %12555

12533:                                            ; preds = %12526
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = call i32 @fileno(ptr noundef %12534) #11
  %12536 = call i32 @isatty(i32 noundef %12535) #11
  %12537 = icmp ne i32 %12536, 0
  br i1 %12537, label %12538, label %12555

12538:                                            ; preds = %12533
  %12539 = load i32, ptr %253, align 4, !tbaa !5
  %12540 = call ptr @__errno_location() #12
  store i32 %12539, ptr %12540, align 4, !tbaa !5
  %12541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12542 = load i32, ptr @test_count, align 4, !tbaa !5
  %12543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12544 = load i32, ptr %12543, align 4, !tbaa !5
  %12545 = call ptr @s2n_strerror(i32 noundef %12544, ptr noundef @.str.4)
  %12546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12547 = load i32, ptr %12546, align 4, !tbaa !5
  %12548 = call ptr @s2n_strerror_debug(i32 noundef %12547, ptr noundef @.str.4)
  %12549 = call ptr @__errno_location() #12
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call ptr @strerror(i32 noundef %12550) #11
  %12552 = call ptr @__errno_location() #12
  %12553 = load i32, ptr %12552, align 4, !tbaa !5
  %12554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12541, ptr noundef @.str.2, i32 noundef %12542, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12545, ptr noundef %12548, ptr noundef %12551, i32 noundef %12553) #11
  br label %12572

12555:                                            ; preds = %12533, %12526
  %12556 = load i32, ptr %253, align 4, !tbaa !5
  %12557 = call ptr @__errno_location() #12
  store i32 %12556, ptr %12557, align 4, !tbaa !5
  %12558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12559 = load i32, ptr @test_count, align 4, !tbaa !5
  %12560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12561 = load i32, ptr %12560, align 4, !tbaa !5
  %12562 = call ptr @s2n_strerror(i32 noundef %12561, ptr noundef @.str.4)
  %12563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12564 = load i32, ptr %12563, align 4, !tbaa !5
  %12565 = call ptr @s2n_strerror_debug(i32 noundef %12564, ptr noundef @.str.4)
  %12566 = call ptr @__errno_location() #12
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = call ptr @strerror(i32 noundef %12567) #11
  %12569 = call ptr @__errno_location() #12
  %12570 = load i32, ptr %12569, align 4, !tbaa !5
  %12571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12558, ptr noundef @.str.5, i32 noundef %12559, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 522, ptr noundef %12562, ptr noundef %12565, ptr noundef %12568, i32 noundef %12570) #11
  br label %12572

12572:                                            ; preds = %12555, %12538
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %12573

12573:                                            ; preds = %12572
  br label %12574

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

12575:                                            ; No predecessors!
  br label %12576

12576:                                            ; preds = %12575
  br label %12577

12577:                                            ; preds = %12576, %12517
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

12579:                                            ; preds = %12578
  br label %12580

12580:                                            ; preds = %12579
  br label %12581

12581:                                            ; preds = %12580
  br label %12582

12582:                                            ; preds = %12581
  %12583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12583, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12584 = call ptr @__errno_location() #12
  store i32 0, ptr %12584, align 4, !tbaa !5
  br label %12585

12585:                                            ; preds = %12582
  br label %12586

12586:                                            ; preds = %12585
  br label %12587

12587:                                            ; preds = %12586
  br label %12588

12588:                                            ; preds = %12587
  br label %12589

12589:                                            ; preds = %12588
  br label %12590

12590:                                            ; preds = %12589
  br label %12591

12591:                                            ; preds = %12590
  %12592 = load i32, ptr @test_count, align 4, !tbaa !5
  %12593 = add nsw i32 %12592, 1
  store i32 %12593, ptr @test_count, align 4, !tbaa !5
  %12594 = load ptr, ptr %211, align 8, !tbaa !9
  %12595 = getelementptr inbounds [27 x i8], ptr %246, i64 0, i64 0
  %12596 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 1
  %12597 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %12594, ptr noundef %12595, ptr noundef null, ptr noundef %12596, ptr noundef %207)
  %12598 = icmp eq i32 %12597, -1
  br i1 %12598, label %12652, label %12599

12599:                                            ; preds = %12591
  br label %12600

12600:                                            ; preds = %12599
  br label %12601

12601:                                            ; preds = %12600
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %12602 = call ptr @__errno_location() #12
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  store i32 %12603, ptr %254, align 4, !tbaa !5
  %12604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12605 = call i32 @s2n_print_stacktrace(ptr noundef %12604)
  %12606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12607 = trunc i8 %12606 to i1
  br i1 %12607, label %12608, label %12630

12608:                                            ; preds = %12601
  %12609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12610 = call i32 @fileno(ptr noundef %12609) #11
  %12611 = call i32 @isatty(i32 noundef %12610) #11
  %12612 = icmp ne i32 %12611, 0
  br i1 %12612, label %12613, label %12630

12613:                                            ; preds = %12608
  %12614 = load i32, ptr %254, align 4, !tbaa !5
  %12615 = call ptr @__errno_location() #12
  store i32 %12614, ptr %12615, align 4, !tbaa !5
  %12616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12617 = load i32, ptr @test_count, align 4, !tbaa !5
  %12618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12619 = load i32, ptr %12618, align 4, !tbaa !5
  %12620 = call ptr @s2n_strerror(i32 noundef %12619, ptr noundef @.str.4)
  %12621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call ptr @s2n_strerror_debug(i32 noundef %12622, ptr noundef @.str.4)
  %12624 = call ptr @__errno_location() #12
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @strerror(i32 noundef %12625) #11
  %12627 = call ptr @__errno_location() #12
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12616, ptr noundef @.str.2, i32 noundef %12617, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12620, ptr noundef %12623, ptr noundef %12626, i32 noundef %12628) #11
  br label %12647

12630:                                            ; preds = %12608, %12601
  %12631 = load i32, ptr %254, align 4, !tbaa !5
  %12632 = call ptr @__errno_location() #12
  store i32 %12631, ptr %12632, align 4, !tbaa !5
  %12633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12634 = load i32, ptr @test_count, align 4, !tbaa !5
  %12635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  %12637 = call ptr @s2n_strerror(i32 noundef %12636, ptr noundef @.str.4)
  %12638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12639 = load i32, ptr %12638, align 4, !tbaa !5
  %12640 = call ptr @s2n_strerror_debug(i32 noundef %12639, ptr noundef @.str.4)
  %12641 = call ptr @__errno_location() #12
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @strerror(i32 noundef %12642) #11
  %12644 = call ptr @__errno_location() #12
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12633, ptr noundef @.str.5, i32 noundef %12634, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12637, ptr noundef %12640, ptr noundef %12643, i32 noundef %12645) #11
  br label %12647

12647:                                            ; preds = %12630, %12613
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %12648

12648:                                            ; preds = %12647
  br label %12649

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

12650:                                            ; No predecessors!
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651, %12591
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

12655:                                            ; preds = %12654
  %12656 = load i32, ptr @test_count, align 4, !tbaa !5
  %12657 = add nsw i32 %12656, 1
  store i32 %12657, ptr @test_count, align 4, !tbaa !5
  %12658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12659 = load i32, ptr %12658, align 4, !tbaa !5
  %12660 = icmp eq i32 %12659, 402653193
  br i1 %12660, label %12714, label %12661

12661:                                            ; preds = %12655
  br label %12662

12662:                                            ; preds = %12661
  br label %12663

12663:                                            ; preds = %12662
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %12664 = call ptr @__errno_location() #12
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  store i32 %12665, ptr %255, align 4, !tbaa !5
  %12666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12667 = call i32 @s2n_print_stacktrace(ptr noundef %12666)
  %12668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12669 = trunc i8 %12668 to i1
  br i1 %12669, label %12670, label %12692

12670:                                            ; preds = %12663
  %12671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12672 = call i32 @fileno(ptr noundef %12671) #11
  %12673 = call i32 @isatty(i32 noundef %12672) #11
  %12674 = icmp ne i32 %12673, 0
  br i1 %12674, label %12675, label %12692

12675:                                            ; preds = %12670
  %12676 = load i32, ptr %255, align 4, !tbaa !5
  %12677 = call ptr @__errno_location() #12
  store i32 %12676, ptr %12677, align 4, !tbaa !5
  %12678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12679 = load i32, ptr @test_count, align 4, !tbaa !5
  %12680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12681 = load i32, ptr %12680, align 4, !tbaa !5
  %12682 = call ptr @s2n_strerror(i32 noundef %12681, ptr noundef @.str.4)
  %12683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12684 = load i32, ptr %12683, align 4, !tbaa !5
  %12685 = call ptr @s2n_strerror_debug(i32 noundef %12684, ptr noundef @.str.4)
  %12686 = call ptr @__errno_location() #12
  %12687 = load i32, ptr %12686, align 4, !tbaa !5
  %12688 = call ptr @strerror(i32 noundef %12687) #11
  %12689 = call ptr @__errno_location() #12
  %12690 = load i32, ptr %12689, align 4, !tbaa !5
  %12691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12678, ptr noundef @.str.2, i32 noundef %12679, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12682, ptr noundef %12685, ptr noundef %12688, i32 noundef %12690) #11
  br label %12709

12692:                                            ; preds = %12670, %12663
  %12693 = load i32, ptr %255, align 4, !tbaa !5
  %12694 = call ptr @__errno_location() #12
  store i32 %12693, ptr %12694, align 4, !tbaa !5
  %12695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12696 = load i32, ptr @test_count, align 4, !tbaa !5
  %12697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  %12699 = call ptr @s2n_strerror(i32 noundef %12698, ptr noundef @.str.4)
  %12700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12701 = load i32, ptr %12700, align 4, !tbaa !5
  %12702 = call ptr @s2n_strerror_debug(i32 noundef %12701, ptr noundef @.str.4)
  %12703 = call ptr @__errno_location() #12
  %12704 = load i32, ptr %12703, align 4, !tbaa !5
  %12705 = call ptr @strerror(i32 noundef %12704) #11
  %12706 = call ptr @__errno_location() #12
  %12707 = load i32, ptr %12706, align 4, !tbaa !5
  %12708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12695, ptr noundef @.str.5, i32 noundef %12696, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12699, ptr noundef %12702, ptr noundef %12705, i32 noundef %12707) #11
  br label %12709

12709:                                            ; preds = %12692, %12675
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %12710

12710:                                            ; preds = %12709
  br label %12711

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

12712:                                            ; No predecessors!
  br label %12713

12713:                                            ; preds = %12712
  br label %12714

12714:                                            ; preds = %12713, %12655
  br label %12715

12715:                                            ; preds = %12714
  br label %12716

12716:                                            ; preds = %12715
  br label %12717

12717:                                            ; preds = %12716
  %12718 = load i32, ptr @test_count, align 4, !tbaa !5
  %12719 = add nsw i32 %12718, 1
  store i32 %12719, ptr @test_count, align 4, !tbaa !5
  %12720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12721 = load i32, ptr %12720, align 4, !tbaa !5
  %12722 = call ptr @s2n_strerror_debug(i32 noundef %12721, ptr noundef @.str.4)
  %12723 = icmp eq ptr %12722, null
  br i1 %12723, label %12724, label %12777

12724:                                            ; preds = %12717
  br label %12725

12725:                                            ; preds = %12724
  br label %12726

12726:                                            ; preds = %12725
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %12727 = call ptr @__errno_location() #12
  %12728 = load i32, ptr %12727, align 4, !tbaa !5
  store i32 %12728, ptr %256, align 4, !tbaa !5
  %12729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12730 = call i32 @s2n_print_stacktrace(ptr noundef %12729)
  %12731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12732 = trunc i8 %12731 to i1
  br i1 %12732, label %12733, label %12755

12733:                                            ; preds = %12726
  %12734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12735 = call i32 @fileno(ptr noundef %12734) #11
  %12736 = call i32 @isatty(i32 noundef %12735) #11
  %12737 = icmp ne i32 %12736, 0
  br i1 %12737, label %12738, label %12755

12738:                                            ; preds = %12733
  %12739 = load i32, ptr %256, align 4, !tbaa !5
  %12740 = call ptr @__errno_location() #12
  store i32 %12739, ptr %12740, align 4, !tbaa !5
  %12741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12742 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12744, ptr noundef @.str.4)
  %12746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @s2n_strerror_debug(i32 noundef %12747, ptr noundef @.str.4)
  %12749 = call ptr @__errno_location() #12
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call ptr @strerror(i32 noundef %12750) #11
  %12752 = call ptr @__errno_location() #12
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12741, ptr noundef @.str.2, i32 noundef %12742, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12745, ptr noundef %12748, ptr noundef %12751, i32 noundef %12753) #11
  br label %12772

12755:                                            ; preds = %12733, %12726
  %12756 = load i32, ptr %256, align 4, !tbaa !5
  %12757 = call ptr @__errno_location() #12
  store i32 %12756, ptr %12757, align 4, !tbaa !5
  %12758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12759 = load i32, ptr @test_count, align 4, !tbaa !5
  %12760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call ptr @s2n_strerror(i32 noundef %12761, ptr noundef @.str.4)
  %12763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @s2n_strerror_debug(i32 noundef %12764, ptr noundef @.str.4)
  %12766 = call ptr @__errno_location() #12
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call ptr @strerror(i32 noundef %12767) #11
  %12769 = call ptr @__errno_location() #12
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12758, ptr noundef @.str.5, i32 noundef %12759, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 525, ptr noundef %12762, ptr noundef %12765, ptr noundef %12768, i32 noundef %12770) #11
  br label %12772

12772:                                            ; preds = %12755, %12738
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %12773

12773:                                            ; preds = %12772
  br label %12774

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

12775:                                            ; No predecessors!
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776, %12717
  br label %12778

12778:                                            ; preds = %12777
  br label %12779

12779:                                            ; preds = %12778
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  br label %12782

12782:                                            ; preds = %12781
  %12783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12783, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12784 = call ptr @__errno_location() #12
  store i32 0, ptr %12784, align 4, !tbaa !5
  br label %12785

12785:                                            ; preds = %12782
  br label %12786

12786:                                            ; preds = %12785
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787
  br label %12789

12789:                                            ; preds = %12788
  br label %12790

12790:                                            ; preds = %12789
  br label %12791

12791:                                            ; preds = %12790
  %12792 = load i32, ptr @test_count, align 4, !tbaa !5
  %12793 = add nsw i32 %12792, 1
  store i32 %12793, ptr @test_count, align 4, !tbaa !5
  %12794 = load ptr, ptr %211, align 8, !tbaa !9
  %12795 = getelementptr inbounds [27 x i8], ptr %246, i64 0, i64 0
  %12796 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 0
  %12797 = load ptr, ptr %12796, align 8, !tbaa !73
  %12798 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %12794, ptr noundef %12795, ptr noundef %12797, ptr noundef null, ptr noundef %207)
  %12799 = icmp eq i32 %12798, -1
  br i1 %12799, label %12853, label %12800

12800:                                            ; preds = %12791
  br label %12801

12801:                                            ; preds = %12800
  br label %12802

12802:                                            ; preds = %12801
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %12803 = call ptr @__errno_location() #12
  %12804 = load i32, ptr %12803, align 4, !tbaa !5
  store i32 %12804, ptr %257, align 4, !tbaa !5
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = call i32 @s2n_print_stacktrace(ptr noundef %12805)
  %12807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12808 = trunc i8 %12807 to i1
  br i1 %12808, label %12809, label %12831

12809:                                            ; preds = %12802
  %12810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12811 = call i32 @fileno(ptr noundef %12810) #11
  %12812 = call i32 @isatty(i32 noundef %12811) #11
  %12813 = icmp ne i32 %12812, 0
  br i1 %12813, label %12814, label %12831

12814:                                            ; preds = %12809
  %12815 = load i32, ptr %257, align 4, !tbaa !5
  %12816 = call ptr @__errno_location() #12
  store i32 %12815, ptr %12816, align 4, !tbaa !5
  %12817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12818 = load i32, ptr @test_count, align 4, !tbaa !5
  %12819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call ptr @s2n_strerror(i32 noundef %12820, ptr noundef @.str.4)
  %12822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror_debug(i32 noundef %12823, ptr noundef @.str.4)
  %12825 = call ptr @__errno_location() #12
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @strerror(i32 noundef %12826) #11
  %12828 = call ptr @__errno_location() #12
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12817, ptr noundef @.str.2, i32 noundef %12818, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12821, ptr noundef %12824, ptr noundef %12827, i32 noundef %12829) #11
  br label %12848

12831:                                            ; preds = %12809, %12802
  %12832 = load i32, ptr %257, align 4, !tbaa !5
  %12833 = call ptr @__errno_location() #12
  store i32 %12832, ptr %12833, align 4, !tbaa !5
  %12834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12835 = load i32, ptr @test_count, align 4, !tbaa !5
  %12836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12837 = load i32, ptr %12836, align 4, !tbaa !5
  %12838 = call ptr @s2n_strerror(i32 noundef %12837, ptr noundef @.str.4)
  %12839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12840 = load i32, ptr %12839, align 4, !tbaa !5
  %12841 = call ptr @s2n_strerror_debug(i32 noundef %12840, ptr noundef @.str.4)
  %12842 = call ptr @__errno_location() #12
  %12843 = load i32, ptr %12842, align 4, !tbaa !5
  %12844 = call ptr @strerror(i32 noundef %12843) #11
  %12845 = call ptr @__errno_location() #12
  %12846 = load i32, ptr %12845, align 4, !tbaa !5
  %12847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12834, ptr noundef @.str.5, i32 noundef %12835, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12838, ptr noundef %12841, ptr noundef %12844, i32 noundef %12846) #11
  br label %12848

12848:                                            ; preds = %12831, %12814
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %12849

12849:                                            ; preds = %12848
  br label %12850

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

12851:                                            ; No predecessors!
  br label %12852

12852:                                            ; preds = %12851
  br label %12853

12853:                                            ; preds = %12852, %12791
  br label %12854

12854:                                            ; preds = %12853
  br label %12855

12855:                                            ; preds = %12854
  br label %12856

12856:                                            ; preds = %12855
  %12857 = load i32, ptr @test_count, align 4, !tbaa !5
  %12858 = add nsw i32 %12857, 1
  store i32 %12858, ptr @test_count, align 4, !tbaa !5
  %12859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  %12861 = icmp eq i32 %12860, 402653193
  br i1 %12861, label %12915, label %12862

12862:                                            ; preds = %12856
  br label %12863

12863:                                            ; preds = %12862
  br label %12864

12864:                                            ; preds = %12863
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %12865 = call ptr @__errno_location() #12
  %12866 = load i32, ptr %12865, align 4, !tbaa !5
  store i32 %12866, ptr %258, align 4, !tbaa !5
  %12867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12868 = call i32 @s2n_print_stacktrace(ptr noundef %12867)
  %12869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12870 = trunc i8 %12869 to i1
  br i1 %12870, label %12871, label %12893

12871:                                            ; preds = %12864
  %12872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12873 = call i32 @fileno(ptr noundef %12872) #11
  %12874 = call i32 @isatty(i32 noundef %12873) #11
  %12875 = icmp ne i32 %12874, 0
  br i1 %12875, label %12876, label %12893

12876:                                            ; preds = %12871
  %12877 = load i32, ptr %258, align 4, !tbaa !5
  %12878 = call ptr @__errno_location() #12
  store i32 %12877, ptr %12878, align 4, !tbaa !5
  %12879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12880 = load i32, ptr @test_count, align 4, !tbaa !5
  %12881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12882 = load i32, ptr %12881, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror(i32 noundef %12882, ptr noundef @.str.4)
  %12884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @s2n_strerror_debug(i32 noundef %12885, ptr noundef @.str.4)
  %12887 = call ptr @__errno_location() #12
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call ptr @strerror(i32 noundef %12888) #11
  %12890 = call ptr @__errno_location() #12
  %12891 = load i32, ptr %12890, align 4, !tbaa !5
  %12892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12879, ptr noundef @.str.2, i32 noundef %12880, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12883, ptr noundef %12886, ptr noundef %12889, i32 noundef %12891) #11
  br label %12910

12893:                                            ; preds = %12871, %12864
  %12894 = load i32, ptr %258, align 4, !tbaa !5
  %12895 = call ptr @__errno_location() #12
  store i32 %12894, ptr %12895, align 4, !tbaa !5
  %12896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12897 = load i32, ptr @test_count, align 4, !tbaa !5
  %12898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  %12900 = call ptr @s2n_strerror(i32 noundef %12899, ptr noundef @.str.4)
  %12901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call ptr @s2n_strerror_debug(i32 noundef %12902, ptr noundef @.str.4)
  %12904 = call ptr @__errno_location() #12
  %12905 = load i32, ptr %12904, align 4, !tbaa !5
  %12906 = call ptr @strerror(i32 noundef %12905) #11
  %12907 = call ptr @__errno_location() #12
  %12908 = load i32, ptr %12907, align 4, !tbaa !5
  %12909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12896, ptr noundef @.str.5, i32 noundef %12897, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12900, ptr noundef %12903, ptr noundef %12906, i32 noundef %12908) #11
  br label %12910

12910:                                            ; preds = %12893, %12876
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %12911

12911:                                            ; preds = %12910
  br label %12912

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

12913:                                            ; No predecessors!
  br label %12914

12914:                                            ; preds = %12913
  br label %12915

12915:                                            ; preds = %12914, %12856
  br label %12916

12916:                                            ; preds = %12915
  br label %12917

12917:                                            ; preds = %12916
  br label %12918

12918:                                            ; preds = %12917
  %12919 = load i32, ptr @test_count, align 4, !tbaa !5
  %12920 = add nsw i32 %12919, 1
  store i32 %12920, ptr @test_count, align 4, !tbaa !5
  %12921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12922 = load i32, ptr %12921, align 4, !tbaa !5
  %12923 = call ptr @s2n_strerror_debug(i32 noundef %12922, ptr noundef @.str.4)
  %12924 = icmp eq ptr %12923, null
  br i1 %12924, label %12925, label %12978

12925:                                            ; preds = %12918
  br label %12926

12926:                                            ; preds = %12925
  br label %12927

12927:                                            ; preds = %12926
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %12928 = call ptr @__errno_location() #12
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  store i32 %12929, ptr %259, align 4, !tbaa !5
  %12930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12931 = call i32 @s2n_print_stacktrace(ptr noundef %12930)
  %12932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12933 = trunc i8 %12932 to i1
  br i1 %12933, label %12934, label %12956

12934:                                            ; preds = %12927
  %12935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12936 = call i32 @fileno(ptr noundef %12935) #11
  %12937 = call i32 @isatty(i32 noundef %12936) #11
  %12938 = icmp ne i32 %12937, 0
  br i1 %12938, label %12939, label %12956

12939:                                            ; preds = %12934
  %12940 = load i32, ptr %259, align 4, !tbaa !5
  %12941 = call ptr @__errno_location() #12
  store i32 %12940, ptr %12941, align 4, !tbaa !5
  %12942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12943 = load i32, ptr @test_count, align 4, !tbaa !5
  %12944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12945 = load i32, ptr %12944, align 4, !tbaa !5
  %12946 = call ptr @s2n_strerror(i32 noundef %12945, ptr noundef @.str.4)
  %12947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12948 = load i32, ptr %12947, align 4, !tbaa !5
  %12949 = call ptr @s2n_strerror_debug(i32 noundef %12948, ptr noundef @.str.4)
  %12950 = call ptr @__errno_location() #12
  %12951 = load i32, ptr %12950, align 4, !tbaa !5
  %12952 = call ptr @strerror(i32 noundef %12951) #11
  %12953 = call ptr @__errno_location() #12
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12942, ptr noundef @.str.2, i32 noundef %12943, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12946, ptr noundef %12949, ptr noundef %12952, i32 noundef %12954) #11
  br label %12973

12956:                                            ; preds = %12934, %12927
  %12957 = load i32, ptr %259, align 4, !tbaa !5
  %12958 = call ptr @__errno_location() #12
  store i32 %12957, ptr %12958, align 4, !tbaa !5
  %12959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12960 = load i32, ptr @test_count, align 4, !tbaa !5
  %12961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12962 = load i32, ptr %12961, align 4, !tbaa !5
  %12963 = call ptr @s2n_strerror(i32 noundef %12962, ptr noundef @.str.4)
  %12964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12965 = load i32, ptr %12964, align 4, !tbaa !5
  %12966 = call ptr @s2n_strerror_debug(i32 noundef %12965, ptr noundef @.str.4)
  %12967 = call ptr @__errno_location() #12
  %12968 = load i32, ptr %12967, align 4, !tbaa !5
  %12969 = call ptr @strerror(i32 noundef %12968) #11
  %12970 = call ptr @__errno_location() #12
  %12971 = load i32, ptr %12970, align 4, !tbaa !5
  %12972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12959, ptr noundef @.str.5, i32 noundef %12960, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12963, ptr noundef %12966, ptr noundef %12969, i32 noundef %12971) #11
  br label %12973

12973:                                            ; preds = %12956, %12939
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %12974

12974:                                            ; preds = %12973
  br label %12975

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

12976:                                            ; No predecessors!
  br label %12977

12977:                                            ; preds = %12976
  br label %12978

12978:                                            ; preds = %12977, %12918
  br label %12979

12979:                                            ; preds = %12978
  br label %12980

12980:                                            ; preds = %12979
  br label %12981

12981:                                            ; preds = %12980
  br label %12982

12982:                                            ; preds = %12981
  br label %12983

12983:                                            ; preds = %12982
  %12984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12984, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12985 = call ptr @__errno_location() #12
  store i32 0, ptr %12985, align 4, !tbaa !5
  br label %12986

12986:                                            ; preds = %12983
  br label %12987

12987:                                            ; preds = %12986
  br label %12988

12988:                                            ; preds = %12987
  br label %12989

12989:                                            ; preds = %12988
  br label %12990

12990:                                            ; preds = %12989
  br label %12991

12991:                                            ; preds = %12990
  br label %12992

12992:                                            ; preds = %12991
  %12993 = load i32, ptr @test_count, align 4, !tbaa !5
  %12994 = add nsw i32 %12993, 1
  store i32 %12994, ptr @test_count, align 4, !tbaa !5
  %12995 = load ptr, ptr %211, align 8, !tbaa !9
  %12996 = getelementptr inbounds [27 x i8], ptr %246, i64 0, i64 0
  %12997 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 0
  %12998 = load ptr, ptr %12997, align 8, !tbaa !73
  %12999 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 1
  %13000 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %12995, ptr noundef %12996, ptr noundef %12998, ptr noundef %12999, ptr noundef null)
  %13001 = icmp eq i32 %13000, -1
  br i1 %13001, label %13055, label %13002

13002:                                            ; preds = %12992
  br label %13003

13003:                                            ; preds = %13002
  br label %13004

13004:                                            ; preds = %13003
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %13005 = call ptr @__errno_location() #12
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  store i32 %13006, ptr %260, align 4, !tbaa !5
  %13007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13008 = call i32 @s2n_print_stacktrace(ptr noundef %13007)
  %13009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13010 = trunc i8 %13009 to i1
  br i1 %13010, label %13011, label %13033

13011:                                            ; preds = %13004
  %13012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13013 = call i32 @fileno(ptr noundef %13012) #11
  %13014 = call i32 @isatty(i32 noundef %13013) #11
  %13015 = icmp ne i32 %13014, 0
  br i1 %13015, label %13016, label %13033

13016:                                            ; preds = %13011
  %13017 = load i32, ptr %260, align 4, !tbaa !5
  %13018 = call ptr @__errno_location() #12
  store i32 %13017, ptr %13018, align 4, !tbaa !5
  %13019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13020 = load i32, ptr @test_count, align 4, !tbaa !5
  %13021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13022 = load i32, ptr %13021, align 4, !tbaa !5
  %13023 = call ptr @s2n_strerror(i32 noundef %13022, ptr noundef @.str.4)
  %13024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13025 = load i32, ptr %13024, align 4, !tbaa !5
  %13026 = call ptr @s2n_strerror_debug(i32 noundef %13025, ptr noundef @.str.4)
  %13027 = call ptr @__errno_location() #12
  %13028 = load i32, ptr %13027, align 4, !tbaa !5
  %13029 = call ptr @strerror(i32 noundef %13028) #11
  %13030 = call ptr @__errno_location() #12
  %13031 = load i32, ptr %13030, align 4, !tbaa !5
  %13032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13019, ptr noundef @.str.2, i32 noundef %13020, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13023, ptr noundef %13026, ptr noundef %13029, i32 noundef %13031) #11
  br label %13050

13033:                                            ; preds = %13011, %13004
  %13034 = load i32, ptr %260, align 4, !tbaa !5
  %13035 = call ptr @__errno_location() #12
  store i32 %13034, ptr %13035, align 4, !tbaa !5
  %13036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13037 = load i32, ptr @test_count, align 4, !tbaa !5
  %13038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13039 = load i32, ptr %13038, align 4, !tbaa !5
  %13040 = call ptr @s2n_strerror(i32 noundef %13039, ptr noundef @.str.4)
  %13041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13042 = load i32, ptr %13041, align 4, !tbaa !5
  %13043 = call ptr @s2n_strerror_debug(i32 noundef %13042, ptr noundef @.str.4)
  %13044 = call ptr @__errno_location() #12
  %13045 = load i32, ptr %13044, align 4, !tbaa !5
  %13046 = call ptr @strerror(i32 noundef %13045) #11
  %13047 = call ptr @__errno_location() #12
  %13048 = load i32, ptr %13047, align 4, !tbaa !5
  %13049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13036, ptr noundef @.str.5, i32 noundef %13037, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13040, ptr noundef %13043, ptr noundef %13046, i32 noundef %13048) #11
  br label %13050

13050:                                            ; preds = %13033, %13016
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %13051

13051:                                            ; preds = %13050
  br label %13052

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

13053:                                            ; No predecessors!
  br label %13054

13054:                                            ; preds = %13053
  br label %13055

13055:                                            ; preds = %13054, %12992
  br label %13056

13056:                                            ; preds = %13055
  br label %13057

13057:                                            ; preds = %13056
  br label %13058

13058:                                            ; preds = %13057
  %13059 = load i32, ptr @test_count, align 4, !tbaa !5
  %13060 = add nsw i32 %13059, 1
  store i32 %13060, ptr @test_count, align 4, !tbaa !5
  %13061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13062 = load i32, ptr %13061, align 4, !tbaa !5
  %13063 = icmp eq i32 %13062, 402653193
  br i1 %13063, label %13117, label %13064

13064:                                            ; preds = %13058
  br label %13065

13065:                                            ; preds = %13064
  br label %13066

13066:                                            ; preds = %13065
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %13067 = call ptr @__errno_location() #12
  %13068 = load i32, ptr %13067, align 4, !tbaa !5
  store i32 %13068, ptr %261, align 4, !tbaa !5
  %13069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13070 = call i32 @s2n_print_stacktrace(ptr noundef %13069)
  %13071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13072 = trunc i8 %13071 to i1
  br i1 %13072, label %13073, label %13095

13073:                                            ; preds = %13066
  %13074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13075 = call i32 @fileno(ptr noundef %13074) #11
  %13076 = call i32 @isatty(i32 noundef %13075) #11
  %13077 = icmp ne i32 %13076, 0
  br i1 %13077, label %13078, label %13095

13078:                                            ; preds = %13073
  %13079 = load i32, ptr %261, align 4, !tbaa !5
  %13080 = call ptr @__errno_location() #12
  store i32 %13079, ptr %13080, align 4, !tbaa !5
  %13081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13082 = load i32, ptr @test_count, align 4, !tbaa !5
  %13083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13084 = load i32, ptr %13083, align 4, !tbaa !5
  %13085 = call ptr @s2n_strerror(i32 noundef %13084, ptr noundef @.str.4)
  %13086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13087 = load i32, ptr %13086, align 4, !tbaa !5
  %13088 = call ptr @s2n_strerror_debug(i32 noundef %13087, ptr noundef @.str.4)
  %13089 = call ptr @__errno_location() #12
  %13090 = load i32, ptr %13089, align 4, !tbaa !5
  %13091 = call ptr @strerror(i32 noundef %13090) #11
  %13092 = call ptr @__errno_location() #12
  %13093 = load i32, ptr %13092, align 4, !tbaa !5
  %13094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13081, ptr noundef @.str.2, i32 noundef %13082, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13085, ptr noundef %13088, ptr noundef %13091, i32 noundef %13093) #11
  br label %13112

13095:                                            ; preds = %13073, %13066
  %13096 = load i32, ptr %261, align 4, !tbaa !5
  %13097 = call ptr @__errno_location() #12
  store i32 %13096, ptr %13097, align 4, !tbaa !5
  %13098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13099 = load i32, ptr @test_count, align 4, !tbaa !5
  %13100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13101 = load i32, ptr %13100, align 4, !tbaa !5
  %13102 = call ptr @s2n_strerror(i32 noundef %13101, ptr noundef @.str.4)
  %13103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13104 = load i32, ptr %13103, align 4, !tbaa !5
  %13105 = call ptr @s2n_strerror_debug(i32 noundef %13104, ptr noundef @.str.4)
  %13106 = call ptr @__errno_location() #12
  %13107 = load i32, ptr %13106, align 4, !tbaa !5
  %13108 = call ptr @strerror(i32 noundef %13107) #11
  %13109 = call ptr @__errno_location() #12
  %13110 = load i32, ptr %13109, align 4, !tbaa !5
  %13111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13098, ptr noundef @.str.5, i32 noundef %13099, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13102, ptr noundef %13105, ptr noundef %13108, i32 noundef %13110) #11
  br label %13112

13112:                                            ; preds = %13095, %13078
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %13113

13113:                                            ; preds = %13112
  br label %13114

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

13115:                                            ; No predecessors!
  br label %13116

13116:                                            ; preds = %13115
  br label %13117

13117:                                            ; preds = %13116, %13058
  br label %13118

13118:                                            ; preds = %13117
  br label %13119

13119:                                            ; preds = %13118
  br label %13120

13120:                                            ; preds = %13119
  %13121 = load i32, ptr @test_count, align 4, !tbaa !5
  %13122 = add nsw i32 %13121, 1
  store i32 %13122, ptr @test_count, align 4, !tbaa !5
  %13123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13124 = load i32, ptr %13123, align 4, !tbaa !5
  %13125 = call ptr @s2n_strerror_debug(i32 noundef %13124, ptr noundef @.str.4)
  %13126 = icmp eq ptr %13125, null
  br i1 %13126, label %13127, label %13180

13127:                                            ; preds = %13120
  br label %13128

13128:                                            ; preds = %13127
  br label %13129

13129:                                            ; preds = %13128
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %13130 = call ptr @__errno_location() #12
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  store i32 %13131, ptr %262, align 4, !tbaa !5
  %13132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13133 = call i32 @s2n_print_stacktrace(ptr noundef %13132)
  %13134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13135 = trunc i8 %13134 to i1
  br i1 %13135, label %13136, label %13158

13136:                                            ; preds = %13129
  %13137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13138 = call i32 @fileno(ptr noundef %13137) #11
  %13139 = call i32 @isatty(i32 noundef %13138) #11
  %13140 = icmp ne i32 %13139, 0
  br i1 %13140, label %13141, label %13158

13141:                                            ; preds = %13136
  %13142 = load i32, ptr %262, align 4, !tbaa !5
  %13143 = call ptr @__errno_location() #12
  store i32 %13142, ptr %13143, align 4, !tbaa !5
  %13144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13145 = load i32, ptr @test_count, align 4, !tbaa !5
  %13146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call ptr @s2n_strerror(i32 noundef %13147, ptr noundef @.str.4)
  %13149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13150 = load i32, ptr %13149, align 4, !tbaa !5
  %13151 = call ptr @s2n_strerror_debug(i32 noundef %13150, ptr noundef @.str.4)
  %13152 = call ptr @__errno_location() #12
  %13153 = load i32, ptr %13152, align 4, !tbaa !5
  %13154 = call ptr @strerror(i32 noundef %13153) #11
  %13155 = call ptr @__errno_location() #12
  %13156 = load i32, ptr %13155, align 4, !tbaa !5
  %13157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13144, ptr noundef @.str.2, i32 noundef %13145, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13148, ptr noundef %13151, ptr noundef %13154, i32 noundef %13156) #11
  br label %13175

13158:                                            ; preds = %13136, %13129
  %13159 = load i32, ptr %262, 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.4)
  %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.4)
  %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.5, i32 noundef %13162, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13165, ptr noundef %13168, ptr noundef %13171, i32 noundef %13173) #11
  br label %13175

13175:                                            ; preds = %13158, %13141
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %13176

13176:                                            ; preds = %13175
  br label %13177

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

13178:                                            ; No predecessors!
  br label %13179

13179:                                            ; preds = %13178
  br label %13180

13180:                                            ; preds = %13179, %13120
  br label %13181

13181:                                            ; preds = %13180
  br label %13182

13182:                                            ; preds = %13181
  br label %13183

13183:                                            ; preds = %13182
  br label %13184

13184:                                            ; preds = %13183
  br label %13185

13185:                                            ; preds = %13184
  %13186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13186, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13187 = call ptr @__errno_location() #12
  store i32 0, ptr %13187, align 4, !tbaa !5
  br label %13188

13188:                                            ; preds = %13185
  br label %13189

13189:                                            ; preds = %13188
  br label %13190

13190:                                            ; preds = %13189
  br label %13191

13191:                                            ; preds = %13190
  br label %13192

13192:                                            ; preds = %13191
  %13193 = load i32, ptr @test_count, align 4, !tbaa !5
  %13194 = add nsw i32 %13193, 1
  store i32 %13194, ptr @test_count, align 4, !tbaa !5
  %13195 = call i32 @s2n_free(ptr noundef %205)
  %13196 = icmp eq i32 %13195, -1
  br i1 %13196, label %13197, label %13250

13197:                                            ; preds = %13192
  br label %13198

13198:                                            ; preds = %13197
  br label %13199

13199:                                            ; preds = %13198
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %13200 = call ptr @__errno_location() #12
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  store i32 %13201, ptr %263, align 4, !tbaa !5
  %13202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13203 = call i32 @s2n_print_stacktrace(ptr noundef %13202)
  %13204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13205 = trunc i8 %13204 to i1
  br i1 %13205, label %13206, label %13228

13206:                                            ; preds = %13199
  %13207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13208 = call i32 @fileno(ptr noundef %13207) #11
  %13209 = call i32 @isatty(i32 noundef %13208) #11
  %13210 = icmp ne i32 %13209, 0
  br i1 %13210, label %13211, label %13228

13211:                                            ; preds = %13206
  %13212 = load i32, ptr %263, align 4, !tbaa !5
  %13213 = call ptr @__errno_location() #12
  store i32 %13212, ptr %13213, align 4, !tbaa !5
  %13214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13215 = load i32, ptr @test_count, align 4, !tbaa !5
  %13216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13217 = load i32, ptr %13216, align 4, !tbaa !5
  %13218 = call ptr @s2n_strerror(i32 noundef %13217, ptr noundef @.str.4)
  %13219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13220 = load i32, ptr %13219, align 4, !tbaa !5
  %13221 = call ptr @s2n_strerror_debug(i32 noundef %13220, ptr noundef @.str.4)
  %13222 = call ptr @__errno_location() #12
  %13223 = load i32, ptr %13222, align 4, !tbaa !5
  %13224 = call ptr @strerror(i32 noundef %13223) #11
  %13225 = call ptr @__errno_location() #12
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  %13227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13214, ptr noundef @.str.2, i32 noundef %13215, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13218, ptr noundef %13221, ptr noundef %13224, i32 noundef %13226) #11
  br label %13245

13228:                                            ; preds = %13206, %13199
  %13229 = load i32, ptr %263, align 4, !tbaa !5
  %13230 = call ptr @__errno_location() #12
  store i32 %13229, ptr %13230, align 4, !tbaa !5
  %13231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13232 = load i32, ptr @test_count, align 4, !tbaa !5
  %13233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13234 = load i32, ptr %13233, align 4, !tbaa !5
  %13235 = call ptr @s2n_strerror(i32 noundef %13234, ptr noundef @.str.4)
  %13236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13237 = load i32, ptr %13236, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror_debug(i32 noundef %13237, ptr noundef @.str.4)
  %13239 = call ptr @__errno_location() #12
  %13240 = load i32, ptr %13239, align 4, !tbaa !5
  %13241 = call ptr @strerror(i32 noundef %13240) #11
  %13242 = call ptr @__errno_location() #12
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13231, ptr noundef @.str.5, i32 noundef %13232, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13235, ptr noundef %13238, ptr noundef %13241, i32 noundef %13243) #11
  br label %13245

13245:                                            ; preds = %13228, %13211
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %13246

13246:                                            ; preds = %13245
  br label %13247

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

13248:                                            ; No predecessors!
  br label %13249

13249:                                            ; preds = %13248
  br label %13250

13250:                                            ; preds = %13249, %13192
  br label %13251

13251:                                            ; preds = %13250
  br label %13252

13252:                                            ; preds = %13251
  call void @llvm.lifetime.end.p0(i64 27, ptr %246) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  br label %13253

13253:                                            ; preds = %13557, %13252
  %13254 = load i64, ptr %208, align 8, !tbaa !28
  %13255 = icmp ult i64 %13254, 7
  br i1 %13255, label %13256, label %13560

13256:                                            ; preds = %13253
  br label %13257

13257:                                            ; preds = %13256
  %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 = load i64, ptr %208, align 8, !tbaa !28
  %13261 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13260
  %13262 = getelementptr inbounds %struct.anon, ptr %13261, i32 0, i32 5
  %13263 = load i64, ptr %208, align 8, !tbaa !28
  %13264 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13263
  %13265 = getelementptr inbounds %struct.anon, ptr %13264, i32 0, i32 1
  %13266 = load i32, ptr %13265, align 8, !tbaa !65
  %13267 = call i32 @s2n_alloc(ptr noundef %13262, i32 noundef %13266)
  %13268 = icmp eq i32 %13267, -1
  br i1 %13268, label %13269, label %13322

13269:                                            ; preds = %13257
  br label %13270

13270:                                            ; preds = %13269
  br label %13271

13271:                                            ; preds = %13270
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %13272 = call ptr @__errno_location() #12
  %13273 = load i32, ptr %13272, align 4, !tbaa !5
  store i32 %13273, ptr %264, align 4, !tbaa !5
  %13274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13275 = call i32 @s2n_print_stacktrace(ptr noundef %13274)
  %13276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13277 = trunc i8 %13276 to i1
  br i1 %13277, label %13278, label %13300

13278:                                            ; preds = %13271
  %13279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13280 = call i32 @fileno(ptr noundef %13279) #11
  %13281 = call i32 @isatty(i32 noundef %13280) #11
  %13282 = icmp ne i32 %13281, 0
  br i1 %13282, label %13283, label %13300

13283:                                            ; preds = %13278
  %13284 = load i32, ptr %264, align 4, !tbaa !5
  %13285 = call ptr @__errno_location() #12
  store i32 %13284, ptr %13285, align 4, !tbaa !5
  %13286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13287 = load i32, ptr @test_count, align 4, !tbaa !5
  %13288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13289 = load i32, ptr %13288, align 4, !tbaa !5
  %13290 = call ptr @s2n_strerror(i32 noundef %13289, ptr noundef @.str.4)
  %13291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13292 = load i32, ptr %13291, align 4, !tbaa !5
  %13293 = call ptr @s2n_strerror_debug(i32 noundef %13292, ptr noundef @.str.4)
  %13294 = call ptr @__errno_location() #12
  %13295 = load i32, ptr %13294, align 4, !tbaa !5
  %13296 = call ptr @strerror(i32 noundef %13295) #11
  %13297 = call ptr @__errno_location() #12
  %13298 = load i32, ptr %13297, align 4, !tbaa !5
  %13299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13286, ptr noundef @.str.2, i32 noundef %13287, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 538, ptr noundef %13290, ptr noundef %13293, ptr noundef %13296, i32 noundef %13298) #11
  br label %13317

13300:                                            ; preds = %13278, %13271
  %13301 = load i32, ptr %264, align 4, !tbaa !5
  %13302 = call ptr @__errno_location() #12
  store i32 %13301, ptr %13302, align 4, !tbaa !5
  %13303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13304 = load i32, ptr @test_count, align 4, !tbaa !5
  %13305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call ptr @s2n_strerror(i32 noundef %13306, ptr noundef @.str.4)
  %13308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @s2n_strerror_debug(i32 noundef %13309, ptr noundef @.str.4)
  %13311 = call ptr @__errno_location() #12
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  %13313 = call ptr @strerror(i32 noundef %13312) #11
  %13314 = call ptr @__errno_location() #12
  %13315 = load i32, ptr %13314, align 4, !tbaa !5
  %13316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13303, ptr noundef @.str.5, i32 noundef %13304, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 538, ptr noundef %13307, ptr noundef %13310, ptr noundef %13313, i32 noundef %13315) #11
  br label %13317

13317:                                            ; preds = %13300, %13283
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %13318

13318:                                            ; preds = %13317
  br label %13319

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

13320:                                            ; No predecessors!
  br label %13321

13321:                                            ; preds = %13320
  br label %13322

13322:                                            ; preds = %13321, %13257
  br label %13323

13323:                                            ; preds = %13322
  br label %13324

13324:                                            ; preds = %13323
  br label %13325

13325:                                            ; preds = %13324
  %13326 = load i32, ptr @test_count, align 4, !tbaa !5
  %13327 = add nsw i32 %13326, 1
  store i32 %13327, ptr @test_count, align 4, !tbaa !5
  %13328 = load ptr, ptr %211, align 8, !tbaa !9
  %13329 = load i64, ptr %208, align 8, !tbaa !28
  %13330 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13329
  %13331 = getelementptr inbounds %struct.anon, ptr %13330, i32 0, i32 0
  %13332 = load ptr, ptr %13331, align 8, !tbaa !63
  %13333 = load i64, ptr %208, align 8, !tbaa !28
  %13334 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13333
  %13335 = getelementptr inbounds %struct.anon, ptr %13334, i32 0, i32 5
  %13336 = getelementptr inbounds %struct.s2n_blob, ptr %13335, i32 0, i32 0
  %13337 = load ptr, ptr %13336, align 8, !tbaa !74
  %13338 = load i64, ptr %208, align 8, !tbaa !28
  %13339 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13338
  %13340 = getelementptr inbounds %struct.anon, ptr %13339, i32 0, i32 5
  %13341 = getelementptr inbounds %struct.s2n_blob, ptr %13340, i32 0, i32 1
  %13342 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %13328, ptr noundef %13332, ptr noundef %13337, ptr noundef %13341, ptr noundef %207)
  %13343 = icmp eq i32 %13342, -1
  br i1 %13343, label %13344, label %13397

13344:                                            ; preds = %13325
  br label %13345

13345:                                            ; preds = %13344
  br label %13346

13346:                                            ; preds = %13345
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %13347 = call ptr @__errno_location() #12
  %13348 = load i32, ptr %13347, align 4, !tbaa !5
  store i32 %13348, ptr %265, align 4, !tbaa !5
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = call i32 @s2n_print_stacktrace(ptr noundef %13349)
  %13351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13352 = trunc i8 %13351 to i1
  br i1 %13352, label %13353, label %13375

13353:                                            ; preds = %13346
  %13354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13355 = call i32 @fileno(ptr noundef %13354) #11
  %13356 = call i32 @isatty(i32 noundef %13355) #11
  %13357 = icmp ne i32 %13356, 0
  br i1 %13357, label %13358, label %13375

13358:                                            ; preds = %13353
  %13359 = load i32, ptr %265, align 4, !tbaa !5
  %13360 = call ptr @__errno_location() #12
  store i32 %13359, ptr %13360, align 4, !tbaa !5
  %13361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13362 = load i32, ptr @test_count, align 4, !tbaa !5
  %13363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13364 = load i32, ptr %13363, align 4, !tbaa !5
  %13365 = call ptr @s2n_strerror(i32 noundef %13364, ptr noundef @.str.4)
  %13366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13367 = load i32, ptr %13366, align 4, !tbaa !5
  %13368 = call ptr @s2n_strerror_debug(i32 noundef %13367, ptr noundef @.str.4)
  %13369 = call ptr @__errno_location() #12
  %13370 = load i32, ptr %13369, align 4, !tbaa !5
  %13371 = call ptr @strerror(i32 noundef %13370) #11
  %13372 = call ptr @__errno_location() #12
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  %13374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13361, ptr noundef @.str.2, i32 noundef %13362, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 541, ptr noundef %13365, ptr noundef %13368, ptr noundef %13371, i32 noundef %13373) #11
  br label %13392

13375:                                            ; preds = %13353, %13346
  %13376 = load i32, ptr %265, align 4, !tbaa !5
  %13377 = call ptr @__errno_location() #12
  store i32 %13376, ptr %13377, align 4, !tbaa !5
  %13378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13379 = load i32, ptr @test_count, align 4, !tbaa !5
  %13380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13381 = load i32, ptr %13380, align 4, !tbaa !5
  %13382 = call ptr @s2n_strerror(i32 noundef %13381, ptr noundef @.str.4)
  %13383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13384 = load i32, ptr %13383, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror_debug(i32 noundef %13384, ptr noundef @.str.4)
  %13386 = call ptr @__errno_location() #12
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @strerror(i32 noundef %13387) #11
  %13389 = call ptr @__errno_location() #12
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13378, ptr noundef @.str.5, i32 noundef %13379, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 541, ptr noundef %13382, ptr noundef %13385, ptr noundef %13388, i32 noundef %13390) #11
  br label %13392

13392:                                            ; preds = %13375, %13358
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %13393

13393:                                            ; preds = %13392
  br label %13394

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

13395:                                            ; No predecessors!
  br label %13396

13396:                                            ; preds = %13395
  br label %13397

13397:                                            ; preds = %13396, %13325
  br label %13398

13398:                                            ; preds = %13397
  br label %13399

13399:                                            ; preds = %13398
  br label %13400

13400:                                            ; preds = %13399
  %13401 = load i64, ptr %208, align 8, !tbaa !28
  %13402 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13401
  %13403 = getelementptr inbounds %struct.anon, ptr %13402, i32 0, i32 4
  %13404 = getelementptr inbounds %struct.s2n_blob, ptr %13403, i32 0, i32 1
  %13405 = load i32, ptr %13404, align 8, !tbaa !71
  %13406 = icmp ne i32 %13405, 0
  br i1 %13406, label %13407, label %13485

13407:                                            ; preds = %13400
  br label %13408

13408:                                            ; preds = %13407
  %13409 = load i32, ptr @test_count, align 4, !tbaa !5
  %13410 = add nsw i32 %13409, 1
  store i32 %13410, ptr @test_count, align 4, !tbaa !5
  %13411 = load i64, ptr %208, align 8, !tbaa !28
  %13412 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13411
  %13413 = getelementptr inbounds %struct.anon, ptr %13412, i32 0, i32 5
  %13414 = getelementptr inbounds %struct.s2n_blob, ptr %13413, i32 0, i32 0
  %13415 = load ptr, ptr %13414, align 8, !tbaa !74
  %13416 = load i64, ptr %208, align 8, !tbaa !28
  %13417 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13416
  %13418 = getelementptr inbounds %struct.anon, ptr %13417, i32 0, i32 4
  %13419 = getelementptr inbounds %struct.s2n_blob, ptr %13418, i32 0, i32 0
  %13420 = load ptr, ptr %13419, align 8, !tbaa !75
  %13421 = load i64, ptr %208, align 8, !tbaa !28
  %13422 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13421
  %13423 = getelementptr inbounds %struct.anon, ptr %13422, i32 0, i32 4
  %13424 = getelementptr inbounds %struct.s2n_blob, ptr %13423, i32 0, i32 1
  %13425 = load i32, ptr %13424, align 8, !tbaa !71
  %13426 = zext i32 %13425 to i64
  %13427 = call i32 @memcmp(ptr noundef %13415, ptr noundef %13420, i64 noundef %13426) #14
  %13428 = icmp eq i32 %13427, 0
  br i1 %13428, label %13482, label %13429

13429:                                            ; preds = %13408
  br label %13430

13430:                                            ; preds = %13429
  br label %13431

13431:                                            ; preds = %13430
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %13432 = call ptr @__errno_location() #12
  %13433 = load i32, ptr %13432, align 4, !tbaa !5
  store i32 %13433, ptr %266, align 4, !tbaa !5
  %13434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13435 = call i32 @s2n_print_stacktrace(ptr noundef %13434)
  %13436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13437 = trunc i8 %13436 to i1
  br i1 %13437, label %13438, label %13460

13438:                                            ; preds = %13431
  %13439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13440 = call i32 @fileno(ptr noundef %13439) #11
  %13441 = call i32 @isatty(i32 noundef %13440) #11
  %13442 = icmp ne i32 %13441, 0
  br i1 %13442, label %13443, label %13460

13443:                                            ; preds = %13438
  %13444 = load i32, ptr %266, align 4, !tbaa !5
  %13445 = call ptr @__errno_location() #12
  store i32 %13444, ptr %13445, align 4, !tbaa !5
  %13446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13447 = load i32, ptr @test_count, align 4, !tbaa !5
  %13448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13449 = load i32, ptr %13448, align 4, !tbaa !5
  %13450 = call ptr @s2n_strerror(i32 noundef %13449, ptr noundef @.str.4)
  %13451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13452 = load i32, ptr %13451, align 4, !tbaa !5
  %13453 = call ptr @s2n_strerror_debug(i32 noundef %13452, ptr noundef @.str.4)
  %13454 = call ptr @__errno_location() #12
  %13455 = load i32, ptr %13454, align 4, !tbaa !5
  %13456 = call ptr @strerror(i32 noundef %13455) #11
  %13457 = call ptr @__errno_location() #12
  %13458 = load i32, ptr %13457, align 4, !tbaa !5
  %13459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13446, ptr noundef @.str.2, i32 noundef %13447, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 542, ptr noundef %13450, ptr noundef %13453, ptr noundef %13456, i32 noundef %13458) #11
  br label %13477

13460:                                            ; preds = %13438, %13431
  %13461 = load i32, ptr %266, align 4, !tbaa !5
  %13462 = call ptr @__errno_location() #12
  store i32 %13461, ptr %13462, align 4, !tbaa !5
  %13463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13464 = load i32, ptr @test_count, align 4, !tbaa !5
  %13465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13466 = load i32, ptr %13465, align 4, !tbaa !5
  %13467 = call ptr @s2n_strerror(i32 noundef %13466, ptr noundef @.str.4)
  %13468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13469 = load i32, ptr %13468, align 4, !tbaa !5
  %13470 = call ptr @s2n_strerror_debug(i32 noundef %13469, ptr noundef @.str.4)
  %13471 = call ptr @__errno_location() #12
  %13472 = load i32, ptr %13471, align 4, !tbaa !5
  %13473 = call ptr @strerror(i32 noundef %13472) #11
  %13474 = call ptr @__errno_location() #12
  %13475 = load i32, ptr %13474, align 4, !tbaa !5
  %13476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13463, ptr noundef @.str.5, i32 noundef %13464, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 542, ptr noundef %13467, ptr noundef %13470, ptr noundef %13473, i32 noundef %13475) #11
  br label %13477

13477:                                            ; preds = %13460, %13443
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %13478

13478:                                            ; preds = %13477
  br label %13479

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

13480:                                            ; No predecessors!
  br label %13481

13481:                                            ; preds = %13480
  br label %13482

13482:                                            ; preds = %13481, %13408
  br label %13483

13483:                                            ; preds = %13482
  br label %13484

13484:                                            ; preds = %13483
  br label %13485

13485:                                            ; preds = %13484, %13400
  br label %13486

13486:                                            ; preds = %13485
  br label %13487

13487:                                            ; preds = %13486
  br label %13488

13488:                                            ; preds = %13487
  %13489 = load i32, ptr @test_count, align 4, !tbaa !5
  %13490 = add nsw i32 %13489, 1
  store i32 %13490, ptr @test_count, align 4, !tbaa !5
  %13491 = load i8, ptr %207, align 1, !tbaa !11, !range !13, !noundef !14
  %13492 = trunc i8 %13491 to i1
  %13493 = zext i1 %13492 to i32
  %13494 = load i64, ptr %208, align 8, !tbaa !28
  %13495 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13494
  %13496 = getelementptr inbounds %struct.anon, ptr %13495, i32 0, i32 6
  %13497 = load i8, ptr %13496, align 8, !tbaa !70, !range !13, !noundef !14
  %13498 = trunc i8 %13497 to i1
  %13499 = zext i1 %13498 to i32
  %13500 = icmp eq i32 %13493, %13499
  br i1 %13500, label %13554, label %13501

13501:                                            ; preds = %13488
  br label %13502

13502:                                            ; preds = %13501
  br label %13503

13503:                                            ; preds = %13502
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %13504 = call ptr @__errno_location() #12
  %13505 = load i32, ptr %13504, align 4, !tbaa !5
  store i32 %13505, ptr %267, align 4, !tbaa !5
  %13506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13507 = call i32 @s2n_print_stacktrace(ptr noundef %13506)
  %13508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13509 = trunc i8 %13508 to i1
  br i1 %13509, label %13510, label %13532

13510:                                            ; preds = %13503
  %13511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13512 = call i32 @fileno(ptr noundef %13511) #11
  %13513 = call i32 @isatty(i32 noundef %13512) #11
  %13514 = icmp ne i32 %13513, 0
  br i1 %13514, label %13515, label %13532

13515:                                            ; preds = %13510
  %13516 = load i32, ptr %267, align 4, !tbaa !5
  %13517 = call ptr @__errno_location() #12
  store i32 %13516, ptr %13517, align 4, !tbaa !5
  %13518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13519 = load i32, ptr @test_count, align 4, !tbaa !5
  %13520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13521 = load i32, ptr %13520, align 4, !tbaa !5
  %13522 = call ptr @s2n_strerror(i32 noundef %13521, ptr noundef @.str.4)
  %13523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13524 = load i32, ptr %13523, align 4, !tbaa !5
  %13525 = call ptr @s2n_strerror_debug(i32 noundef %13524, ptr noundef @.str.4)
  %13526 = call ptr @__errno_location() #12
  %13527 = load i32, ptr %13526, align 4, !tbaa !5
  %13528 = call ptr @strerror(i32 noundef %13527) #11
  %13529 = call ptr @__errno_location() #12
  %13530 = load i32, ptr %13529, align 4, !tbaa !5
  %13531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13518, ptr noundef @.str.2, i32 noundef %13519, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 543, ptr noundef %13522, ptr noundef %13525, ptr noundef %13528, i32 noundef %13530) #11
  br label %13549

13532:                                            ; preds = %13510, %13503
  %13533 = load i32, ptr %267, align 4, !tbaa !5
  %13534 = call ptr @__errno_location() #12
  store i32 %13533, ptr %13534, align 4, !tbaa !5
  %13535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13536 = load i32, ptr @test_count, align 4, !tbaa !5
  %13537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13538 = load i32, ptr %13537, align 4, !tbaa !5
  %13539 = call ptr @s2n_strerror(i32 noundef %13538, ptr noundef @.str.4)
  %13540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13541 = load i32, ptr %13540, align 4, !tbaa !5
  %13542 = call ptr @s2n_strerror_debug(i32 noundef %13541, ptr noundef @.str.4)
  %13543 = call ptr @__errno_location() #12
  %13544 = load i32, ptr %13543, align 4, !tbaa !5
  %13545 = call ptr @strerror(i32 noundef %13544) #11
  %13546 = call ptr @__errno_location() #12
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  %13548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13535, ptr noundef @.str.5, i32 noundef %13536, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 543, ptr noundef %13539, ptr noundef %13542, ptr noundef %13545, i32 noundef %13547) #11
  br label %13549

13549:                                            ; preds = %13532, %13515
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %13550

13550:                                            ; preds = %13549
  br label %13551

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

13552:                                            ; No predecessors!
  br label %13553

13553:                                            ; preds = %13552
  br label %13554

13554:                                            ; preds = %13553, %13488
  br label %13555

13555:                                            ; preds = %13554
  br label %13556

13556:                                            ; preds = %13555
  br label %13557

13557:                                            ; preds = %13556
  %13558 = load i64, ptr %208, align 8, !tbaa !28
  %13559 = add i64 %13558, 1
  store i64 %13559, ptr %208, align 8, !tbaa !28
  br label %13253, !llvm.loop !76

13560:                                            ; preds = %13253
  call void @llvm.lifetime.start.p0(i64 8, ptr %268) #11
  store i64 0, ptr %268, align 8, !tbaa !28
  br label %13561

13561:                                            ; preds = %13560
  %13562 = load i32, ptr @test_count, align 4, !tbaa !5
  %13563 = add nsw i32 %13562, 1
  store i32 %13563, ptr @test_count, align 4, !tbaa !5
  %13564 = load i64, ptr %268, align 8, !tbaa !28
  %13565 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13564
  %13566 = getelementptr inbounds %struct.anon, ptr %13565, i32 0, i32 5
  %13567 = getelementptr inbounds %struct.s2n_blob, ptr %13566, i32 0, i32 1
  %13568 = load i32, ptr %13567, align 8, !tbaa !77
  %13569 = sub i32 %13568, 3
  %13570 = call i32 @s2n_alloc(ptr noundef %205, i32 noundef %13569)
  %13571 = icmp eq i32 %13570, -1
  br i1 %13571, label %13572, label %13625

13572:                                            ; preds = %13561
  br label %13573

13573:                                            ; preds = %13572
  br label %13574

13574:                                            ; preds = %13573
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %13575 = call ptr @__errno_location() #12
  %13576 = load i32, ptr %13575, align 4, !tbaa !5
  store i32 %13576, ptr %269, align 4, !tbaa !5
  %13577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13578 = call i32 @s2n_print_stacktrace(ptr noundef %13577)
  %13579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13580 = trunc i8 %13579 to i1
  br i1 %13580, label %13581, label %13603

13581:                                            ; preds = %13574
  %13582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13583 = call i32 @fileno(ptr noundef %13582) #11
  %13584 = call i32 @isatty(i32 noundef %13583) #11
  %13585 = icmp ne i32 %13584, 0
  br i1 %13585, label %13586, label %13603

13586:                                            ; preds = %13581
  %13587 = load i32, ptr %269, align 4, !tbaa !5
  %13588 = call ptr @__errno_location() #12
  store i32 %13587, ptr %13588, align 4, !tbaa !5
  %13589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13590 = load i32, ptr @test_count, align 4, !tbaa !5
  %13591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13592 = load i32, ptr %13591, align 4, !tbaa !5
  %13593 = call ptr @s2n_strerror(i32 noundef %13592, ptr noundef @.str.4)
  %13594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13595 = load i32, ptr %13594, align 4, !tbaa !5
  %13596 = call ptr @s2n_strerror_debug(i32 noundef %13595, ptr noundef @.str.4)
  %13597 = call ptr @__errno_location() #12
  %13598 = load i32, ptr %13597, align 4, !tbaa !5
  %13599 = call ptr @strerror(i32 noundef %13598) #11
  %13600 = call ptr @__errno_location() #12
  %13601 = load i32, ptr %13600, align 4, !tbaa !5
  %13602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13589, ptr noundef @.str.2, i32 noundef %13590, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 549, ptr noundef %13593, ptr noundef %13596, ptr noundef %13599, i32 noundef %13601) #11
  br label %13620

13603:                                            ; preds = %13581, %13574
  %13604 = load i32, ptr %269, align 4, !tbaa !5
  %13605 = call ptr @__errno_location() #12
  store i32 %13604, ptr %13605, align 4, !tbaa !5
  %13606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13607 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13609, ptr noundef @.str.4)
  %13611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  %13613 = call ptr @s2n_strerror_debug(i32 noundef %13612, ptr noundef @.str.4)
  %13614 = call ptr @__errno_location() #12
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call ptr @strerror(i32 noundef %13615) #11
  %13617 = call ptr @__errno_location() #12
  %13618 = load i32, ptr %13617, align 4, !tbaa !5
  %13619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13606, ptr noundef @.str.5, i32 noundef %13607, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 549, ptr noundef %13610, ptr noundef %13613, ptr noundef %13616, i32 noundef %13618) #11
  br label %13620

13620:                                            ; preds = %13603, %13586
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %13621

13621:                                            ; preds = %13620
  br label %13622

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

13623:                                            ; No predecessors!
  br label %13624

13624:                                            ; preds = %13623
  br label %13625

13625:                                            ; preds = %13624, %13561
  br label %13626

13626:                                            ; preds = %13625
  br label %13627

13627:                                            ; preds = %13626
  br label %13628

13628:                                            ; preds = %13627
  br label %13629

13629:                                            ; preds = %13628
  br label %13630

13630:                                            ; preds = %13629
  %13631 = load i32, ptr @test_count, align 4, !tbaa !5
  %13632 = add nsw i32 %13631, 1
  store i32 %13632, ptr @test_count, align 4, !tbaa !5
  %13633 = load ptr, ptr %211, align 8, !tbaa !9
  %13634 = load i64, ptr %268, align 8, !tbaa !28
  %13635 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13634
  %13636 = getelementptr inbounds %struct.anon, ptr %13635, i32 0, i32 0
  %13637 = load ptr, ptr %13636, align 8, !tbaa !63
  %13638 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 0
  %13639 = load ptr, ptr %13638, align 8, !tbaa !73
  %13640 = getelementptr inbounds %struct.s2n_blob, ptr %205, i32 0, i32 1
  %13641 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %13633, ptr noundef %13637, ptr noundef %13639, ptr noundef %13640, ptr noundef %207)
  %13642 = icmp eq i32 %13641, -1
  br i1 %13642, label %13696, label %13643

13643:                                            ; preds = %13630
  br label %13644

13644:                                            ; preds = %13643
  br label %13645

13645:                                            ; preds = %13644
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %13646 = call ptr @__errno_location() #12
  %13647 = load i32, ptr %13646, align 4, !tbaa !5
  store i32 %13647, ptr %270, align 4, !tbaa !5
  %13648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13649 = call i32 @s2n_print_stacktrace(ptr noundef %13648)
  %13650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13651 = trunc i8 %13650 to i1
  br i1 %13651, label %13652, label %13674

13652:                                            ; preds = %13645
  %13653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13654 = call i32 @fileno(ptr noundef %13653) #11
  %13655 = call i32 @isatty(i32 noundef %13654) #11
  %13656 = icmp ne i32 %13655, 0
  br i1 %13656, label %13657, label %13674

13657:                                            ; preds = %13652
  %13658 = load i32, ptr %270, align 4, !tbaa !5
  %13659 = call ptr @__errno_location() #12
  store i32 %13658, ptr %13659, align 4, !tbaa !5
  %13660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13661 = load i32, ptr @test_count, align 4, !tbaa !5
  %13662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13663 = load i32, ptr %13662, align 4, !tbaa !5
  %13664 = call ptr @s2n_strerror(i32 noundef %13663, ptr noundef @.str.4)
  %13665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13666 = load i32, ptr %13665, align 4, !tbaa !5
  %13667 = call ptr @s2n_strerror_debug(i32 noundef %13666, ptr noundef @.str.4)
  %13668 = call ptr @__errno_location() #12
  %13669 = load i32, ptr %13668, align 4, !tbaa !5
  %13670 = call ptr @strerror(i32 noundef %13669) #11
  %13671 = call ptr @__errno_location() #12
  %13672 = load i32, ptr %13671, align 4, !tbaa !5
  %13673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13660, ptr noundef @.str.2, i32 noundef %13661, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13664, ptr noundef %13667, ptr noundef %13670, i32 noundef %13672) #11
  br label %13691

13674:                                            ; preds = %13652, %13645
  %13675 = load i32, ptr %270, align 4, !tbaa !5
  %13676 = call ptr @__errno_location() #12
  store i32 %13675, ptr %13676, align 4, !tbaa !5
  %13677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13678 = load i32, ptr @test_count, align 4, !tbaa !5
  %13679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13680 = load i32, ptr %13679, align 4, !tbaa !5
  %13681 = call ptr @s2n_strerror(i32 noundef %13680, ptr noundef @.str.4)
  %13682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13683 = load i32, ptr %13682, align 4, !tbaa !5
  %13684 = call ptr @s2n_strerror_debug(i32 noundef %13683, ptr noundef @.str.4)
  %13685 = call ptr @__errno_location() #12
  %13686 = load i32, ptr %13685, align 4, !tbaa !5
  %13687 = call ptr @strerror(i32 noundef %13686) #11
  %13688 = call ptr @__errno_location() #12
  %13689 = load i32, ptr %13688, align 4, !tbaa !5
  %13690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13677, ptr noundef @.str.5, i32 noundef %13678, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13681, ptr noundef %13684, ptr noundef %13687, i32 noundef %13689) #11
  br label %13691

13691:                                            ; preds = %13674, %13657
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %13692

13692:                                            ; preds = %13691
  br label %13693

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

13694:                                            ; No predecessors!
  br label %13695

13695:                                            ; preds = %13694
  br label %13696

13696:                                            ; preds = %13695, %13630
  br label %13697

13697:                                            ; preds = %13696
  br label %13698

13698:                                            ; preds = %13697
  br label %13699

13699:                                            ; preds = %13698
  %13700 = load i32, ptr @test_count, align 4, !tbaa !5
  %13701 = add nsw i32 %13700, 1
  store i32 %13701, ptr @test_count, align 4, !tbaa !5
  %13702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13703 = load i32, ptr %13702, align 4, !tbaa !5
  %13704 = icmp eq i32 %13703, 469762120
  br i1 %13704, label %13758, label %13705

13705:                                            ; preds = %13699
  br label %13706

13706:                                            ; preds = %13705
  br label %13707

13707:                                            ; preds = %13706
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %13708 = call ptr @__errno_location() #12
  %13709 = load i32, ptr %13708, align 4, !tbaa !5
  store i32 %13709, ptr %271, align 4, !tbaa !5
  %13710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13711 = call i32 @s2n_print_stacktrace(ptr noundef %13710)
  %13712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13713 = trunc i8 %13712 to i1
  br i1 %13713, label %13714, label %13736

13714:                                            ; preds = %13707
  %13715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13716 = call i32 @fileno(ptr noundef %13715) #11
  %13717 = call i32 @isatty(i32 noundef %13716) #11
  %13718 = icmp ne i32 %13717, 0
  br i1 %13718, label %13719, label %13736

13719:                                            ; preds = %13714
  %13720 = load i32, ptr %271, align 4, !tbaa !5
  %13721 = call ptr @__errno_location() #12
  store i32 %13720, ptr %13721, align 4, !tbaa !5
  %13722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13723 = load i32, ptr @test_count, align 4, !tbaa !5
  %13724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13725 = load i32, ptr %13724, align 4, !tbaa !5
  %13726 = call ptr @s2n_strerror(i32 noundef %13725, ptr noundef @.str.4)
  %13727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13728 = load i32, ptr %13727, align 4, !tbaa !5
  %13729 = call ptr @s2n_strerror_debug(i32 noundef %13728, ptr noundef @.str.4)
  %13730 = call ptr @__errno_location() #12
  %13731 = load i32, ptr %13730, align 4, !tbaa !5
  %13732 = call ptr @strerror(i32 noundef %13731) #11
  %13733 = call ptr @__errno_location() #12
  %13734 = load i32, ptr %13733, align 4, !tbaa !5
  %13735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13722, ptr noundef @.str.2, i32 noundef %13723, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13726, ptr noundef %13729, ptr noundef %13732, i32 noundef %13734) #11
  br label %13753

13736:                                            ; preds = %13714, %13707
  %13737 = load i32, ptr %271, align 4, !tbaa !5
  %13738 = call ptr @__errno_location() #12
  store i32 %13737, ptr %13738, align 4, !tbaa !5
  %13739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13740 = load i32, ptr @test_count, align 4, !tbaa !5
  %13741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13742 = load i32, ptr %13741, align 4, !tbaa !5
  %13743 = call ptr @s2n_strerror(i32 noundef %13742, ptr noundef @.str.4)
  %13744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13745 = load i32, ptr %13744, align 4, !tbaa !5
  %13746 = call ptr @s2n_strerror_debug(i32 noundef %13745, ptr noundef @.str.4)
  %13747 = call ptr @__errno_location() #12
  %13748 = load i32, ptr %13747, align 4, !tbaa !5
  %13749 = call ptr @strerror(i32 noundef %13748) #11
  %13750 = call ptr @__errno_location() #12
  %13751 = load i32, ptr %13750, align 4, !tbaa !5
  %13752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13739, ptr noundef @.str.5, i32 noundef %13740, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13743, ptr noundef %13746, ptr noundef %13749, i32 noundef %13751) #11
  br label %13753

13753:                                            ; preds = %13736, %13719
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %13754

13754:                                            ; preds = %13753
  br label %13755

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

13756:                                            ; No predecessors!
  br label %13757

13757:                                            ; preds = %13756
  br label %13758

13758:                                            ; preds = %13757, %13699
  br label %13759

13759:                                            ; preds = %13758
  br label %13760

13760:                                            ; preds = %13759
  br label %13761

13761:                                            ; preds = %13760
  %13762 = load i32, ptr @test_count, align 4, !tbaa !5
  %13763 = add nsw i32 %13762, 1
  store i32 %13763, ptr @test_count, align 4, !tbaa !5
  %13764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13765 = load i32, ptr %13764, align 4, !tbaa !5
  %13766 = call ptr @s2n_strerror_debug(i32 noundef %13765, ptr noundef @.str.4)
  %13767 = icmp eq ptr %13766, null
  br i1 %13767, label %13768, label %13821

13768:                                            ; preds = %13761
  br label %13769

13769:                                            ; preds = %13768
  br label %13770

13770:                                            ; preds = %13769
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %13771 = call ptr @__errno_location() #12
  %13772 = load i32, ptr %13771, align 4, !tbaa !5
  store i32 %13772, ptr %272, align 4, !tbaa !5
  %13773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13774 = call i32 @s2n_print_stacktrace(ptr noundef %13773)
  %13775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13776 = trunc i8 %13775 to i1
  br i1 %13776, label %13777, label %13799

13777:                                            ; preds = %13770
  %13778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13779 = call i32 @fileno(ptr noundef %13778) #11
  %13780 = call i32 @isatty(i32 noundef %13779) #11
  %13781 = icmp ne i32 %13780, 0
  br i1 %13781, label %13782, label %13799

13782:                                            ; preds = %13777
  %13783 = load i32, ptr %272, align 4, !tbaa !5
  %13784 = call ptr @__errno_location() #12
  store i32 %13783, ptr %13784, align 4, !tbaa !5
  %13785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13786 = load i32, ptr @test_count, align 4, !tbaa !5
  %13787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  %13789 = call ptr @s2n_strerror(i32 noundef %13788, ptr noundef @.str.4)
  %13790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  %13792 = call ptr @s2n_strerror_debug(i32 noundef %13791, ptr noundef @.str.4)
  %13793 = call ptr @__errno_location() #12
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  %13795 = call ptr @strerror(i32 noundef %13794) #11
  %13796 = call ptr @__errno_location() #12
  %13797 = load i32, ptr %13796, align 4, !tbaa !5
  %13798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13785, ptr noundef @.str.2, i32 noundef %13786, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13789, ptr noundef %13792, ptr noundef %13795, i32 noundef %13797) #11
  br label %13816

13799:                                            ; preds = %13777, %13770
  %13800 = load i32, ptr %272, align 4, !tbaa !5
  %13801 = call ptr @__errno_location() #12
  store i32 %13800, ptr %13801, align 4, !tbaa !5
  %13802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13803 = load i32, ptr @test_count, align 4, !tbaa !5
  %13804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13805 = load i32, ptr %13804, align 4, !tbaa !5
  %13806 = call ptr @s2n_strerror(i32 noundef %13805, ptr noundef @.str.4)
  %13807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13808 = load i32, ptr %13807, align 4, !tbaa !5
  %13809 = call ptr @s2n_strerror_debug(i32 noundef %13808, ptr noundef @.str.4)
  %13810 = call ptr @__errno_location() #12
  %13811 = load i32, ptr %13810, align 4, !tbaa !5
  %13812 = call ptr @strerror(i32 noundef %13811) #11
  %13813 = call ptr @__errno_location() #12
  %13814 = load i32, ptr %13813, align 4, !tbaa !5
  %13815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13802, ptr noundef @.str.5, i32 noundef %13803, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 552, ptr noundef %13806, ptr noundef %13809, ptr noundef %13812, i32 noundef %13814) #11
  br label %13816

13816:                                            ; preds = %13799, %13782
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %13817

13817:                                            ; preds = %13816
  br label %13818

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

13819:                                            ; No predecessors!
  br label %13820

13820:                                            ; preds = %13819
  br label %13821

13821:                                            ; preds = %13820, %13761
  br label %13822

13822:                                            ; preds = %13821
  br label %13823

13823:                                            ; preds = %13822
  br label %13824

13824:                                            ; preds = %13823
  br label %13825

13825:                                            ; preds = %13824
  br label %13826

13826:                                            ; preds = %13825
  %13827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13827, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13828 = call ptr @__errno_location() #12
  store i32 0, ptr %13828, align 4, !tbaa !5
  br label %13829

13829:                                            ; preds = %13826
  br label %13830

13830:                                            ; preds = %13829
  br label %13831

13831:                                            ; preds = %13830
  br label %13832

13832:                                            ; preds = %13831
  br label %13833

13833:                                            ; preds = %13832
  %13834 = load i32, ptr @test_count, align 4, !tbaa !5
  %13835 = add nsw i32 %13834, 1
  store i32 %13835, ptr @test_count, align 4, !tbaa !5
  %13836 = call i32 @s2n_free(ptr noundef %205)
  %13837 = icmp eq i32 %13836, -1
  br i1 %13837, label %13838, label %13891

13838:                                            ; preds = %13833
  br label %13839

13839:                                            ; preds = %13838
  br label %13840

13840:                                            ; preds = %13839
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %13841 = call ptr @__errno_location() #12
  %13842 = load i32, ptr %13841, align 4, !tbaa !5
  store i32 %13842, ptr %273, align 4, !tbaa !5
  %13843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13844 = call i32 @s2n_print_stacktrace(ptr noundef %13843)
  %13845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13846 = trunc i8 %13845 to i1
  br i1 %13846, label %13847, label %13869

13847:                                            ; preds = %13840
  %13848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13849 = call i32 @fileno(ptr noundef %13848) #11
  %13850 = call i32 @isatty(i32 noundef %13849) #11
  %13851 = icmp ne i32 %13850, 0
  br i1 %13851, label %13852, label %13869

13852:                                            ; preds = %13847
  %13853 = load i32, ptr %273, align 4, !tbaa !5
  %13854 = call ptr @__errno_location() #12
  store i32 %13853, ptr %13854, align 4, !tbaa !5
  %13855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13856 = load i32, ptr @test_count, align 4, !tbaa !5
  %13857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13858 = load i32, ptr %13857, align 4, !tbaa !5
  %13859 = call ptr @s2n_strerror(i32 noundef %13858, ptr noundef @.str.4)
  %13860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13861 = load i32, ptr %13860, align 4, !tbaa !5
  %13862 = call ptr @s2n_strerror_debug(i32 noundef %13861, ptr noundef @.str.4)
  %13863 = call ptr @__errno_location() #12
  %13864 = load i32, ptr %13863, align 4, !tbaa !5
  %13865 = call ptr @strerror(i32 noundef %13864) #11
  %13866 = call ptr @__errno_location() #12
  %13867 = load i32, ptr %13866, align 4, !tbaa !5
  %13868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13855, ptr noundef @.str.2, i32 noundef %13856, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 553, ptr noundef %13859, ptr noundef %13862, ptr noundef %13865, i32 noundef %13867) #11
  br label %13886

13869:                                            ; preds = %13847, %13840
  %13870 = load i32, ptr %273, align 4, !tbaa !5
  %13871 = call ptr @__errno_location() #12
  store i32 %13870, ptr %13871, align 4, !tbaa !5
  %13872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13873 = load i32, ptr @test_count, align 4, !tbaa !5
  %13874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13875 = load i32, ptr %13874, align 4, !tbaa !5
  %13876 = call ptr @s2n_strerror(i32 noundef %13875, ptr noundef @.str.4)
  %13877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13878 = load i32, ptr %13877, align 4, !tbaa !5
  %13879 = call ptr @s2n_strerror_debug(i32 noundef %13878, ptr noundef @.str.4)
  %13880 = call ptr @__errno_location() #12
  %13881 = load i32, ptr %13880, align 4, !tbaa !5
  %13882 = call ptr @strerror(i32 noundef %13881) #11
  %13883 = call ptr @__errno_location() #12
  %13884 = load i32, ptr %13883, align 4, !tbaa !5
  %13885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13872, ptr noundef @.str.5, i32 noundef %13873, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 553, ptr noundef %13876, ptr noundef %13879, ptr noundef %13882, i32 noundef %13884) #11
  br label %13886

13886:                                            ; preds = %13869, %13852
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %13887

13887:                                            ; preds = %13886
  br label %13888

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

13889:                                            ; No predecessors!
  br label %13890

13890:                                            ; preds = %13889
  br label %13891

13891:                                            ; preds = %13890, %13833
  br label %13892

13892:                                            ; preds = %13891
  br label %13893

13893:                                            ; preds = %13892
  call void @llvm.lifetime.end.p0(i64 8, ptr %268) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %274) #11
  store i64 7, ptr %274, align 8, !tbaa !28
  br label %13894

13894:                                            ; preds = %13893
  %13895 = load i32, ptr @test_count, align 4, !tbaa !5
  %13896 = add nsw i32 %13895, 1
  store i32 %13896, ptr @test_count, align 4, !tbaa !5
  %13897 = load i64, ptr %274, align 8, !tbaa !28
  %13898 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13897
  %13899 = getelementptr inbounds %struct.anon, ptr %13898, i32 0, i32 5
  %13900 = call i32 @s2n_alloc(ptr noundef %13899, i32 noundef 65535)
  %13901 = icmp eq i32 %13900, -1
  br i1 %13901, label %13902, label %13955

13902:                                            ; preds = %13894
  br label %13903

13903:                                            ; preds = %13902
  br label %13904

13904:                                            ; preds = %13903
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %13905 = call ptr @__errno_location() #12
  %13906 = load i32, ptr %13905, align 4, !tbaa !5
  store i32 %13906, ptr %275, align 4, !tbaa !5
  %13907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13908 = call i32 @s2n_print_stacktrace(ptr noundef %13907)
  %13909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13910 = trunc i8 %13909 to i1
  br i1 %13910, label %13911, label %13933

13911:                                            ; preds = %13904
  %13912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13913 = call i32 @fileno(ptr noundef %13912) #11
  %13914 = call i32 @isatty(i32 noundef %13913) #11
  %13915 = icmp ne i32 %13914, 0
  br i1 %13915, label %13916, label %13933

13916:                                            ; preds = %13911
  %13917 = load i32, ptr %275, align 4, !tbaa !5
  %13918 = call ptr @__errno_location() #12
  store i32 %13917, ptr %13918, align 4, !tbaa !5
  %13919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13920 = load i32, ptr @test_count, align 4, !tbaa !5
  %13921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13922 = load i32, ptr %13921, align 4, !tbaa !5
  %13923 = call ptr @s2n_strerror(i32 noundef %13922, ptr noundef @.str.4)
  %13924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13925 = load i32, ptr %13924, align 4, !tbaa !5
  %13926 = call ptr @s2n_strerror_debug(i32 noundef %13925, ptr noundef @.str.4)
  %13927 = call ptr @__errno_location() #12
  %13928 = load i32, ptr %13927, align 4, !tbaa !5
  %13929 = call ptr @strerror(i32 noundef %13928) #11
  %13930 = call ptr @__errno_location() #12
  %13931 = load i32, ptr %13930, align 4, !tbaa !5
  %13932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13919, ptr noundef @.str.2, i32 noundef %13920, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 559, ptr noundef %13923, ptr noundef %13926, ptr noundef %13929, i32 noundef %13931) #11
  br label %13950

13933:                                            ; preds = %13911, %13904
  %13934 = load i32, ptr %275, align 4, !tbaa !5
  %13935 = call ptr @__errno_location() #12
  store i32 %13934, ptr %13935, align 4, !tbaa !5
  %13936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13937 = load i32, ptr @test_count, align 4, !tbaa !5
  %13938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13939 = load i32, ptr %13938, align 4, !tbaa !5
  %13940 = call ptr @s2n_strerror(i32 noundef %13939, ptr noundef @.str.4)
  %13941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13942 = load i32, ptr %13941, align 4, !tbaa !5
  %13943 = call ptr @s2n_strerror_debug(i32 noundef %13942, ptr noundef @.str.4)
  %13944 = call ptr @__errno_location() #12
  %13945 = load i32, ptr %13944, align 4, !tbaa !5
  %13946 = call ptr @strerror(i32 noundef %13945) #11
  %13947 = call ptr @__errno_location() #12
  %13948 = load i32, ptr %13947, align 4, !tbaa !5
  %13949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13936, ptr noundef @.str.5, i32 noundef %13937, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 559, ptr noundef %13940, ptr noundef %13943, ptr noundef %13946, i32 noundef %13948) #11
  br label %13950

13950:                                            ; preds = %13933, %13916
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %13951

13951:                                            ; preds = %13950
  br label %13952

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

13953:                                            ; No predecessors!
  br label %13954

13954:                                            ; preds = %13953
  br label %13955

13955:                                            ; preds = %13954, %13894
  br label %13956

13956:                                            ; preds = %13955
  br label %13957

13957:                                            ; preds = %13956
  br label %13958

13958:                                            ; preds = %13957
  br label %13959

13959:                                            ; preds = %13958
  br label %13960

13960:                                            ; preds = %13959
  %13961 = load i32, ptr @test_count, align 4, !tbaa !5
  %13962 = add nsw i32 %13961, 1
  store i32 %13962, ptr @test_count, align 4, !tbaa !5
  %13963 = load ptr, ptr %211, align 8, !tbaa !9
  %13964 = load i64, ptr %274, align 8, !tbaa !28
  %13965 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13964
  %13966 = getelementptr inbounds %struct.anon, ptr %13965, i32 0, i32 0
  %13967 = load ptr, ptr %13966, align 8, !tbaa !63
  %13968 = load i64, ptr %274, align 8, !tbaa !28
  %13969 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13968
  %13970 = getelementptr inbounds %struct.anon, ptr %13969, i32 0, i32 5
  %13971 = getelementptr inbounds %struct.s2n_blob, ptr %13970, i32 0, i32 0
  %13972 = load ptr, ptr %13971, align 8, !tbaa !74
  %13973 = load i64, ptr %274, align 8, !tbaa !28
  %13974 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %13973
  %13975 = getelementptr inbounds %struct.anon, ptr %13974, i32 0, i32 5
  %13976 = getelementptr inbounds %struct.s2n_blob, ptr %13975, i32 0, i32 1
  %13977 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef %13963, ptr noundef %13967, ptr noundef %13972, ptr noundef %13976, ptr noundef %207)
  %13978 = icmp eq i32 %13977, -1
  br i1 %13978, label %14032, label %13979

13979:                                            ; preds = %13960
  br label %13980

13980:                                            ; preds = %13979
  br label %13981

13981:                                            ; preds = %13980
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %13982 = call ptr @__errno_location() #12
  %13983 = load i32, ptr %13982, align 4, !tbaa !5
  store i32 %13983, ptr %276, align 4, !tbaa !5
  %13984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13985 = call i32 @s2n_print_stacktrace(ptr noundef %13984)
  %13986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13987 = trunc i8 %13986 to i1
  br i1 %13987, label %13988, label %14010

13988:                                            ; preds = %13981
  %13989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13990 = call i32 @fileno(ptr noundef %13989) #11
  %13991 = call i32 @isatty(i32 noundef %13990) #11
  %13992 = icmp ne i32 %13991, 0
  br i1 %13992, label %13993, label %14010

13993:                                            ; preds = %13988
  %13994 = load i32, ptr %276, align 4, !tbaa !5
  %13995 = call ptr @__errno_location() #12
  store i32 %13994, ptr %13995, align 4, !tbaa !5
  %13996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13997 = load i32, ptr @test_count, align 4, !tbaa !5
  %13998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13999 = load i32, ptr %13998, align 4, !tbaa !5
  %14000 = call ptr @s2n_strerror(i32 noundef %13999, ptr noundef @.str.4)
  %14001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14002 = load i32, ptr %14001, align 4, !tbaa !5
  %14003 = call ptr @s2n_strerror_debug(i32 noundef %14002, ptr noundef @.str.4)
  %14004 = call ptr @__errno_location() #12
  %14005 = load i32, ptr %14004, align 4, !tbaa !5
  %14006 = call ptr @strerror(i32 noundef %14005) #11
  %14007 = call ptr @__errno_location() #12
  %14008 = load i32, ptr %14007, align 4, !tbaa !5
  %14009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13996, ptr noundef @.str.2, i32 noundef %13997, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14000, ptr noundef %14003, ptr noundef %14006, i32 noundef %14008) #11
  br label %14027

14010:                                            ; preds = %13988, %13981
  %14011 = load i32, ptr %276, align 4, !tbaa !5
  %14012 = call ptr @__errno_location() #12
  store i32 %14011, ptr %14012, align 4, !tbaa !5
  %14013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14014 = load i32, ptr @test_count, align 4, !tbaa !5
  %14015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call ptr @s2n_strerror(i32 noundef %14016, ptr noundef @.str.4)
  %14018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  %14020 = call ptr @s2n_strerror_debug(i32 noundef %14019, ptr noundef @.str.4)
  %14021 = call ptr @__errno_location() #12
  %14022 = load i32, ptr %14021, align 4, !tbaa !5
  %14023 = call ptr @strerror(i32 noundef %14022) #11
  %14024 = call ptr @__errno_location() #12
  %14025 = load i32, ptr %14024, align 4, !tbaa !5
  %14026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14013, ptr noundef @.str.5, i32 noundef %14014, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14017, ptr noundef %14020, ptr noundef %14023, i32 noundef %14025) #11
  br label %14027

14027:                                            ; preds = %14010, %13993
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %14028

14028:                                            ; preds = %14027
  br label %14029

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

14030:                                            ; No predecessors!
  br label %14031

14031:                                            ; preds = %14030
  br label %14032

14032:                                            ; preds = %14031, %13960
  br label %14033

14033:                                            ; preds = %14032
  br label %14034

14034:                                            ; preds = %14033
  br label %14035

14035:                                            ; preds = %14034
  %14036 = load i32, ptr @test_count, align 4, !tbaa !5
  %14037 = add nsw i32 %14036, 1
  store i32 %14037, ptr @test_count, align 4, !tbaa !5
  %14038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14039 = load i32, ptr %14038, align 4, !tbaa !5
  %14040 = icmp eq i32 %14039, 469762118
  br i1 %14040, label %14094, label %14041

14041:                                            ; preds = %14035
  br label %14042

14042:                                            ; preds = %14041
  br label %14043

14043:                                            ; preds = %14042
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %14044 = call ptr @__errno_location() #12
  %14045 = load i32, ptr %14044, align 4, !tbaa !5
  store i32 %14045, ptr %277, align 4, !tbaa !5
  %14046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14047 = call i32 @s2n_print_stacktrace(ptr noundef %14046)
  %14048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14049 = trunc i8 %14048 to i1
  br i1 %14049, label %14050, label %14072

14050:                                            ; preds = %14043
  %14051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14052 = call i32 @fileno(ptr noundef %14051) #11
  %14053 = call i32 @isatty(i32 noundef %14052) #11
  %14054 = icmp ne i32 %14053, 0
  br i1 %14054, label %14055, label %14072

14055:                                            ; preds = %14050
  %14056 = load i32, ptr %277, align 4, !tbaa !5
  %14057 = call ptr @__errno_location() #12
  store i32 %14056, ptr %14057, align 4, !tbaa !5
  %14058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14059 = load i32, ptr @test_count, align 4, !tbaa !5
  %14060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14061 = load i32, ptr %14060, align 4, !tbaa !5
  %14062 = call ptr @s2n_strerror(i32 noundef %14061, ptr noundef @.str.4)
  %14063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14064 = load i32, ptr %14063, align 4, !tbaa !5
  %14065 = call ptr @s2n_strerror_debug(i32 noundef %14064, ptr noundef @.str.4)
  %14066 = call ptr @__errno_location() #12
  %14067 = load i32, ptr %14066, align 4, !tbaa !5
  %14068 = call ptr @strerror(i32 noundef %14067) #11
  %14069 = call ptr @__errno_location() #12
  %14070 = load i32, ptr %14069, align 4, !tbaa !5
  %14071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14058, ptr noundef @.str.2, i32 noundef %14059, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14062, ptr noundef %14065, ptr noundef %14068, i32 noundef %14070) #11
  br label %14089

14072:                                            ; preds = %14050, %14043
  %14073 = load i32, ptr %277, align 4, !tbaa !5
  %14074 = call ptr @__errno_location() #12
  store i32 %14073, ptr %14074, align 4, !tbaa !5
  %14075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14076 = load i32, ptr @test_count, align 4, !tbaa !5
  %14077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call ptr @s2n_strerror(i32 noundef %14078, ptr noundef @.str.4)
  %14080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  %14082 = call ptr @s2n_strerror_debug(i32 noundef %14081, ptr noundef @.str.4)
  %14083 = call ptr @__errno_location() #12
  %14084 = load i32, ptr %14083, align 4, !tbaa !5
  %14085 = call ptr @strerror(i32 noundef %14084) #11
  %14086 = call ptr @__errno_location() #12
  %14087 = load i32, ptr %14086, align 4, !tbaa !5
  %14088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14075, ptr noundef @.str.5, i32 noundef %14076, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14079, ptr noundef %14082, ptr noundef %14085, i32 noundef %14087) #11
  br label %14089

14089:                                            ; preds = %14072, %14055
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %14090

14090:                                            ; preds = %14089
  br label %14091

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

14092:                                            ; No predecessors!
  br label %14093

14093:                                            ; preds = %14092
  br label %14094

14094:                                            ; preds = %14093, %14035
  br label %14095

14095:                                            ; preds = %14094
  br label %14096

14096:                                            ; preds = %14095
  br label %14097

14097:                                            ; preds = %14096
  %14098 = load i32, ptr @test_count, align 4, !tbaa !5
  %14099 = add nsw i32 %14098, 1
  store i32 %14099, ptr @test_count, align 4, !tbaa !5
  %14100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  %14102 = call ptr @s2n_strerror_debug(i32 noundef %14101, ptr noundef @.str.4)
  %14103 = icmp eq ptr %14102, null
  br i1 %14103, label %14104, label %14157

14104:                                            ; preds = %14097
  br label %14105

14105:                                            ; preds = %14104
  br label %14106

14106:                                            ; preds = %14105
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %14107 = call ptr @__errno_location() #12
  %14108 = load i32, ptr %14107, align 4, !tbaa !5
  store i32 %14108, ptr %278, align 4, !tbaa !5
  %14109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14110 = call i32 @s2n_print_stacktrace(ptr noundef %14109)
  %14111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14112 = trunc i8 %14111 to i1
  br i1 %14112, label %14113, label %14135

14113:                                            ; preds = %14106
  %14114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14115 = call i32 @fileno(ptr noundef %14114) #11
  %14116 = call i32 @isatty(i32 noundef %14115) #11
  %14117 = icmp ne i32 %14116, 0
  br i1 %14117, label %14118, label %14135

14118:                                            ; preds = %14113
  %14119 = load i32, ptr %278, align 4, !tbaa !5
  %14120 = call ptr @__errno_location() #12
  store i32 %14119, ptr %14120, align 4, !tbaa !5
  %14121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14122 = load i32, ptr @test_count, align 4, !tbaa !5
  %14123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14124 = load i32, ptr %14123, align 4, !tbaa !5
  %14125 = call ptr @s2n_strerror(i32 noundef %14124, ptr noundef @.str.4)
  %14126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14127 = load i32, ptr %14126, align 4, !tbaa !5
  %14128 = call ptr @s2n_strerror_debug(i32 noundef %14127, ptr noundef @.str.4)
  %14129 = call ptr @__errno_location() #12
  %14130 = load i32, ptr %14129, align 4, !tbaa !5
  %14131 = call ptr @strerror(i32 noundef %14130) #11
  %14132 = call ptr @__errno_location() #12
  %14133 = load i32, ptr %14132, align 4, !tbaa !5
  %14134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14121, ptr noundef @.str.2, i32 noundef %14122, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14125, ptr noundef %14128, ptr noundef %14131, i32 noundef %14133) #11
  br label %14152

14135:                                            ; preds = %14113, %14106
  %14136 = load i32, ptr %278, align 4, !tbaa !5
  %14137 = call ptr @__errno_location() #12
  store i32 %14136, ptr %14137, align 4, !tbaa !5
  %14138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14139 = load i32, ptr @test_count, align 4, !tbaa !5
  %14140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14141 = load i32, ptr %14140, align 4, !tbaa !5
  %14142 = call ptr @s2n_strerror(i32 noundef %14141, ptr noundef @.str.4)
  %14143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror_debug(i32 noundef %14144, ptr noundef @.str.4)
  %14146 = call ptr @__errno_location() #12
  %14147 = load i32, ptr %14146, align 4, !tbaa !5
  %14148 = call ptr @strerror(i32 noundef %14147) #11
  %14149 = call ptr @__errno_location() #12
  %14150 = load i32, ptr %14149, align 4, !tbaa !5
  %14151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14138, ptr noundef @.str.5, i32 noundef %14139, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 563, ptr noundef %14142, ptr noundef %14145, ptr noundef %14148, i32 noundef %14150) #11
  br label %14152

14152:                                            ; preds = %14135, %14118
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %14153

14153:                                            ; preds = %14152
  br label %14154

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

14155:                                            ; No predecessors!
  br label %14156

14156:                                            ; preds = %14155
  br label %14157

14157:                                            ; preds = %14156, %14097
  br label %14158

14158:                                            ; preds = %14157
  br label %14159

14159:                                            ; preds = %14158
  br label %14160

14160:                                            ; preds = %14159
  br label %14161

14161:                                            ; preds = %14160
  br label %14162

14162:                                            ; preds = %14161
  %14163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14163, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14164 = call ptr @__errno_location() #12
  store i32 0, ptr %14164, align 4, !tbaa !5
  br label %14165

14165:                                            ; preds = %14162
  br label %14166

14166:                                            ; preds = %14165
  br label %14167

14167:                                            ; preds = %14166
  br label %14168

14168:                                            ; preds = %14167
  call void @llvm.lifetime.end.p0(i64 8, ptr %274) #11
  call void @llvm.lifetime.start.p0(i64 33, ptr %279) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %279, ptr align 16 @__const.main.der_ext_value, i64 33, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %280) #11
  %14169 = getelementptr inbounds [33 x i8], ptr %279, i64 0, i64 0
  %14170 = call i64 @strlen(ptr noundef %14169) #14
  store i64 %14170, ptr %280, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  store i32 0, ptr %281, align 4, !tbaa !5
  br label %14171

14171:                                            ; preds = %14168
  br label %14172

14172:                                            ; preds = %14171
  br label %14173

14173:                                            ; preds = %14172
  %14174 = load i32, ptr @test_count, align 4, !tbaa !5
  %14175 = add nsw i32 %14174, 1
  store i32 %14175, ptr @test_count, align 4, !tbaa !5
  %14176 = load i64, ptr %280, align 8, !tbaa !28
  %14177 = trunc i64 %14176 to i32
  %14178 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef null, i32 noundef %14177, ptr noundef %281)
  %14179 = icmp eq i32 %14178, -1
  br i1 %14179, label %14233, label %14180

14180:                                            ; preds = %14173
  br label %14181

14181:                                            ; preds = %14180
  br label %14182

14182:                                            ; preds = %14181
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %14183 = call ptr @__errno_location() #12
  %14184 = load i32, ptr %14183, align 4, !tbaa !5
  store i32 %14184, ptr %282, align 4, !tbaa !5
  %14185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14186 = call i32 @s2n_print_stacktrace(ptr noundef %14185)
  %14187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14188 = trunc i8 %14187 to i1
  br i1 %14188, label %14189, label %14211

14189:                                            ; preds = %14182
  %14190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14191 = call i32 @fileno(ptr noundef %14190) #11
  %14192 = call i32 @isatty(i32 noundef %14191) #11
  %14193 = icmp ne i32 %14192, 0
  br i1 %14193, label %14194, label %14211

14194:                                            ; preds = %14189
  %14195 = load i32, ptr %282, align 4, !tbaa !5
  %14196 = call ptr @__errno_location() #12
  store i32 %14195, ptr %14196, align 4, !tbaa !5
  %14197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14198 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14200, ptr noundef @.str.4)
  %14202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14203 = load i32, ptr %14202, align 4, !tbaa !5
  %14204 = call ptr @s2n_strerror_debug(i32 noundef %14203, ptr noundef @.str.4)
  %14205 = call ptr @__errno_location() #12
  %14206 = load i32, ptr %14205, align 4, !tbaa !5
  %14207 = call ptr @strerror(i32 noundef %14206) #11
  %14208 = call ptr @__errno_location() #12
  %14209 = load i32, ptr %14208, align 4, !tbaa !5
  %14210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14197, ptr noundef @.str.2, i32 noundef %14198, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14201, ptr noundef %14204, ptr noundef %14207, i32 noundef %14209) #11
  br label %14228

14211:                                            ; preds = %14189, %14182
  %14212 = load i32, ptr %282, align 4, !tbaa !5
  %14213 = call ptr @__errno_location() #12
  store i32 %14212, ptr %14213, align 4, !tbaa !5
  %14214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14215 = load i32, ptr @test_count, align 4, !tbaa !5
  %14216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14217 = load i32, ptr %14216, align 4, !tbaa !5
  %14218 = call ptr @s2n_strerror(i32 noundef %14217, ptr noundef @.str.4)
  %14219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14220 = load i32, ptr %14219, align 4, !tbaa !5
  %14221 = call ptr @s2n_strerror_debug(i32 noundef %14220, ptr noundef @.str.4)
  %14222 = call ptr @__errno_location() #12
  %14223 = load i32, ptr %14222, align 4, !tbaa !5
  %14224 = call ptr @strerror(i32 noundef %14223) #11
  %14225 = call ptr @__errno_location() #12
  %14226 = load i32, ptr %14225, align 4, !tbaa !5
  %14227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14214, ptr noundef @.str.5, i32 noundef %14215, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14218, ptr noundef %14221, ptr noundef %14224, i32 noundef %14226) #11
  br label %14228

14228:                                            ; preds = %14211, %14194
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %14229

14229:                                            ; preds = %14228
  br label %14230

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

14231:                                            ; No predecessors!
  br label %14232

14232:                                            ; preds = %14231
  br label %14233

14233:                                            ; preds = %14232, %14173
  br label %14234

14234:                                            ; preds = %14233
  br label %14235

14235:                                            ; preds = %14234
  br label %14236

14236:                                            ; preds = %14235
  %14237 = load i32, ptr @test_count, align 4, !tbaa !5
  %14238 = add nsw i32 %14237, 1
  store i32 %14238, ptr @test_count, align 4, !tbaa !5
  %14239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14240 = load i32, ptr %14239, align 4, !tbaa !5
  %14241 = icmp eq i32 %14240, 402653193
  br i1 %14241, label %14295, label %14242

14242:                                            ; preds = %14236
  br label %14243

14243:                                            ; preds = %14242
  br label %14244

14244:                                            ; preds = %14243
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %14245 = call ptr @__errno_location() #12
  %14246 = load i32, ptr %14245, align 4, !tbaa !5
  store i32 %14246, ptr %283, align 4, !tbaa !5
  %14247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14248 = call i32 @s2n_print_stacktrace(ptr noundef %14247)
  %14249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14250 = trunc i8 %14249 to i1
  br i1 %14250, label %14251, label %14273

14251:                                            ; preds = %14244
  %14252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14253 = call i32 @fileno(ptr noundef %14252) #11
  %14254 = call i32 @isatty(i32 noundef %14253) #11
  %14255 = icmp ne i32 %14254, 0
  br i1 %14255, label %14256, label %14273

14256:                                            ; preds = %14251
  %14257 = load i32, ptr %283, align 4, !tbaa !5
  %14258 = call ptr @__errno_location() #12
  store i32 %14257, ptr %14258, align 4, !tbaa !5
  %14259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14260 = load i32, ptr @test_count, align 4, !tbaa !5
  %14261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call ptr @s2n_strerror(i32 noundef %14262, ptr noundef @.str.4)
  %14264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14265 = load i32, ptr %14264, align 4, !tbaa !5
  %14266 = call ptr @s2n_strerror_debug(i32 noundef %14265, ptr noundef @.str.4)
  %14267 = call ptr @__errno_location() #12
  %14268 = load i32, ptr %14267, align 4, !tbaa !5
  %14269 = call ptr @strerror(i32 noundef %14268) #11
  %14270 = call ptr @__errno_location() #12
  %14271 = load i32, ptr %14270, align 4, !tbaa !5
  %14272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14259, ptr noundef @.str.2, i32 noundef %14260, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14263, ptr noundef %14266, ptr noundef %14269, i32 noundef %14271) #11
  br label %14290

14273:                                            ; preds = %14251, %14244
  %14274 = load i32, ptr %283, align 4, !tbaa !5
  %14275 = call ptr @__errno_location() #12
  store i32 %14274, ptr %14275, align 4, !tbaa !5
  %14276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14277 = load i32, ptr @test_count, align 4, !tbaa !5
  %14278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call ptr @s2n_strerror(i32 noundef %14279, ptr noundef @.str.4)
  %14281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14282 = load i32, ptr %14281, align 4, !tbaa !5
  %14283 = call ptr @s2n_strerror_debug(i32 noundef %14282, ptr noundef @.str.4)
  %14284 = call ptr @__errno_location() #12
  %14285 = load i32, ptr %14284, align 4, !tbaa !5
  %14286 = call ptr @strerror(i32 noundef %14285) #11
  %14287 = call ptr @__errno_location() #12
  %14288 = load i32, ptr %14287, align 4, !tbaa !5
  %14289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14276, ptr noundef @.str.5, i32 noundef %14277, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14280, ptr noundef %14283, ptr noundef %14286, i32 noundef %14288) #11
  br label %14290

14290:                                            ; preds = %14273, %14256
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %14291

14291:                                            ; preds = %14290
  br label %14292

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

14293:                                            ; No predecessors!
  br label %14294

14294:                                            ; preds = %14293
  br label %14295

14295:                                            ; preds = %14294, %14236
  br label %14296

14296:                                            ; preds = %14295
  br label %14297

14297:                                            ; preds = %14296
  br label %14298

14298:                                            ; preds = %14297
  %14299 = load i32, ptr @test_count, align 4, !tbaa !5
  %14300 = add nsw i32 %14299, 1
  store i32 %14300, ptr @test_count, align 4, !tbaa !5
  %14301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14302 = load i32, ptr %14301, align 4, !tbaa !5
  %14303 = call ptr @s2n_strerror_debug(i32 noundef %14302, ptr noundef @.str.4)
  %14304 = icmp eq ptr %14303, null
  br i1 %14304, label %14305, label %14358

14305:                                            ; preds = %14298
  br label %14306

14306:                                            ; preds = %14305
  br label %14307

14307:                                            ; preds = %14306
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %14308 = call ptr @__errno_location() #12
  %14309 = load i32, ptr %14308, align 4, !tbaa !5
  store i32 %14309, ptr %284, align 4, !tbaa !5
  %14310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14311 = call i32 @s2n_print_stacktrace(ptr noundef %14310)
  %14312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14313 = trunc i8 %14312 to i1
  br i1 %14313, label %14314, label %14336

14314:                                            ; preds = %14307
  %14315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14316 = call i32 @fileno(ptr noundef %14315) #11
  %14317 = call i32 @isatty(i32 noundef %14316) #11
  %14318 = icmp ne i32 %14317, 0
  br i1 %14318, label %14319, label %14336

14319:                                            ; preds = %14314
  %14320 = load i32, ptr %284, align 4, !tbaa !5
  %14321 = call ptr @__errno_location() #12
  store i32 %14320, ptr %14321, align 4, !tbaa !5
  %14322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14323 = load i32, ptr @test_count, align 4, !tbaa !5
  %14324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14325 = load i32, ptr %14324, align 4, !tbaa !5
  %14326 = call ptr @s2n_strerror(i32 noundef %14325, ptr noundef @.str.4)
  %14327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14328 = load i32, ptr %14327, align 4, !tbaa !5
  %14329 = call ptr @s2n_strerror_debug(i32 noundef %14328, ptr noundef @.str.4)
  %14330 = call ptr @__errno_location() #12
  %14331 = load i32, ptr %14330, align 4, !tbaa !5
  %14332 = call ptr @strerror(i32 noundef %14331) #11
  %14333 = call ptr @__errno_location() #12
  %14334 = load i32, ptr %14333, align 4, !tbaa !5
  %14335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14322, ptr noundef @.str.2, i32 noundef %14323, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14326, ptr noundef %14329, ptr noundef %14332, i32 noundef %14334) #11
  br label %14353

14336:                                            ; preds = %14314, %14307
  %14337 = load i32, ptr %284, align 4, !tbaa !5
  %14338 = call ptr @__errno_location() #12
  store i32 %14337, ptr %14338, align 4, !tbaa !5
  %14339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14340 = load i32, ptr @test_count, align 4, !tbaa !5
  %14341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14342 = load i32, ptr %14341, align 4, !tbaa !5
  %14343 = call ptr @s2n_strerror(i32 noundef %14342, ptr noundef @.str.4)
  %14344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14345 = load i32, ptr %14344, align 4, !tbaa !5
  %14346 = call ptr @s2n_strerror_debug(i32 noundef %14345, ptr noundef @.str.4)
  %14347 = call ptr @__errno_location() #12
  %14348 = load i32, ptr %14347, align 4, !tbaa !5
  %14349 = call ptr @strerror(i32 noundef %14348) #11
  %14350 = call ptr @__errno_location() #12
  %14351 = load i32, ptr %14350, align 4, !tbaa !5
  %14352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14339, ptr noundef @.str.5, i32 noundef %14340, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 575, ptr noundef %14343, ptr noundef %14346, ptr noundef %14349, i32 noundef %14351) #11
  br label %14353

14353:                                            ; preds = %14336, %14319
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %14354

14354:                                            ; preds = %14353
  br label %14355

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

14356:                                            ; No predecessors!
  br label %14357

14357:                                            ; preds = %14356
  br label %14358

14358:                                            ; preds = %14357, %14298
  br label %14359

14359:                                            ; preds = %14358
  br label %14360

14360:                                            ; preds = %14359
  br label %14361

14361:                                            ; preds = %14360
  br label %14362

14362:                                            ; preds = %14361
  br label %14363

14363:                                            ; preds = %14362
  %14364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14364, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14365 = call ptr @__errno_location() #12
  store i32 0, ptr %14365, align 4, !tbaa !5
  br label %14366

14366:                                            ; preds = %14363
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

14368:                                            ; preds = %14367
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  br label %14371

14371:                                            ; preds = %14370
  br label %14372

14372:                                            ; preds = %14371
  %14373 = load i32, ptr @test_count, align 4, !tbaa !5
  %14374 = add nsw i32 %14373, 1
  store i32 %14374, ptr @test_count, align 4, !tbaa !5
  %14375 = getelementptr inbounds [33 x i8], ptr %279, i64 0, i64 0
  %14376 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %14375, i32 noundef 0, ptr noundef %281)
  %14377 = icmp eq i32 %14376, -1
  br i1 %14377, label %14431, label %14378

14378:                                            ; preds = %14372
  br label %14379

14379:                                            ; preds = %14378
  br label %14380

14380:                                            ; preds = %14379
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %14381 = call ptr @__errno_location() #12
  %14382 = load i32, ptr %14381, align 4, !tbaa !5
  store i32 %14382, ptr %285, align 4, !tbaa !5
  %14383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14384 = call i32 @s2n_print_stacktrace(ptr noundef %14383)
  %14385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14386 = trunc i8 %14385 to i1
  br i1 %14386, label %14387, label %14409

14387:                                            ; preds = %14380
  %14388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14389 = call i32 @fileno(ptr noundef %14388) #11
  %14390 = call i32 @isatty(i32 noundef %14389) #11
  %14391 = icmp ne i32 %14390, 0
  br i1 %14391, label %14392, label %14409

14392:                                            ; preds = %14387
  %14393 = load i32, ptr %285, align 4, !tbaa !5
  %14394 = call ptr @__errno_location() #12
  store i32 %14393, ptr %14394, align 4, !tbaa !5
  %14395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14396 = load i32, ptr @test_count, align 4, !tbaa !5
  %14397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14398 = load i32, ptr %14397, align 4, !tbaa !5
  %14399 = call ptr @s2n_strerror(i32 noundef %14398, ptr noundef @.str.4)
  %14400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14401 = load i32, ptr %14400, align 4, !tbaa !5
  %14402 = call ptr @s2n_strerror_debug(i32 noundef %14401, ptr noundef @.str.4)
  %14403 = call ptr @__errno_location() #12
  %14404 = load i32, ptr %14403, align 4, !tbaa !5
  %14405 = call ptr @strerror(i32 noundef %14404) #11
  %14406 = call ptr @__errno_location() #12
  %14407 = load i32, ptr %14406, align 4, !tbaa !5
  %14408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14395, ptr noundef @.str.2, i32 noundef %14396, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14399, ptr noundef %14402, ptr noundef %14405, i32 noundef %14407) #11
  br label %14426

14409:                                            ; preds = %14387, %14380
  %14410 = load i32, ptr %285, align 4, !tbaa !5
  %14411 = call ptr @__errno_location() #12
  store i32 %14410, ptr %14411, align 4, !tbaa !5
  %14412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14413 = load i32, ptr @test_count, align 4, !tbaa !5
  %14414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14415 = load i32, ptr %14414, align 4, !tbaa !5
  %14416 = call ptr @s2n_strerror(i32 noundef %14415, ptr noundef @.str.4)
  %14417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14418 = load i32, ptr %14417, align 4, !tbaa !5
  %14419 = call ptr @s2n_strerror_debug(i32 noundef %14418, ptr noundef @.str.4)
  %14420 = call ptr @__errno_location() #12
  %14421 = load i32, ptr %14420, align 4, !tbaa !5
  %14422 = call ptr @strerror(i32 noundef %14421) #11
  %14423 = call ptr @__errno_location() #12
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14412, ptr noundef @.str.5, i32 noundef %14413, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14416, ptr noundef %14419, ptr noundef %14422, i32 noundef %14424) #11
  br label %14426

14426:                                            ; preds = %14409, %14392
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %14427

14427:                                            ; preds = %14426
  br label %14428

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

14429:                                            ; No predecessors!
  br label %14430

14430:                                            ; preds = %14429
  br label %14431

14431:                                            ; preds = %14430, %14372
  br label %14432

14432:                                            ; preds = %14431
  br label %14433

14433:                                            ; preds = %14432
  br label %14434

14434:                                            ; preds = %14433
  %14435 = load i32, ptr @test_count, align 4, !tbaa !5
  %14436 = add nsw i32 %14435, 1
  store i32 %14436, ptr @test_count, align 4, !tbaa !5
  %14437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14438 = load i32, ptr %14437, align 4, !tbaa !5
  %14439 = icmp eq i32 %14438, 402653194
  br i1 %14439, label %14493, label %14440

14440:                                            ; preds = %14434
  br label %14441

14441:                                            ; preds = %14440
  br label %14442

14442:                                            ; preds = %14441
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %14443 = call ptr @__errno_location() #12
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  store i32 %14444, ptr %286, align 4, !tbaa !5
  %14445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14446 = call i32 @s2n_print_stacktrace(ptr noundef %14445)
  %14447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14448 = trunc i8 %14447 to i1
  br i1 %14448, label %14449, label %14471

14449:                                            ; preds = %14442
  %14450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14451 = call i32 @fileno(ptr noundef %14450) #11
  %14452 = call i32 @isatty(i32 noundef %14451) #11
  %14453 = icmp ne i32 %14452, 0
  br i1 %14453, label %14454, label %14471

14454:                                            ; preds = %14449
  %14455 = load i32, ptr %286, align 4, !tbaa !5
  %14456 = call ptr @__errno_location() #12
  store i32 %14455, ptr %14456, align 4, !tbaa !5
  %14457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14458 = load i32, ptr @test_count, align 4, !tbaa !5
  %14459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14460 = load i32, ptr %14459, align 4, !tbaa !5
  %14461 = call ptr @s2n_strerror(i32 noundef %14460, ptr noundef @.str.4)
  %14462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14463 = load i32, ptr %14462, align 4, !tbaa !5
  %14464 = call ptr @s2n_strerror_debug(i32 noundef %14463, ptr noundef @.str.4)
  %14465 = call ptr @__errno_location() #12
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  %14467 = call ptr @strerror(i32 noundef %14466) #11
  %14468 = call ptr @__errno_location() #12
  %14469 = load i32, ptr %14468, align 4, !tbaa !5
  %14470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14457, ptr noundef @.str.2, i32 noundef %14458, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14461, ptr noundef %14464, ptr noundef %14467, i32 noundef %14469) #11
  br label %14488

14471:                                            ; preds = %14449, %14442
  %14472 = load i32, ptr %286, align 4, !tbaa !5
  %14473 = call ptr @__errno_location() #12
  store i32 %14472, ptr %14473, align 4, !tbaa !5
  %14474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14475 = load i32, ptr @test_count, align 4, !tbaa !5
  %14476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14477 = load i32, ptr %14476, align 4, !tbaa !5
  %14478 = call ptr @s2n_strerror(i32 noundef %14477, ptr noundef @.str.4)
  %14479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14480 = load i32, ptr %14479, align 4, !tbaa !5
  %14481 = call ptr @s2n_strerror_debug(i32 noundef %14480, ptr noundef @.str.4)
  %14482 = call ptr @__errno_location() #12
  %14483 = load i32, ptr %14482, align 4, !tbaa !5
  %14484 = call ptr @strerror(i32 noundef %14483) #11
  %14485 = call ptr @__errno_location() #12
  %14486 = load i32, ptr %14485, align 4, !tbaa !5
  %14487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14474, ptr noundef @.str.5, i32 noundef %14475, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14478, ptr noundef %14481, ptr noundef %14484, i32 noundef %14486) #11
  br label %14488

14488:                                            ; preds = %14471, %14454
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %14489

14489:                                            ; preds = %14488
  br label %14490

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

14491:                                            ; No predecessors!
  br label %14492

14492:                                            ; preds = %14491
  br label %14493

14493:                                            ; preds = %14492, %14434
  br label %14494

14494:                                            ; preds = %14493
  br label %14495

14495:                                            ; preds = %14494
  br label %14496

14496:                                            ; preds = %14495
  %14497 = load i32, ptr @test_count, align 4, !tbaa !5
  %14498 = add nsw i32 %14497, 1
  store i32 %14498, ptr @test_count, align 4, !tbaa !5
  %14499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14500 = load i32, ptr %14499, align 4, !tbaa !5
  %14501 = call ptr @s2n_strerror_debug(i32 noundef %14500, ptr noundef @.str.4)
  %14502 = icmp eq ptr %14501, null
  br i1 %14502, label %14503, label %14556

14503:                                            ; preds = %14496
  br label %14504

14504:                                            ; preds = %14503
  br label %14505

14505:                                            ; preds = %14504
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %14506 = call ptr @__errno_location() #12
  %14507 = load i32, ptr %14506, align 4, !tbaa !5
  store i32 %14507, ptr %287, align 4, !tbaa !5
  %14508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14509 = call i32 @s2n_print_stacktrace(ptr noundef %14508)
  %14510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14511 = trunc i8 %14510 to i1
  br i1 %14511, label %14512, label %14534

14512:                                            ; preds = %14505
  %14513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14514 = call i32 @fileno(ptr noundef %14513) #11
  %14515 = call i32 @isatty(i32 noundef %14514) #11
  %14516 = icmp ne i32 %14515, 0
  br i1 %14516, label %14517, label %14534

14517:                                            ; preds = %14512
  %14518 = load i32, ptr %287, align 4, !tbaa !5
  %14519 = call ptr @__errno_location() #12
  store i32 %14518, ptr %14519, align 4, !tbaa !5
  %14520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14521 = load i32, ptr @test_count, align 4, !tbaa !5
  %14522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14523 = load i32, ptr %14522, align 4, !tbaa !5
  %14524 = call ptr @s2n_strerror(i32 noundef %14523, ptr noundef @.str.4)
  %14525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14526 = load i32, ptr %14525, align 4, !tbaa !5
  %14527 = call ptr @s2n_strerror_debug(i32 noundef %14526, ptr noundef @.str.4)
  %14528 = call ptr @__errno_location() #12
  %14529 = load i32, ptr %14528, align 4, !tbaa !5
  %14530 = call ptr @strerror(i32 noundef %14529) #11
  %14531 = call ptr @__errno_location() #12
  %14532 = load i32, ptr %14531, align 4, !tbaa !5
  %14533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14520, ptr noundef @.str.2, i32 noundef %14521, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14524, ptr noundef %14527, ptr noundef %14530, i32 noundef %14532) #11
  br label %14551

14534:                                            ; preds = %14512, %14505
  %14535 = load i32, ptr %287, align 4, !tbaa !5
  %14536 = call ptr @__errno_location() #12
  store i32 %14535, ptr %14536, align 4, !tbaa !5
  %14537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14538 = load i32, ptr @test_count, align 4, !tbaa !5
  %14539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14540 = load i32, ptr %14539, align 4, !tbaa !5
  %14541 = call ptr @s2n_strerror(i32 noundef %14540, ptr noundef @.str.4)
  %14542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14543 = load i32, ptr %14542, align 4, !tbaa !5
  %14544 = call ptr @s2n_strerror_debug(i32 noundef %14543, ptr noundef @.str.4)
  %14545 = call ptr @__errno_location() #12
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call ptr @strerror(i32 noundef %14546) #11
  %14548 = call ptr @__errno_location() #12
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14537, ptr noundef @.str.5, i32 noundef %14538, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 576, ptr noundef %14541, ptr noundef %14544, ptr noundef %14547, i32 noundef %14549) #11
  br label %14551

14551:                                            ; preds = %14534, %14517
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %14552

14552:                                            ; preds = %14551
  br label %14553

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

14554:                                            ; No predecessors!
  br label %14555

14555:                                            ; preds = %14554
  br label %14556

14556:                                            ; preds = %14555, %14496
  br label %14557

14557:                                            ; preds = %14556
  br label %14558

14558:                                            ; preds = %14557
  br label %14559

14559:                                            ; preds = %14558
  br label %14560

14560:                                            ; preds = %14559
  br label %14561

14561:                                            ; preds = %14560
  %14562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14562, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14563 = call ptr @__errno_location() #12
  store i32 0, ptr %14563, align 4, !tbaa !5
  br label %14564

14564:                                            ; preds = %14561
  br label %14565

14565:                                            ; preds = %14564
  br label %14566

14566:                                            ; preds = %14565
  br label %14567

14567:                                            ; preds = %14566
  br label %14568

14568:                                            ; preds = %14567
  br label %14569

14569:                                            ; preds = %14568
  br label %14570

14570:                                            ; preds = %14569
  %14571 = load i32, ptr @test_count, align 4, !tbaa !5
  %14572 = add nsw i32 %14571, 1
  store i32 %14572, ptr @test_count, align 4, !tbaa !5
  %14573 = getelementptr inbounds [33 x i8], ptr %279, i64 0, i64 0
  %14574 = load i64, ptr %280, align 8, !tbaa !28
  %14575 = trunc i64 %14574 to i32
  %14576 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %14573, i32 noundef %14575, ptr noundef null)
  %14577 = icmp eq i32 %14576, -1
  br i1 %14577, label %14631, label %14578

14578:                                            ; preds = %14570
  br label %14579

14579:                                            ; preds = %14578
  br label %14580

14580:                                            ; preds = %14579
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %14581 = call ptr @__errno_location() #12
  %14582 = load i32, ptr %14581, align 4, !tbaa !5
  store i32 %14582, ptr %288, align 4, !tbaa !5
  %14583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14584 = call i32 @s2n_print_stacktrace(ptr noundef %14583)
  %14585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14586 = trunc i8 %14585 to i1
  br i1 %14586, label %14587, label %14609

14587:                                            ; preds = %14580
  %14588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14589 = call i32 @fileno(ptr noundef %14588) #11
  %14590 = call i32 @isatty(i32 noundef %14589) #11
  %14591 = icmp ne i32 %14590, 0
  br i1 %14591, label %14592, label %14609

14592:                                            ; preds = %14587
  %14593 = load i32, ptr %288, align 4, !tbaa !5
  %14594 = call ptr @__errno_location() #12
  store i32 %14593, ptr %14594, align 4, !tbaa !5
  %14595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14596 = load i32, ptr @test_count, align 4, !tbaa !5
  %14597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14598 = load i32, ptr %14597, align 4, !tbaa !5
  %14599 = call ptr @s2n_strerror(i32 noundef %14598, ptr noundef @.str.4)
  %14600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14601 = load i32, ptr %14600, align 4, !tbaa !5
  %14602 = call ptr @s2n_strerror_debug(i32 noundef %14601, ptr noundef @.str.4)
  %14603 = call ptr @__errno_location() #12
  %14604 = load i32, ptr %14603, align 4, !tbaa !5
  %14605 = call ptr @strerror(i32 noundef %14604) #11
  %14606 = call ptr @__errno_location() #12
  %14607 = load i32, ptr %14606, align 4, !tbaa !5
  %14608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14595, ptr noundef @.str.2, i32 noundef %14596, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14599, ptr noundef %14602, ptr noundef %14605, i32 noundef %14607) #11
  br label %14626

14609:                                            ; preds = %14587, %14580
  %14610 = load i32, ptr %288, align 4, !tbaa !5
  %14611 = call ptr @__errno_location() #12
  store i32 %14610, ptr %14611, align 4, !tbaa !5
  %14612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14613 = load i32, ptr @test_count, align 4, !tbaa !5
  %14614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14615 = load i32, ptr %14614, align 4, !tbaa !5
  %14616 = call ptr @s2n_strerror(i32 noundef %14615, ptr noundef @.str.4)
  %14617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14618 = load i32, ptr %14617, align 4, !tbaa !5
  %14619 = call ptr @s2n_strerror_debug(i32 noundef %14618, ptr noundef @.str.4)
  %14620 = call ptr @__errno_location() #12
  %14621 = load i32, ptr %14620, align 4, !tbaa !5
  %14622 = call ptr @strerror(i32 noundef %14621) #11
  %14623 = call ptr @__errno_location() #12
  %14624 = load i32, ptr %14623, align 4, !tbaa !5
  %14625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14612, ptr noundef @.str.5, i32 noundef %14613, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14616, ptr noundef %14619, ptr noundef %14622, i32 noundef %14624) #11
  br label %14626

14626:                                            ; preds = %14609, %14592
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %14627

14627:                                            ; preds = %14626
  br label %14628

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

14629:                                            ; No predecessors!
  br label %14630

14630:                                            ; preds = %14629
  br label %14631

14631:                                            ; preds = %14630, %14570
  br label %14632

14632:                                            ; preds = %14631
  br label %14633

14633:                                            ; preds = %14632
  br label %14634

14634:                                            ; preds = %14633
  %14635 = load i32, ptr @test_count, align 4, !tbaa !5
  %14636 = add nsw i32 %14635, 1
  store i32 %14636, ptr @test_count, align 4, !tbaa !5
  %14637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14638 = load i32, ptr %14637, align 4, !tbaa !5
  %14639 = icmp eq i32 %14638, 402653193
  br i1 %14639, label %14693, label %14640

14640:                                            ; preds = %14634
  br label %14641

14641:                                            ; preds = %14640
  br label %14642

14642:                                            ; preds = %14641
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %14643 = call ptr @__errno_location() #12
  %14644 = load i32, ptr %14643, align 4, !tbaa !5
  store i32 %14644, ptr %289, align 4, !tbaa !5
  %14645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14646 = call i32 @s2n_print_stacktrace(ptr noundef %14645)
  %14647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14648 = trunc i8 %14647 to i1
  br i1 %14648, label %14649, label %14671

14649:                                            ; preds = %14642
  %14650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14651 = call i32 @fileno(ptr noundef %14650) #11
  %14652 = call i32 @isatty(i32 noundef %14651) #11
  %14653 = icmp ne i32 %14652, 0
  br i1 %14653, label %14654, label %14671

14654:                                            ; preds = %14649
  %14655 = load i32, ptr %289, align 4, !tbaa !5
  %14656 = call ptr @__errno_location() #12
  store i32 %14655, ptr %14656, align 4, !tbaa !5
  %14657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14658 = load i32, ptr @test_count, align 4, !tbaa !5
  %14659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14660 = load i32, ptr %14659, align 4, !tbaa !5
  %14661 = call ptr @s2n_strerror(i32 noundef %14660, ptr noundef @.str.4)
  %14662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14663 = load i32, ptr %14662, align 4, !tbaa !5
  %14664 = call ptr @s2n_strerror_debug(i32 noundef %14663, ptr noundef @.str.4)
  %14665 = call ptr @__errno_location() #12
  %14666 = load i32, ptr %14665, align 4, !tbaa !5
  %14667 = call ptr @strerror(i32 noundef %14666) #11
  %14668 = call ptr @__errno_location() #12
  %14669 = load i32, ptr %14668, align 4, !tbaa !5
  %14670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14657, ptr noundef @.str.2, i32 noundef %14658, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14661, ptr noundef %14664, ptr noundef %14667, i32 noundef %14669) #11
  br label %14688

14671:                                            ; preds = %14649, %14642
  %14672 = load i32, ptr %289, align 4, !tbaa !5
  %14673 = call ptr @__errno_location() #12
  store i32 %14672, ptr %14673, align 4, !tbaa !5
  %14674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14675 = load i32, ptr @test_count, align 4, !tbaa !5
  %14676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call ptr @s2n_strerror(i32 noundef %14677, ptr noundef @.str.4)
  %14679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14680 = load i32, ptr %14679, align 4, !tbaa !5
  %14681 = call ptr @s2n_strerror_debug(i32 noundef %14680, ptr noundef @.str.4)
  %14682 = call ptr @__errno_location() #12
  %14683 = load i32, ptr %14682, align 4, !tbaa !5
  %14684 = call ptr @strerror(i32 noundef %14683) #11
  %14685 = call ptr @__errno_location() #12
  %14686 = load i32, ptr %14685, align 4, !tbaa !5
  %14687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14674, ptr noundef @.str.5, i32 noundef %14675, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14678, ptr noundef %14681, ptr noundef %14684, i32 noundef %14686) #11
  br label %14688

14688:                                            ; preds = %14671, %14654
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %14689

14689:                                            ; preds = %14688
  br label %14690

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

14691:                                            ; No predecessors!
  br label %14692

14692:                                            ; preds = %14691
  br label %14693

14693:                                            ; preds = %14692, %14634
  br label %14694

14694:                                            ; preds = %14693
  br label %14695

14695:                                            ; preds = %14694
  br label %14696

14696:                                            ; preds = %14695
  %14697 = load i32, ptr @test_count, align 4, !tbaa !5
  %14698 = add nsw i32 %14697, 1
  store i32 %14698, ptr @test_count, align 4, !tbaa !5
  %14699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14700 = load i32, ptr %14699, align 4, !tbaa !5
  %14701 = call ptr @s2n_strerror_debug(i32 noundef %14700, ptr noundef @.str.4)
  %14702 = icmp eq ptr %14701, null
  br i1 %14702, label %14703, label %14756

14703:                                            ; preds = %14696
  br label %14704

14704:                                            ; preds = %14703
  br label %14705

14705:                                            ; preds = %14704
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %14706 = call ptr @__errno_location() #12
  %14707 = load i32, ptr %14706, align 4, !tbaa !5
  store i32 %14707, ptr %290, align 4, !tbaa !5
  %14708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14709 = call i32 @s2n_print_stacktrace(ptr noundef %14708)
  %14710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14711 = trunc i8 %14710 to i1
  br i1 %14711, label %14712, label %14734

14712:                                            ; preds = %14705
  %14713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14714 = call i32 @fileno(ptr noundef %14713) #11
  %14715 = call i32 @isatty(i32 noundef %14714) #11
  %14716 = icmp ne i32 %14715, 0
  br i1 %14716, label %14717, label %14734

14717:                                            ; preds = %14712
  %14718 = load i32, ptr %290, align 4, !tbaa !5
  %14719 = call ptr @__errno_location() #12
  store i32 %14718, ptr %14719, align 4, !tbaa !5
  %14720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14721 = load i32, ptr @test_count, align 4, !tbaa !5
  %14722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14723 = load i32, ptr %14722, align 4, !tbaa !5
  %14724 = call ptr @s2n_strerror(i32 noundef %14723, ptr noundef @.str.4)
  %14725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14726 = load i32, ptr %14725, align 4, !tbaa !5
  %14727 = call ptr @s2n_strerror_debug(i32 noundef %14726, ptr noundef @.str.4)
  %14728 = call ptr @__errno_location() #12
  %14729 = load i32, ptr %14728, align 4, !tbaa !5
  %14730 = call ptr @strerror(i32 noundef %14729) #11
  %14731 = call ptr @__errno_location() #12
  %14732 = load i32, ptr %14731, align 4, !tbaa !5
  %14733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14720, ptr noundef @.str.2, i32 noundef %14721, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14724, ptr noundef %14727, ptr noundef %14730, i32 noundef %14732) #11
  br label %14751

14734:                                            ; preds = %14712, %14705
  %14735 = load i32, ptr %290, align 4, !tbaa !5
  %14736 = call ptr @__errno_location() #12
  store i32 %14735, ptr %14736, align 4, !tbaa !5
  %14737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14738 = load i32, ptr @test_count, align 4, !tbaa !5
  %14739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14740 = load i32, ptr %14739, align 4, !tbaa !5
  %14741 = call ptr @s2n_strerror(i32 noundef %14740, ptr noundef @.str.4)
  %14742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14743 = load i32, ptr %14742, align 4, !tbaa !5
  %14744 = call ptr @s2n_strerror_debug(i32 noundef %14743, ptr noundef @.str.4)
  %14745 = call ptr @__errno_location() #12
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call ptr @strerror(i32 noundef %14746) #11
  %14748 = call ptr @__errno_location() #12
  %14749 = load i32, ptr %14748, align 4, !tbaa !5
  %14750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14737, ptr noundef @.str.5, i32 noundef %14738, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 577, ptr noundef %14741, ptr noundef %14744, ptr noundef %14747, i32 noundef %14749) #11
  br label %14751

14751:                                            ; preds = %14734, %14717
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %14752

14752:                                            ; preds = %14751
  br label %14753

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

14754:                                            ; No predecessors!
  br label %14755

14755:                                            ; preds = %14754
  br label %14756

14756:                                            ; preds = %14755, %14696
  br label %14757

14757:                                            ; preds = %14756
  br label %14758

14758:                                            ; preds = %14757
  br label %14759

14759:                                            ; preds = %14758
  br label %14760

14760:                                            ; preds = %14759
  br label %14761

14761:                                            ; preds = %14760
  %14762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14762, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14763 = call ptr @__errno_location() #12
  store i32 0, ptr %14763, align 4, !tbaa !5
  br label %14764

14764:                                            ; preds = %14761
  br label %14765

14765:                                            ; preds = %14764
  br label %14766

14766:                                            ; preds = %14765
  br label %14767

14767:                                            ; preds = %14766
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %280) #11
  call void @llvm.lifetime.end.p0(i64 33, ptr %279) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  br label %14768

14768:                                            ; preds = %15131, %14767
  %14769 = load i64, ptr %208, align 8, !tbaa !28
  %14770 = icmp ult i64 %14769, 7
  br i1 %14770, label %14771, label %15134

14771:                                            ; preds = %14768
  %14772 = load i64, ptr %208, align 8, !tbaa !28
  %14773 = icmp ugt i64 %14772, 3
  br i1 %14773, label %14774, label %14919

14774:                                            ; preds = %14771
  br label %14775

14775:                                            ; preds = %14774
  %14776 = load i32, ptr @test_count, align 4, !tbaa !5
  %14777 = add nsw i32 %14776, 1
  store i32 %14777, ptr @test_count, align 4, !tbaa !5
  %14778 = load i64, ptr %208, align 8, !tbaa !28
  %14779 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14778
  %14780 = getelementptr inbounds %struct.anon, ptr %14779, i32 0, i32 5
  %14781 = getelementptr inbounds %struct.s2n_blob, ptr %14780, i32 0, i32 0
  %14782 = load ptr, ptr %14781, align 8, !tbaa !74
  %14783 = load i64, ptr %208, align 8, !tbaa !28
  %14784 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14783
  %14785 = getelementptr inbounds %struct.anon, ptr %14784, i32 0, i32 5
  %14786 = getelementptr inbounds %struct.s2n_blob, ptr %14785, i32 0, i32 1
  %14787 = load i32, ptr %14786, align 8, !tbaa !77
  %14788 = load i64, ptr %208, align 8, !tbaa !28
  %14789 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14788
  %14790 = getelementptr inbounds %struct.anon, ptr %14789, i32 0, i32 3
  %14791 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %14782, i32 noundef %14787, ptr noundef %14790)
  %14792 = icmp eq i32 %14791, -1
  br i1 %14792, label %14793, label %14846

14793:                                            ; preds = %14775
  br label %14794

14794:                                            ; preds = %14793
  br label %14795

14795:                                            ; preds = %14794
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %14796 = call ptr @__errno_location() #12
  %14797 = load i32, ptr %14796, align 4, !tbaa !5
  store i32 %14797, ptr %291, align 4, !tbaa !5
  %14798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14799 = call i32 @s2n_print_stacktrace(ptr noundef %14798)
  %14800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14801 = trunc i8 %14800 to i1
  br i1 %14801, label %14802, label %14824

14802:                                            ; preds = %14795
  %14803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14804 = call i32 @fileno(ptr noundef %14803) #11
  %14805 = call i32 @isatty(i32 noundef %14804) #11
  %14806 = icmp ne i32 %14805, 0
  br i1 %14806, label %14807, label %14824

14807:                                            ; preds = %14802
  %14808 = load i32, ptr %291, align 4, !tbaa !5
  %14809 = call ptr @__errno_location() #12
  store i32 %14808, ptr %14809, align 4, !tbaa !5
  %14810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14811 = load i32, ptr @test_count, align 4, !tbaa !5
  %14812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14813 = load i32, ptr %14812, align 4, !tbaa !5
  %14814 = call ptr @s2n_strerror(i32 noundef %14813, ptr noundef @.str.4)
  %14815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call ptr @s2n_strerror_debug(i32 noundef %14816, ptr noundef @.str.4)
  %14818 = call ptr @__errno_location() #12
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call ptr @strerror(i32 noundef %14819) #11
  %14821 = call ptr @__errno_location() #12
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  %14823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14810, ptr noundef @.str.2, i32 noundef %14811, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 585, ptr noundef %14814, ptr noundef %14817, ptr noundef %14820, i32 noundef %14822) #11
  br label %14841

14824:                                            ; preds = %14802, %14795
  %14825 = load i32, ptr %291, align 4, !tbaa !5
  %14826 = call ptr @__errno_location() #12
  store i32 %14825, ptr %14826, align 4, !tbaa !5
  %14827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14828 = load i32, ptr @test_count, align 4, !tbaa !5
  %14829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14830 = load i32, ptr %14829, align 4, !tbaa !5
  %14831 = call ptr @s2n_strerror(i32 noundef %14830, ptr noundef @.str.4)
  %14832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14833 = load i32, ptr %14832, align 4, !tbaa !5
  %14834 = call ptr @s2n_strerror_debug(i32 noundef %14833, ptr noundef @.str.4)
  %14835 = call ptr @__errno_location() #12
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  %14837 = call ptr @strerror(i32 noundef %14836) #11
  %14838 = call ptr @__errno_location() #12
  %14839 = load i32, ptr %14838, align 4, !tbaa !5
  %14840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14827, ptr noundef @.str.5, i32 noundef %14828, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 585, ptr noundef %14831, ptr noundef %14834, ptr noundef %14837, i32 noundef %14839) #11
  br label %14841

14841:                                            ; preds = %14824, %14807
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %14842

14842:                                            ; preds = %14841
  br label %14843

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

14844:                                            ; No predecessors!
  br label %14845

14845:                                            ; preds = %14844
  br label %14846

14846:                                            ; preds = %14845, %14775
  br label %14847

14847:                                            ; preds = %14846
  br label %14848

14848:                                            ; preds = %14847
  br label %14849

14849:                                            ; preds = %14848
  %14850 = load i32, ptr @test_count, align 4, !tbaa !5
  %14851 = add nsw i32 %14850, 1
  store i32 %14851, ptr @test_count, align 4, !tbaa !5
  %14852 = load i64, ptr %208, align 8, !tbaa !28
  %14853 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14852
  %14854 = getelementptr inbounds %struct.anon, ptr %14853, i32 0, i32 3
  %14855 = load i32, ptr %14854, align 8, !tbaa !67
  %14856 = zext i32 %14855 to i64
  %14857 = load i64, ptr %208, align 8, !tbaa !28
  %14858 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14857
  %14859 = getelementptr inbounds %struct.anon, ptr %14858, i32 0, i32 2
  %14860 = load ptr, ptr %14859, align 8, !tbaa !66
  %14861 = call i64 @strlen(ptr noundef %14860) #14
  %14862 = icmp eq i64 %14856, %14861
  br i1 %14862, label %14916, label %14863

14863:                                            ; preds = %14849
  br label %14864

14864:                                            ; preds = %14863
  br label %14865

14865:                                            ; preds = %14864
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %14866 = call ptr @__errno_location() #12
  %14867 = load i32, ptr %14866, align 4, !tbaa !5
  store i32 %14867, ptr %292, align 4, !tbaa !5
  %14868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14869 = call i32 @s2n_print_stacktrace(ptr noundef %14868)
  %14870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14871 = trunc i8 %14870 to i1
  br i1 %14871, label %14872, label %14894

14872:                                            ; preds = %14865
  %14873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14874 = call i32 @fileno(ptr noundef %14873) #11
  %14875 = call i32 @isatty(i32 noundef %14874) #11
  %14876 = icmp ne i32 %14875, 0
  br i1 %14876, label %14877, label %14894

14877:                                            ; preds = %14872
  %14878 = load i32, ptr %292, align 4, !tbaa !5
  %14879 = call ptr @__errno_location() #12
  store i32 %14878, ptr %14879, align 4, !tbaa !5
  %14880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14881 = load i32, ptr @test_count, align 4, !tbaa !5
  %14882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14883 = load i32, ptr %14882, align 4, !tbaa !5
  %14884 = call ptr @s2n_strerror(i32 noundef %14883, ptr noundef @.str.4)
  %14885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14886 = load i32, ptr %14885, align 4, !tbaa !5
  %14887 = call ptr @s2n_strerror_debug(i32 noundef %14886, ptr noundef @.str.4)
  %14888 = call ptr @__errno_location() #12
  %14889 = load i32, ptr %14888, align 4, !tbaa !5
  %14890 = call ptr @strerror(i32 noundef %14889) #11
  %14891 = call ptr @__errno_location() #12
  %14892 = load i32, ptr %14891, align 4, !tbaa !5
  %14893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14880, ptr noundef @.str.2, i32 noundef %14881, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 586, ptr noundef %14884, ptr noundef %14887, ptr noundef %14890, i32 noundef %14892) #11
  br label %14911

14894:                                            ; preds = %14872, %14865
  %14895 = load i32, ptr %292, align 4, !tbaa !5
  %14896 = call ptr @__errno_location() #12
  store i32 %14895, ptr %14896, align 4, !tbaa !5
  %14897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14898 = load i32, ptr @test_count, align 4, !tbaa !5
  %14899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14900 = load i32, ptr %14899, align 4, !tbaa !5
  %14901 = call ptr @s2n_strerror(i32 noundef %14900, ptr noundef @.str.4)
  %14902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14903 = load i32, ptr %14902, align 4, !tbaa !5
  %14904 = call ptr @s2n_strerror_debug(i32 noundef %14903, ptr noundef @.str.4)
  %14905 = call ptr @__errno_location() #12
  %14906 = load i32, ptr %14905, align 4, !tbaa !5
  %14907 = call ptr @strerror(i32 noundef %14906) #11
  %14908 = call ptr @__errno_location() #12
  %14909 = load i32, ptr %14908, align 4, !tbaa !5
  %14910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14897, ptr noundef @.str.5, i32 noundef %14898, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 586, ptr noundef %14901, ptr noundef %14904, ptr noundef %14907, i32 noundef %14909) #11
  br label %14911

14911:                                            ; preds = %14894, %14877
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %14912

14912:                                            ; preds = %14911
  br label %14913

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

14914:                                            ; No predecessors!
  br label %14915

14915:                                            ; preds = %14914
  br label %14916

14916:                                            ; preds = %14915, %14849
  br label %14917

14917:                                            ; preds = %14916
  br label %14918

14918:                                            ; preds = %14917
  br label %15130

14919:                                            ; preds = %14771
  br label %14920

14920:                                            ; preds = %14919
  br label %14921

14921:                                            ; preds = %14920
  br label %14922

14922:                                            ; preds = %14921
  %14923 = load i32, ptr @test_count, align 4, !tbaa !5
  %14924 = add nsw i32 %14923, 1
  store i32 %14924, ptr @test_count, align 4, !tbaa !5
  %14925 = load i64, ptr %208, align 8, !tbaa !28
  %14926 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14925
  %14927 = getelementptr inbounds %struct.anon, ptr %14926, i32 0, i32 5
  %14928 = getelementptr inbounds %struct.s2n_blob, ptr %14927, i32 0, i32 0
  %14929 = load ptr, ptr %14928, align 8, !tbaa !74
  %14930 = load i64, ptr %208, align 8, !tbaa !28
  %14931 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14930
  %14932 = getelementptr inbounds %struct.anon, ptr %14931, i32 0, i32 5
  %14933 = getelementptr inbounds %struct.s2n_blob, ptr %14932, i32 0, i32 1
  %14934 = load i32, ptr %14933, align 8, !tbaa !77
  %14935 = load i64, ptr %208, align 8, !tbaa !28
  %14936 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %14935
  %14937 = getelementptr inbounds %struct.anon, ptr %14936, i32 0, i32 3
  %14938 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %14929, i32 noundef %14934, ptr noundef %14937)
  %14939 = icmp eq i32 %14938, -1
  br i1 %14939, label %14993, label %14940

14940:                                            ; preds = %14922
  br label %14941

14941:                                            ; preds = %14940
  br label %14942

14942:                                            ; preds = %14941
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %14943 = call ptr @__errno_location() #12
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  store i32 %14944, ptr %293, align 4, !tbaa !5
  %14945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14946 = call i32 @s2n_print_stacktrace(ptr noundef %14945)
  %14947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14948 = trunc i8 %14947 to i1
  br i1 %14948, label %14949, label %14971

14949:                                            ; preds = %14942
  %14950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14951 = call i32 @fileno(ptr noundef %14950) #11
  %14952 = call i32 @isatty(i32 noundef %14951) #11
  %14953 = icmp ne i32 %14952, 0
  br i1 %14953, label %14954, label %14971

14954:                                            ; preds = %14949
  %14955 = load i32, ptr %293, align 4, !tbaa !5
  %14956 = call ptr @__errno_location() #12
  store i32 %14955, ptr %14956, align 4, !tbaa !5
  %14957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14958 = load i32, ptr @test_count, align 4, !tbaa !5
  %14959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14960 = load i32, ptr %14959, align 4, !tbaa !5
  %14961 = call ptr @s2n_strerror(i32 noundef %14960, ptr noundef @.str.4)
  %14962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14963 = load i32, ptr %14962, align 4, !tbaa !5
  %14964 = call ptr @s2n_strerror_debug(i32 noundef %14963, ptr noundef @.str.4)
  %14965 = call ptr @__errno_location() #12
  %14966 = load i32, ptr %14965, align 4, !tbaa !5
  %14967 = call ptr @strerror(i32 noundef %14966) #11
  %14968 = call ptr @__errno_location() #12
  %14969 = load i32, ptr %14968, align 4, !tbaa !5
  %14970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14957, ptr noundef @.str.2, i32 noundef %14958, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 592, ptr noundef %14961, ptr noundef %14964, ptr noundef %14967, i32 noundef %14969) #11
  br label %14988

14971:                                            ; preds = %14949, %14942
  %14972 = load i32, ptr %293, align 4, !tbaa !5
  %14973 = call ptr @__errno_location() #12
  store i32 %14972, ptr %14973, align 4, !tbaa !5
  %14974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14975 = load i32, ptr @test_count, align 4, !tbaa !5
  %14976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14977 = load i32, ptr %14976, align 4, !tbaa !5
  %14978 = call ptr @s2n_strerror(i32 noundef %14977, ptr noundef @.str.4)
  %14979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14980 = load i32, ptr %14979, align 4, !tbaa !5
  %14981 = call ptr @s2n_strerror_debug(i32 noundef %14980, ptr noundef @.str.4)
  %14982 = call ptr @__errno_location() #12
  %14983 = load i32, ptr %14982, align 4, !tbaa !5
  %14984 = call ptr @strerror(i32 noundef %14983) #11
  %14985 = call ptr @__errno_location() #12
  %14986 = load i32, ptr %14985, align 4, !tbaa !5
  %14987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14974, ptr noundef @.str.5, i32 noundef %14975, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 592, ptr noundef %14978, ptr noundef %14981, ptr noundef %14984, i32 noundef %14986) #11
  br label %14988

14988:                                            ; preds = %14971, %14954
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %14989

14989:                                            ; preds = %14988
  br label %14990

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

14991:                                            ; No predecessors!
  br label %14992

14992:                                            ; preds = %14991
  br label %14993

14993:                                            ; preds = %14992, %14922
  br label %14994

14994:                                            ; preds = %14993
  br label %14995

14995:                                            ; preds = %14994
  br label %14996

14996:                                            ; preds = %14995
  %14997 = load i32, ptr @test_count, align 4, !tbaa !5
  %14998 = add nsw i32 %14997, 1
  store i32 %14998, ptr @test_count, align 4, !tbaa !5
  %14999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15000 = load i32, ptr %14999, align 4, !tbaa !5
  %15001 = icmp eq i32 %15000, 469762119
  br i1 %15001, label %15055, label %15002

15002:                                            ; preds = %14996
  br label %15003

15003:                                            ; preds = %15002
  br label %15004

15004:                                            ; preds = %15003
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %15005 = call ptr @__errno_location() #12
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  store i32 %15006, ptr %294, align 4, !tbaa !5
  %15007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15008 = call i32 @s2n_print_stacktrace(ptr noundef %15007)
  %15009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15010 = trunc i8 %15009 to i1
  br i1 %15010, label %15011, label %15033

15011:                                            ; preds = %15004
  %15012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15013 = call i32 @fileno(ptr noundef %15012) #11
  %15014 = call i32 @isatty(i32 noundef %15013) #11
  %15015 = icmp ne i32 %15014, 0
  br i1 %15015, label %15016, label %15033

15016:                                            ; preds = %15011
  %15017 = load i32, ptr %294, align 4, !tbaa !5
  %15018 = call ptr @__errno_location() #12
  store i32 %15017, ptr %15018, align 4, !tbaa !5
  %15019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15020 = load i32, ptr @test_count, align 4, !tbaa !5
  %15021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15022 = load i32, ptr %15021, align 4, !tbaa !5
  %15023 = call ptr @s2n_strerror(i32 noundef %15022, ptr noundef @.str.4)
  %15024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15025 = load i32, ptr %15024, align 4, !tbaa !5
  %15026 = call ptr @s2n_strerror_debug(i32 noundef %15025, ptr noundef @.str.4)
  %15027 = call ptr @__errno_location() #12
  %15028 = load i32, ptr %15027, align 4, !tbaa !5
  %15029 = call ptr @strerror(i32 noundef %15028) #11
  %15030 = call ptr @__errno_location() #12
  %15031 = load i32, ptr %15030, align 4, !tbaa !5
  %15032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15019, ptr noundef @.str.2, i32 noundef %15020, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15023, ptr noundef %15026, ptr noundef %15029, i32 noundef %15031) #11
  br label %15050

15033:                                            ; preds = %15011, %15004
  %15034 = load i32, ptr %294, align 4, !tbaa !5
  %15035 = call ptr @__errno_location() #12
  store i32 %15034, ptr %15035, align 4, !tbaa !5
  %15036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15037 = load i32, ptr @test_count, align 4, !tbaa !5
  %15038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15039 = load i32, ptr %15038, align 4, !tbaa !5
  %15040 = call ptr @s2n_strerror(i32 noundef %15039, ptr noundef @.str.4)
  %15041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15042 = load i32, ptr %15041, align 4, !tbaa !5
  %15043 = call ptr @s2n_strerror_debug(i32 noundef %15042, ptr noundef @.str.4)
  %15044 = call ptr @__errno_location() #12
  %15045 = load i32, ptr %15044, align 4, !tbaa !5
  %15046 = call ptr @strerror(i32 noundef %15045) #11
  %15047 = call ptr @__errno_location() #12
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  %15049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15036, ptr noundef @.str.5, i32 noundef %15037, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15040, ptr noundef %15043, ptr noundef %15046, i32 noundef %15048) #11
  br label %15050

15050:                                            ; preds = %15033, %15016
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %15051

15051:                                            ; preds = %15050
  br label %15052

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

15053:                                            ; No predecessors!
  br label %15054

15054:                                            ; preds = %15053
  br label %15055

15055:                                            ; preds = %15054, %14996
  br label %15056

15056:                                            ; preds = %15055
  br label %15057

15057:                                            ; preds = %15056
  br label %15058

15058:                                            ; preds = %15057
  %15059 = load i32, ptr @test_count, align 4, !tbaa !5
  %15060 = add nsw i32 %15059, 1
  store i32 %15060, ptr @test_count, align 4, !tbaa !5
  %15061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call ptr @s2n_strerror_debug(i32 noundef %15062, ptr noundef @.str.4)
  %15064 = icmp eq ptr %15063, null
  br i1 %15064, label %15065, label %15118

15065:                                            ; preds = %15058
  br label %15066

15066:                                            ; preds = %15065
  br label %15067

15067:                                            ; preds = %15066
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %15068 = call ptr @__errno_location() #12
  %15069 = load i32, ptr %15068, align 4, !tbaa !5
  store i32 %15069, ptr %295, align 4, !tbaa !5
  %15070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15071 = call i32 @s2n_print_stacktrace(ptr noundef %15070)
  %15072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15073 = trunc i8 %15072 to i1
  br i1 %15073, label %15074, label %15096

15074:                                            ; preds = %15067
  %15075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15076 = call i32 @fileno(ptr noundef %15075) #11
  %15077 = call i32 @isatty(i32 noundef %15076) #11
  %15078 = icmp ne i32 %15077, 0
  br i1 %15078, label %15079, label %15096

15079:                                            ; preds = %15074
  %15080 = load i32, ptr %295, align 4, !tbaa !5
  %15081 = call ptr @__errno_location() #12
  store i32 %15080, ptr %15081, align 4, !tbaa !5
  %15082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15083 = load i32, ptr @test_count, align 4, !tbaa !5
  %15084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15085 = load i32, ptr %15084, align 4, !tbaa !5
  %15086 = call ptr @s2n_strerror(i32 noundef %15085, ptr noundef @.str.4)
  %15087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15088 = load i32, ptr %15087, align 4, !tbaa !5
  %15089 = call ptr @s2n_strerror_debug(i32 noundef %15088, ptr noundef @.str.4)
  %15090 = call ptr @__errno_location() #12
  %15091 = load i32, ptr %15090, align 4, !tbaa !5
  %15092 = call ptr @strerror(i32 noundef %15091) #11
  %15093 = call ptr @__errno_location() #12
  %15094 = load i32, ptr %15093, align 4, !tbaa !5
  %15095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15082, ptr noundef @.str.2, i32 noundef %15083, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15086, ptr noundef %15089, ptr noundef %15092, i32 noundef %15094) #11
  br label %15113

15096:                                            ; preds = %15074, %15067
  %15097 = load i32, ptr %295, align 4, !tbaa !5
  %15098 = call ptr @__errno_location() #12
  store i32 %15097, ptr %15098, align 4, !tbaa !5
  %15099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15100 = load i32, ptr @test_count, align 4, !tbaa !5
  %15101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15102 = load i32, ptr %15101, align 4, !tbaa !5
  %15103 = call ptr @s2n_strerror(i32 noundef %15102, ptr noundef @.str.4)
  %15104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15105 = load i32, ptr %15104, align 4, !tbaa !5
  %15106 = call ptr @s2n_strerror_debug(i32 noundef %15105, ptr noundef @.str.4)
  %15107 = call ptr @__errno_location() #12
  %15108 = load i32, ptr %15107, align 4, !tbaa !5
  %15109 = call ptr @strerror(i32 noundef %15108) #11
  %15110 = call ptr @__errno_location() #12
  %15111 = load i32, ptr %15110, align 4, !tbaa !5
  %15112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15099, ptr noundef @.str.5, i32 noundef %15100, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15103, ptr noundef %15106, ptr noundef %15109, i32 noundef %15111) #11
  br label %15113

15113:                                            ; preds = %15096, %15079
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %15114

15114:                                            ; preds = %15113
  br label %15115

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

15116:                                            ; No predecessors!
  br label %15117

15117:                                            ; preds = %15116
  br label %15118

15118:                                            ; preds = %15117, %15058
  br label %15119

15119:                                            ; preds = %15118
  br label %15120

15120:                                            ; preds = %15119
  br label %15121

15121:                                            ; preds = %15120
  br label %15122

15122:                                            ; preds = %15121
  br label %15123

15123:                                            ; preds = %15122
  %15124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15124, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15125 = call ptr @__errno_location() #12
  store i32 0, ptr %15125, align 4, !tbaa !5
  br label %15126

15126:                                            ; preds = %15123
  br label %15127

15127:                                            ; preds = %15126
  br label %15128

15128:                                            ; preds = %15127
  br label %15129

15129:                                            ; preds = %15128
  br label %15130

15130:                                            ; preds = %15129, %14918
  br label %15131

15131:                                            ; preds = %15130
  %15132 = load i64, ptr %208, align 8, !tbaa !28
  %15133 = add i64 %15132, 1
  store i64 %15133, ptr %208, align 8, !tbaa !28
  br label %14768, !llvm.loop !78

15134:                                            ; preds = %14768
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #11
  store i64 4, ptr %296, align 8, !tbaa !28
  br label %15135

15135:                                            ; preds = %15134
  %15136 = load i32, ptr @test_count, align 4, !tbaa !5
  %15137 = add nsw i32 %15136, 1
  store i32 %15137, ptr @test_count, align 4, !tbaa !5
  %15138 = load i64, ptr %296, align 8, !tbaa !28
  %15139 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %15138
  %15140 = getelementptr inbounds %struct.anon, ptr %15139, i32 0, i32 5
  %15141 = getelementptr inbounds %struct.s2n_blob, ptr %15140, i32 0, i32 1
  %15142 = load i32, ptr %15141, align 8, !tbaa !77
  %15143 = sub i32 %15142, 3
  %15144 = call i32 @s2n_alloc(ptr noundef %206, i32 noundef %15143)
  %15145 = icmp eq i32 %15144, -1
  br i1 %15145, label %15146, label %15199

15146:                                            ; preds = %15135
  br label %15147

15147:                                            ; preds = %15146
  br label %15148

15148:                                            ; preds = %15147
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %15149 = call ptr @__errno_location() #12
  %15150 = load i32, ptr %15149, align 4, !tbaa !5
  store i32 %15150, ptr %297, align 4, !tbaa !5
  %15151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15152 = call i32 @s2n_print_stacktrace(ptr noundef %15151)
  %15153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15154 = trunc i8 %15153 to i1
  br i1 %15154, label %15155, label %15177

15155:                                            ; preds = %15148
  %15156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15157 = call i32 @fileno(ptr noundef %15156) #11
  %15158 = call i32 @isatty(i32 noundef %15157) #11
  %15159 = icmp ne i32 %15158, 0
  br i1 %15159, label %15160, label %15177

15160:                                            ; preds = %15155
  %15161 = load i32, ptr %297, align 4, !tbaa !5
  %15162 = call ptr @__errno_location() #12
  store i32 %15161, ptr %15162, align 4, !tbaa !5
  %15163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15164 = load i32, ptr @test_count, align 4, !tbaa !5
  %15165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15166 = load i32, ptr %15165, align 4, !tbaa !5
  %15167 = call ptr @s2n_strerror(i32 noundef %15166, ptr noundef @.str.4)
  %15168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  %15170 = call ptr @s2n_strerror_debug(i32 noundef %15169, ptr noundef @.str.4)
  %15171 = call ptr @__errno_location() #12
  %15172 = load i32, ptr %15171, align 4, !tbaa !5
  %15173 = call ptr @strerror(i32 noundef %15172) #11
  %15174 = call ptr @__errno_location() #12
  %15175 = load i32, ptr %15174, align 4, !tbaa !5
  %15176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15163, ptr noundef @.str.2, i32 noundef %15164, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 599, ptr noundef %15167, ptr noundef %15170, ptr noundef %15173, i32 noundef %15175) #11
  br label %15194

15177:                                            ; preds = %15155, %15148
  %15178 = load i32, ptr %297, align 4, !tbaa !5
  %15179 = call ptr @__errno_location() #12
  store i32 %15178, ptr %15179, align 4, !tbaa !5
  %15180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15181 = load i32, ptr @test_count, align 4, !tbaa !5
  %15182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call ptr @s2n_strerror(i32 noundef %15183, ptr noundef @.str.4)
  %15185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15186 = load i32, ptr %15185, align 4, !tbaa !5
  %15187 = call ptr @s2n_strerror_debug(i32 noundef %15186, ptr noundef @.str.4)
  %15188 = call ptr @__errno_location() #12
  %15189 = load i32, ptr %15188, align 4, !tbaa !5
  %15190 = call ptr @strerror(i32 noundef %15189) #11
  %15191 = call ptr @__errno_location() #12
  %15192 = load i32, ptr %15191, align 4, !tbaa !5
  %15193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15180, ptr noundef @.str.5, i32 noundef %15181, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 599, ptr noundef %15184, ptr noundef %15187, ptr noundef %15190, i32 noundef %15192) #11
  br label %15194

15194:                                            ; preds = %15177, %15160
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %15195

15195:                                            ; preds = %15194
  br label %15196

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

15197:                                            ; No predecessors!
  br label %15198

15198:                                            ; preds = %15197
  br label %15199

15199:                                            ; preds = %15198, %15135
  br label %15200

15200:                                            ; preds = %15199
  br label %15201

15201:                                            ; preds = %15200
  br label %15202

15202:                                            ; preds = %15201
  br label %15203

15203:                                            ; preds = %15202
  br label %15204

15204:                                            ; preds = %15203
  %15205 = load i32, ptr @test_count, align 4, !tbaa !5
  %15206 = add nsw i32 %15205, 1
  store i32 %15206, ptr @test_count, align 4, !tbaa !5
  %15207 = load i64, ptr %296, align 8, !tbaa !28
  %15208 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %15207
  %15209 = getelementptr inbounds %struct.anon, ptr %15208, i32 0, i32 5
  %15210 = getelementptr inbounds %struct.s2n_blob, ptr %15209, i32 0, i32 0
  %15211 = load ptr, ptr %15210, align 8, !tbaa !74
  %15212 = load i64, ptr %296, align 8, !tbaa !28
  %15213 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %15212
  %15214 = getelementptr inbounds %struct.anon, ptr %15213, i32 0, i32 5
  %15215 = getelementptr inbounds %struct.s2n_blob, ptr %15214, i32 0, i32 1
  %15216 = load i32, ptr %15215, align 8, !tbaa !77
  %15217 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 0
  %15218 = load ptr, ptr %15217, align 8, !tbaa !73
  %15219 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 1
  %15220 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %15211, i32 noundef %15216, ptr noundef %15218, ptr noundef %15219)
  %15221 = icmp eq i32 %15220, -1
  br i1 %15221, label %15275, label %15222

15222:                                            ; preds = %15204
  br label %15223

15223:                                            ; preds = %15222
  br label %15224

15224:                                            ; preds = %15223
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %15225 = call ptr @__errno_location() #12
  %15226 = load i32, ptr %15225, align 4, !tbaa !5
  store i32 %15226, ptr %298, align 4, !tbaa !5
  %15227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15228 = call i32 @s2n_print_stacktrace(ptr noundef %15227)
  %15229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15230 = trunc i8 %15229 to i1
  br i1 %15230, label %15231, label %15253

15231:                                            ; preds = %15224
  %15232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15233 = call i32 @fileno(ptr noundef %15232) #11
  %15234 = call i32 @isatty(i32 noundef %15233) #11
  %15235 = icmp ne i32 %15234, 0
  br i1 %15235, label %15236, label %15253

15236:                                            ; preds = %15231
  %15237 = load i32, ptr %298, align 4, !tbaa !5
  %15238 = call ptr @__errno_location() #12
  store i32 %15237, ptr %15238, align 4, !tbaa !5
  %15239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15240 = load i32, ptr @test_count, align 4, !tbaa !5
  %15241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15242 = load i32, ptr %15241, align 4, !tbaa !5
  %15243 = call ptr @s2n_strerror(i32 noundef %15242, ptr noundef @.str.4)
  %15244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15245 = load i32, ptr %15244, align 4, !tbaa !5
  %15246 = call ptr @s2n_strerror_debug(i32 noundef %15245, ptr noundef @.str.4)
  %15247 = call ptr @__errno_location() #12
  %15248 = load i32, ptr %15247, align 4, !tbaa !5
  %15249 = call ptr @strerror(i32 noundef %15248) #11
  %15250 = call ptr @__errno_location() #12
  %15251 = load i32, ptr %15250, align 4, !tbaa !5
  %15252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15239, ptr noundef @.str.2, i32 noundef %15240, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15243, ptr noundef %15246, ptr noundef %15249, i32 noundef %15251) #11
  br label %15270

15253:                                            ; preds = %15231, %15224
  %15254 = load i32, ptr %298, align 4, !tbaa !5
  %15255 = call ptr @__errno_location() #12
  store i32 %15254, ptr %15255, align 4, !tbaa !5
  %15256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15257 = load i32, ptr @test_count, align 4, !tbaa !5
  %15258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15259 = load i32, ptr %15258, align 4, !tbaa !5
  %15260 = call ptr @s2n_strerror(i32 noundef %15259, ptr noundef @.str.4)
  %15261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15262 = load i32, ptr %15261, align 4, !tbaa !5
  %15263 = call ptr @s2n_strerror_debug(i32 noundef %15262, ptr noundef @.str.4)
  %15264 = call ptr @__errno_location() #12
  %15265 = load i32, ptr %15264, align 4, !tbaa !5
  %15266 = call ptr @strerror(i32 noundef %15265) #11
  %15267 = call ptr @__errno_location() #12
  %15268 = load i32, ptr %15267, align 4, !tbaa !5
  %15269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15256, ptr noundef @.str.5, i32 noundef %15257, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15260, ptr noundef %15263, ptr noundef %15266, i32 noundef %15268) #11
  br label %15270

15270:                                            ; preds = %15253, %15236
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %15271

15271:                                            ; preds = %15270
  br label %15272

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

15273:                                            ; No predecessors!
  br label %15274

15274:                                            ; preds = %15273
  br label %15275

15275:                                            ; preds = %15274, %15204
  br label %15276

15276:                                            ; preds = %15275
  br label %15277

15277:                                            ; preds = %15276
  br label %15278

15278:                                            ; preds = %15277
  %15279 = load i32, ptr @test_count, align 4, !tbaa !5
  %15280 = add nsw i32 %15279, 1
  store i32 %15280, ptr @test_count, align 4, !tbaa !5
  %15281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15282 = load i32, ptr %15281, align 4, !tbaa !5
  %15283 = icmp eq i32 %15282, 469762120
  br i1 %15283, label %15337, label %15284

15284:                                            ; preds = %15278
  br label %15285

15285:                                            ; preds = %15284
  br label %15286

15286:                                            ; preds = %15285
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %15287 = call ptr @__errno_location() #12
  %15288 = load i32, ptr %15287, align 4, !tbaa !5
  store i32 %15288, ptr %299, align 4, !tbaa !5
  %15289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15290 = call i32 @s2n_print_stacktrace(ptr noundef %15289)
  %15291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15292 = trunc i8 %15291 to i1
  br i1 %15292, label %15293, label %15315

15293:                                            ; preds = %15286
  %15294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15295 = call i32 @fileno(ptr noundef %15294) #11
  %15296 = call i32 @isatty(i32 noundef %15295) #11
  %15297 = icmp ne i32 %15296, 0
  br i1 %15297, label %15298, label %15315

15298:                                            ; preds = %15293
  %15299 = load i32, ptr %299, align 4, !tbaa !5
  %15300 = call ptr @__errno_location() #12
  store i32 %15299, ptr %15300, align 4, !tbaa !5
  %15301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15302 = load i32, ptr @test_count, align 4, !tbaa !5
  %15303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15304 = load i32, ptr %15303, align 4, !tbaa !5
  %15305 = call ptr @s2n_strerror(i32 noundef %15304, ptr noundef @.str.4)
  %15306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15307 = load i32, ptr %15306, align 4, !tbaa !5
  %15308 = call ptr @s2n_strerror_debug(i32 noundef %15307, ptr noundef @.str.4)
  %15309 = call ptr @__errno_location() #12
  %15310 = load i32, ptr %15309, align 4, !tbaa !5
  %15311 = call ptr @strerror(i32 noundef %15310) #11
  %15312 = call ptr @__errno_location() #12
  %15313 = load i32, ptr %15312, align 4, !tbaa !5
  %15314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15301, ptr noundef @.str.2, i32 noundef %15302, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15305, ptr noundef %15308, ptr noundef %15311, i32 noundef %15313) #11
  br label %15332

15315:                                            ; preds = %15293, %15286
  %15316 = load i32, ptr %299, align 4, !tbaa !5
  %15317 = call ptr @__errno_location() #12
  store i32 %15316, ptr %15317, align 4, !tbaa !5
  %15318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15319 = load i32, ptr @test_count, align 4, !tbaa !5
  %15320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15321 = load i32, ptr %15320, align 4, !tbaa !5
  %15322 = call ptr @s2n_strerror(i32 noundef %15321, ptr noundef @.str.4)
  %15323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15324 = load i32, ptr %15323, align 4, !tbaa !5
  %15325 = call ptr @s2n_strerror_debug(i32 noundef %15324, ptr noundef @.str.4)
  %15326 = call ptr @__errno_location() #12
  %15327 = load i32, ptr %15326, align 4, !tbaa !5
  %15328 = call ptr @strerror(i32 noundef %15327) #11
  %15329 = call ptr @__errno_location() #12
  %15330 = load i32, ptr %15329, align 4, !tbaa !5
  %15331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15318, ptr noundef @.str.5, i32 noundef %15319, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15322, ptr noundef %15325, ptr noundef %15328, i32 noundef %15330) #11
  br label %15332

15332:                                            ; preds = %15315, %15298
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %15333

15333:                                            ; preds = %15332
  br label %15334

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

15335:                                            ; No predecessors!
  br label %15336

15336:                                            ; preds = %15335
  br label %15337

15337:                                            ; preds = %15336, %15278
  br label %15338

15338:                                            ; preds = %15337
  br label %15339

15339:                                            ; preds = %15338
  br label %15340

15340:                                            ; preds = %15339
  %15341 = load i32, ptr @test_count, align 4, !tbaa !5
  %15342 = add nsw i32 %15341, 1
  store i32 %15342, ptr @test_count, align 4, !tbaa !5
  %15343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15344 = load i32, ptr %15343, align 4, !tbaa !5
  %15345 = call ptr @s2n_strerror_debug(i32 noundef %15344, ptr noundef @.str.4)
  %15346 = icmp eq ptr %15345, null
  br i1 %15346, label %15347, label %15400

15347:                                            ; preds = %15340
  br label %15348

15348:                                            ; preds = %15347
  br label %15349

15349:                                            ; preds = %15348
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %15350 = call ptr @__errno_location() #12
  %15351 = load i32, ptr %15350, align 4, !tbaa !5
  store i32 %15351, ptr %300, align 4, !tbaa !5
  %15352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15353 = call i32 @s2n_print_stacktrace(ptr noundef %15352)
  %15354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15355 = trunc i8 %15354 to i1
  br i1 %15355, label %15356, label %15378

15356:                                            ; preds = %15349
  %15357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15358 = call i32 @fileno(ptr noundef %15357) #11
  %15359 = call i32 @isatty(i32 noundef %15358) #11
  %15360 = icmp ne i32 %15359, 0
  br i1 %15360, label %15361, label %15378

15361:                                            ; preds = %15356
  %15362 = load i32, ptr %300, align 4, !tbaa !5
  %15363 = call ptr @__errno_location() #12
  store i32 %15362, ptr %15363, align 4, !tbaa !5
  %15364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15365 = load i32, ptr @test_count, align 4, !tbaa !5
  %15366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15367 = load i32, ptr %15366, align 4, !tbaa !5
  %15368 = call ptr @s2n_strerror(i32 noundef %15367, ptr noundef @.str.4)
  %15369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15370 = load i32, ptr %15369, align 4, !tbaa !5
  %15371 = call ptr @s2n_strerror_debug(i32 noundef %15370, ptr noundef @.str.4)
  %15372 = call ptr @__errno_location() #12
  %15373 = load i32, ptr %15372, align 4, !tbaa !5
  %15374 = call ptr @strerror(i32 noundef %15373) #11
  %15375 = call ptr @__errno_location() #12
  %15376 = load i32, ptr %15375, align 4, !tbaa !5
  %15377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15364, ptr noundef @.str.2, i32 noundef %15365, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15368, ptr noundef %15371, ptr noundef %15374, i32 noundef %15376) #11
  br label %15395

15378:                                            ; preds = %15356, %15349
  %15379 = load i32, ptr %300, align 4, !tbaa !5
  %15380 = call ptr @__errno_location() #12
  store i32 %15379, ptr %15380, align 4, !tbaa !5
  %15381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15382 = load i32, ptr @test_count, align 4, !tbaa !5
  %15383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15384 = load i32, ptr %15383, align 4, !tbaa !5
  %15385 = call ptr @s2n_strerror(i32 noundef %15384, ptr noundef @.str.4)
  %15386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15387 = load i32, ptr %15386, align 4, !tbaa !5
  %15388 = call ptr @s2n_strerror_debug(i32 noundef %15387, ptr noundef @.str.4)
  %15389 = call ptr @__errno_location() #12
  %15390 = load i32, ptr %15389, align 4, !tbaa !5
  %15391 = call ptr @strerror(i32 noundef %15390) #11
  %15392 = call ptr @__errno_location() #12
  %15393 = load i32, ptr %15392, align 4, !tbaa !5
  %15394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15381, ptr noundef @.str.5, i32 noundef %15382, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15385, ptr noundef %15388, ptr noundef %15391, i32 noundef %15393) #11
  br label %15395

15395:                                            ; preds = %15378, %15361
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %15396

15396:                                            ; preds = %15395
  br label %15397

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

15398:                                            ; No predecessors!
  br label %15399

15399:                                            ; preds = %15398
  br label %15400

15400:                                            ; preds = %15399, %15340
  br label %15401

15401:                                            ; preds = %15400
  br label %15402

15402:                                            ; preds = %15401
  br label %15403

15403:                                            ; preds = %15402
  br label %15404

15404:                                            ; preds = %15403
  br label %15405

15405:                                            ; preds = %15404
  %15406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15406, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15407 = call ptr @__errno_location() #12
  store i32 0, ptr %15407, align 4, !tbaa !5
  br label %15408

15408:                                            ; preds = %15405
  br label %15409

15409:                                            ; preds = %15408
  br label %15410

15410:                                            ; preds = %15409
  br label %15411

15411:                                            ; preds = %15410
  br label %15412

15412:                                            ; preds = %15411
  %15413 = load i32, ptr @test_count, align 4, !tbaa !5
  %15414 = add nsw i32 %15413, 1
  store i32 %15414, ptr @test_count, align 4, !tbaa !5
  %15415 = call i32 @s2n_free(ptr noundef %206)
  %15416 = icmp eq i32 %15415, -1
  br i1 %15416, label %15417, label %15470

15417:                                            ; preds = %15412
  br label %15418

15418:                                            ; preds = %15417
  br label %15419

15419:                                            ; preds = %15418
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %15420 = call ptr @__errno_location() #12
  %15421 = load i32, ptr %15420, align 4, !tbaa !5
  store i32 %15421, ptr %301, align 4, !tbaa !5
  %15422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15423 = call i32 @s2n_print_stacktrace(ptr noundef %15422)
  %15424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15425 = trunc i8 %15424 to i1
  br i1 %15425, label %15426, label %15448

15426:                                            ; preds = %15419
  %15427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15428 = call i32 @fileno(ptr noundef %15427) #11
  %15429 = call i32 @isatty(i32 noundef %15428) #11
  %15430 = icmp ne i32 %15429, 0
  br i1 %15430, label %15431, label %15448

15431:                                            ; preds = %15426
  %15432 = load i32, ptr %301, align 4, !tbaa !5
  %15433 = call ptr @__errno_location() #12
  store i32 %15432, ptr %15433, align 4, !tbaa !5
  %15434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15435 = load i32, ptr @test_count, align 4, !tbaa !5
  %15436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15437 = load i32, ptr %15436, align 4, !tbaa !5
  %15438 = call ptr @s2n_strerror(i32 noundef %15437, ptr noundef @.str.4)
  %15439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  %15441 = call ptr @s2n_strerror_debug(i32 noundef %15440, ptr noundef @.str.4)
  %15442 = call ptr @__errno_location() #12
  %15443 = load i32, ptr %15442, align 4, !tbaa !5
  %15444 = call ptr @strerror(i32 noundef %15443) #11
  %15445 = call ptr @__errno_location() #12
  %15446 = load i32, ptr %15445, align 4, !tbaa !5
  %15447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15434, ptr noundef @.str.2, i32 noundef %15435, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 605, ptr noundef %15438, ptr noundef %15441, ptr noundef %15444, i32 noundef %15446) #11
  br label %15465

15448:                                            ; preds = %15426, %15419
  %15449 = load i32, ptr %301, align 4, !tbaa !5
  %15450 = call ptr @__errno_location() #12
  store i32 %15449, ptr %15450, align 4, !tbaa !5
  %15451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15452 = load i32, ptr @test_count, align 4, !tbaa !5
  %15453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @s2n_strerror(i32 noundef %15454, ptr noundef @.str.4)
  %15456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call ptr @s2n_strerror_debug(i32 noundef %15457, ptr noundef @.str.4)
  %15459 = call ptr @__errno_location() #12
  %15460 = load i32, ptr %15459, align 4, !tbaa !5
  %15461 = call ptr @strerror(i32 noundef %15460) #11
  %15462 = call ptr @__errno_location() #12
  %15463 = load i32, ptr %15462, align 4, !tbaa !5
  %15464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15451, ptr noundef @.str.5, i32 noundef %15452, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 605, ptr noundef %15455, ptr noundef %15458, ptr noundef %15461, i32 noundef %15463) #11
  br label %15465

15465:                                            ; preds = %15448, %15431
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

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

15468:                                            ; No predecessors!
  br label %15469

15469:                                            ; preds = %15468
  br label %15470

15470:                                            ; preds = %15469, %15412
  br label %15471

15471:                                            ; preds = %15470
  br label %15472

15472:                                            ; preds = %15471
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #11
  call void @llvm.lifetime.start.p0(i64 33, ptr %302) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %302, ptr align 16 @__const.main.der_ext_value.176, i64 33, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %303) #11
  %15473 = getelementptr inbounds [33 x i8], ptr %302, i64 0, i64 0
  %15474 = call i64 @strlen(ptr noundef %15473) #14
  store i64 %15474, ptr %303, align 8, !tbaa !28
  br label %15475

15475:                                            ; preds = %15472
  %15476 = load i32, ptr @test_count, align 4, !tbaa !5
  %15477 = add nsw i32 %15476, 1
  store i32 %15477, ptr @test_count, align 4, !tbaa !5
  %15478 = call i32 @s2n_alloc(ptr noundef %206, i32 noundef 65535)
  %15479 = icmp eq i32 %15478, -1
  br i1 %15479, label %15480, label %15533

15480:                                            ; preds = %15475
  br label %15481

15481:                                            ; preds = %15480
  br label %15482

15482:                                            ; preds = %15481
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %15483 = call ptr @__errno_location() #12
  %15484 = load i32, ptr %15483, align 4, !tbaa !5
  store i32 %15484, ptr %304, align 4, !tbaa !5
  %15485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15486 = call i32 @s2n_print_stacktrace(ptr noundef %15485)
  %15487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15488 = trunc i8 %15487 to i1
  br i1 %15488, label %15489, label %15511

15489:                                            ; preds = %15482
  %15490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15491 = call i32 @fileno(ptr noundef %15490) #11
  %15492 = call i32 @isatty(i32 noundef %15491) #11
  %15493 = icmp ne i32 %15492, 0
  br i1 %15493, label %15494, label %15511

15494:                                            ; preds = %15489
  %15495 = load i32, ptr %304, align 4, !tbaa !5
  %15496 = call ptr @__errno_location() #12
  store i32 %15495, ptr %15496, align 4, !tbaa !5
  %15497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15498 = load i32, ptr @test_count, align 4, !tbaa !5
  %15499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15500 = load i32, ptr %15499, align 4, !tbaa !5
  %15501 = call ptr @s2n_strerror(i32 noundef %15500, ptr noundef @.str.4)
  %15502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call ptr @s2n_strerror_debug(i32 noundef %15503, ptr noundef @.str.4)
  %15505 = call ptr @__errno_location() #12
  %15506 = load i32, ptr %15505, align 4, !tbaa !5
  %15507 = call ptr @strerror(i32 noundef %15506) #11
  %15508 = call ptr @__errno_location() #12
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15497, ptr noundef @.str.2, i32 noundef %15498, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 615, ptr noundef %15501, ptr noundef %15504, ptr noundef %15507, i32 noundef %15509) #11
  br label %15528

15511:                                            ; preds = %15489, %15482
  %15512 = load i32, ptr %304, align 4, !tbaa !5
  %15513 = call ptr @__errno_location() #12
  store i32 %15512, ptr %15513, align 4, !tbaa !5
  %15514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15515 = load i32, ptr @test_count, align 4, !tbaa !5
  %15516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15517 = load i32, ptr %15516, align 4, !tbaa !5
  %15518 = call ptr @s2n_strerror(i32 noundef %15517, ptr noundef @.str.4)
  %15519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15520 = load i32, ptr %15519, align 4, !tbaa !5
  %15521 = call ptr @s2n_strerror_debug(i32 noundef %15520, ptr noundef @.str.4)
  %15522 = call ptr @__errno_location() #12
  %15523 = load i32, ptr %15522, align 4, !tbaa !5
  %15524 = call ptr @strerror(i32 noundef %15523) #11
  %15525 = call ptr @__errno_location() #12
  %15526 = load i32, ptr %15525, align 4, !tbaa !5
  %15527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15514, ptr noundef @.str.5, i32 noundef %15515, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 615, ptr noundef %15518, ptr noundef %15521, ptr noundef %15524, i32 noundef %15526) #11
  br label %15528

15528:                                            ; preds = %15511, %15494
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %15529

15529:                                            ; preds = %15528
  br label %15530

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

15531:                                            ; No predecessors!
  br label %15532

15532:                                            ; preds = %15531
  br label %15533

15533:                                            ; preds = %15532, %15475
  br label %15534

15534:                                            ; preds = %15533
  br label %15535

15535:                                            ; preds = %15534
  br label %15536

15536:                                            ; preds = %15535
  br label %15537

15537:                                            ; preds = %15536
  br label %15538

15538:                                            ; preds = %15537
  %15539 = load i32, ptr @test_count, align 4, !tbaa !5
  %15540 = add nsw i32 %15539, 1
  store i32 %15540, ptr @test_count, align 4, !tbaa !5
  %15541 = load i64, ptr %303, align 8, !tbaa !28
  %15542 = trunc i64 %15541 to i32
  %15543 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 0
  %15544 = load ptr, ptr %15543, align 8, !tbaa !73
  %15545 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 1
  %15546 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef null, i32 noundef %15542, ptr noundef %15544, ptr noundef %15545)
  %15547 = icmp eq i32 %15546, -1
  br i1 %15547, label %15601, label %15548

15548:                                            ; preds = %15538
  br label %15549

15549:                                            ; preds = %15548
  br label %15550

15550:                                            ; preds = %15549
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %15551 = call ptr @__errno_location() #12
  %15552 = load i32, ptr %15551, align 4, !tbaa !5
  store i32 %15552, ptr %305, align 4, !tbaa !5
  %15553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15554 = call i32 @s2n_print_stacktrace(ptr noundef %15553)
  %15555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15556 = trunc i8 %15555 to i1
  br i1 %15556, label %15557, label %15579

15557:                                            ; preds = %15550
  %15558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15559 = call i32 @fileno(ptr noundef %15558) #11
  %15560 = call i32 @isatty(i32 noundef %15559) #11
  %15561 = icmp ne i32 %15560, 0
  br i1 %15561, label %15562, label %15579

15562:                                            ; preds = %15557
  %15563 = load i32, ptr %305, align 4, !tbaa !5
  %15564 = call ptr @__errno_location() #12
  store i32 %15563, ptr %15564, align 4, !tbaa !5
  %15565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15566 = load i32, ptr @test_count, align 4, !tbaa !5
  %15567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15568 = load i32, ptr %15567, align 4, !tbaa !5
  %15569 = call ptr @s2n_strerror(i32 noundef %15568, ptr noundef @.str.4)
  %15570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15571 = load i32, ptr %15570, align 4, !tbaa !5
  %15572 = call ptr @s2n_strerror_debug(i32 noundef %15571, ptr noundef @.str.4)
  %15573 = call ptr @__errno_location() #12
  %15574 = load i32, ptr %15573, align 4, !tbaa !5
  %15575 = call ptr @strerror(i32 noundef %15574) #11
  %15576 = call ptr @__errno_location() #12
  %15577 = load i32, ptr %15576, align 4, !tbaa !5
  %15578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15565, ptr noundef @.str.2, i32 noundef %15566, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 619, ptr noundef %15569, ptr noundef %15572, ptr noundef %15575, i32 noundef %15577) #11
  br label %15596

15579:                                            ; preds = %15557, %15550
  %15580 = load i32, ptr %305, align 4, !tbaa !5
  %15581 = call ptr @__errno_location() #12
  store i32 %15580, ptr %15581, align 4, !tbaa !5
  %15582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15583 = load i32, ptr @test_count, align 4, !tbaa !5
  %15584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15585 = load i32, ptr %15584, align 4, !tbaa !5
  %15586 = call ptr @s2n_strerror(i32 noundef %15585, ptr noundef @.str.4)
  %15587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15588 = load i32, ptr %15587, align 4, !tbaa !5
  %15589 = call ptr @s2n_strerror_debug(i32 noundef %15588, ptr noundef @.str.4)
  %15590 = call ptr @__errno_location() #12
  %15591 = load i32, ptr %15590, align 4, !tbaa !5
  %15592 = call ptr @strerror(i32 noundef %15591) #11
  %15593 = call ptr @__errno_location() #12
  %15594 = load i32, ptr %15593, align 4, !tbaa !5
  %15595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15582, ptr noundef @.str.5, i32 noundef %15583, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 619, ptr noundef %15586, ptr noundef %15589, ptr noundef %15592, i32 noundef %15594) #11
  br label %15596

15596:                                            ; preds = %15579, %15562
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %15597

15597:                                            ; preds = %15596
  br label %15598

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

15599:                                            ; No predecessors!
  br label %15600

15600:                                            ; preds = %15599
  br label %15601

15601:                                            ; preds = %15600, %15538
  br label %15602

15602:                                            ; preds = %15601
  br label %15603

15603:                                            ; preds = %15602
  br label %15604

15604:                                            ; preds = %15603
  %15605 = load i32, ptr @test_count, align 4, !tbaa !5
  %15606 = add nsw i32 %15605, 1
  store i32 %15606, ptr @test_count, align 4, !tbaa !5
  %15607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15608 = load i32, ptr %15607, align 4, !tbaa !5
  %15609 = icmp eq i32 %15608, 402653193
  br i1 %15609, label %15663, label %15610

15610:                                            ; preds = %15604
  br label %15611

15611:                                            ; preds = %15610
  br label %15612

15612:                                            ; preds = %15611
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %15613 = call ptr @__errno_location() #12
  %15614 = load i32, ptr %15613, align 4, !tbaa !5
  store i32 %15614, ptr %306, align 4, !tbaa !5
  %15615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15616 = call i32 @s2n_print_stacktrace(ptr noundef %15615)
  %15617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15618 = trunc i8 %15617 to i1
  br i1 %15618, label %15619, label %15641

15619:                                            ; preds = %15612
  %15620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15621 = call i32 @fileno(ptr noundef %15620) #11
  %15622 = call i32 @isatty(i32 noundef %15621) #11
  %15623 = icmp ne i32 %15622, 0
  br i1 %15623, label %15624, label %15641

15624:                                            ; preds = %15619
  %15625 = load i32, ptr %306, align 4, !tbaa !5
  %15626 = call ptr @__errno_location() #12
  store i32 %15625, ptr %15626, align 4, !tbaa !5
  %15627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15628 = load i32, ptr @test_count, align 4, !tbaa !5
  %15629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15630 = load i32, ptr %15629, align 4, !tbaa !5
  %15631 = call ptr @s2n_strerror(i32 noundef %15630, ptr noundef @.str.4)
  %15632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15633 = load i32, ptr %15632, align 4, !tbaa !5
  %15634 = call ptr @s2n_strerror_debug(i32 noundef %15633, ptr noundef @.str.4)
  %15635 = call ptr @__errno_location() #12
  %15636 = load i32, ptr %15635, align 4, !tbaa !5
  %15637 = call ptr @strerror(i32 noundef %15636) #11
  %15638 = call ptr @__errno_location() #12
  %15639 = load i32, ptr %15638, align 4, !tbaa !5
  %15640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15627, ptr noundef @.str.2, i32 noundef %15628, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 619, ptr noundef %15631, ptr noundef %15634, ptr noundef %15637, i32 noundef %15639) #11
  br label %15658

15641:                                            ; preds = %15619, %15612
  %15642 = load i32, ptr %306, align 4, !tbaa !5
  %15643 = call ptr @__errno_location() #12
  store i32 %15642, ptr %15643, align 4, !tbaa !5
  %15644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15645 = load i32, ptr @test_count, align 4, !tbaa !5
  %15646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15647 = load i32, ptr %15646, align 4, !tbaa !5
  %15648 = call ptr @s2n_strerror(i32 noundef %15647, ptr noundef @.str.4)
  %15649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15650 = load i32, ptr %15649, align 4, !tbaa !5
  %15651 = call ptr @s2n_strerror_debug(i32 noundef %15650, ptr noundef @.str.4)
  %15652 = call ptr @__errno_location() #12
  %15653 = load i32, ptr %15652, align 4, !tbaa !5
  %15654 = call ptr @strerror(i32 noundef %15653) #11
  %15655 = call ptr @__errno_location() #12
  %15656 = load i32, ptr %15655, align 4, !tbaa !5
  %15657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15644, ptr noundef @.str.5, i32 noundef %15645, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 619, ptr noundef %15648, ptr noundef %15651, ptr noundef %15654, i32 noundef %15656) #11
  br label %15658

15658:                                            ; preds = %15641, %15624
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %15659

15659:                                            ; preds = %15658
  br label %15660

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

15661:                                            ; No predecessors!
  br label %15662

15662:                                            ; preds = %15661
  br label %15663

15663:                                            ; preds = %15662, %15604
  br label %15664

15664:                                            ; preds = %15663
  br label %15665

15665:                                            ; preds = %15664
  br label %15666

15666:                                            ; preds = %15665
  %15667 = load i32, ptr @test_count, align 4, !tbaa !5
  %15668 = add nsw i32 %15667, 1
  store i32 %15668, ptr @test_count, align 4, !tbaa !5
  %15669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15670 = load i32, ptr %15669, align 4, !tbaa !5
  %15671 = call ptr @s2n_strerror_debug(i32 noundef %15670, ptr noundef @.str.4)
  %15672 = icmp eq ptr %15671, null
  br i1 %15672, label %15673, label %15726

15673:                                            ; preds = %15666
  br label %15674

15674:                                            ; preds = %15673
  br label %15675

15675:                                            ; preds = %15674
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %15676 = call ptr @__errno_location() #12
  %15677 = load i32, ptr %15676, align 4, !tbaa !5
  store i32 %15677, ptr %307, 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 %307, 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.4)
  %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.4)
  %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.2, i32 noundef %15691, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 619, ptr noundef %15694, ptr noundef %15697, ptr noundef %15700, i32 noundef %15702) #11
  br label %15721

15704:                                            ; preds = %15682, %15675
  %15705 = load i32, ptr %307, 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.4)
  %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.4)
  %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.5, i32 noundef %15708, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 619, 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 %307) #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, %15666
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

15728:                                            ; preds = %15727
  br label %15729

15729:                                            ; preds = %15728
  br label %15730

15730:                                            ; preds = %15729
  br label %15731

15731:                                            ; preds = %15730
  %15732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15732, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15733 = call ptr @__errno_location() #12
  store i32 0, ptr %15733, align 4, !tbaa !5
  br label %15734

15734:                                            ; preds = %15731
  br label %15735

15735:                                            ; preds = %15734
  br label %15736

15736:                                            ; preds = %15735
  br label %15737

15737:                                            ; preds = %15736
  br label %15738

15738:                                            ; preds = %15737
  br label %15739

15739:                                            ; preds = %15738
  br label %15740

15740:                                            ; preds = %15739
  %15741 = load i32, ptr @test_count, align 4, !tbaa !5
  %15742 = add nsw i32 %15741, 1
  store i32 %15742, ptr @test_count, align 4, !tbaa !5
  %15743 = getelementptr inbounds [33 x i8], ptr %302, i64 0, i64 0
  %15744 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 0
  %15745 = load ptr, ptr %15744, align 8, !tbaa !73
  %15746 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 1
  %15747 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %15743, i32 noundef 0, ptr noundef %15745, ptr noundef %15746)
  %15748 = icmp eq i32 %15747, -1
  br i1 %15748, label %15802, label %15749

15749:                                            ; preds = %15740
  br label %15750

15750:                                            ; preds = %15749
  br label %15751

15751:                                            ; preds = %15750
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %15752 = call ptr @__errno_location() #12
  %15753 = load i32, ptr %15752, align 4, !tbaa !5
  store i32 %15753, ptr %308, align 4, !tbaa !5
  %15754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15755 = call i32 @s2n_print_stacktrace(ptr noundef %15754)
  %15756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15757 = trunc i8 %15756 to i1
  br i1 %15757, label %15758, label %15780

15758:                                            ; preds = %15751
  %15759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15760 = call i32 @fileno(ptr noundef %15759) #11
  %15761 = call i32 @isatty(i32 noundef %15760) #11
  %15762 = icmp ne i32 %15761, 0
  br i1 %15762, label %15763, label %15780

15763:                                            ; preds = %15758
  %15764 = load i32, ptr %308, align 4, !tbaa !5
  %15765 = call ptr @__errno_location() #12
  store i32 %15764, ptr %15765, align 4, !tbaa !5
  %15766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15767 = load i32, ptr @test_count, align 4, !tbaa !5
  %15768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15769 = load i32, ptr %15768, align 4, !tbaa !5
  %15770 = call ptr @s2n_strerror(i32 noundef %15769, ptr noundef @.str.4)
  %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_debug(i32 noundef %15772, ptr noundef @.str.4)
  %15774 = call ptr @__errno_location() #12
  %15775 = load i32, ptr %15774, align 4, !tbaa !5
  %15776 = call ptr @strerror(i32 noundef %15775) #11
  %15777 = call ptr @__errno_location() #12
  %15778 = load i32, ptr %15777, align 4, !tbaa !5
  %15779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15766, ptr noundef @.str.2, i32 noundef %15767, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15770, ptr noundef %15773, ptr noundef %15776, i32 noundef %15778) #11
  br label %15797

15780:                                            ; preds = %15758, %15751
  %15781 = load i32, ptr %308, align 4, !tbaa !5
  %15782 = call ptr @__errno_location() #12
  store i32 %15781, ptr %15782, align 4, !tbaa !5
  %15783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15784 = load i32, ptr @test_count, align 4, !tbaa !5
  %15785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15786 = load i32, ptr %15785, align 4, !tbaa !5
  %15787 = call ptr @s2n_strerror(i32 noundef %15786, ptr noundef @.str.4)
  %15788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15789 = load i32, ptr %15788, align 4, !tbaa !5
  %15790 = call ptr @s2n_strerror_debug(i32 noundef %15789, ptr noundef @.str.4)
  %15791 = call ptr @__errno_location() #12
  %15792 = load i32, ptr %15791, align 4, !tbaa !5
  %15793 = call ptr @strerror(i32 noundef %15792) #11
  %15794 = call ptr @__errno_location() #12
  %15795 = load i32, ptr %15794, align 4, !tbaa !5
  %15796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15783, ptr noundef @.str.5, i32 noundef %15784, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15787, ptr noundef %15790, ptr noundef %15793, i32 noundef %15795) #11
  br label %15797

15797:                                            ; preds = %15780, %15763
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %15798

15798:                                            ; preds = %15797
  br label %15799

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

15800:                                            ; No predecessors!
  br label %15801

15801:                                            ; preds = %15800
  br label %15802

15802:                                            ; preds = %15801, %15740
  br label %15803

15803:                                            ; preds = %15802
  br label %15804

15804:                                            ; preds = %15803
  br label %15805

15805:                                            ; preds = %15804
  %15806 = load i32, ptr @test_count, align 4, !tbaa !5
  %15807 = add nsw i32 %15806, 1
  store i32 %15807, ptr @test_count, align 4, !tbaa !5
  %15808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = icmp eq i32 %15809, 402653194
  br i1 %15810, label %15864, label %15811

15811:                                            ; preds = %15805
  br label %15812

15812:                                            ; preds = %15811
  br label %15813

15813:                                            ; preds = %15812
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %15814 = call ptr @__errno_location() #12
  %15815 = load i32, ptr %15814, align 4, !tbaa !5
  store i32 %15815, ptr %309, align 4, !tbaa !5
  %15816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15817 = call i32 @s2n_print_stacktrace(ptr noundef %15816)
  %15818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15819 = trunc i8 %15818 to i1
  br i1 %15819, label %15820, label %15842

15820:                                            ; preds = %15813
  %15821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15822 = call i32 @fileno(ptr noundef %15821) #11
  %15823 = call i32 @isatty(i32 noundef %15822) #11
  %15824 = icmp ne i32 %15823, 0
  br i1 %15824, label %15825, label %15842

15825:                                            ; preds = %15820
  %15826 = load i32, ptr %309, align 4, !tbaa !5
  %15827 = call ptr @__errno_location() #12
  store i32 %15826, ptr %15827, align 4, !tbaa !5
  %15828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15829 = load i32, ptr @test_count, align 4, !tbaa !5
  %15830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15831 = load i32, ptr %15830, align 4, !tbaa !5
  %15832 = call ptr @s2n_strerror(i32 noundef %15831, ptr noundef @.str.4)
  %15833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  %15835 = call ptr @s2n_strerror_debug(i32 noundef %15834, ptr noundef @.str.4)
  %15836 = call ptr @__errno_location() #12
  %15837 = load i32, ptr %15836, align 4, !tbaa !5
  %15838 = call ptr @strerror(i32 noundef %15837) #11
  %15839 = call ptr @__errno_location() #12
  %15840 = load i32, ptr %15839, align 4, !tbaa !5
  %15841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15828, ptr noundef @.str.2, i32 noundef %15829, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15832, ptr noundef %15835, ptr noundef %15838, i32 noundef %15840) #11
  br label %15859

15842:                                            ; preds = %15820, %15813
  %15843 = load i32, ptr %309, align 4, !tbaa !5
  %15844 = call ptr @__errno_location() #12
  store i32 %15843, ptr %15844, align 4, !tbaa !5
  %15845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15846 = load i32, ptr @test_count, align 4, !tbaa !5
  %15847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15848 = load i32, ptr %15847, align 4, !tbaa !5
  %15849 = call ptr @s2n_strerror(i32 noundef %15848, ptr noundef @.str.4)
  %15850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  %15852 = call ptr @s2n_strerror_debug(i32 noundef %15851, ptr noundef @.str.4)
  %15853 = call ptr @__errno_location() #12
  %15854 = load i32, ptr %15853, align 4, !tbaa !5
  %15855 = call ptr @strerror(i32 noundef %15854) #11
  %15856 = call ptr @__errno_location() #12
  %15857 = load i32, ptr %15856, align 4, !tbaa !5
  %15858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15845, ptr noundef @.str.5, i32 noundef %15846, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15849, ptr noundef %15852, ptr noundef %15855, i32 noundef %15857) #11
  br label %15859

15859:                                            ; preds = %15842, %15825
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %15860

15860:                                            ; preds = %15859
  br label %15861

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

15862:                                            ; No predecessors!
  br label %15863

15863:                                            ; preds = %15862
  br label %15864

15864:                                            ; preds = %15863, %15805
  br label %15865

15865:                                            ; preds = %15864
  br label %15866

15866:                                            ; preds = %15865
  br label %15867

15867:                                            ; preds = %15866
  %15868 = load i32, ptr @test_count, align 4, !tbaa !5
  %15869 = add nsw i32 %15868, 1
  store i32 %15869, ptr @test_count, align 4, !tbaa !5
  %15870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  %15872 = call ptr @s2n_strerror_debug(i32 noundef %15871, ptr noundef @.str.4)
  %15873 = icmp eq ptr %15872, null
  br i1 %15873, label %15874, label %15927

15874:                                            ; preds = %15867
  br label %15875

15875:                                            ; preds = %15874
  br label %15876

15876:                                            ; preds = %15875
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %15877 = call ptr @__errno_location() #12
  %15878 = load i32, ptr %15877, align 4, !tbaa !5
  store i32 %15878, ptr %310, align 4, !tbaa !5
  %15879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15880 = call i32 @s2n_print_stacktrace(ptr noundef %15879)
  %15881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15882 = trunc i8 %15881 to i1
  br i1 %15882, label %15883, label %15905

15883:                                            ; preds = %15876
  %15884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15885 = call i32 @fileno(ptr noundef %15884) #11
  %15886 = call i32 @isatty(i32 noundef %15885) #11
  %15887 = icmp ne i32 %15886, 0
  br i1 %15887, label %15888, label %15905

15888:                                            ; preds = %15883
  %15889 = load i32, ptr %310, align 4, !tbaa !5
  %15890 = call ptr @__errno_location() #12
  store i32 %15889, ptr %15890, align 4, !tbaa !5
  %15891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15892 = load i32, ptr @test_count, align 4, !tbaa !5
  %15893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15894 = load i32, ptr %15893, align 4, !tbaa !5
  %15895 = call ptr @s2n_strerror(i32 noundef %15894, ptr noundef @.str.4)
  %15896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15897 = load i32, ptr %15896, align 4, !tbaa !5
  %15898 = call ptr @s2n_strerror_debug(i32 noundef %15897, ptr noundef @.str.4)
  %15899 = call ptr @__errno_location() #12
  %15900 = load i32, ptr %15899, align 4, !tbaa !5
  %15901 = call ptr @strerror(i32 noundef %15900) #11
  %15902 = call ptr @__errno_location() #12
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  %15904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15891, ptr noundef @.str.2, i32 noundef %15892, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15895, ptr noundef %15898, ptr noundef %15901, i32 noundef %15903) #11
  br label %15922

15905:                                            ; preds = %15883, %15876
  %15906 = load i32, ptr %310, align 4, !tbaa !5
  %15907 = call ptr @__errno_location() #12
  store i32 %15906, ptr %15907, align 4, !tbaa !5
  %15908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15909 = load i32, ptr @test_count, align 4, !tbaa !5
  %15910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15911 = load i32, ptr %15910, align 4, !tbaa !5
  %15912 = call ptr @s2n_strerror(i32 noundef %15911, ptr noundef @.str.4)
  %15913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15914 = load i32, ptr %15913, align 4, !tbaa !5
  %15915 = call ptr @s2n_strerror_debug(i32 noundef %15914, ptr noundef @.str.4)
  %15916 = call ptr @__errno_location() #12
  %15917 = load i32, ptr %15916, align 4, !tbaa !5
  %15918 = call ptr @strerror(i32 noundef %15917) #11
  %15919 = call ptr @__errno_location() #12
  %15920 = load i32, ptr %15919, align 4, !tbaa !5
  %15921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15908, ptr noundef @.str.5, i32 noundef %15909, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 622, ptr noundef %15912, ptr noundef %15915, ptr noundef %15918, i32 noundef %15920) #11
  br label %15922

15922:                                            ; preds = %15905, %15888
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %15923

15923:                                            ; preds = %15922
  br label %15924

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

15925:                                            ; No predecessors!
  br label %15926

15926:                                            ; preds = %15925
  br label %15927

15927:                                            ; preds = %15926, %15867
  br label %15928

15928:                                            ; preds = %15927
  br label %15929

15929:                                            ; preds = %15928
  br label %15930

15930:                                            ; preds = %15929
  br label %15931

15931:                                            ; preds = %15930
  br label %15932

15932:                                            ; preds = %15931
  %15933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15933, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15934 = call ptr @__errno_location() #12
  store i32 0, ptr %15934, align 4, !tbaa !5
  br label %15935

15935:                                            ; preds = %15932
  br label %15936

15936:                                            ; preds = %15935
  br label %15937

15937:                                            ; preds = %15936
  br label %15938

15938:                                            ; preds = %15937
  br label %15939

15939:                                            ; preds = %15938
  br label %15940

15940:                                            ; preds = %15939
  br label %15941

15941:                                            ; preds = %15940
  %15942 = load i32, ptr @test_count, align 4, !tbaa !5
  %15943 = add nsw i32 %15942, 1
  store i32 %15943, ptr @test_count, align 4, !tbaa !5
  %15944 = getelementptr inbounds [33 x i8], ptr %302, i64 0, i64 0
  %15945 = load i64, ptr %303, align 8, !tbaa !28
  %15946 = trunc i64 %15945 to i32
  %15947 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 1
  %15948 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %15944, i32 noundef %15946, ptr noundef null, ptr noundef %15947)
  %15949 = icmp eq i32 %15948, -1
  br i1 %15949, label %16003, label %15950

15950:                                            ; preds = %15941
  br label %15951

15951:                                            ; preds = %15950
  br label %15952

15952:                                            ; preds = %15951
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %15953 = call ptr @__errno_location() #12
  %15954 = load i32, ptr %15953, align 4, !tbaa !5
  store i32 %15954, ptr %311, align 4, !tbaa !5
  %15955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15956 = call i32 @s2n_print_stacktrace(ptr noundef %15955)
  %15957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15958 = trunc i8 %15957 to i1
  br i1 %15958, label %15959, label %15981

15959:                                            ; preds = %15952
  %15960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15961 = call i32 @fileno(ptr noundef %15960) #11
  %15962 = call i32 @isatty(i32 noundef %15961) #11
  %15963 = icmp ne i32 %15962, 0
  br i1 %15963, label %15964, label %15981

15964:                                            ; preds = %15959
  %15965 = load i32, ptr %311, align 4, !tbaa !5
  %15966 = call ptr @__errno_location() #12
  store i32 %15965, ptr %15966, align 4, !tbaa !5
  %15967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15968 = load i32, ptr @test_count, align 4, !tbaa !5
  %15969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15970 = load i32, ptr %15969, align 4, !tbaa !5
  %15971 = call ptr @s2n_strerror(i32 noundef %15970, ptr noundef @.str.4)
  %15972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15973 = load i32, ptr %15972, align 4, !tbaa !5
  %15974 = call ptr @s2n_strerror_debug(i32 noundef %15973, ptr noundef @.str.4)
  %15975 = call ptr @__errno_location() #12
  %15976 = load i32, ptr %15975, align 4, !tbaa !5
  %15977 = call ptr @strerror(i32 noundef %15976) #11
  %15978 = call ptr @__errno_location() #12
  %15979 = load i32, ptr %15978, align 4, !tbaa !5
  %15980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15967, ptr noundef @.str.2, i32 noundef %15968, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 625, ptr noundef %15971, ptr noundef %15974, ptr noundef %15977, i32 noundef %15979) #11
  br label %15998

15981:                                            ; preds = %15959, %15952
  %15982 = load i32, ptr %311, align 4, !tbaa !5
  %15983 = call ptr @__errno_location() #12
  store i32 %15982, ptr %15983, align 4, !tbaa !5
  %15984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15985 = load i32, ptr @test_count, align 4, !tbaa !5
  %15986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15987 = load i32, ptr %15986, align 4, !tbaa !5
  %15988 = call ptr @s2n_strerror(i32 noundef %15987, ptr noundef @.str.4)
  %15989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15990 = load i32, ptr %15989, align 4, !tbaa !5
  %15991 = call ptr @s2n_strerror_debug(i32 noundef %15990, ptr noundef @.str.4)
  %15992 = call ptr @__errno_location() #12
  %15993 = load i32, ptr %15992, align 4, !tbaa !5
  %15994 = call ptr @strerror(i32 noundef %15993) #11
  %15995 = call ptr @__errno_location() #12
  %15996 = load i32, ptr %15995, align 4, !tbaa !5
  %15997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15984, ptr noundef @.str.5, i32 noundef %15985, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 625, ptr noundef %15988, ptr noundef %15991, ptr noundef %15994, i32 noundef %15996) #11
  br label %15998

15998:                                            ; preds = %15981, %15964
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %15999

15999:                                            ; preds = %15998
  br label %16000

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

16001:                                            ; No predecessors!
  br label %16002

16002:                                            ; preds = %16001
  br label %16003

16003:                                            ; preds = %16002, %15941
  br label %16004

16004:                                            ; preds = %16003
  br label %16005

16005:                                            ; preds = %16004
  br label %16006

16006:                                            ; preds = %16005
  %16007 = load i32, ptr @test_count, align 4, !tbaa !5
  %16008 = add nsw i32 %16007, 1
  store i32 %16008, ptr @test_count, align 4, !tbaa !5
  %16009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16010 = load i32, ptr %16009, align 4, !tbaa !5
  %16011 = icmp eq i32 %16010, 402653193
  br i1 %16011, label %16065, label %16012

16012:                                            ; preds = %16006
  br label %16013

16013:                                            ; preds = %16012
  br label %16014

16014:                                            ; preds = %16013
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %16015 = call ptr @__errno_location() #12
  %16016 = load i32, ptr %16015, align 4, !tbaa !5
  store i32 %16016, ptr %312, align 4, !tbaa !5
  %16017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16018 = call i32 @s2n_print_stacktrace(ptr noundef %16017)
  %16019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16020 = trunc i8 %16019 to i1
  br i1 %16020, label %16021, label %16043

16021:                                            ; preds = %16014
  %16022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16023 = call i32 @fileno(ptr noundef %16022) #11
  %16024 = call i32 @isatty(i32 noundef %16023) #11
  %16025 = icmp ne i32 %16024, 0
  br i1 %16025, label %16026, label %16043

16026:                                            ; preds = %16021
  %16027 = load i32, ptr %312, align 4, !tbaa !5
  %16028 = call ptr @__errno_location() #12
  store i32 %16027, ptr %16028, align 4, !tbaa !5
  %16029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16030 = load i32, ptr @test_count, align 4, !tbaa !5
  %16031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16032 = load i32, ptr %16031, align 4, !tbaa !5
  %16033 = call ptr @s2n_strerror(i32 noundef %16032, ptr noundef @.str.4)
  %16034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16035 = load i32, ptr %16034, align 4, !tbaa !5
  %16036 = call ptr @s2n_strerror_debug(i32 noundef %16035, ptr noundef @.str.4)
  %16037 = call ptr @__errno_location() #12
  %16038 = load i32, ptr %16037, align 4, !tbaa !5
  %16039 = call ptr @strerror(i32 noundef %16038) #11
  %16040 = call ptr @__errno_location() #12
  %16041 = load i32, ptr %16040, align 4, !tbaa !5
  %16042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16029, ptr noundef @.str.2, i32 noundef %16030, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 625, ptr noundef %16033, ptr noundef %16036, ptr noundef %16039, i32 noundef %16041) #11
  br label %16060

16043:                                            ; preds = %16021, %16014
  %16044 = load i32, ptr %312, align 4, !tbaa !5
  %16045 = call ptr @__errno_location() #12
  store i32 %16044, ptr %16045, align 4, !tbaa !5
  %16046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16047 = load i32, ptr @test_count, align 4, !tbaa !5
  %16048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16049 = load i32, ptr %16048, align 4, !tbaa !5
  %16050 = call ptr @s2n_strerror(i32 noundef %16049, ptr noundef @.str.4)
  %16051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16052 = load i32, ptr %16051, align 4, !tbaa !5
  %16053 = call ptr @s2n_strerror_debug(i32 noundef %16052, ptr noundef @.str.4)
  %16054 = call ptr @__errno_location() #12
  %16055 = load i32, ptr %16054, align 4, !tbaa !5
  %16056 = call ptr @strerror(i32 noundef %16055) #11
  %16057 = call ptr @__errno_location() #12
  %16058 = load i32, ptr %16057, align 4, !tbaa !5
  %16059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16046, ptr noundef @.str.5, i32 noundef %16047, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 625, ptr noundef %16050, ptr noundef %16053, ptr noundef %16056, i32 noundef %16058) #11
  br label %16060

16060:                                            ; preds = %16043, %16026
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %16061

16061:                                            ; preds = %16060
  br label %16062

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

16063:                                            ; No predecessors!
  br label %16064

16064:                                            ; preds = %16063
  br label %16065

16065:                                            ; preds = %16064, %16006
  br label %16066

16066:                                            ; preds = %16065
  br label %16067

16067:                                            ; preds = %16066
  br label %16068

16068:                                            ; preds = %16067
  %16069 = load i32, ptr @test_count, align 4, !tbaa !5
  %16070 = add nsw i32 %16069, 1
  store i32 %16070, ptr @test_count, align 4, !tbaa !5
  %16071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16072 = load i32, ptr %16071, align 4, !tbaa !5
  %16073 = call ptr @s2n_strerror_debug(i32 noundef %16072, ptr noundef @.str.4)
  %16074 = icmp eq ptr %16073, null
  br i1 %16074, label %16075, label %16128

16075:                                            ; preds = %16068
  br label %16076

16076:                                            ; preds = %16075
  br label %16077

16077:                                            ; preds = %16076
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %16078 = call ptr @__errno_location() #12
  %16079 = load i32, ptr %16078, align 4, !tbaa !5
  store i32 %16079, ptr %313, align 4, !tbaa !5
  %16080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16081 = call i32 @s2n_print_stacktrace(ptr noundef %16080)
  %16082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16083 = trunc i8 %16082 to i1
  br i1 %16083, label %16084, label %16106

16084:                                            ; preds = %16077
  %16085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16086 = call i32 @fileno(ptr noundef %16085) #11
  %16087 = call i32 @isatty(i32 noundef %16086) #11
  %16088 = icmp ne i32 %16087, 0
  br i1 %16088, label %16089, label %16106

16089:                                            ; preds = %16084
  %16090 = load i32, ptr %313, align 4, !tbaa !5
  %16091 = call ptr @__errno_location() #12
  store i32 %16090, ptr %16091, align 4, !tbaa !5
  %16092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16093 = load i32, ptr @test_count, align 4, !tbaa !5
  %16094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16095 = load i32, ptr %16094, align 4, !tbaa !5
  %16096 = call ptr @s2n_strerror(i32 noundef %16095, ptr noundef @.str.4)
  %16097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16098 = load i32, ptr %16097, align 4, !tbaa !5
  %16099 = call ptr @s2n_strerror_debug(i32 noundef %16098, ptr noundef @.str.4)
  %16100 = call ptr @__errno_location() #12
  %16101 = load i32, ptr %16100, align 4, !tbaa !5
  %16102 = call ptr @strerror(i32 noundef %16101) #11
  %16103 = call ptr @__errno_location() #12
  %16104 = load i32, ptr %16103, align 4, !tbaa !5
  %16105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16092, ptr noundef @.str.2, i32 noundef %16093, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 625, ptr noundef %16096, ptr noundef %16099, ptr noundef %16102, i32 noundef %16104) #11
  br label %16123

16106:                                            ; preds = %16084, %16077
  %16107 = load i32, ptr %313, align 4, !tbaa !5
  %16108 = call ptr @__errno_location() #12
  store i32 %16107, ptr %16108, align 4, !tbaa !5
  %16109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16110 = load i32, ptr @test_count, align 4, !tbaa !5
  %16111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16112 = load i32, ptr %16111, align 4, !tbaa !5
  %16113 = call ptr @s2n_strerror(i32 noundef %16112, ptr noundef @.str.4)
  %16114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16115 = load i32, ptr %16114, align 4, !tbaa !5
  %16116 = call ptr @s2n_strerror_debug(i32 noundef %16115, ptr noundef @.str.4)
  %16117 = call ptr @__errno_location() #12
  %16118 = load i32, ptr %16117, align 4, !tbaa !5
  %16119 = call ptr @strerror(i32 noundef %16118) #11
  %16120 = call ptr @__errno_location() #12
  %16121 = load i32, ptr %16120, align 4, !tbaa !5
  %16122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16109, ptr noundef @.str.5, i32 noundef %16110, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 625, ptr noundef %16113, ptr noundef %16116, ptr noundef %16119, i32 noundef %16121) #11
  br label %16123

16123:                                            ; preds = %16106, %16089
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %16124

16124:                                            ; preds = %16123
  br label %16125

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

16126:                                            ; No predecessors!
  br label %16127

16127:                                            ; preds = %16126
  br label %16128

16128:                                            ; preds = %16127, %16068
  br label %16129

16129:                                            ; preds = %16128
  br label %16130

16130:                                            ; preds = %16129
  br label %16131

16131:                                            ; preds = %16130
  br label %16132

16132:                                            ; preds = %16131
  br label %16133

16133:                                            ; preds = %16132
  %16134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16134, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16135 = call ptr @__errno_location() #12
  store i32 0, ptr %16135, align 4, !tbaa !5
  br label %16136

16136:                                            ; preds = %16133
  br label %16137

16137:                                            ; preds = %16136
  br label %16138

16138:                                            ; preds = %16137
  br label %16139

16139:                                            ; preds = %16138
  br label %16140

16140:                                            ; preds = %16139
  br label %16141

16141:                                            ; preds = %16140
  br label %16142

16142:                                            ; preds = %16141
  %16143 = load i32, ptr @test_count, align 4, !tbaa !5
  %16144 = add nsw i32 %16143, 1
  store i32 %16144, ptr @test_count, align 4, !tbaa !5
  %16145 = getelementptr inbounds [33 x i8], ptr %302, i64 0, i64 0
  %16146 = load i64, ptr %303, align 8, !tbaa !28
  %16147 = trunc i64 %16146 to i32
  %16148 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 0
  %16149 = load ptr, ptr %16148, align 8, !tbaa !73
  %16150 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %16145, i32 noundef %16147, ptr noundef %16149, ptr noundef null)
  %16151 = icmp eq i32 %16150, -1
  br i1 %16151, label %16205, label %16152

16152:                                            ; preds = %16142
  br label %16153

16153:                                            ; preds = %16152
  br label %16154

16154:                                            ; preds = %16153
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %16155 = call ptr @__errno_location() #12
  %16156 = load i32, ptr %16155, align 4, !tbaa !5
  store i32 %16156, ptr %314, align 4, !tbaa !5
  %16157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16158 = call i32 @s2n_print_stacktrace(ptr noundef %16157)
  %16159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16160 = trunc i8 %16159 to i1
  br i1 %16160, label %16161, label %16183

16161:                                            ; preds = %16154
  %16162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16163 = call i32 @fileno(ptr noundef %16162) #11
  %16164 = call i32 @isatty(i32 noundef %16163) #11
  %16165 = icmp ne i32 %16164, 0
  br i1 %16165, label %16166, label %16183

16166:                                            ; preds = %16161
  %16167 = load i32, ptr %314, align 4, !tbaa !5
  %16168 = call ptr @__errno_location() #12
  store i32 %16167, ptr %16168, align 4, !tbaa !5
  %16169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16170 = load i32, ptr @test_count, align 4, !tbaa !5
  %16171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16172 = load i32, ptr %16171, align 4, !tbaa !5
  %16173 = call ptr @s2n_strerror(i32 noundef %16172, ptr noundef @.str.4)
  %16174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16175 = load i32, ptr %16174, align 4, !tbaa !5
  %16176 = call ptr @s2n_strerror_debug(i32 noundef %16175, ptr noundef @.str.4)
  %16177 = call ptr @__errno_location() #12
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  %16179 = call ptr @strerror(i32 noundef %16178) #11
  %16180 = call ptr @__errno_location() #12
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16169, ptr noundef @.str.2, i32 noundef %16170, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16173, ptr noundef %16176, ptr noundef %16179, i32 noundef %16181) #11
  br label %16200

16183:                                            ; preds = %16161, %16154
  %16184 = load i32, ptr %314, align 4, !tbaa !5
  %16185 = call ptr @__errno_location() #12
  store i32 %16184, ptr %16185, align 4, !tbaa !5
  %16186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16187 = load i32, ptr @test_count, align 4, !tbaa !5
  %16188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16189 = load i32, ptr %16188, align 4, !tbaa !5
  %16190 = call ptr @s2n_strerror(i32 noundef %16189, ptr noundef @.str.4)
  %16191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16192 = load i32, ptr %16191, align 4, !tbaa !5
  %16193 = call ptr @s2n_strerror_debug(i32 noundef %16192, ptr noundef @.str.4)
  %16194 = call ptr @__errno_location() #12
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call ptr @strerror(i32 noundef %16195) #11
  %16197 = call ptr @__errno_location() #12
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16186, ptr noundef @.str.5, i32 noundef %16187, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16190, ptr noundef %16193, ptr noundef %16196, i32 noundef %16198) #11
  br label %16200

16200:                                            ; preds = %16183, %16166
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %16201

16201:                                            ; preds = %16200
  br label %16202

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

16203:                                            ; No predecessors!
  br label %16204

16204:                                            ; preds = %16203
  br label %16205

16205:                                            ; preds = %16204, %16142
  br label %16206

16206:                                            ; preds = %16205
  br label %16207

16207:                                            ; preds = %16206
  br label %16208

16208:                                            ; preds = %16207
  %16209 = load i32, ptr @test_count, align 4, !tbaa !5
  %16210 = add nsw i32 %16209, 1
  store i32 %16210, 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 = icmp eq i32 %16212, 402653193
  br i1 %16213, label %16267, label %16214

16214:                                            ; preds = %16208
  br label %16215

16215:                                            ; preds = %16214
  br label %16216

16216:                                            ; preds = %16215
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %16217 = call ptr @__errno_location() #12
  %16218 = load i32, ptr %16217, align 4, !tbaa !5
  store i32 %16218, ptr %315, align 4, !tbaa !5
  %16219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16220 = call i32 @s2n_print_stacktrace(ptr noundef %16219)
  %16221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16222 = trunc i8 %16221 to i1
  br i1 %16222, label %16223, label %16245

16223:                                            ; preds = %16216
  %16224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16225 = call i32 @fileno(ptr noundef %16224) #11
  %16226 = call i32 @isatty(i32 noundef %16225) #11
  %16227 = icmp ne i32 %16226, 0
  br i1 %16227, label %16228, label %16245

16228:                                            ; preds = %16223
  %16229 = load i32, ptr %315, align 4, !tbaa !5
  %16230 = call ptr @__errno_location() #12
  store i32 %16229, ptr %16230, align 4, !tbaa !5
  %16231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16232 = load i32, ptr @test_count, align 4, !tbaa !5
  %16233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16234 = load i32, ptr %16233, align 4, !tbaa !5
  %16235 = call ptr @s2n_strerror(i32 noundef %16234, ptr noundef @.str.4)
  %16236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16237 = load i32, ptr %16236, align 4, !tbaa !5
  %16238 = call ptr @s2n_strerror_debug(i32 noundef %16237, ptr noundef @.str.4)
  %16239 = call ptr @__errno_location() #12
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  %16241 = call ptr @strerror(i32 noundef %16240) #11
  %16242 = call ptr @__errno_location() #12
  %16243 = load i32, ptr %16242, align 4, !tbaa !5
  %16244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16231, ptr noundef @.str.2, i32 noundef %16232, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16235, ptr noundef %16238, ptr noundef %16241, i32 noundef %16243) #11
  br label %16262

16245:                                            ; preds = %16223, %16216
  %16246 = load i32, ptr %315, align 4, !tbaa !5
  %16247 = call ptr @__errno_location() #12
  store i32 %16246, ptr %16247, align 4, !tbaa !5
  %16248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16249 = load i32, ptr @test_count, align 4, !tbaa !5
  %16250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16251 = load i32, ptr %16250, align 4, !tbaa !5
  %16252 = call ptr @s2n_strerror(i32 noundef %16251, ptr noundef @.str.4)
  %16253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16254 = load i32, ptr %16253, align 4, !tbaa !5
  %16255 = call ptr @s2n_strerror_debug(i32 noundef %16254, ptr noundef @.str.4)
  %16256 = call ptr @__errno_location() #12
  %16257 = load i32, ptr %16256, align 4, !tbaa !5
  %16258 = call ptr @strerror(i32 noundef %16257) #11
  %16259 = call ptr @__errno_location() #12
  %16260 = load i32, ptr %16259, align 4, !tbaa !5
  %16261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16248, ptr noundef @.str.5, i32 noundef %16249, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16252, ptr noundef %16255, ptr noundef %16258, i32 noundef %16260) #11
  br label %16262

16262:                                            ; preds = %16245, %16228
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %16263

16263:                                            ; preds = %16262
  br label %16264

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

16265:                                            ; No predecessors!
  br label %16266

16266:                                            ; preds = %16265
  br label %16267

16267:                                            ; preds = %16266, %16208
  br label %16268

16268:                                            ; preds = %16267
  br label %16269

16269:                                            ; preds = %16268
  br label %16270

16270:                                            ; preds = %16269
  %16271 = load i32, ptr @test_count, align 4, !tbaa !5
  %16272 = add nsw i32 %16271, 1
  store i32 %16272, ptr @test_count, align 4, !tbaa !5
  %16273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16274 = load i32, ptr %16273, align 4, !tbaa !5
  %16275 = call ptr @s2n_strerror_debug(i32 noundef %16274, ptr noundef @.str.4)
  %16276 = icmp eq ptr %16275, null
  br i1 %16276, label %16277, label %16330

16277:                                            ; preds = %16270
  br label %16278

16278:                                            ; preds = %16277
  br label %16279

16279:                                            ; preds = %16278
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %16280 = call ptr @__errno_location() #12
  %16281 = load i32, ptr %16280, align 4, !tbaa !5
  store i32 %16281, ptr %316, align 4, !tbaa !5
  %16282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16283 = call i32 @s2n_print_stacktrace(ptr noundef %16282)
  %16284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16285 = trunc i8 %16284 to i1
  br i1 %16285, label %16286, label %16308

16286:                                            ; preds = %16279
  %16287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16288 = call i32 @fileno(ptr noundef %16287) #11
  %16289 = call i32 @isatty(i32 noundef %16288) #11
  %16290 = icmp ne i32 %16289, 0
  br i1 %16290, label %16291, label %16308

16291:                                            ; preds = %16286
  %16292 = load i32, ptr %316, align 4, !tbaa !5
  %16293 = call ptr @__errno_location() #12
  store i32 %16292, ptr %16293, align 4, !tbaa !5
  %16294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16295 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16297, ptr noundef @.str.4)
  %16299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16300 = load i32, ptr %16299, align 4, !tbaa !5
  %16301 = call ptr @s2n_strerror_debug(i32 noundef %16300, ptr noundef @.str.4)
  %16302 = call ptr @__errno_location() #12
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call ptr @strerror(i32 noundef %16303) #11
  %16305 = call ptr @__errno_location() #12
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  %16307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16294, ptr noundef @.str.2, i32 noundef %16295, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16298, ptr noundef %16301, ptr noundef %16304, i32 noundef %16306) #11
  br label %16325

16308:                                            ; preds = %16286, %16279
  %16309 = load i32, ptr %316, align 4, !tbaa !5
  %16310 = call ptr @__errno_location() #12
  store i32 %16309, ptr %16310, align 4, !tbaa !5
  %16311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16312 = load i32, ptr @test_count, align 4, !tbaa !5
  %16313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16314 = load i32, ptr %16313, align 4, !tbaa !5
  %16315 = call ptr @s2n_strerror(i32 noundef %16314, ptr noundef @.str.4)
  %16316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16317 = load i32, ptr %16316, align 4, !tbaa !5
  %16318 = call ptr @s2n_strerror_debug(i32 noundef %16317, ptr noundef @.str.4)
  %16319 = call ptr @__errno_location() #12
  %16320 = load i32, ptr %16319, align 4, !tbaa !5
  %16321 = call ptr @strerror(i32 noundef %16320) #11
  %16322 = call ptr @__errno_location() #12
  %16323 = load i32, ptr %16322, align 4, !tbaa !5
  %16324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16311, ptr noundef @.str.5, i32 noundef %16312, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 628, ptr noundef %16315, ptr noundef %16318, ptr noundef %16321, i32 noundef %16323) #11
  br label %16325

16325:                                            ; preds = %16308, %16291
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %16326

16326:                                            ; preds = %16325
  br label %16327

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

16328:                                            ; No predecessors!
  br label %16329

16329:                                            ; preds = %16328
  br label %16330

16330:                                            ; preds = %16329, %16270
  br label %16331

16331:                                            ; preds = %16330
  br label %16332

16332:                                            ; preds = %16331
  br label %16333

16333:                                            ; preds = %16332
  br label %16334

16334:                                            ; preds = %16333
  br label %16335

16335:                                            ; preds = %16334
  %16336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16336, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16337 = call ptr @__errno_location() #12
  store i32 0, ptr %16337, align 4, !tbaa !5
  br label %16338

16338:                                            ; preds = %16335
  br label %16339

16339:                                            ; preds = %16338
  br label %16340

16340:                                            ; preds = %16339
  br label %16341

16341:                                            ; preds = %16340
  br label %16342

16342:                                            ; preds = %16341
  %16343 = load i32, ptr @test_count, align 4, !tbaa !5
  %16344 = add nsw i32 %16343, 1
  store i32 %16344, ptr @test_count, align 4, !tbaa !5
  %16345 = call i32 @s2n_free(ptr noundef %206)
  %16346 = icmp eq i32 %16345, -1
  br i1 %16346, label %16347, label %16400

16347:                                            ; preds = %16342
  br label %16348

16348:                                            ; preds = %16347
  br label %16349

16349:                                            ; preds = %16348
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %16350 = call ptr @__errno_location() #12
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  store i32 %16351, ptr %317, align 4, !tbaa !5
  %16352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16353 = call i32 @s2n_print_stacktrace(ptr noundef %16352)
  %16354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16355 = trunc i8 %16354 to i1
  br i1 %16355, label %16356, label %16378

16356:                                            ; preds = %16349
  %16357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16358 = call i32 @fileno(ptr noundef %16357) #11
  %16359 = call i32 @isatty(i32 noundef %16358) #11
  %16360 = icmp ne i32 %16359, 0
  br i1 %16360, label %16361, label %16378

16361:                                            ; preds = %16356
  %16362 = load i32, ptr %317, align 4, !tbaa !5
  %16363 = call ptr @__errno_location() #12
  store i32 %16362, ptr %16363, align 4, !tbaa !5
  %16364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16365 = load i32, ptr @test_count, align 4, !tbaa !5
  %16366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16367 = load i32, ptr %16366, align 4, !tbaa !5
  %16368 = call ptr @s2n_strerror(i32 noundef %16367, ptr noundef @.str.4)
  %16369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16370 = load i32, ptr %16369, align 4, !tbaa !5
  %16371 = call ptr @s2n_strerror_debug(i32 noundef %16370, ptr noundef @.str.4)
  %16372 = call ptr @__errno_location() #12
  %16373 = load i32, ptr %16372, align 4, !tbaa !5
  %16374 = call ptr @strerror(i32 noundef %16373) #11
  %16375 = call ptr @__errno_location() #12
  %16376 = load i32, ptr %16375, align 4, !tbaa !5
  %16377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16364, ptr noundef @.str.2, i32 noundef %16365, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 630, ptr noundef %16368, ptr noundef %16371, ptr noundef %16374, i32 noundef %16376) #11
  br label %16395

16378:                                            ; preds = %16356, %16349
  %16379 = load i32, ptr %317, align 4, !tbaa !5
  %16380 = call ptr @__errno_location() #12
  store i32 %16379, ptr %16380, align 4, !tbaa !5
  %16381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16382 = load i32, ptr @test_count, align 4, !tbaa !5
  %16383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16384 = load i32, ptr %16383, align 4, !tbaa !5
  %16385 = call ptr @s2n_strerror(i32 noundef %16384, ptr noundef @.str.4)
  %16386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16387 = load i32, ptr %16386, align 4, !tbaa !5
  %16388 = call ptr @s2n_strerror_debug(i32 noundef %16387, ptr noundef @.str.4)
  %16389 = call ptr @__errno_location() #12
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call ptr @strerror(i32 noundef %16390) #11
  %16392 = call ptr @__errno_location() #12
  %16393 = load i32, ptr %16392, align 4, !tbaa !5
  %16394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16381, ptr noundef @.str.5, i32 noundef %16382, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 630, ptr noundef %16385, ptr noundef %16388, ptr noundef %16391, i32 noundef %16393) #11
  br label %16395

16395:                                            ; preds = %16378, %16361
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %16396

16396:                                            ; preds = %16395
  br label %16397

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

16398:                                            ; No predecessors!
  br label %16399

16399:                                            ; preds = %16398
  br label %16400

16400:                                            ; preds = %16399, %16342
  br label %16401

16401:                                            ; preds = %16400
  br label %16402

16402:                                            ; preds = %16401
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #11
  call void @llvm.lifetime.end.p0(i64 33, ptr %302) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  br label %16403

16403:                                            ; preds = %16706, %16402
  %16404 = load i64, ptr %208, align 8, !tbaa !28
  %16405 = icmp ult i64 %16404, 7
  br i1 %16405, label %16406, label %16709

16406:                                            ; preds = %16403
  %16407 = load i64, ptr %208, align 8, !tbaa !28
  %16408 = icmp ugt i64 %16407, 3
  br i1 %16408, label %16409, label %16491

16409:                                            ; preds = %16406
  br label %16410

16410:                                            ; preds = %16409
  %16411 = load i32, ptr @test_count, align 4, !tbaa !5
  %16412 = add nsw i32 %16411, 1
  store i32 %16412, ptr @test_count, align 4, !tbaa !5
  %16413 = load i64, ptr %208, align 8, !tbaa !28
  %16414 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16413
  %16415 = getelementptr inbounds %struct.anon, ptr %16414, i32 0, i32 5
  %16416 = load i64, ptr %208, align 8, !tbaa !28
  %16417 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16416
  %16418 = getelementptr inbounds %struct.anon, ptr %16417, i32 0, i32 2
  %16419 = load ptr, ptr %16418, align 8, !tbaa !66
  %16420 = load i64, ptr %208, align 8, !tbaa !28
  %16421 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16420
  %16422 = getelementptr inbounds %struct.anon, ptr %16421, i32 0, i32 3
  %16423 = load i32, ptr %16422, align 8, !tbaa !67
  %16424 = load i64, ptr %208, align 8, !tbaa !28
  %16425 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16424
  %16426 = getelementptr inbounds %struct.anon, ptr %16425, i32 0, i32 2
  %16427 = load ptr, ptr %16426, align 8, !tbaa !66
  %16428 = call i64 @strlen(ptr noundef %16427) #14
  %16429 = trunc i64 %16428 to i32
  %16430 = call i32 @s2n_compare_utf8_strings(ptr noundef %16415, ptr noundef %16419, i32 noundef %16423, i32 noundef %16429)
  %16431 = getelementptr inbounds %struct.s2n_result, ptr %318, i32 0, i32 0
  store i32 %16430, ptr %16431, align 4
  %16432 = getelementptr inbounds %struct.s2n_result, ptr %318, i32 0, i32 0
  %16433 = load i32, ptr %16432, align 4
  %16434 = call zeroext i1 @s2n_result_is_ok(i32 %16433)
  br i1 %16434, label %16488, label %16435

16435:                                            ; preds = %16410
  br label %16436

16436:                                            ; preds = %16435
  br label %16437

16437:                                            ; preds = %16436
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %16438 = call ptr @__errno_location() #12
  %16439 = load i32, ptr %16438, align 4, !tbaa !5
  store i32 %16439, ptr %319, align 4, !tbaa !5
  %16440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16441 = call i32 @s2n_print_stacktrace(ptr noundef %16440)
  %16442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16443 = trunc i8 %16442 to i1
  br i1 %16443, label %16444, label %16466

16444:                                            ; preds = %16437
  %16445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16446 = call i32 @fileno(ptr noundef %16445) #11
  %16447 = call i32 @isatty(i32 noundef %16446) #11
  %16448 = icmp ne i32 %16447, 0
  br i1 %16448, label %16449, label %16466

16449:                                            ; preds = %16444
  %16450 = load i32, ptr %319, align 4, !tbaa !5
  %16451 = call ptr @__errno_location() #12
  store i32 %16450, ptr %16451, align 4, !tbaa !5
  %16452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16453 = load i32, ptr @test_count, align 4, !tbaa !5
  %16454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16455 = load i32, ptr %16454, align 4, !tbaa !5
  %16456 = call ptr @s2n_strerror(i32 noundef %16455, ptr noundef @.str.4)
  %16457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16458 = load i32, ptr %16457, align 4, !tbaa !5
  %16459 = call ptr @s2n_strerror_debug(i32 noundef %16458, ptr noundef @.str.4)
  %16460 = call ptr @__errno_location() #12
  %16461 = load i32, ptr %16460, align 4, !tbaa !5
  %16462 = call ptr @strerror(i32 noundef %16461) #11
  %16463 = call ptr @__errno_location() #12
  %16464 = load i32, ptr %16463, align 4, !tbaa !5
  %16465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16452, ptr noundef @.str.2, i32 noundef %16453, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 637, ptr noundef %16456, ptr noundef %16459, ptr noundef %16462, i32 noundef %16464) #11
  br label %16483

16466:                                            ; preds = %16444, %16437
  %16467 = load i32, ptr %319, align 4, !tbaa !5
  %16468 = call ptr @__errno_location() #12
  store i32 %16467, ptr %16468, align 4, !tbaa !5
  %16469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16470 = load i32, ptr @test_count, align 4, !tbaa !5
  %16471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16472 = load i32, ptr %16471, align 4, !tbaa !5
  %16473 = call ptr @s2n_strerror(i32 noundef %16472, ptr noundef @.str.4)
  %16474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16475 = load i32, ptr %16474, align 4, !tbaa !5
  %16476 = call ptr @s2n_strerror_debug(i32 noundef %16475, ptr noundef @.str.4)
  %16477 = call ptr @__errno_location() #12
  %16478 = load i32, ptr %16477, align 4, !tbaa !5
  %16479 = call ptr @strerror(i32 noundef %16478) #11
  %16480 = call ptr @__errno_location() #12
  %16481 = load i32, ptr %16480, align 4, !tbaa !5
  %16482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16469, ptr noundef @.str.5, i32 noundef %16470, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 637, ptr noundef %16473, ptr noundef %16476, ptr noundef %16479, i32 noundef %16481) #11
  br label %16483

16483:                                            ; preds = %16466, %16449
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %16484

16484:                                            ; preds = %16483
  br label %16485

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

16486:                                            ; No predecessors!
  br label %16487

16487:                                            ; preds = %16486
  br label %16488

16488:                                            ; preds = %16487, %16410
  br label %16489

16489:                                            ; preds = %16488
  br label %16490

16490:                                            ; preds = %16489
  br label %16705

16491:                                            ; preds = %16406
  br label %16492

16492:                                            ; preds = %16491
  br label %16493

16493:                                            ; preds = %16492
  br label %16494

16494:                                            ; preds = %16493
  %16495 = load i32, ptr @test_count, align 4, !tbaa !5
  %16496 = add nsw i32 %16495, 1
  store i32 %16496, ptr @test_count, align 4, !tbaa !5
  %16497 = load i64, ptr %208, align 8, !tbaa !28
  %16498 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16497
  %16499 = getelementptr inbounds %struct.anon, ptr %16498, i32 0, i32 5
  %16500 = load i64, ptr %208, align 8, !tbaa !28
  %16501 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16500
  %16502 = getelementptr inbounds %struct.anon, ptr %16501, i32 0, i32 4
  %16503 = getelementptr inbounds %struct.s2n_blob, ptr %16502, i32 0, i32 0
  %16504 = load ptr, ptr %16503, align 8, !tbaa !75
  %16505 = load i64, ptr %208, align 8, !tbaa !28
  %16506 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16505
  %16507 = getelementptr inbounds %struct.anon, ptr %16506, i32 0, i32 4
  %16508 = getelementptr inbounds %struct.s2n_blob, ptr %16507, i32 0, i32 1
  %16509 = load i32, ptr %16508, align 8, !tbaa !71
  %16510 = call i32 @s2n_compare_utf8_strings(ptr noundef %16499, ptr noundef %16504, i32 noundef 65535, i32 noundef %16509)
  %16511 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %16510, ptr %16511, align 4
  %16512 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %16513 = load i32, ptr %16512, align 4
  %16514 = call zeroext i1 @s2n_result_is_error(i32 %16513)
  br i1 %16514, label %16568, label %16515

16515:                                            ; preds = %16494
  br label %16516

16516:                                            ; preds = %16515
  br label %16517

16517:                                            ; preds = %16516
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %16518 = call ptr @__errno_location() #12
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  store i32 %16519, ptr %321, align 4, !tbaa !5
  %16520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16521 = call i32 @s2n_print_stacktrace(ptr noundef %16520)
  %16522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16523 = trunc i8 %16522 to i1
  br i1 %16523, label %16524, label %16546

16524:                                            ; preds = %16517
  %16525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16526 = call i32 @fileno(ptr noundef %16525) #11
  %16527 = call i32 @isatty(i32 noundef %16526) #11
  %16528 = icmp ne i32 %16527, 0
  br i1 %16528, label %16529, label %16546

16529:                                            ; preds = %16524
  %16530 = load i32, ptr %321, align 4, !tbaa !5
  %16531 = call ptr @__errno_location() #12
  store i32 %16530, ptr %16531, align 4, !tbaa !5
  %16532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16533 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16535, ptr noundef @.str.4)
  %16537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16538 = load i32, ptr %16537, align 4, !tbaa !5
  %16539 = call ptr @s2n_strerror_debug(i32 noundef %16538, ptr noundef @.str.4)
  %16540 = call ptr @__errno_location() #12
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  %16542 = call ptr @strerror(i32 noundef %16541) #11
  %16543 = call ptr @__errno_location() #12
  %16544 = load i32, ptr %16543, align 4, !tbaa !5
  %16545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16532, ptr noundef @.str.2, i32 noundef %16533, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16536, ptr noundef %16539, ptr noundef %16542, i32 noundef %16544) #11
  br label %16563

16546:                                            ; preds = %16524, %16517
  %16547 = load i32, ptr %321, align 4, !tbaa !5
  %16548 = call ptr @__errno_location() #12
  store i32 %16547, ptr %16548, align 4, !tbaa !5
  %16549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16550 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16552, ptr noundef @.str.4)
  %16554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16555 = load i32, ptr %16554, align 4, !tbaa !5
  %16556 = call ptr @s2n_strerror_debug(i32 noundef %16555, ptr noundef @.str.4)
  %16557 = call ptr @__errno_location() #12
  %16558 = load i32, ptr %16557, align 4, !tbaa !5
  %16559 = call ptr @strerror(i32 noundef %16558) #11
  %16560 = call ptr @__errno_location() #12
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  %16562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16549, ptr noundef @.str.5, i32 noundef %16550, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16553, ptr noundef %16556, ptr noundef %16559, i32 noundef %16561) #11
  br label %16563

16563:                                            ; preds = %16546, %16529
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %16564

16564:                                            ; preds = %16563
  br label %16565

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

16566:                                            ; No predecessors!
  br label %16567

16567:                                            ; preds = %16566
  br label %16568

16568:                                            ; preds = %16567, %16494
  br label %16569

16569:                                            ; preds = %16568
  br label %16570

16570:                                            ; preds = %16569
  br label %16571

16571:                                            ; preds = %16570
  %16572 = load i32, ptr @test_count, align 4, !tbaa !5
  %16573 = add nsw i32 %16572, 1
  store i32 %16573, ptr @test_count, align 4, !tbaa !5
  %16574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16575 = load i32, ptr %16574, align 4, !tbaa !5
  %16576 = icmp eq i32 %16575, 469762119
  br i1 %16576, label %16630, label %16577

16577:                                            ; preds = %16571
  br label %16578

16578:                                            ; preds = %16577
  br label %16579

16579:                                            ; preds = %16578
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %16580 = call ptr @__errno_location() #12
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  store i32 %16581, ptr %322, align 4, !tbaa !5
  %16582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16583 = call i32 @s2n_print_stacktrace(ptr noundef %16582)
  %16584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16585 = trunc i8 %16584 to i1
  br i1 %16585, label %16586, label %16608

16586:                                            ; preds = %16579
  %16587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16588 = call i32 @fileno(ptr noundef %16587) #11
  %16589 = call i32 @isatty(i32 noundef %16588) #11
  %16590 = icmp ne i32 %16589, 0
  br i1 %16590, label %16591, label %16608

16591:                                            ; preds = %16586
  %16592 = load i32, ptr %322, align 4, !tbaa !5
  %16593 = call ptr @__errno_location() #12
  store i32 %16592, ptr %16593, align 4, !tbaa !5
  %16594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16595 = load i32, ptr @test_count, align 4, !tbaa !5
  %16596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16597 = load i32, ptr %16596, align 4, !tbaa !5
  %16598 = call ptr @s2n_strerror(i32 noundef %16597, ptr noundef @.str.4)
  %16599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16600 = load i32, ptr %16599, align 4, !tbaa !5
  %16601 = call ptr @s2n_strerror_debug(i32 noundef %16600, ptr noundef @.str.4)
  %16602 = call ptr @__errno_location() #12
  %16603 = load i32, ptr %16602, align 4, !tbaa !5
  %16604 = call ptr @strerror(i32 noundef %16603) #11
  %16605 = call ptr @__errno_location() #12
  %16606 = load i32, ptr %16605, align 4, !tbaa !5
  %16607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16594, ptr noundef @.str.2, i32 noundef %16595, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16598, ptr noundef %16601, ptr noundef %16604, i32 noundef %16606) #11
  br label %16625

16608:                                            ; preds = %16586, %16579
  %16609 = load i32, ptr %322, align 4, !tbaa !5
  %16610 = call ptr @__errno_location() #12
  store i32 %16609, ptr %16610, align 4, !tbaa !5
  %16611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16612 = load i32, ptr @test_count, align 4, !tbaa !5
  %16613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16614 = load i32, ptr %16613, align 4, !tbaa !5
  %16615 = call ptr @s2n_strerror(i32 noundef %16614, ptr noundef @.str.4)
  %16616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16617 = load i32, ptr %16616, align 4, !tbaa !5
  %16618 = call ptr @s2n_strerror_debug(i32 noundef %16617, ptr noundef @.str.4)
  %16619 = call ptr @__errno_location() #12
  %16620 = load i32, ptr %16619, align 4, !tbaa !5
  %16621 = call ptr @strerror(i32 noundef %16620) #11
  %16622 = call ptr @__errno_location() #12
  %16623 = load i32, ptr %16622, align 4, !tbaa !5
  %16624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16611, ptr noundef @.str.5, i32 noundef %16612, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16615, ptr noundef %16618, ptr noundef %16621, i32 noundef %16623) #11
  br label %16625

16625:                                            ; preds = %16608, %16591
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %16626

16626:                                            ; preds = %16625
  br label %16627

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

16628:                                            ; No predecessors!
  br label %16629

16629:                                            ; preds = %16628
  br label %16630

16630:                                            ; preds = %16629, %16571
  br label %16631

16631:                                            ; preds = %16630
  br label %16632

16632:                                            ; preds = %16631
  br label %16633

16633:                                            ; preds = %16632
  %16634 = load i32, ptr @test_count, align 4, !tbaa !5
  %16635 = add nsw i32 %16634, 1
  store i32 %16635, ptr @test_count, align 4, !tbaa !5
  %16636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16637 = load i32, ptr %16636, align 4, !tbaa !5
  %16638 = call ptr @s2n_strerror_debug(i32 noundef %16637, ptr noundef @.str.4)
  %16639 = icmp eq ptr %16638, null
  br i1 %16639, label %16640, label %16693

16640:                                            ; preds = %16633
  br label %16641

16641:                                            ; preds = %16640
  br label %16642

16642:                                            ; preds = %16641
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %16643 = call ptr @__errno_location() #12
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  store i32 %16644, ptr %323, align 4, !tbaa !5
  %16645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16646 = call i32 @s2n_print_stacktrace(ptr noundef %16645)
  %16647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16648 = trunc i8 %16647 to i1
  br i1 %16648, label %16649, label %16671

16649:                                            ; preds = %16642
  %16650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16651 = call i32 @fileno(ptr noundef %16650) #11
  %16652 = call i32 @isatty(i32 noundef %16651) #11
  %16653 = icmp ne i32 %16652, 0
  br i1 %16653, label %16654, label %16671

16654:                                            ; preds = %16649
  %16655 = load i32, ptr %323, align 4, !tbaa !5
  %16656 = call ptr @__errno_location() #12
  store i32 %16655, ptr %16656, align 4, !tbaa !5
  %16657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16658 = load i32, ptr @test_count, align 4, !tbaa !5
  %16659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16660 = load i32, ptr %16659, align 4, !tbaa !5
  %16661 = call ptr @s2n_strerror(i32 noundef %16660, ptr noundef @.str.4)
  %16662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16663 = load i32, ptr %16662, align 4, !tbaa !5
  %16664 = call ptr @s2n_strerror_debug(i32 noundef %16663, ptr noundef @.str.4)
  %16665 = call ptr @__errno_location() #12
  %16666 = load i32, ptr %16665, align 4, !tbaa !5
  %16667 = call ptr @strerror(i32 noundef %16666) #11
  %16668 = call ptr @__errno_location() #12
  %16669 = load i32, ptr %16668, align 4, !tbaa !5
  %16670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16657, ptr noundef @.str.2, i32 noundef %16658, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16661, ptr noundef %16664, ptr noundef %16667, i32 noundef %16669) #11
  br label %16688

16671:                                            ; preds = %16649, %16642
  %16672 = load i32, ptr %323, align 4, !tbaa !5
  %16673 = call ptr @__errno_location() #12
  store i32 %16672, ptr %16673, align 4, !tbaa !5
  %16674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16675 = load i32, ptr @test_count, align 4, !tbaa !5
  %16676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16677 = load i32, ptr %16676, align 4, !tbaa !5
  %16678 = call ptr @s2n_strerror(i32 noundef %16677, ptr noundef @.str.4)
  %16679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16680 = load i32, ptr %16679, align 4, !tbaa !5
  %16681 = call ptr @s2n_strerror_debug(i32 noundef %16680, ptr noundef @.str.4)
  %16682 = call ptr @__errno_location() #12
  %16683 = load i32, ptr %16682, align 4, !tbaa !5
  %16684 = call ptr @strerror(i32 noundef %16683) #11
  %16685 = call ptr @__errno_location() #12
  %16686 = load i32, ptr %16685, align 4, !tbaa !5
  %16687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16674, ptr noundef @.str.5, i32 noundef %16675, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 642, ptr noundef %16678, ptr noundef %16681, ptr noundef %16684, i32 noundef %16686) #11
  br label %16688

16688:                                            ; preds = %16671, %16654
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %16689

16689:                                            ; preds = %16688
  br label %16690

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

16691:                                            ; No predecessors!
  br label %16692

16692:                                            ; preds = %16691
  br label %16693

16693:                                            ; preds = %16692, %16633
  br label %16694

16694:                                            ; preds = %16693
  br label %16695

16695:                                            ; preds = %16694
  br label %16696

16696:                                            ; preds = %16695
  br label %16697

16697:                                            ; preds = %16696
  br label %16698

16698:                                            ; preds = %16697
  %16699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16699, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16700 = call ptr @__errno_location() #12
  store i32 0, ptr %16700, align 4, !tbaa !5
  br label %16701

16701:                                            ; preds = %16698
  br label %16702

16702:                                            ; preds = %16701
  br label %16703

16703:                                            ; preds = %16702
  br label %16704

16704:                                            ; preds = %16703
  br label %16705

16705:                                            ; preds = %16704, %16490
  br label %16706

16706:                                            ; preds = %16705
  %16707 = load i64, ptr %208, align 8, !tbaa !28
  %16708 = add i64 %16707, 1
  store i64 %16708, ptr %208, align 8, !tbaa !28
  br label %16403, !llvm.loop !79

16709:                                            ; preds = %16403
  call void @llvm.lifetime.start.p0(i64 8, ptr %324) #11
  store i64 4, ptr %324, align 8, !tbaa !28
  br label %16710

16710:                                            ; preds = %16709
  %16711 = load i32, ptr @test_count, align 4, !tbaa !5
  %16712 = add nsw i32 %16711, 1
  store i32 %16712, ptr @test_count, align 4, !tbaa !5
  %16713 = load i64, ptr %324, align 8, !tbaa !28
  %16714 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16713
  %16715 = getelementptr inbounds %struct.anon, ptr %16714, i32 0, i32 5
  %16716 = getelementptr inbounds %struct.s2n_blob, ptr %16715, i32 0, i32 1
  %16717 = load i32, ptr %16716, align 8, !tbaa !77
  %16718 = sub i32 %16717, 3
  %16719 = call i32 @s2n_alloc(ptr noundef %206, i32 noundef %16718)
  %16720 = icmp eq i32 %16719, -1
  br i1 %16720, label %16721, label %16774

16721:                                            ; preds = %16710
  br label %16722

16722:                                            ; preds = %16721
  br label %16723

16723:                                            ; preds = %16722
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %16724 = call ptr @__errno_location() #12
  %16725 = load i32, ptr %16724, align 4, !tbaa !5
  store i32 %16725, ptr %325, align 4, !tbaa !5
  %16726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16727 = call i32 @s2n_print_stacktrace(ptr noundef %16726)
  %16728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16729 = trunc i8 %16728 to i1
  br i1 %16729, label %16730, label %16752

16730:                                            ; preds = %16723
  %16731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16732 = call i32 @fileno(ptr noundef %16731) #11
  %16733 = call i32 @isatty(i32 noundef %16732) #11
  %16734 = icmp ne i32 %16733, 0
  br i1 %16734, label %16735, label %16752

16735:                                            ; preds = %16730
  %16736 = load i32, ptr %325, align 4, !tbaa !5
  %16737 = call ptr @__errno_location() #12
  store i32 %16736, ptr %16737, align 4, !tbaa !5
  %16738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16739 = load i32, ptr @test_count, align 4, !tbaa !5
  %16740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16741 = load i32, ptr %16740, align 4, !tbaa !5
  %16742 = call ptr @s2n_strerror(i32 noundef %16741, ptr noundef @.str.4)
  %16743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16744 = load i32, ptr %16743, align 4, !tbaa !5
  %16745 = call ptr @s2n_strerror_debug(i32 noundef %16744, ptr noundef @.str.4)
  %16746 = call ptr @__errno_location() #12
  %16747 = load i32, ptr %16746, align 4, !tbaa !5
  %16748 = call ptr @strerror(i32 noundef %16747) #11
  %16749 = call ptr @__errno_location() #12
  %16750 = load i32, ptr %16749, align 4, !tbaa !5
  %16751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16738, ptr noundef @.str.2, i32 noundef %16739, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 649, ptr noundef %16742, ptr noundef %16745, ptr noundef %16748, i32 noundef %16750) #11
  br label %16769

16752:                                            ; preds = %16730, %16723
  %16753 = load i32, ptr %325, align 4, !tbaa !5
  %16754 = call ptr @__errno_location() #12
  store i32 %16753, ptr %16754, align 4, !tbaa !5
  %16755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16756 = load i32, ptr @test_count, align 4, !tbaa !5
  %16757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16758 = load i32, ptr %16757, align 4, !tbaa !5
  %16759 = call ptr @s2n_strerror(i32 noundef %16758, ptr noundef @.str.4)
  %16760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16761 = load i32, ptr %16760, align 4, !tbaa !5
  %16762 = call ptr @s2n_strerror_debug(i32 noundef %16761, ptr noundef @.str.4)
  %16763 = call ptr @__errno_location() #12
  %16764 = load i32, ptr %16763, align 4, !tbaa !5
  %16765 = call ptr @strerror(i32 noundef %16764) #11
  %16766 = call ptr @__errno_location() #12
  %16767 = load i32, ptr %16766, align 4, !tbaa !5
  %16768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16755, ptr noundef @.str.5, i32 noundef %16756, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 649, ptr noundef %16759, ptr noundef %16762, ptr noundef %16765, i32 noundef %16767) #11
  br label %16769

16769:                                            ; preds = %16752, %16735
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %16770

16770:                                            ; preds = %16769
  br label %16771

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

16772:                                            ; No predecessors!
  br label %16773

16773:                                            ; preds = %16772
  br label %16774

16774:                                            ; preds = %16773, %16710
  br label %16775

16775:                                            ; preds = %16774
  br label %16776

16776:                                            ; preds = %16775
  br label %16777

16777:                                            ; preds = %16776
  br label %16778

16778:                                            ; preds = %16777
  br label %16779

16779:                                            ; preds = %16778
  %16780 = load i32, ptr @test_count, align 4, !tbaa !5
  %16781 = add nsw i32 %16780, 1
  store i32 %16781, ptr @test_count, align 4, !tbaa !5
  %16782 = load i64, ptr %324, align 8, !tbaa !28
  %16783 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16782
  %16784 = getelementptr inbounds %struct.anon, ptr %16783, i32 0, i32 5
  %16785 = getelementptr inbounds %struct.s2n_blob, ptr %16784, i32 0, i32 0
  %16786 = load ptr, ptr %16785, align 8, !tbaa !74
  %16787 = load i64, ptr %324, align 8, !tbaa !28
  %16788 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %16787
  %16789 = getelementptr inbounds %struct.anon, ptr %16788, i32 0, i32 5
  %16790 = getelementptr inbounds %struct.s2n_blob, ptr %16789, i32 0, i32 1
  %16791 = load i32, ptr %16790, align 8, !tbaa !77
  %16792 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 0
  %16793 = load ptr, ptr %16792, align 8, !tbaa !73
  %16794 = getelementptr inbounds %struct.s2n_blob, ptr %206, i32 0, i32 1
  %16795 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %16786, i32 noundef %16791, ptr noundef %16793, ptr noundef %16794)
  %16796 = icmp eq i32 %16795, -1
  br i1 %16796, label %16850, label %16797

16797:                                            ; preds = %16779
  br label %16798

16798:                                            ; preds = %16797
  br label %16799

16799:                                            ; preds = %16798
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %16800 = call ptr @__errno_location() #12
  %16801 = load i32, ptr %16800, align 4, !tbaa !5
  store i32 %16801, ptr %326, align 4, !tbaa !5
  %16802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16803 = call i32 @s2n_print_stacktrace(ptr noundef %16802)
  %16804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16805 = trunc i8 %16804 to i1
  br i1 %16805, label %16806, label %16828

16806:                                            ; preds = %16799
  %16807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16808 = call i32 @fileno(ptr noundef %16807) #11
  %16809 = call i32 @isatty(i32 noundef %16808) #11
  %16810 = icmp ne i32 %16809, 0
  br i1 %16810, label %16811, label %16828

16811:                                            ; preds = %16806
  %16812 = load i32, ptr %326, align 4, !tbaa !5
  %16813 = call ptr @__errno_location() #12
  store i32 %16812, ptr %16813, align 4, !tbaa !5
  %16814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16815 = load i32, ptr @test_count, align 4, !tbaa !5
  %16816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16817 = load i32, ptr %16816, align 4, !tbaa !5
  %16818 = call ptr @s2n_strerror(i32 noundef %16817, ptr noundef @.str.4)
  %16819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16820 = load i32, ptr %16819, align 4, !tbaa !5
  %16821 = call ptr @s2n_strerror_debug(i32 noundef %16820, ptr noundef @.str.4)
  %16822 = call ptr @__errno_location() #12
  %16823 = load i32, ptr %16822, align 4, !tbaa !5
  %16824 = call ptr @strerror(i32 noundef %16823) #11
  %16825 = call ptr @__errno_location() #12
  %16826 = load i32, ptr %16825, align 4, !tbaa !5
  %16827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16814, ptr noundef @.str.2, i32 noundef %16815, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16818, ptr noundef %16821, ptr noundef %16824, i32 noundef %16826) #11
  br label %16845

16828:                                            ; preds = %16806, %16799
  %16829 = load i32, ptr %326, align 4, !tbaa !5
  %16830 = call ptr @__errno_location() #12
  store i32 %16829, ptr %16830, align 4, !tbaa !5
  %16831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16832 = load i32, ptr @test_count, align 4, !tbaa !5
  %16833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16834 = load i32, ptr %16833, align 4, !tbaa !5
  %16835 = call ptr @s2n_strerror(i32 noundef %16834, ptr noundef @.str.4)
  %16836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16837 = load i32, ptr %16836, align 4, !tbaa !5
  %16838 = call ptr @s2n_strerror_debug(i32 noundef %16837, ptr noundef @.str.4)
  %16839 = call ptr @__errno_location() #12
  %16840 = load i32, ptr %16839, align 4, !tbaa !5
  %16841 = call ptr @strerror(i32 noundef %16840) #11
  %16842 = call ptr @__errno_location() #12
  %16843 = load i32, ptr %16842, align 4, !tbaa !5
  %16844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16831, ptr noundef @.str.5, i32 noundef %16832, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16835, ptr noundef %16838, ptr noundef %16841, i32 noundef %16843) #11
  br label %16845

16845:                                            ; preds = %16828, %16811
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %16846

16846:                                            ; preds = %16845
  br label %16847

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

16848:                                            ; No predecessors!
  br label %16849

16849:                                            ; preds = %16848
  br label %16850

16850:                                            ; preds = %16849, %16779
  br label %16851

16851:                                            ; preds = %16850
  br label %16852

16852:                                            ; preds = %16851
  br label %16853

16853:                                            ; preds = %16852
  %16854 = load i32, ptr @test_count, align 4, !tbaa !5
  %16855 = add nsw i32 %16854, 1
  store i32 %16855, ptr @test_count, align 4, !tbaa !5
  %16856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16857 = load i32, ptr %16856, align 4, !tbaa !5
  %16858 = icmp eq i32 %16857, 469762120
  br i1 %16858, label %16912, label %16859

16859:                                            ; preds = %16853
  br label %16860

16860:                                            ; preds = %16859
  br label %16861

16861:                                            ; preds = %16860
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %16862 = call ptr @__errno_location() #12
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  store i32 %16863, ptr %327, align 4, !tbaa !5
  %16864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16865 = call i32 @s2n_print_stacktrace(ptr noundef %16864)
  %16866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16867 = trunc i8 %16866 to i1
  br i1 %16867, label %16868, label %16890

16868:                                            ; preds = %16861
  %16869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16870 = call i32 @fileno(ptr noundef %16869) #11
  %16871 = call i32 @isatty(i32 noundef %16870) #11
  %16872 = icmp ne i32 %16871, 0
  br i1 %16872, label %16873, label %16890

16873:                                            ; preds = %16868
  %16874 = load i32, ptr %327, align 4, !tbaa !5
  %16875 = call ptr @__errno_location() #12
  store i32 %16874, ptr %16875, align 4, !tbaa !5
  %16876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16877 = load i32, ptr @test_count, align 4, !tbaa !5
  %16878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16879 = load i32, ptr %16878, align 4, !tbaa !5
  %16880 = call ptr @s2n_strerror(i32 noundef %16879, ptr noundef @.str.4)
  %16881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16882 = load i32, ptr %16881, align 4, !tbaa !5
  %16883 = call ptr @s2n_strerror_debug(i32 noundef %16882, ptr noundef @.str.4)
  %16884 = call ptr @__errno_location() #12
  %16885 = load i32, ptr %16884, align 4, !tbaa !5
  %16886 = call ptr @strerror(i32 noundef %16885) #11
  %16887 = call ptr @__errno_location() #12
  %16888 = load i32, ptr %16887, align 4, !tbaa !5
  %16889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16876, ptr noundef @.str.2, i32 noundef %16877, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16880, ptr noundef %16883, ptr noundef %16886, i32 noundef %16888) #11
  br label %16907

16890:                                            ; preds = %16868, %16861
  %16891 = load i32, ptr %327, align 4, !tbaa !5
  %16892 = call ptr @__errno_location() #12
  store i32 %16891, ptr %16892, align 4, !tbaa !5
  %16893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16894 = load i32, ptr @test_count, align 4, !tbaa !5
  %16895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16896 = load i32, ptr %16895, align 4, !tbaa !5
  %16897 = call ptr @s2n_strerror(i32 noundef %16896, ptr noundef @.str.4)
  %16898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16899 = load i32, ptr %16898, align 4, !tbaa !5
  %16900 = call ptr @s2n_strerror_debug(i32 noundef %16899, ptr noundef @.str.4)
  %16901 = call ptr @__errno_location() #12
  %16902 = load i32, ptr %16901, align 4, !tbaa !5
  %16903 = call ptr @strerror(i32 noundef %16902) #11
  %16904 = call ptr @__errno_location() #12
  %16905 = load i32, ptr %16904, align 4, !tbaa !5
  %16906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16893, ptr noundef @.str.5, i32 noundef %16894, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16897, ptr noundef %16900, ptr noundef %16903, i32 noundef %16905) #11
  br label %16907

16907:                                            ; preds = %16890, %16873
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %16908

16908:                                            ; preds = %16907
  br label %16909

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

16910:                                            ; No predecessors!
  br label %16911

16911:                                            ; preds = %16910
  br label %16912

16912:                                            ; preds = %16911, %16853
  br label %16913

16913:                                            ; preds = %16912
  br label %16914

16914:                                            ; preds = %16913
  br label %16915

16915:                                            ; preds = %16914
  %16916 = load i32, ptr @test_count, align 4, !tbaa !5
  %16917 = add nsw i32 %16916, 1
  store i32 %16917, ptr @test_count, align 4, !tbaa !5
  %16918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16919 = load i32, ptr %16918, align 4, !tbaa !5
  %16920 = call ptr @s2n_strerror_debug(i32 noundef %16919, ptr noundef @.str.4)
  %16921 = icmp eq ptr %16920, null
  br i1 %16921, label %16922, label %16975

16922:                                            ; preds = %16915
  br label %16923

16923:                                            ; preds = %16922
  br label %16924

16924:                                            ; preds = %16923
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %16925 = call ptr @__errno_location() #12
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  store i32 %16926, ptr %328, align 4, !tbaa !5
  %16927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16928 = call i32 @s2n_print_stacktrace(ptr noundef %16927)
  %16929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16930 = trunc i8 %16929 to i1
  br i1 %16930, label %16931, label %16953

16931:                                            ; preds = %16924
  %16932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16933 = call i32 @fileno(ptr noundef %16932) #11
  %16934 = call i32 @isatty(i32 noundef %16933) #11
  %16935 = icmp ne i32 %16934, 0
  br i1 %16935, label %16936, label %16953

16936:                                            ; preds = %16931
  %16937 = load i32, ptr %328, align 4, !tbaa !5
  %16938 = call ptr @__errno_location() #12
  store i32 %16937, ptr %16938, align 4, !tbaa !5
  %16939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16940 = load i32, ptr @test_count, align 4, !tbaa !5
  %16941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16942 = load i32, ptr %16941, align 4, !tbaa !5
  %16943 = call ptr @s2n_strerror(i32 noundef %16942, ptr noundef @.str.4)
  %16944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16945 = load i32, ptr %16944, align 4, !tbaa !5
  %16946 = call ptr @s2n_strerror_debug(i32 noundef %16945, ptr noundef @.str.4)
  %16947 = call ptr @__errno_location() #12
  %16948 = load i32, ptr %16947, align 4, !tbaa !5
  %16949 = call ptr @strerror(i32 noundef %16948) #11
  %16950 = call ptr @__errno_location() #12
  %16951 = load i32, ptr %16950, align 4, !tbaa !5
  %16952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16939, ptr noundef @.str.2, i32 noundef %16940, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16943, ptr noundef %16946, ptr noundef %16949, i32 noundef %16951) #11
  br label %16970

16953:                                            ; preds = %16931, %16924
  %16954 = load i32, ptr %328, align 4, !tbaa !5
  %16955 = call ptr @__errno_location() #12
  store i32 %16954, ptr %16955, align 4, !tbaa !5
  %16956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16957 = load i32, ptr @test_count, align 4, !tbaa !5
  %16958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16959 = load i32, ptr %16958, align 4, !tbaa !5
  %16960 = call ptr @s2n_strerror(i32 noundef %16959, ptr noundef @.str.4)
  %16961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16962 = load i32, ptr %16961, align 4, !tbaa !5
  %16963 = call ptr @s2n_strerror_debug(i32 noundef %16962, ptr noundef @.str.4)
  %16964 = call ptr @__errno_location() #12
  %16965 = load i32, ptr %16964, align 4, !tbaa !5
  %16966 = call ptr @strerror(i32 noundef %16965) #11
  %16967 = call ptr @__errno_location() #12
  %16968 = load i32, ptr %16967, align 4, !tbaa !5
  %16969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16956, ptr noundef @.str.5, i32 noundef %16957, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 654, ptr noundef %16960, ptr noundef %16963, ptr noundef %16966, i32 noundef %16968) #11
  br label %16970

16970:                                            ; preds = %16953, %16936
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %16971

16971:                                            ; preds = %16970
  br label %16972

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

16973:                                            ; No predecessors!
  br label %16974

16974:                                            ; preds = %16973
  br label %16975

16975:                                            ; preds = %16974, %16915
  br label %16976

16976:                                            ; preds = %16975
  br label %16977

16977:                                            ; preds = %16976
  br label %16978

16978:                                            ; preds = %16977
  br label %16979

16979:                                            ; preds = %16978
  br label %16980

16980:                                            ; preds = %16979
  %16981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16981, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16982 = call ptr @__errno_location() #12
  store i32 0, ptr %16982, align 4, !tbaa !5
  br label %16983

16983:                                            ; preds = %16980
  br label %16984

16984:                                            ; preds = %16983
  br label %16985

16985:                                            ; preds = %16984
  br label %16986

16986:                                            ; preds = %16985
  br label %16987

16987:                                            ; preds = %16986
  %16988 = load i32, ptr @test_count, align 4, !tbaa !5
  %16989 = add nsw i32 %16988, 1
  store i32 %16989, ptr @test_count, align 4, !tbaa !5
  %16990 = call i32 @s2n_free(ptr noundef %206)
  %16991 = icmp eq i32 %16990, -1
  br i1 %16991, label %16992, label %17045

16992:                                            ; preds = %16987
  br label %16993

16993:                                            ; preds = %16992
  br label %16994

16994:                                            ; preds = %16993
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %16995 = call ptr @__errno_location() #12
  %16996 = load i32, ptr %16995, align 4, !tbaa !5
  store i32 %16996, ptr %329, align 4, !tbaa !5
  %16997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16998 = call i32 @s2n_print_stacktrace(ptr noundef %16997)
  %16999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17000 = trunc i8 %16999 to i1
  br i1 %17000, label %17001, label %17023

17001:                                            ; preds = %16994
  %17002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17003 = call i32 @fileno(ptr noundef %17002) #11
  %17004 = call i32 @isatty(i32 noundef %17003) #11
  %17005 = icmp ne i32 %17004, 0
  br i1 %17005, label %17006, label %17023

17006:                                            ; preds = %17001
  %17007 = load i32, ptr %329, align 4, !tbaa !5
  %17008 = call ptr @__errno_location() #12
  store i32 %17007, ptr %17008, align 4, !tbaa !5
  %17009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17010 = load i32, ptr @test_count, align 4, !tbaa !5
  %17011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17012 = load i32, ptr %17011, align 4, !tbaa !5
  %17013 = call ptr @s2n_strerror(i32 noundef %17012, ptr noundef @.str.4)
  %17014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17015 = load i32, ptr %17014, align 4, !tbaa !5
  %17016 = call ptr @s2n_strerror_debug(i32 noundef %17015, ptr noundef @.str.4)
  %17017 = call ptr @__errno_location() #12
  %17018 = load i32, ptr %17017, align 4, !tbaa !5
  %17019 = call ptr @strerror(i32 noundef %17018) #11
  %17020 = call ptr @__errno_location() #12
  %17021 = load i32, ptr %17020, align 4, !tbaa !5
  %17022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17009, ptr noundef @.str.2, i32 noundef %17010, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 655, ptr noundef %17013, ptr noundef %17016, ptr noundef %17019, i32 noundef %17021) #11
  br label %17040

17023:                                            ; preds = %17001, %16994
  %17024 = load i32, ptr %329, align 4, !tbaa !5
  %17025 = call ptr @__errno_location() #12
  store i32 %17024, ptr %17025, align 4, !tbaa !5
  %17026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17027 = load i32, ptr @test_count, align 4, !tbaa !5
  %17028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17029 = load i32, ptr %17028, align 4, !tbaa !5
  %17030 = call ptr @s2n_strerror(i32 noundef %17029, ptr noundef @.str.4)
  %17031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17032 = load i32, ptr %17031, align 4, !tbaa !5
  %17033 = call ptr @s2n_strerror_debug(i32 noundef %17032, ptr noundef @.str.4)
  %17034 = call ptr @__errno_location() #12
  %17035 = load i32, ptr %17034, align 4, !tbaa !5
  %17036 = call ptr @strerror(i32 noundef %17035) #11
  %17037 = call ptr @__errno_location() #12
  %17038 = load i32, ptr %17037, align 4, !tbaa !5
  %17039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17026, ptr noundef @.str.5, i32 noundef %17027, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 655, ptr noundef %17030, ptr noundef %17033, ptr noundef %17036, i32 noundef %17038) #11
  br label %17040

17040:                                            ; preds = %17023, %17006
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %17041

17041:                                            ; preds = %17040
  br label %17042

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

17043:                                            ; No predecessors!
  br label %17044

17044:                                            ; preds = %17043
  br label %17045

17045:                                            ; preds = %17044, %16987
  br label %17046

17046:                                            ; preds = %17045
  br label %17047

17047:                                            ; preds = %17046
  call void @llvm.lifetime.end.p0(i64 8, ptr %324) #11
  store i64 0, ptr %208, align 8, !tbaa !28
  br label %17048

17048:                                            ; preds = %17116, %17047
  %17049 = load i64, ptr %208, align 8, !tbaa !28
  %17050 = icmp ult i64 %17049, 8
  br i1 %17050, label %17051, label %17119

17051:                                            ; preds = %17048
  br label %17052

17052:                                            ; preds = %17051
  %17053 = load i32, ptr @test_count, align 4, !tbaa !5
  %17054 = add nsw i32 %17053, 1
  store i32 %17054, ptr @test_count, align 4, !tbaa !5
  %17055 = load i64, ptr %208, align 8, !tbaa !28
  %17056 = getelementptr inbounds [8 x %struct.anon], ptr %228, i64 0, i64 %17055
  %17057 = getelementptr inbounds %struct.anon, ptr %17056, i32 0, i32 5
  %17058 = call i32 @s2n_free(ptr noundef %17057)
  %17059 = icmp eq i32 %17058, -1
  br i1 %17059, label %17060, label %17113

17060:                                            ; preds = %17052
  br label %17061

17061:                                            ; preds = %17060
  br label %17062

17062:                                            ; preds = %17061
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %17063 = call ptr @__errno_location() #12
  %17064 = load i32, ptr %17063, align 4, !tbaa !5
  store i32 %17064, ptr %330, align 4, !tbaa !5
  %17065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17066 = call i32 @s2n_print_stacktrace(ptr noundef %17065)
  %17067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17068 = trunc i8 %17067 to i1
  br i1 %17068, label %17069, label %17091

17069:                                            ; preds = %17062
  %17070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17071 = call i32 @fileno(ptr noundef %17070) #11
  %17072 = call i32 @isatty(i32 noundef %17071) #11
  %17073 = icmp ne i32 %17072, 0
  br i1 %17073, label %17074, label %17091

17074:                                            ; preds = %17069
  %17075 = load i32, ptr %330, align 4, !tbaa !5
  %17076 = call ptr @__errno_location() #12
  store i32 %17075, ptr %17076, align 4, !tbaa !5
  %17077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17078 = load i32, ptr @test_count, align 4, !tbaa !5
  %17079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17080 = load i32, ptr %17079, align 4, !tbaa !5
  %17081 = call ptr @s2n_strerror(i32 noundef %17080, ptr noundef @.str.4)
  %17082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17083 = load i32, ptr %17082, align 4, !tbaa !5
  %17084 = call ptr @s2n_strerror_debug(i32 noundef %17083, ptr noundef @.str.4)
  %17085 = call ptr @__errno_location() #12
  %17086 = load i32, ptr %17085, align 4, !tbaa !5
  %17087 = call ptr @strerror(i32 noundef %17086) #11
  %17088 = call ptr @__errno_location() #12
  %17089 = load i32, ptr %17088, align 4, !tbaa !5
  %17090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17077, ptr noundef @.str.2, i32 noundef %17078, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 661, ptr noundef %17081, ptr noundef %17084, ptr noundef %17087, i32 noundef %17089) #11
  br label %17108

17091:                                            ; preds = %17069, %17062
  %17092 = load i32, ptr %330, align 4, !tbaa !5
  %17093 = call ptr @__errno_location() #12
  store i32 %17092, ptr %17093, align 4, !tbaa !5
  %17094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17095 = load i32, ptr @test_count, align 4, !tbaa !5
  %17096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17097 = load i32, ptr %17096, align 4, !tbaa !5
  %17098 = call ptr @s2n_strerror(i32 noundef %17097, ptr noundef @.str.4)
  %17099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17100 = load i32, ptr %17099, align 4, !tbaa !5
  %17101 = call ptr @s2n_strerror_debug(i32 noundef %17100, ptr noundef @.str.4)
  %17102 = call ptr @__errno_location() #12
  %17103 = load i32, ptr %17102, align 4, !tbaa !5
  %17104 = call ptr @strerror(i32 noundef %17103) #11
  %17105 = call ptr @__errno_location() #12
  %17106 = load i32, ptr %17105, align 4, !tbaa !5
  %17107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17094, ptr noundef @.str.5, i32 noundef %17095, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 661, ptr noundef %17098, ptr noundef %17101, ptr noundef %17104, i32 noundef %17106) #11
  br label %17108

17108:                                            ; preds = %17091, %17074
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %17109

17109:                                            ; preds = %17108
  br label %17110

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

17111:                                            ; No predecessors!
  br label %17112

17112:                                            ; preds = %17111
  br label %17113

17113:                                            ; preds = %17112, %17052
  br label %17114

17114:                                            ; preds = %17113
  br label %17115

17115:                                            ; preds = %17114
  br label %17116

17116:                                            ; preds = %17115
  %17117 = load i64, ptr %208, align 8, !tbaa !28
  %17118 = add i64 %17117, 1
  store i64 %17118, ptr %208, align 8, !tbaa !28
  br label %17048, !llvm.loop !80

17119:                                            ; preds = %17048
  br label %17120

17120:                                            ; preds = %17119
  %17121 = load i32, ptr @test_count, align 4, !tbaa !5
  %17122 = add nsw i32 %17121, 1
  store i32 %17122, ptr @test_count, align 4, !tbaa !5
  %17123 = load ptr, ptr %209, align 8, !tbaa !9
  %17124 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %17123)
  %17125 = icmp eq i32 %17124, -1
  br i1 %17125, label %17126, label %17179

17126:                                            ; preds = %17120
  br label %17127

17127:                                            ; preds = %17126
  br label %17128

17128:                                            ; preds = %17127
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %17129 = call ptr @__errno_location() #12
  %17130 = load i32, ptr %17129, align 4, !tbaa !5
  store i32 %17130, ptr %331, align 4, !tbaa !5
  %17131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17132 = call i32 @s2n_print_stacktrace(ptr noundef %17131)
  %17133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17134 = trunc i8 %17133 to i1
  br i1 %17134, label %17135, label %17157

17135:                                            ; preds = %17128
  %17136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17137 = call i32 @fileno(ptr noundef %17136) #11
  %17138 = call i32 @isatty(i32 noundef %17137) #11
  %17139 = icmp ne i32 %17138, 0
  br i1 %17139, label %17140, label %17157

17140:                                            ; preds = %17135
  %17141 = load i32, ptr %331, align 4, !tbaa !5
  %17142 = call ptr @__errno_location() #12
  store i32 %17141, ptr %17142, align 4, !tbaa !5
  %17143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17144 = load i32, ptr @test_count, align 4, !tbaa !5
  %17145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17146 = load i32, ptr %17145, align 4, !tbaa !5
  %17147 = call ptr @s2n_strerror(i32 noundef %17146, ptr noundef @.str.4)
  %17148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17149 = load i32, ptr %17148, align 4, !tbaa !5
  %17150 = call ptr @s2n_strerror_debug(i32 noundef %17149, ptr noundef @.str.4)
  %17151 = call ptr @__errno_location() #12
  %17152 = load i32, ptr %17151, align 4, !tbaa !5
  %17153 = call ptr @strerror(i32 noundef %17152) #11
  %17154 = call ptr @__errno_location() #12
  %17155 = load i32, ptr %17154, align 4, !tbaa !5
  %17156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17143, ptr noundef @.str.2, i32 noundef %17144, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 663, ptr noundef %17147, ptr noundef %17150, ptr noundef %17153, i32 noundef %17155) #11
  br label %17174

17157:                                            ; preds = %17135, %17128
  %17158 = load i32, ptr %331, align 4, !tbaa !5
  %17159 = call ptr @__errno_location() #12
  store i32 %17158, ptr %17159, align 4, !tbaa !5
  %17160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17161 = load i32, ptr @test_count, align 4, !tbaa !5
  %17162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17163 = load i32, ptr %17162, align 4, !tbaa !5
  %17164 = call ptr @s2n_strerror(i32 noundef %17163, ptr noundef @.str.4)
  %17165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17166 = load i32, ptr %17165, align 4, !tbaa !5
  %17167 = call ptr @s2n_strerror_debug(i32 noundef %17166, ptr noundef @.str.4)
  %17168 = call ptr @__errno_location() #12
  %17169 = load i32, ptr %17168, align 4, !tbaa !5
  %17170 = call ptr @strerror(i32 noundef %17169) #11
  %17171 = call ptr @__errno_location() #12
  %17172 = load i32, ptr %17171, align 4, !tbaa !5
  %17173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17160, ptr noundef @.str.5, i32 noundef %17161, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 663, ptr noundef %17164, ptr noundef %17167, ptr noundef %17170, i32 noundef %17172) #11
  br label %17174

17174:                                            ; preds = %17157, %17140
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %17175

17175:                                            ; preds = %17174
  br label %17176

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

17177:                                            ; No predecessors!
  br label %17178

17178:                                            ; preds = %17177
  br label %17179

17179:                                            ; preds = %17178, %17120
  br label %17180

17180:                                            ; preds = %17179
  br label %17181

17181:                                            ; preds = %17180
  call void @llvm.lifetime.end.p0(i64 704, ptr %228) #11
  store i32 0, ptr %215, align 4
  br label %17182

17182:                                            ; preds = %17181, %11113
  %17183 = call i32 @s2n_free(ptr noundef %226)
  call void @llvm.lifetime.end.p0(i64 24, ptr %226) #11
  br label %17184

17184:                                            ; preds = %17182, %11103
  %17185 = call i32 @s2n_free(ptr noundef %224)
  call void @llvm.lifetime.end.p0(i64 24, ptr %224) #11
  br label %17186

17186:                                            ; preds = %17184, %11093
  %17187 = call i32 @s2n_free(ptr noundef %222)
  call void @llvm.lifetime.end.p0(i64 24, ptr %222) #11
  br label %17188

17188:                                            ; preds = %17186, %11083
  %17189 = call i32 @s2n_free(ptr noundef %220)
  call void @llvm.lifetime.end.p0(i64 24, ptr %220) #11
  br label %17190

17190:                                            ; preds = %17188, %11073
  %17191 = call i32 @s2n_free(ptr noundef %218)
  call void @llvm.lifetime.end.p0(i64 24, ptr %218) #11
  br label %17192

17192:                                            ; preds = %17190, %11063
  %17193 = call i32 @s2n_free(ptr noundef %216)
  call void @llvm.lifetime.end.p0(i64 24, ptr %216) #11
  br label %17194

17194:                                            ; preds = %17192, %11053
  %17195 = call i32 @s2n_free(ptr noundef %213)
  call void @llvm.lifetime.end.p0(i64 24, ptr %213) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %206) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %205) #11
  %17196 = load i32, ptr %215, align 4
  switch i32 %17196, label %27777 [
    i32 0, label %17197
  ]

17197:                                            ; preds = %17194
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #11
  %17198 = call ptr @s2n_config_new()
  store ptr %17198, ptr %332, align 8, !tbaa !9
  br label %17199

17199:                                            ; preds = %17197
  %17200 = load i32, ptr @test_count, align 4, !tbaa !5
  %17201 = add nsw i32 %17200, 1
  store i32 %17201, ptr @test_count, align 4, !tbaa !5
  %17202 = load ptr, ptr %332, align 8, !tbaa !9
  %17203 = call i32 @s2n_config_set_client_auth_type(ptr noundef %17202, i32 noundef 1)
  %17204 = icmp eq i32 %17203, -1
  br i1 %17204, label %17205, label %17258

17205:                                            ; preds = %17199
  br label %17206

17206:                                            ; preds = %17205
  br label %17207

17207:                                            ; preds = %17206
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %17208 = call ptr @__errno_location() #12
  %17209 = load i32, ptr %17208, align 4, !tbaa !5
  store i32 %17209, ptr %333, align 4, !tbaa !5
  %17210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17211 = call i32 @s2n_print_stacktrace(ptr noundef %17210)
  %17212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17213 = trunc i8 %17212 to i1
  br i1 %17213, label %17214, label %17236

17214:                                            ; preds = %17207
  %17215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17216 = call i32 @fileno(ptr noundef %17215) #11
  %17217 = call i32 @isatty(i32 noundef %17216) #11
  %17218 = icmp ne i32 %17217, 0
  br i1 %17218, label %17219, label %17236

17219:                                            ; preds = %17214
  %17220 = load i32, ptr %333, align 4, !tbaa !5
  %17221 = call ptr @__errno_location() #12
  store i32 %17220, ptr %17221, align 4, !tbaa !5
  %17222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17223 = load i32, ptr @test_count, align 4, !tbaa !5
  %17224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call ptr @s2n_strerror(i32 noundef %17225, ptr noundef @.str.4)
  %17227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17228 = load i32, ptr %17227, align 4, !tbaa !5
  %17229 = call ptr @s2n_strerror_debug(i32 noundef %17228, ptr noundef @.str.4)
  %17230 = call ptr @__errno_location() #12
  %17231 = load i32, ptr %17230, align 4, !tbaa !5
  %17232 = call ptr @strerror(i32 noundef %17231) #11
  %17233 = call ptr @__errno_location() #12
  %17234 = load i32, ptr %17233, align 4, !tbaa !5
  %17235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17222, ptr noundef @.str.2, i32 noundef %17223, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 669, ptr noundef %17226, ptr noundef %17229, ptr noundef %17232, i32 noundef %17234) #11
  br label %17253

17236:                                            ; preds = %17214, %17207
  %17237 = load i32, ptr %333, align 4, !tbaa !5
  %17238 = call ptr @__errno_location() #12
  store i32 %17237, ptr %17238, align 4, !tbaa !5
  %17239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17240 = load i32, ptr @test_count, align 4, !tbaa !5
  %17241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call ptr @s2n_strerror(i32 noundef %17242, ptr noundef @.str.4)
  %17244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17245 = load i32, ptr %17244, align 4, !tbaa !5
  %17246 = call ptr @s2n_strerror_debug(i32 noundef %17245, ptr noundef @.str.4)
  %17247 = call ptr @__errno_location() #12
  %17248 = load i32, ptr %17247, align 4, !tbaa !5
  %17249 = call ptr @strerror(i32 noundef %17248) #11
  %17250 = call ptr @__errno_location() #12
  %17251 = load i32, ptr %17250, align 4, !tbaa !5
  %17252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17239, ptr noundef @.str.5, i32 noundef %17240, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 669, ptr noundef %17243, ptr noundef %17246, ptr noundef %17249, i32 noundef %17251) #11
  br label %17253

17253:                                            ; preds = %17236, %17219
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %17254

17254:                                            ; preds = %17253
  br label %17255

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

17256:                                            ; No predecessors!
  br label %17257

17257:                                            ; preds = %17256
  br label %17258

17258:                                            ; preds = %17257, %17199
  br label %17259

17259:                                            ; preds = %17258
  br label %17260

17260:                                            ; preds = %17259
  br label %17261

17261:                                            ; preds = %17260
  %17262 = load i32, ptr @test_count, align 4, !tbaa !5
  %17263 = add nsw i32 %17262, 1
  store i32 %17263, ptr @test_count, align 4, !tbaa !5
  %17264 = load ptr, ptr %332, align 8, !tbaa !9
  %17265 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %17264, ptr noundef @always_verify_host_fn, ptr noundef null)
  %17266 = icmp eq i32 %17265, -1
  br i1 %17266, label %17267, label %17320

17267:                                            ; preds = %17261
  br label %17268

17268:                                            ; preds = %17267
  br label %17269

17269:                                            ; preds = %17268
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %17270 = call ptr @__errno_location() #12
  %17271 = load i32, ptr %17270, align 4, !tbaa !5
  store i32 %17271, ptr %334, align 4, !tbaa !5
  %17272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17273 = call i32 @s2n_print_stacktrace(ptr noundef %17272)
  %17274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17275 = trunc i8 %17274 to i1
  br i1 %17275, label %17276, label %17298

17276:                                            ; preds = %17269
  %17277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17278 = call i32 @fileno(ptr noundef %17277) #11
  %17279 = call i32 @isatty(i32 noundef %17278) #11
  %17280 = icmp ne i32 %17279, 0
  br i1 %17280, label %17281, label %17298

17281:                                            ; preds = %17276
  %17282 = load i32, ptr %334, align 4, !tbaa !5
  %17283 = call ptr @__errno_location() #12
  store i32 %17282, ptr %17283, align 4, !tbaa !5
  %17284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17285 = load i32, ptr @test_count, align 4, !tbaa !5
  %17286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17287 = load i32, ptr %17286, align 4, !tbaa !5
  %17288 = call ptr @s2n_strerror(i32 noundef %17287, ptr noundef @.str.4)
  %17289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17290 = load i32, ptr %17289, align 4, !tbaa !5
  %17291 = call ptr @s2n_strerror_debug(i32 noundef %17290, ptr noundef @.str.4)
  %17292 = call ptr @__errno_location() #12
  %17293 = load i32, ptr %17292, align 4, !tbaa !5
  %17294 = call ptr @strerror(i32 noundef %17293) #11
  %17295 = call ptr @__errno_location() #12
  %17296 = load i32, ptr %17295, align 4, !tbaa !5
  %17297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17284, ptr noundef @.str.2, i32 noundef %17285, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 670, ptr noundef %17288, ptr noundef %17291, ptr noundef %17294, i32 noundef %17296) #11
  br label %17315

17298:                                            ; preds = %17276, %17269
  %17299 = load i32, ptr %334, align 4, !tbaa !5
  %17300 = call ptr @__errno_location() #12
  store i32 %17299, ptr %17300, align 4, !tbaa !5
  %17301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17302 = load i32, ptr @test_count, align 4, !tbaa !5
  %17303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17304 = load i32, ptr %17303, align 4, !tbaa !5
  %17305 = call ptr @s2n_strerror(i32 noundef %17304, ptr noundef @.str.4)
  %17306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17307 = load i32, ptr %17306, align 4, !tbaa !5
  %17308 = call ptr @s2n_strerror_debug(i32 noundef %17307, ptr noundef @.str.4)
  %17309 = call ptr @__errno_location() #12
  %17310 = load i32, ptr %17309, align 4, !tbaa !5
  %17311 = call ptr @strerror(i32 noundef %17310) #11
  %17312 = call ptr @__errno_location() #12
  %17313 = load i32, ptr %17312, align 4, !tbaa !5
  %17314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17301, ptr noundef @.str.5, i32 noundef %17302, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 670, ptr noundef %17305, ptr noundef %17308, ptr noundef %17311, i32 noundef %17313) #11
  br label %17315

17315:                                            ; preds = %17298, %17281
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %17316

17316:                                            ; preds = %17315
  br label %17317

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

17318:                                            ; No predecessors!
  br label %17319

17319:                                            ; preds = %17318
  br label %17320

17320:                                            ; preds = %17319, %17261
  br label %17321

17321:                                            ; preds = %17320
  br label %17322

17322:                                            ; preds = %17321
  br label %17323

17323:                                            ; preds = %17322
  %17324 = load i32, ptr @test_count, align 4, !tbaa !5
  %17325 = add nsw i32 %17324, 1
  store i32 %17325, ptr @test_count, align 4, !tbaa !5
  %17326 = load ptr, ptr %332, align 8, !tbaa !9
  %17327 = load ptr, ptr %12, align 8, !tbaa !9
  %17328 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %17326, ptr noundef %17327)
  %17329 = icmp eq i32 %17328, -1
  br i1 %17329, label %17330, label %17383

17330:                                            ; preds = %17323
  br label %17331

17331:                                            ; preds = %17330
  br label %17332

17332:                                            ; preds = %17331
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %17333 = call ptr @__errno_location() #12
  %17334 = load i32, ptr %17333, align 4, !tbaa !5
  store i32 %17334, ptr %335, align 4, !tbaa !5
  %17335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17336 = call i32 @s2n_print_stacktrace(ptr noundef %17335)
  %17337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17338 = trunc i8 %17337 to i1
  br i1 %17338, label %17339, label %17361

17339:                                            ; preds = %17332
  %17340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17341 = call i32 @fileno(ptr noundef %17340) #11
  %17342 = call i32 @isatty(i32 noundef %17341) #11
  %17343 = icmp ne i32 %17342, 0
  br i1 %17343, label %17344, label %17361

17344:                                            ; preds = %17339
  %17345 = load i32, ptr %335, align 4, !tbaa !5
  %17346 = call ptr @__errno_location() #12
  store i32 %17345, ptr %17346, align 4, !tbaa !5
  %17347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17348 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17350, ptr noundef @.str.4)
  %17352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17353 = load i32, ptr %17352, align 4, !tbaa !5
  %17354 = call ptr @s2n_strerror_debug(i32 noundef %17353, ptr noundef @.str.4)
  %17355 = call ptr @__errno_location() #12
  %17356 = load i32, ptr %17355, align 4, !tbaa !5
  %17357 = call ptr @strerror(i32 noundef %17356) #11
  %17358 = call ptr @__errno_location() #12
  %17359 = load i32, ptr %17358, align 4, !tbaa !5
  %17360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17347, ptr noundef @.str.2, i32 noundef %17348, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 671, ptr noundef %17351, ptr noundef %17354, ptr noundef %17357, i32 noundef %17359) #11
  br label %17378

17361:                                            ; preds = %17339, %17332
  %17362 = load i32, ptr %335, align 4, !tbaa !5
  %17363 = call ptr @__errno_location() #12
  store i32 %17362, ptr %17363, align 4, !tbaa !5
  %17364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17365 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17367, ptr noundef @.str.4)
  %17369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17370 = load i32, ptr %17369, align 4, !tbaa !5
  %17371 = call ptr @s2n_strerror_debug(i32 noundef %17370, ptr noundef @.str.4)
  %17372 = call ptr @__errno_location() #12
  %17373 = load i32, ptr %17372, align 4, !tbaa !5
  %17374 = call ptr @strerror(i32 noundef %17373) #11
  %17375 = call ptr @__errno_location() #12
  %17376 = load i32, ptr %17375, align 4, !tbaa !5
  %17377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17364, ptr noundef @.str.5, i32 noundef %17365, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 671, ptr noundef %17368, ptr noundef %17371, ptr noundef %17374, i32 noundef %17376) #11
  br label %17378

17378:                                            ; preds = %17361, %17344
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %17379

17379:                                            ; preds = %17378
  br label %17380

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

17381:                                            ; No predecessors!
  br label %17382

17382:                                            ; preds = %17381
  br label %17383

17383:                                            ; preds = %17382, %17323
  br label %17384

17384:                                            ; preds = %17383
  br label %17385

17385:                                            ; preds = %17384
  br label %17386

17386:                                            ; preds = %17385
  %17387 = load i32, ptr @test_count, align 4, !tbaa !5
  %17388 = add nsw i32 %17387, 1
  store i32 %17388, ptr @test_count, align 4, !tbaa !5
  %17389 = load ptr, ptr %332, align 8, !tbaa !9
  %17390 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %17389, ptr noundef @.str.11, ptr noundef null)
  %17391 = icmp eq i32 %17390, -1
  br i1 %17391, label %17392, label %17445

17392:                                            ; preds = %17386
  br label %17393

17393:                                            ; preds = %17392
  br label %17394

17394:                                            ; preds = %17393
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %17395 = call ptr @__errno_location() #12
  %17396 = load i32, ptr %17395, align 4, !tbaa !5
  store i32 %17396, ptr %336, align 4, !tbaa !5
  %17397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17398 = call i32 @s2n_print_stacktrace(ptr noundef %17397)
  %17399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17400 = trunc i8 %17399 to i1
  br i1 %17400, label %17401, label %17423

17401:                                            ; preds = %17394
  %17402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17403 = call i32 @fileno(ptr noundef %17402) #11
  %17404 = call i32 @isatty(i32 noundef %17403) #11
  %17405 = icmp ne i32 %17404, 0
  br i1 %17405, label %17406, label %17423

17406:                                            ; preds = %17401
  %17407 = load i32, ptr %336, align 4, !tbaa !5
  %17408 = call ptr @__errno_location() #12
  store i32 %17407, ptr %17408, align 4, !tbaa !5
  %17409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17410 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17412, ptr noundef @.str.4)
  %17414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17415 = load i32, ptr %17414, align 4, !tbaa !5
  %17416 = call ptr @s2n_strerror_debug(i32 noundef %17415, ptr noundef @.str.4)
  %17417 = call ptr @__errno_location() #12
  %17418 = load i32, ptr %17417, align 4, !tbaa !5
  %17419 = call ptr @strerror(i32 noundef %17418) #11
  %17420 = call ptr @__errno_location() #12
  %17421 = load i32, ptr %17420, align 4, !tbaa !5
  %17422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17409, ptr noundef @.str.2, i32 noundef %17410, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 672, ptr noundef %17413, ptr noundef %17416, ptr noundef %17419, i32 noundef %17421) #11
  br label %17440

17423:                                            ; preds = %17401, %17394
  %17424 = load i32, ptr %336, align 4, !tbaa !5
  %17425 = call ptr @__errno_location() #12
  store i32 %17424, ptr %17425, align 4, !tbaa !5
  %17426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17427 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17429, ptr noundef @.str.4)
  %17431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17432 = load i32, ptr %17431, align 4, !tbaa !5
  %17433 = call ptr @s2n_strerror_debug(i32 noundef %17432, ptr noundef @.str.4)
  %17434 = call ptr @__errno_location() #12
  %17435 = load i32, ptr %17434, align 4, !tbaa !5
  %17436 = call ptr @strerror(i32 noundef %17435) #11
  %17437 = call ptr @__errno_location() #12
  %17438 = load i32, ptr %17437, align 4, !tbaa !5
  %17439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17426, ptr noundef @.str.5, i32 noundef %17427, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 672, ptr noundef %17430, ptr noundef %17433, ptr noundef %17436, i32 noundef %17438) #11
  br label %17440

17440:                                            ; preds = %17423, %17406
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %17441

17441:                                            ; preds = %17440
  br label %17442

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

17443:                                            ; No predecessors!
  br label %17444

17444:                                            ; preds = %17443
  br label %17445

17445:                                            ; preds = %17444, %17386
  br label %17446

17446:                                            ; preds = %17445
  br label %17447

17447:                                            ; preds = %17446
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  %17448 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17448, ptr %337, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #11
  %17449 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17449, ptr %338, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %339) #11
  %17450 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17450, ptr %339, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %340) #11
  %17451 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17451, ptr %340, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #11
  store ptr null, ptr %341, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  store i32 0, ptr %342, align 4, !tbaa !5
  br label %17452

17452:                                            ; preds = %17447
  br label %17453

17453:                                            ; preds = %17452
  br label %17454

17454:                                            ; preds = %17453
  %17455 = load i32, ptr @test_count, align 4, !tbaa !5
  %17456 = add nsw i32 %17455, 1
  store i32 %17456, ptr @test_count, align 4, !tbaa !5
  %17457 = load ptr, ptr %338, align 8, !tbaa !9
  %17458 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %17457, ptr noundef %341, ptr noundef %342)
  %17459 = icmp eq i32 %17458, -1
  br i1 %17459, label %17513, label %17460

17460:                                            ; preds = %17454
  br label %17461

17461:                                            ; preds = %17460
  br label %17462

17462:                                            ; preds = %17461
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %17463 = call ptr @__errno_location() #12
  %17464 = load i32, ptr %17463, align 4, !tbaa !5
  store i32 %17464, ptr %343, align 4, !tbaa !5
  %17465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17466 = call i32 @s2n_print_stacktrace(ptr noundef %17465)
  %17467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17468 = trunc i8 %17467 to i1
  br i1 %17468, label %17469, label %17491

17469:                                            ; preds = %17462
  %17470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17471 = call i32 @fileno(ptr noundef %17470) #11
  %17472 = call i32 @isatty(i32 noundef %17471) #11
  %17473 = icmp ne i32 %17472, 0
  br i1 %17473, label %17474, label %17491

17474:                                            ; preds = %17469
  %17475 = load i32, ptr %343, align 4, !tbaa !5
  %17476 = call ptr @__errno_location() #12
  store i32 %17475, ptr %17476, align 4, !tbaa !5
  %17477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17478 = load i32, ptr @test_count, align 4, !tbaa !5
  %17479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17480 = load i32, ptr %17479, align 4, !tbaa !5
  %17481 = call ptr @s2n_strerror(i32 noundef %17480, ptr noundef @.str.4)
  %17482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17483 = load i32, ptr %17482, align 4, !tbaa !5
  %17484 = call ptr @s2n_strerror_debug(i32 noundef %17483, ptr noundef @.str.4)
  %17485 = call ptr @__errno_location() #12
  %17486 = load i32, ptr %17485, align 4, !tbaa !5
  %17487 = call ptr @strerror(i32 noundef %17486) #11
  %17488 = call ptr @__errno_location() #12
  %17489 = load i32, ptr %17488, align 4, !tbaa !5
  %17490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17477, ptr noundef @.str.2, i32 noundef %17478, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17481, ptr noundef %17484, ptr noundef %17487, i32 noundef %17489) #11
  br label %17508

17491:                                            ; preds = %17469, %17462
  %17492 = load i32, ptr %343, align 4, !tbaa !5
  %17493 = call ptr @__errno_location() #12
  store i32 %17492, ptr %17493, align 4, !tbaa !5
  %17494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17495 = load i32, ptr @test_count, align 4, !tbaa !5
  %17496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17497 = load i32, ptr %17496, align 4, !tbaa !5
  %17498 = call ptr @s2n_strerror(i32 noundef %17497, ptr noundef @.str.4)
  %17499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17500 = load i32, ptr %17499, align 4, !tbaa !5
  %17501 = call ptr @s2n_strerror_debug(i32 noundef %17500, ptr noundef @.str.4)
  %17502 = call ptr @__errno_location() #12
  %17503 = load i32, ptr %17502, align 4, !tbaa !5
  %17504 = call ptr @strerror(i32 noundef %17503) #11
  %17505 = call ptr @__errno_location() #12
  %17506 = load i32, ptr %17505, align 4, !tbaa !5
  %17507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17494, ptr noundef @.str.5, i32 noundef %17495, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17498, ptr noundef %17501, ptr noundef %17504, i32 noundef %17506) #11
  br label %17508

17508:                                            ; preds = %17491, %17474
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %17509

17509:                                            ; preds = %17508
  br label %17510

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

17511:                                            ; No predecessors!
  br label %17512

17512:                                            ; preds = %17511
  br label %17513

17513:                                            ; preds = %17512, %17454
  br label %17514

17514:                                            ; preds = %17513
  br label %17515

17515:                                            ; preds = %17514
  br label %17516

17516:                                            ; preds = %17515
  %17517 = load i32, ptr @test_count, align 4, !tbaa !5
  %17518 = add nsw i32 %17517, 1
  store i32 %17518, ptr @test_count, align 4, !tbaa !5
  %17519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17520 = load i32, ptr %17519, align 4, !tbaa !5
  %17521 = icmp eq i32 %17520, 402653193
  br i1 %17521, label %17575, label %17522

17522:                                            ; preds = %17516
  br label %17523

17523:                                            ; preds = %17522
  br label %17524

17524:                                            ; preds = %17523
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %17525 = call ptr @__errno_location() #12
  %17526 = load i32, ptr %17525, align 4, !tbaa !5
  store i32 %17526, ptr %344, align 4, !tbaa !5
  %17527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17528 = call i32 @s2n_print_stacktrace(ptr noundef %17527)
  %17529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17530 = trunc i8 %17529 to i1
  br i1 %17530, label %17531, label %17553

17531:                                            ; preds = %17524
  %17532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17533 = call i32 @fileno(ptr noundef %17532) #11
  %17534 = call i32 @isatty(i32 noundef %17533) #11
  %17535 = icmp ne i32 %17534, 0
  br i1 %17535, label %17536, label %17553

17536:                                            ; preds = %17531
  %17537 = load i32, ptr %344, align 4, !tbaa !5
  %17538 = call ptr @__errno_location() #12
  store i32 %17537, ptr %17538, align 4, !tbaa !5
  %17539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17540 = load i32, ptr @test_count, align 4, !tbaa !5
  %17541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17542 = load i32, ptr %17541, align 4, !tbaa !5
  %17543 = call ptr @s2n_strerror(i32 noundef %17542, ptr noundef @.str.4)
  %17544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17545 = load i32, ptr %17544, align 4, !tbaa !5
  %17546 = call ptr @s2n_strerror_debug(i32 noundef %17545, ptr noundef @.str.4)
  %17547 = call ptr @__errno_location() #12
  %17548 = load i32, ptr %17547, align 4, !tbaa !5
  %17549 = call ptr @strerror(i32 noundef %17548) #11
  %17550 = call ptr @__errno_location() #12
  %17551 = load i32, ptr %17550, align 4, !tbaa !5
  %17552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17539, ptr noundef @.str.2, i32 noundef %17540, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17543, ptr noundef %17546, ptr noundef %17549, i32 noundef %17551) #11
  br label %17570

17553:                                            ; preds = %17531, %17524
  %17554 = load i32, ptr %344, align 4, !tbaa !5
  %17555 = call ptr @__errno_location() #12
  store i32 %17554, ptr %17555, align 4, !tbaa !5
  %17556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17557 = load i32, ptr @test_count, align 4, !tbaa !5
  %17558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17559 = load i32, ptr %17558, align 4, !tbaa !5
  %17560 = call ptr @s2n_strerror(i32 noundef %17559, ptr noundef @.str.4)
  %17561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17562 = load i32, ptr %17561, align 4, !tbaa !5
  %17563 = call ptr @s2n_strerror_debug(i32 noundef %17562, ptr noundef @.str.4)
  %17564 = call ptr @__errno_location() #12
  %17565 = load i32, ptr %17564, align 4, !tbaa !5
  %17566 = call ptr @strerror(i32 noundef %17565) #11
  %17567 = call ptr @__errno_location() #12
  %17568 = load i32, ptr %17567, align 4, !tbaa !5
  %17569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17556, ptr noundef @.str.5, i32 noundef %17557, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17560, ptr noundef %17563, ptr noundef %17566, i32 noundef %17568) #11
  br label %17570

17570:                                            ; preds = %17553, %17536
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %17571

17571:                                            ; preds = %17570
  br label %17572

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

17573:                                            ; No predecessors!
  br label %17574

17574:                                            ; preds = %17573
  br label %17575

17575:                                            ; preds = %17574, %17516
  br label %17576

17576:                                            ; preds = %17575
  br label %17577

17577:                                            ; preds = %17576
  br label %17578

17578:                                            ; preds = %17577
  %17579 = load i32, ptr @test_count, align 4, !tbaa !5
  %17580 = add nsw i32 %17579, 1
  store i32 %17580, ptr @test_count, align 4, !tbaa !5
  %17581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17582 = load i32, ptr %17581, align 4, !tbaa !5
  %17583 = call ptr @s2n_strerror_debug(i32 noundef %17582, ptr noundef @.str.4)
  %17584 = icmp eq ptr %17583, null
  br i1 %17584, label %17585, label %17638

17585:                                            ; preds = %17578
  br label %17586

17586:                                            ; preds = %17585
  br label %17587

17587:                                            ; preds = %17586
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %17588 = call ptr @__errno_location() #12
  %17589 = load i32, ptr %17588, align 4, !tbaa !5
  store i32 %17589, ptr %345, align 4, !tbaa !5
  %17590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17591 = call i32 @s2n_print_stacktrace(ptr noundef %17590)
  %17592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17593 = trunc i8 %17592 to i1
  br i1 %17593, label %17594, label %17616

17594:                                            ; preds = %17587
  %17595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17596 = call i32 @fileno(ptr noundef %17595) #11
  %17597 = call i32 @isatty(i32 noundef %17596) #11
  %17598 = icmp ne i32 %17597, 0
  br i1 %17598, label %17599, label %17616

17599:                                            ; preds = %17594
  %17600 = load i32, ptr %345, align 4, !tbaa !5
  %17601 = call ptr @__errno_location() #12
  store i32 %17600, ptr %17601, align 4, !tbaa !5
  %17602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17603 = load i32, ptr @test_count, align 4, !tbaa !5
  %17604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17605 = load i32, ptr %17604, align 4, !tbaa !5
  %17606 = call ptr @s2n_strerror(i32 noundef %17605, ptr noundef @.str.4)
  %17607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17608 = load i32, ptr %17607, align 4, !tbaa !5
  %17609 = call ptr @s2n_strerror_debug(i32 noundef %17608, ptr noundef @.str.4)
  %17610 = call ptr @__errno_location() #12
  %17611 = load i32, ptr %17610, align 4, !tbaa !5
  %17612 = call ptr @strerror(i32 noundef %17611) #11
  %17613 = call ptr @__errno_location() #12
  %17614 = load i32, ptr %17613, align 4, !tbaa !5
  %17615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17602, ptr noundef @.str.2, i32 noundef %17603, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17606, ptr noundef %17609, ptr noundef %17612, i32 noundef %17614) #11
  br label %17633

17616:                                            ; preds = %17594, %17587
  %17617 = load i32, ptr %345, align 4, !tbaa !5
  %17618 = call ptr @__errno_location() #12
  store i32 %17617, ptr %17618, align 4, !tbaa !5
  %17619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17620 = load i32, ptr @test_count, align 4, !tbaa !5
  %17621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17622 = load i32, ptr %17621, align 4, !tbaa !5
  %17623 = call ptr @s2n_strerror(i32 noundef %17622, ptr noundef @.str.4)
  %17624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17625 = load i32, ptr %17624, align 4, !tbaa !5
  %17626 = call ptr @s2n_strerror_debug(i32 noundef %17625, ptr noundef @.str.4)
  %17627 = call ptr @__errno_location() #12
  %17628 = load i32, ptr %17627, align 4, !tbaa !5
  %17629 = call ptr @strerror(i32 noundef %17628) #11
  %17630 = call ptr @__errno_location() #12
  %17631 = load i32, ptr %17630, align 4, !tbaa !5
  %17632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17619, ptr noundef @.str.5, i32 noundef %17620, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 687, ptr noundef %17623, ptr noundef %17626, ptr noundef %17629, i32 noundef %17631) #11
  br label %17633

17633:                                            ; preds = %17616, %17599
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %17634

17634:                                            ; preds = %17633
  br label %17635

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

17636:                                            ; No predecessors!
  br label %17637

17637:                                            ; preds = %17636
  br label %17638

17638:                                            ; preds = %17637, %17578
  br label %17639

17639:                                            ; preds = %17638
  br label %17640

17640:                                            ; preds = %17639
  br label %17641

17641:                                            ; preds = %17640
  br label %17642

17642:                                            ; preds = %17641
  br label %17643

17643:                                            ; preds = %17642
  %17644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17644, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17645 = call ptr @__errno_location() #12
  store i32 0, ptr %17645, align 4, !tbaa !5
  br label %17646

17646:                                            ; preds = %17643
  br label %17647

17647:                                            ; preds = %17646
  br label %17648

17648:                                            ; preds = %17647
  br label %17649

17649:                                            ; preds = %17648
  br label %17650

17650:                                            ; preds = %17649
  br label %17651

17651:                                            ; preds = %17650
  br label %17652

17652:                                            ; preds = %17651
  %17653 = load i32, ptr @test_count, align 4, !tbaa !5
  %17654 = add nsw i32 %17653, 1
  store i32 %17654, ptr @test_count, align 4, !tbaa !5
  %17655 = load ptr, ptr %340, align 8, !tbaa !9
  %17656 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %17655, ptr noundef %341, ptr noundef %342)
  %17657 = icmp eq i32 %17656, -1
  br i1 %17657, label %17711, label %17658

17658:                                            ; preds = %17652
  br label %17659

17659:                                            ; preds = %17658
  br label %17660

17660:                                            ; preds = %17659
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %17661 = call ptr @__errno_location() #12
  %17662 = load i32, ptr %17661, align 4, !tbaa !5
  store i32 %17662, ptr %346, align 4, !tbaa !5
  %17663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17664 = call i32 @s2n_print_stacktrace(ptr noundef %17663)
  %17665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17666 = trunc i8 %17665 to i1
  br i1 %17666, label %17667, label %17689

17667:                                            ; preds = %17660
  %17668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17669 = call i32 @fileno(ptr noundef %17668) #11
  %17670 = call i32 @isatty(i32 noundef %17669) #11
  %17671 = icmp ne i32 %17670, 0
  br i1 %17671, label %17672, label %17689

17672:                                            ; preds = %17667
  %17673 = load i32, ptr %346, align 4, !tbaa !5
  %17674 = call ptr @__errno_location() #12
  store i32 %17673, ptr %17674, align 4, !tbaa !5
  %17675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17676 = load i32, ptr @test_count, align 4, !tbaa !5
  %17677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17678 = load i32, ptr %17677, align 4, !tbaa !5
  %17679 = call ptr @s2n_strerror(i32 noundef %17678, ptr noundef @.str.4)
  %17680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17681 = load i32, ptr %17680, align 4, !tbaa !5
  %17682 = call ptr @s2n_strerror_debug(i32 noundef %17681, ptr noundef @.str.4)
  %17683 = call ptr @__errno_location() #12
  %17684 = load i32, ptr %17683, align 4, !tbaa !5
  %17685 = call ptr @strerror(i32 noundef %17684) #11
  %17686 = call ptr @__errno_location() #12
  %17687 = load i32, ptr %17686, align 4, !tbaa !5
  %17688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17675, ptr noundef @.str.2, i32 noundef %17676, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17679, ptr noundef %17682, ptr noundef %17685, i32 noundef %17687) #11
  br label %17706

17689:                                            ; preds = %17667, %17660
  %17690 = load i32, ptr %346, align 4, !tbaa !5
  %17691 = call ptr @__errno_location() #12
  store i32 %17690, ptr %17691, align 4, !tbaa !5
  %17692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17693 = load i32, ptr @test_count, align 4, !tbaa !5
  %17694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17695 = load i32, ptr %17694, align 4, !tbaa !5
  %17696 = call ptr @s2n_strerror(i32 noundef %17695, ptr noundef @.str.4)
  %17697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17698 = load i32, ptr %17697, align 4, !tbaa !5
  %17699 = call ptr @s2n_strerror_debug(i32 noundef %17698, ptr noundef @.str.4)
  %17700 = call ptr @__errno_location() #12
  %17701 = load i32, ptr %17700, align 4, !tbaa !5
  %17702 = call ptr @strerror(i32 noundef %17701) #11
  %17703 = call ptr @__errno_location() #12
  %17704 = load i32, ptr %17703, align 4, !tbaa !5
  %17705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17692, ptr noundef @.str.5, i32 noundef %17693, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17696, ptr noundef %17699, ptr noundef %17702, i32 noundef %17704) #11
  br label %17706

17706:                                            ; preds = %17689, %17672
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %17707

17707:                                            ; preds = %17706
  br label %17708

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

17709:                                            ; No predecessors!
  br label %17710

17710:                                            ; preds = %17709
  br label %17711

17711:                                            ; preds = %17710, %17652
  br label %17712

17712:                                            ; preds = %17711
  br label %17713

17713:                                            ; preds = %17712
  br label %17714

17714:                                            ; preds = %17713
  %17715 = load i32, ptr @test_count, align 4, !tbaa !5
  %17716 = add nsw i32 %17715, 1
  store i32 %17716, ptr @test_count, align 4, !tbaa !5
  %17717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17718 = load i32, ptr %17717, align 4, !tbaa !5
  %17719 = icmp eq i32 %17718, 402653193
  br i1 %17719, label %17773, label %17720

17720:                                            ; preds = %17714
  br label %17721

17721:                                            ; preds = %17720
  br label %17722

17722:                                            ; preds = %17721
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %17723 = call ptr @__errno_location() #12
  %17724 = load i32, ptr %17723, align 4, !tbaa !5
  store i32 %17724, ptr %347, align 4, !tbaa !5
  %17725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17726 = call i32 @s2n_print_stacktrace(ptr noundef %17725)
  %17727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17728 = trunc i8 %17727 to i1
  br i1 %17728, label %17729, label %17751

17729:                                            ; preds = %17722
  %17730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17731 = call i32 @fileno(ptr noundef %17730) #11
  %17732 = call i32 @isatty(i32 noundef %17731) #11
  %17733 = icmp ne i32 %17732, 0
  br i1 %17733, label %17734, label %17751

17734:                                            ; preds = %17729
  %17735 = load i32, ptr %347, align 4, !tbaa !5
  %17736 = call ptr @__errno_location() #12
  store i32 %17735, ptr %17736, align 4, !tbaa !5
  %17737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17738 = load i32, ptr @test_count, align 4, !tbaa !5
  %17739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17740 = load i32, ptr %17739, align 4, !tbaa !5
  %17741 = call ptr @s2n_strerror(i32 noundef %17740, ptr noundef @.str.4)
  %17742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17743 = load i32, ptr %17742, align 4, !tbaa !5
  %17744 = call ptr @s2n_strerror_debug(i32 noundef %17743, ptr noundef @.str.4)
  %17745 = call ptr @__errno_location() #12
  %17746 = load i32, ptr %17745, align 4, !tbaa !5
  %17747 = call ptr @strerror(i32 noundef %17746) #11
  %17748 = call ptr @__errno_location() #12
  %17749 = load i32, ptr %17748, align 4, !tbaa !5
  %17750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17737, ptr noundef @.str.2, i32 noundef %17738, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17741, ptr noundef %17744, ptr noundef %17747, i32 noundef %17749) #11
  br label %17768

17751:                                            ; preds = %17729, %17722
  %17752 = load i32, ptr %347, align 4, !tbaa !5
  %17753 = call ptr @__errno_location() #12
  store i32 %17752, ptr %17753, align 4, !tbaa !5
  %17754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17755 = load i32, ptr @test_count, align 4, !tbaa !5
  %17756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17757 = load i32, ptr %17756, align 4, !tbaa !5
  %17758 = call ptr @s2n_strerror(i32 noundef %17757, ptr noundef @.str.4)
  %17759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17760 = load i32, ptr %17759, align 4, !tbaa !5
  %17761 = call ptr @s2n_strerror_debug(i32 noundef %17760, ptr noundef @.str.4)
  %17762 = call ptr @__errno_location() #12
  %17763 = load i32, ptr %17762, align 4, !tbaa !5
  %17764 = call ptr @strerror(i32 noundef %17763) #11
  %17765 = call ptr @__errno_location() #12
  %17766 = load i32, ptr %17765, align 4, !tbaa !5
  %17767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17754, ptr noundef @.str.5, i32 noundef %17755, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17758, ptr noundef %17761, ptr noundef %17764, i32 noundef %17766) #11
  br label %17768

17768:                                            ; preds = %17751, %17734
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %17769

17769:                                            ; preds = %17768
  br label %17770

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

17771:                                            ; No predecessors!
  br label %17772

17772:                                            ; preds = %17771
  br label %17773

17773:                                            ; preds = %17772, %17714
  br label %17774

17774:                                            ; preds = %17773
  br label %17775

17775:                                            ; preds = %17774
  br label %17776

17776:                                            ; preds = %17775
  %17777 = load i32, ptr @test_count, align 4, !tbaa !5
  %17778 = add nsw i32 %17777, 1
  store i32 %17778, ptr @test_count, align 4, !tbaa !5
  %17779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17780 = load i32, ptr %17779, align 4, !tbaa !5
  %17781 = call ptr @s2n_strerror_debug(i32 noundef %17780, ptr noundef @.str.4)
  %17782 = icmp eq ptr %17781, null
  br i1 %17782, label %17783, label %17836

17783:                                            ; preds = %17776
  br label %17784

17784:                                            ; preds = %17783
  br label %17785

17785:                                            ; preds = %17784
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %17786 = call ptr @__errno_location() #12
  %17787 = load i32, ptr %17786, align 4, !tbaa !5
  store i32 %17787, ptr %348, align 4, !tbaa !5
  %17788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17789 = call i32 @s2n_print_stacktrace(ptr noundef %17788)
  %17790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17791 = trunc i8 %17790 to i1
  br i1 %17791, label %17792, label %17814

17792:                                            ; preds = %17785
  %17793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17794 = call i32 @fileno(ptr noundef %17793) #11
  %17795 = call i32 @isatty(i32 noundef %17794) #11
  %17796 = icmp ne i32 %17795, 0
  br i1 %17796, label %17797, label %17814

17797:                                            ; preds = %17792
  %17798 = load i32, ptr %348, align 4, !tbaa !5
  %17799 = call ptr @__errno_location() #12
  store i32 %17798, ptr %17799, align 4, !tbaa !5
  %17800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17801 = load i32, ptr @test_count, align 4, !tbaa !5
  %17802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17803 = load i32, ptr %17802, align 4, !tbaa !5
  %17804 = call ptr @s2n_strerror(i32 noundef %17803, ptr noundef @.str.4)
  %17805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17806 = load i32, ptr %17805, align 4, !tbaa !5
  %17807 = call ptr @s2n_strerror_debug(i32 noundef %17806, ptr noundef @.str.4)
  %17808 = call ptr @__errno_location() #12
  %17809 = load i32, ptr %17808, align 4, !tbaa !5
  %17810 = call ptr @strerror(i32 noundef %17809) #11
  %17811 = call ptr @__errno_location() #12
  %17812 = load i32, ptr %17811, align 4, !tbaa !5
  %17813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17800, ptr noundef @.str.2, i32 noundef %17801, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17804, ptr noundef %17807, ptr noundef %17810, i32 noundef %17812) #11
  br label %17831

17814:                                            ; preds = %17792, %17785
  %17815 = load i32, ptr %348, align 4, !tbaa !5
  %17816 = call ptr @__errno_location() #12
  store i32 %17815, ptr %17816, align 4, !tbaa !5
  %17817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17818 = load i32, ptr @test_count, align 4, !tbaa !5
  %17819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17820 = load i32, ptr %17819, align 4, !tbaa !5
  %17821 = call ptr @s2n_strerror(i32 noundef %17820, ptr noundef @.str.4)
  %17822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17823 = load i32, ptr %17822, align 4, !tbaa !5
  %17824 = call ptr @s2n_strerror_debug(i32 noundef %17823, ptr noundef @.str.4)
  %17825 = call ptr @__errno_location() #12
  %17826 = load i32, ptr %17825, align 4, !tbaa !5
  %17827 = call ptr @strerror(i32 noundef %17826) #11
  %17828 = call ptr @__errno_location() #12
  %17829 = load i32, ptr %17828, align 4, !tbaa !5
  %17830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17817, ptr noundef @.str.5, i32 noundef %17818, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 689, ptr noundef %17821, ptr noundef %17824, ptr noundef %17827, i32 noundef %17829) #11
  br label %17831

17831:                                            ; preds = %17814, %17797
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %17832

17832:                                            ; preds = %17831
  br label %17833

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

17834:                                            ; No predecessors!
  br label %17835

17835:                                            ; preds = %17834
  br label %17836

17836:                                            ; preds = %17835, %17776
  br label %17837

17837:                                            ; preds = %17836
  br label %17838

17838:                                            ; preds = %17837
  br label %17839

17839:                                            ; preds = %17838
  br label %17840

17840:                                            ; preds = %17839
  br label %17841

17841:                                            ; preds = %17840
  %17842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17842, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17843 = call ptr @__errno_location() #12
  store i32 0, ptr %17843, align 4, !tbaa !5
  br label %17844

17844:                                            ; preds = %17841
  br label %17845

17845:                                            ; preds = %17844
  br label %17846

17846:                                            ; preds = %17845
  br label %17847

17847:                                            ; preds = %17846
  br label %17848

17848:                                            ; preds = %17847
  %17849 = load i32, ptr @test_count, align 4, !tbaa !5
  %17850 = add nsw i32 %17849, 1
  store i32 %17850, ptr @test_count, align 4, !tbaa !5
  %17851 = load ptr, ptr %341, align 8, !tbaa !9
  %17852 = icmp eq ptr %17851, null
  br i1 %17852, label %17906, label %17853

17853:                                            ; preds = %17848
  br label %17854

17854:                                            ; preds = %17853
  br label %17855

17855:                                            ; preds = %17854
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %17856 = call ptr @__errno_location() #12
  %17857 = load i32, ptr %17856, align 4, !tbaa !5
  store i32 %17857, ptr %349, align 4, !tbaa !5
  %17858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17859 = call i32 @s2n_print_stacktrace(ptr noundef %17858)
  %17860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17861 = trunc i8 %17860 to i1
  br i1 %17861, label %17862, label %17884

17862:                                            ; preds = %17855
  %17863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17864 = call i32 @fileno(ptr noundef %17863) #11
  %17865 = call i32 @isatty(i32 noundef %17864) #11
  %17866 = icmp ne i32 %17865, 0
  br i1 %17866, label %17867, label %17884

17867:                                            ; preds = %17862
  %17868 = load i32, ptr %349, align 4, !tbaa !5
  %17869 = call ptr @__errno_location() #12
  store i32 %17868, ptr %17869, align 4, !tbaa !5
  %17870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17871 = load i32, ptr @test_count, align 4, !tbaa !5
  %17872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17873 = load i32, ptr %17872, align 4, !tbaa !5
  %17874 = call ptr @s2n_strerror(i32 noundef %17873, ptr noundef @.str.4)
  %17875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  %17877 = call ptr @s2n_strerror_debug(i32 noundef %17876, ptr noundef @.str.4)
  %17878 = call ptr @__errno_location() #12
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  %17880 = call ptr @strerror(i32 noundef %17879) #11
  %17881 = call ptr @__errno_location() #12
  %17882 = load i32, ptr %17881, align 4, !tbaa !5
  %17883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17870, ptr noundef @.str.2, i32 noundef %17871, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 690, ptr noundef %17874, ptr noundef %17877, ptr noundef %17880, i32 noundef %17882) #11
  br label %17901

17884:                                            ; preds = %17862, %17855
  %17885 = load i32, ptr %349, align 4, !tbaa !5
  %17886 = call ptr @__errno_location() #12
  store i32 %17885, ptr %17886, align 4, !tbaa !5
  %17887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17888 = load i32, 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(i32 noundef %17890, ptr noundef @.str.4)
  %17892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17893 = load i32, ptr %17892, align 4, !tbaa !5
  %17894 = call ptr @s2n_strerror_debug(i32 noundef %17893, ptr noundef @.str.4)
  %17895 = call ptr @__errno_location() #12
  %17896 = load i32, ptr %17895, align 4, !tbaa !5
  %17897 = call ptr @strerror(i32 noundef %17896) #11
  %17898 = call ptr @__errno_location() #12
  %17899 = load i32, ptr %17898, align 4, !tbaa !5
  %17900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17887, ptr noundef @.str.5, i32 noundef %17888, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 690, ptr noundef %17891, ptr noundef %17894, ptr noundef %17897, i32 noundef %17899) #11
  br label %17901

17901:                                            ; preds = %17884, %17867
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %17902

17902:                                            ; preds = %17901
  br label %17903

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

17904:                                            ; No predecessors!
  br label %17905

17905:                                            ; preds = %17904
  br label %17906

17906:                                            ; preds = %17905, %17848
  br label %17907

17907:                                            ; preds = %17906
  br label %17908

17908:                                            ; preds = %17907
  br label %17909

17909:                                            ; preds = %17908
  %17910 = load i32, ptr @test_count, align 4, !tbaa !5
  %17911 = add nsw i32 %17910, 1
  store i32 %17911, ptr @test_count, align 4, !tbaa !5
  %17912 = load i32, ptr %342, align 4, !tbaa !5
  %17913 = icmp eq i32 %17912, 0
  br i1 %17913, label %17967, label %17914

17914:                                            ; preds = %17909
  br label %17915

17915:                                            ; preds = %17914
  br label %17916

17916:                                            ; preds = %17915
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %17917 = call ptr @__errno_location() #12
  %17918 = load i32, ptr %17917, align 4, !tbaa !5
  store i32 %17918, ptr %350, align 4, !tbaa !5
  %17919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17920 = call i32 @s2n_print_stacktrace(ptr noundef %17919)
  %17921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17922 = trunc i8 %17921 to i1
  br i1 %17922, label %17923, label %17945

17923:                                            ; preds = %17916
  %17924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17925 = call i32 @fileno(ptr noundef %17924) #11
  %17926 = call i32 @isatty(i32 noundef %17925) #11
  %17927 = icmp ne i32 %17926, 0
  br i1 %17927, label %17928, label %17945

17928:                                            ; preds = %17923
  %17929 = load i32, ptr %350, align 4, !tbaa !5
  %17930 = call ptr @__errno_location() #12
  store i32 %17929, ptr %17930, align 4, !tbaa !5
  %17931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17932 = load i32, ptr @test_count, align 4, !tbaa !5
  %17933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17934 = load i32, ptr %17933, align 4, !tbaa !5
  %17935 = call ptr @s2n_strerror(i32 noundef %17934, ptr noundef @.str.4)
  %17936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17937 = load i32, ptr %17936, align 4, !tbaa !5
  %17938 = call ptr @s2n_strerror_debug(i32 noundef %17937, ptr noundef @.str.4)
  %17939 = call ptr @__errno_location() #12
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  %17941 = call ptr @strerror(i32 noundef %17940) #11
  %17942 = call ptr @__errno_location() #12
  %17943 = load i32, ptr %17942, align 4, !tbaa !5
  %17944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17931, ptr noundef @.str.2, i32 noundef %17932, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 691, ptr noundef %17935, ptr noundef %17938, ptr noundef %17941, i32 noundef %17943) #11
  br label %17962

17945:                                            ; preds = %17923, %17916
  %17946 = load i32, ptr %350, align 4, !tbaa !5
  %17947 = call ptr @__errno_location() #12
  store i32 %17946, ptr %17947, align 4, !tbaa !5
  %17948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17949 = load i32, ptr @test_count, align 4, !tbaa !5
  %17950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17951 = load i32, ptr %17950, align 4, !tbaa !5
  %17952 = call ptr @s2n_strerror(i32 noundef %17951, ptr noundef @.str.4)
  %17953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17954 = load i32, ptr %17953, align 4, !tbaa !5
  %17955 = call ptr @s2n_strerror_debug(i32 noundef %17954, ptr noundef @.str.4)
  %17956 = call ptr @__errno_location() #12
  %17957 = load i32, ptr %17956, align 4, !tbaa !5
  %17958 = call ptr @strerror(i32 noundef %17957) #11
  %17959 = call ptr @__errno_location() #12
  %17960 = load i32, ptr %17959, align 4, !tbaa !5
  %17961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17948, ptr noundef @.str.5, i32 noundef %17949, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 691, ptr noundef %17952, ptr noundef %17955, ptr noundef %17958, i32 noundef %17960) #11
  br label %17962

17962:                                            ; preds = %17945, %17928
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %17963

17963:                                            ; preds = %17962
  br label %17964

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

17965:                                            ; No predecessors!
  br label %17966

17966:                                            ; preds = %17965
  br label %17967

17967:                                            ; preds = %17966, %17909
  br label %17968

17968:                                            ; preds = %17967
  br label %17969

17969:                                            ; preds = %17968
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #11
  br label %17970

17970:                                            ; preds = %17969
  %17971 = load i32, ptr @test_count, align 4, !tbaa !5
  %17972 = add nsw i32 %17971, 1
  store i32 %17972, ptr @test_count, align 4, !tbaa !5
  %17973 = load ptr, ptr %337, align 8, !tbaa !9
  %17974 = load ptr, ptr %332, align 8, !tbaa !9
  %17975 = call i32 @s2n_connection_set_config(ptr noundef %17973, ptr noundef %17974)
  %17976 = icmp eq i32 %17975, -1
  br i1 %17976, label %17977, label %18030

17977:                                            ; preds = %17970
  br label %17978

17978:                                            ; preds = %17977
  br label %17979

17979:                                            ; preds = %17978
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %17980 = call ptr @__errno_location() #12
  %17981 = load i32, ptr %17980, align 4, !tbaa !5
  store i32 %17981, ptr %351, align 4, !tbaa !5
  %17982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17983 = call i32 @s2n_print_stacktrace(ptr noundef %17982)
  %17984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17985 = trunc i8 %17984 to i1
  br i1 %17985, label %17986, label %18008

17986:                                            ; preds = %17979
  %17987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17988 = call i32 @fileno(ptr noundef %17987) #11
  %17989 = call i32 @isatty(i32 noundef %17988) #11
  %17990 = icmp ne i32 %17989, 0
  br i1 %17990, label %17991, label %18008

17991:                                            ; preds = %17986
  %17992 = load i32, ptr %351, align 4, !tbaa !5
  %17993 = call ptr @__errno_location() #12
  store i32 %17992, ptr %17993, align 4, !tbaa !5
  %17994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17995 = load i32, ptr @test_count, align 4, !tbaa !5
  %17996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17997 = load i32, ptr %17996, align 4, !tbaa !5
  %17998 = call ptr @s2n_strerror(i32 noundef %17997, ptr noundef @.str.4)
  %17999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18000 = load i32, ptr %17999, align 4, !tbaa !5
  %18001 = call ptr @s2n_strerror_debug(i32 noundef %18000, ptr noundef @.str.4)
  %18002 = call ptr @__errno_location() #12
  %18003 = load i32, ptr %18002, align 4, !tbaa !5
  %18004 = call ptr @strerror(i32 noundef %18003) #11
  %18005 = call ptr @__errno_location() #12
  %18006 = load i32, ptr %18005, align 4, !tbaa !5
  %18007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17994, ptr noundef @.str.2, i32 noundef %17995, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 696, ptr noundef %17998, ptr noundef %18001, ptr noundef %18004, i32 noundef %18006) #11
  br label %18025

18008:                                            ; preds = %17986, %17979
  %18009 = load i32, ptr %351, align 4, !tbaa !5
  %18010 = call ptr @__errno_location() #12
  store i32 %18009, ptr %18010, align 4, !tbaa !5
  %18011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18012 = load i32, ptr @test_count, align 4, !tbaa !5
  %18013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18014 = load i32, ptr %18013, align 4, !tbaa !5
  %18015 = call ptr @s2n_strerror(i32 noundef %18014, ptr noundef @.str.4)
  %18016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18017 = load i32, ptr %18016, align 4, !tbaa !5
  %18018 = call ptr @s2n_strerror_debug(i32 noundef %18017, ptr noundef @.str.4)
  %18019 = call ptr @__errno_location() #12
  %18020 = load i32, ptr %18019, align 4, !tbaa !5
  %18021 = call ptr @strerror(i32 noundef %18020) #11
  %18022 = call ptr @__errno_location() #12
  %18023 = load i32, ptr %18022, align 4, !tbaa !5
  %18024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18011, ptr noundef @.str.5, i32 noundef %18012, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 696, ptr noundef %18015, ptr noundef %18018, ptr noundef %18021, i32 noundef %18023) #11
  br label %18025

18025:                                            ; preds = %18008, %17991
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %18026

18026:                                            ; preds = %18025
  br label %18027

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

18028:                                            ; No predecessors!
  br label %18029

18029:                                            ; preds = %18028
  br label %18030

18030:                                            ; preds = %18029, %17970
  br label %18031

18031:                                            ; preds = %18030
  br label %18032

18032:                                            ; preds = %18031
  br label %18033

18033:                                            ; preds = %18032
  %18034 = load i32, ptr @test_count, align 4, !tbaa !5
  %18035 = add nsw i32 %18034, 1
  store i32 %18035, ptr @test_count, align 4, !tbaa !5
  %18036 = load ptr, ptr %338, align 8, !tbaa !9
  %18037 = load ptr, ptr %332, align 8, !tbaa !9
  %18038 = call i32 @s2n_connection_set_config(ptr noundef %18036, ptr noundef %18037)
  %18039 = icmp eq i32 %18038, -1
  br i1 %18039, label %18040, label %18093

18040:                                            ; preds = %18033
  br label %18041

18041:                                            ; preds = %18040
  br label %18042

18042:                                            ; preds = %18041
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %18043 = call ptr @__errno_location() #12
  %18044 = load i32, ptr %18043, align 4, !tbaa !5
  store i32 %18044, ptr %352, align 4, !tbaa !5
  %18045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18046 = call i32 @s2n_print_stacktrace(ptr noundef %18045)
  %18047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18048 = trunc i8 %18047 to i1
  br i1 %18048, label %18049, label %18071

18049:                                            ; preds = %18042
  %18050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18051 = call i32 @fileno(ptr noundef %18050) #11
  %18052 = call i32 @isatty(i32 noundef %18051) #11
  %18053 = icmp ne i32 %18052, 0
  br i1 %18053, label %18054, label %18071

18054:                                            ; preds = %18049
  %18055 = load i32, ptr %352, align 4, !tbaa !5
  %18056 = call ptr @__errno_location() #12
  store i32 %18055, ptr %18056, align 4, !tbaa !5
  %18057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18058 = load i32, ptr @test_count, align 4, !tbaa !5
  %18059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18060 = load i32, ptr %18059, align 4, !tbaa !5
  %18061 = call ptr @s2n_strerror(i32 noundef %18060, ptr noundef @.str.4)
  %18062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18063 = load i32, ptr %18062, align 4, !tbaa !5
  %18064 = call ptr @s2n_strerror_debug(i32 noundef %18063, ptr noundef @.str.4)
  %18065 = call ptr @__errno_location() #12
  %18066 = load i32, ptr %18065, align 4, !tbaa !5
  %18067 = call ptr @strerror(i32 noundef %18066) #11
  %18068 = call ptr @__errno_location() #12
  %18069 = load i32, ptr %18068, align 4, !tbaa !5
  %18070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18057, ptr noundef @.str.2, i32 noundef %18058, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 697, ptr noundef %18061, ptr noundef %18064, ptr noundef %18067, i32 noundef %18069) #11
  br label %18088

18071:                                            ; preds = %18049, %18042
  %18072 = load i32, ptr %352, align 4, !tbaa !5
  %18073 = call ptr @__errno_location() #12
  store i32 %18072, ptr %18073, align 4, !tbaa !5
  %18074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18075 = load i32, ptr @test_count, align 4, !tbaa !5
  %18076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18077 = load i32, ptr %18076, align 4, !tbaa !5
  %18078 = call ptr @s2n_strerror(i32 noundef %18077, ptr noundef @.str.4)
  %18079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18080 = load i32, ptr %18079, align 4, !tbaa !5
  %18081 = call ptr @s2n_strerror_debug(i32 noundef %18080, ptr noundef @.str.4)
  %18082 = call ptr @__errno_location() #12
  %18083 = load i32, ptr %18082, align 4, !tbaa !5
  %18084 = call ptr @strerror(i32 noundef %18083) #11
  %18085 = call ptr @__errno_location() #12
  %18086 = load i32, ptr %18085, align 4, !tbaa !5
  %18087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18074, ptr noundef @.str.5, i32 noundef %18075, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 697, ptr noundef %18078, ptr noundef %18081, ptr noundef %18084, i32 noundef %18086) #11
  br label %18088

18088:                                            ; preds = %18071, %18054
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %18089

18089:                                            ; preds = %18088
  br label %18090

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

18091:                                            ; No predecessors!
  br label %18092

18092:                                            ; preds = %18091
  br label %18093

18093:                                            ; preds = %18092, %18033
  br label %18094

18094:                                            ; preds = %18093
  br label %18095

18095:                                            ; preds = %18094
  br label %18096

18096:                                            ; preds = %18095
  %18097 = load i32, ptr @test_count, align 4, !tbaa !5
  %18098 = add nsw i32 %18097, 1
  store i32 %18098, ptr @test_count, align 4, !tbaa !5
  %18099 = load ptr, ptr %337, align 8, !tbaa !9
  %18100 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %18099, ptr noundef @.str.196)
  %18101 = icmp eq i32 %18100, -1
  br i1 %18101, label %18102, label %18155

18102:                                            ; preds = %18096
  br label %18103

18103:                                            ; preds = %18102
  br label %18104

18104:                                            ; preds = %18103
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %18105 = call ptr @__errno_location() #12
  %18106 = load i32, ptr %18105, align 4, !tbaa !5
  store i32 %18106, ptr %353, align 4, !tbaa !5
  %18107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18108 = call i32 @s2n_print_stacktrace(ptr noundef %18107)
  %18109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18110 = trunc i8 %18109 to i1
  br i1 %18110, label %18111, label %18133

18111:                                            ; preds = %18104
  %18112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18113 = call i32 @fileno(ptr noundef %18112) #11
  %18114 = call i32 @isatty(i32 noundef %18113) #11
  %18115 = icmp ne i32 %18114, 0
  br i1 %18115, label %18116, label %18133

18116:                                            ; preds = %18111
  %18117 = load i32, ptr %353, align 4, !tbaa !5
  %18118 = call ptr @__errno_location() #12
  store i32 %18117, ptr %18118, align 4, !tbaa !5
  %18119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18120 = load i32, ptr @test_count, align 4, !tbaa !5
  %18121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18122 = load i32, ptr %18121, align 4, !tbaa !5
  %18123 = call ptr @s2n_strerror(i32 noundef %18122, ptr noundef @.str.4)
  %18124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18125 = load i32, ptr %18124, align 4, !tbaa !5
  %18126 = call ptr @s2n_strerror_debug(i32 noundef %18125, ptr noundef @.str.4)
  %18127 = call ptr @__errno_location() #12
  %18128 = load i32, ptr %18127, align 4, !tbaa !5
  %18129 = call ptr @strerror(i32 noundef %18128) #11
  %18130 = call ptr @__errno_location() #12
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18119, ptr noundef @.str.2, i32 noundef %18120, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 698, ptr noundef %18123, ptr noundef %18126, ptr noundef %18129, i32 noundef %18131) #11
  br label %18150

18133:                                            ; preds = %18111, %18104
  %18134 = load i32, ptr %353, align 4, !tbaa !5
  %18135 = call ptr @__errno_location() #12
  store i32 %18134, ptr %18135, align 4, !tbaa !5
  %18136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18137 = load i32, ptr @test_count, align 4, !tbaa !5
  %18138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18139 = load i32, ptr %18138, align 4, !tbaa !5
  %18140 = call ptr @s2n_strerror(i32 noundef %18139, ptr noundef @.str.4)
  %18141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18142 = load i32, ptr %18141, align 4, !tbaa !5
  %18143 = call ptr @s2n_strerror_debug(i32 noundef %18142, ptr noundef @.str.4)
  %18144 = call ptr @__errno_location() #12
  %18145 = load i32, ptr %18144, align 4, !tbaa !5
  %18146 = call ptr @strerror(i32 noundef %18145) #11
  %18147 = call ptr @__errno_location() #12
  %18148 = load i32, ptr %18147, align 4, !tbaa !5
  %18149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18136, ptr noundef @.str.5, i32 noundef %18137, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 698, ptr noundef %18140, ptr noundef %18143, ptr noundef %18146, i32 noundef %18148) #11
  br label %18150

18150:                                            ; preds = %18133, %18116
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %18151

18151:                                            ; preds = %18150
  br label %18152

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

18153:                                            ; No predecessors!
  br label %18154

18154:                                            ; preds = %18153
  br label %18155

18155:                                            ; preds = %18154, %18096
  br label %18156

18156:                                            ; preds = %18155
  br label %18157

18157:                                            ; preds = %18156
  br label %18158

18158:                                            ; preds = %18157
  %18159 = load i32, ptr @test_count, align 4, !tbaa !5
  %18160 = add nsw i32 %18159, 1
  store i32 %18160, ptr @test_count, align 4, !tbaa !5
  %18161 = load ptr, ptr %338, align 8, !tbaa !9
  %18162 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %18161, ptr noundef @.str.196)
  %18163 = icmp eq i32 %18162, -1
  br i1 %18163, label %18164, label %18217

18164:                                            ; preds = %18158
  br label %18165

18165:                                            ; preds = %18164
  br label %18166

18166:                                            ; preds = %18165
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %18167 = call ptr @__errno_location() #12
  %18168 = load i32, ptr %18167, align 4, !tbaa !5
  store i32 %18168, ptr %354, align 4, !tbaa !5
  %18169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18170 = call i32 @s2n_print_stacktrace(ptr noundef %18169)
  %18171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18172 = trunc i8 %18171 to i1
  br i1 %18172, label %18173, label %18195

18173:                                            ; preds = %18166
  %18174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18175 = call i32 @fileno(ptr noundef %18174) #11
  %18176 = call i32 @isatty(i32 noundef %18175) #11
  %18177 = icmp ne i32 %18176, 0
  br i1 %18177, label %18178, label %18195

18178:                                            ; preds = %18173
  %18179 = load i32, ptr %354, align 4, !tbaa !5
  %18180 = call ptr @__errno_location() #12
  store i32 %18179, ptr %18180, align 4, !tbaa !5
  %18181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18182 = load i32, ptr @test_count, align 4, !tbaa !5
  %18183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18184 = load i32, ptr %18183, align 4, !tbaa !5
  %18185 = call ptr @s2n_strerror(i32 noundef %18184, ptr noundef @.str.4)
  %18186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18187 = load i32, ptr %18186, align 4, !tbaa !5
  %18188 = call ptr @s2n_strerror_debug(i32 noundef %18187, ptr noundef @.str.4)
  %18189 = call ptr @__errno_location() #12
  %18190 = load i32, ptr %18189, align 4, !tbaa !5
  %18191 = call ptr @strerror(i32 noundef %18190) #11
  %18192 = call ptr @__errno_location() #12
  %18193 = load i32, ptr %18192, align 4, !tbaa !5
  %18194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18181, ptr noundef @.str.2, i32 noundef %18182, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 699, ptr noundef %18185, ptr noundef %18188, ptr noundef %18191, i32 noundef %18193) #11
  br label %18212

18195:                                            ; preds = %18173, %18166
  %18196 = load i32, ptr %354, align 4, !tbaa !5
  %18197 = call ptr @__errno_location() #12
  store i32 %18196, ptr %18197, align 4, !tbaa !5
  %18198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18199 = load i32, ptr @test_count, align 4, !tbaa !5
  %18200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18201 = load i32, ptr %18200, align 4, !tbaa !5
  %18202 = call ptr @s2n_strerror(i32 noundef %18201, ptr noundef @.str.4)
  %18203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18204 = load i32, ptr %18203, align 4, !tbaa !5
  %18205 = call ptr @s2n_strerror_debug(i32 noundef %18204, ptr noundef @.str.4)
  %18206 = call ptr @__errno_location() #12
  %18207 = load i32, ptr %18206, align 4, !tbaa !5
  %18208 = call ptr @strerror(i32 noundef %18207) #11
  %18209 = call ptr @__errno_location() #12
  %18210 = load i32, ptr %18209, align 4, !tbaa !5
  %18211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18198, ptr noundef @.str.5, i32 noundef %18199, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 699, ptr noundef %18202, ptr noundef %18205, ptr noundef %18208, i32 noundef %18210) #11
  br label %18212

18212:                                            ; preds = %18195, %18178
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %18213

18213:                                            ; preds = %18212
  br label %18214

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

18215:                                            ; No predecessors!
  br label %18216

18216:                                            ; preds = %18215
  br label %18217

18217:                                            ; preds = %18216, %18158
  br label %18218

18218:                                            ; preds = %18217
  br label %18219

18219:                                            ; preds = %18218
  call void @llvm.lifetime.start.p0(i64 8, ptr %355) #11
  call void @llvm.memset.p0.i64(ptr align 4 %355, i8 0, i64 8, i1 false)
  br label %18220

18220:                                            ; preds = %18219
  %18221 = load i32, ptr @test_count, align 4, !tbaa !5
  %18222 = add nsw i32 %18221, 1
  store i32 %18222, ptr @test_count, align 4, !tbaa !5
  %18223 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %355)
  %18224 = icmp eq i32 %18223, -1
  br i1 %18224, label %18225, label %18278

18225:                                            ; preds = %18220
  br label %18226

18226:                                            ; preds = %18225
  br label %18227

18227:                                            ; preds = %18226
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %18228 = call ptr @__errno_location() #12
  %18229 = load i32, ptr %18228, align 4, !tbaa !5
  store i32 %18229, ptr %356, align 4, !tbaa !5
  %18230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18231 = call i32 @s2n_print_stacktrace(ptr noundef %18230)
  %18232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18233 = trunc i8 %18232 to i1
  br i1 %18233, label %18234, label %18256

18234:                                            ; preds = %18227
  %18235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18236 = call i32 @fileno(ptr noundef %18235) #11
  %18237 = call i32 @isatty(i32 noundef %18236) #11
  %18238 = icmp ne i32 %18237, 0
  br i1 %18238, label %18239, label %18256

18239:                                            ; preds = %18234
  %18240 = load i32, ptr %356, align 4, !tbaa !5
  %18241 = call ptr @__errno_location() #12
  store i32 %18240, ptr %18241, align 4, !tbaa !5
  %18242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18243 = load i32, ptr @test_count, align 4, !tbaa !5
  %18244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18245 = load i32, ptr %18244, align 4, !tbaa !5
  %18246 = call ptr @s2n_strerror(i32 noundef %18245, ptr noundef @.str.4)
  %18247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18248 = load i32, ptr %18247, align 4, !tbaa !5
  %18249 = call ptr @s2n_strerror_debug(i32 noundef %18248, ptr noundef @.str.4)
  %18250 = call ptr @__errno_location() #12
  %18251 = load i32, ptr %18250, align 4, !tbaa !5
  %18252 = call ptr @strerror(i32 noundef %18251) #11
  %18253 = call ptr @__errno_location() #12
  %18254 = load i32, ptr %18253, align 4, !tbaa !5
  %18255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18242, ptr noundef @.str.2, i32 noundef %18243, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 702, ptr noundef %18246, ptr noundef %18249, ptr noundef %18252, i32 noundef %18254) #11
  br label %18273

18256:                                            ; preds = %18234, %18227
  %18257 = load i32, ptr %356, align 4, !tbaa !5
  %18258 = call ptr @__errno_location() #12
  store i32 %18257, ptr %18258, align 4, !tbaa !5
  %18259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18260 = load i32, ptr @test_count, align 4, !tbaa !5
  %18261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18262 = load i32, ptr %18261, align 4, !tbaa !5
  %18263 = call ptr @s2n_strerror(i32 noundef %18262, ptr noundef @.str.4)
  %18264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18265 = load i32, ptr %18264, align 4, !tbaa !5
  %18266 = call ptr @s2n_strerror_debug(i32 noundef %18265, ptr noundef @.str.4)
  %18267 = call ptr @__errno_location() #12
  %18268 = load i32, ptr %18267, align 4, !tbaa !5
  %18269 = call ptr @strerror(i32 noundef %18268) #11
  %18270 = call ptr @__errno_location() #12
  %18271 = load i32, ptr %18270, align 4, !tbaa !5
  %18272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18259, ptr noundef @.str.5, i32 noundef %18260, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 702, ptr noundef %18263, ptr noundef %18266, ptr noundef %18269, i32 noundef %18271) #11
  br label %18273

18273:                                            ; preds = %18256, %18239
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %18274

18274:                                            ; preds = %18273
  br label %18275

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

18276:                                            ; No predecessors!
  br label %18277

18277:                                            ; preds = %18276
  br label %18278

18278:                                            ; preds = %18277, %18220
  br label %18279

18279:                                            ; preds = %18278
  br label %18280

18280:                                            ; preds = %18279
  br label %18281

18281:                                            ; preds = %18280
  %18282 = load i32, ptr @test_count, align 4, !tbaa !5
  %18283 = add nsw i32 %18282, 1
  store i32 %18283, ptr @test_count, align 4, !tbaa !5
  %18284 = load ptr, ptr %337, align 8, !tbaa !9
  %18285 = load ptr, ptr %338, align 8, !tbaa !9
  %18286 = call i32 @s2n_connections_set_io_pair(ptr noundef %18284, ptr noundef %18285, ptr noundef %355)
  %18287 = icmp eq i32 %18286, -1
  br i1 %18287, label %18288, label %18341

18288:                                            ; preds = %18281
  br label %18289

18289:                                            ; preds = %18288
  br label %18290

18290:                                            ; preds = %18289
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %18291 = call ptr @__errno_location() #12
  %18292 = load i32, ptr %18291, align 4, !tbaa !5
  store i32 %18292, ptr %357, align 4, !tbaa !5
  %18293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18294 = call i32 @s2n_print_stacktrace(ptr noundef %18293)
  %18295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18296 = trunc i8 %18295 to i1
  br i1 %18296, label %18297, label %18319

18297:                                            ; preds = %18290
  %18298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18299 = call i32 @fileno(ptr noundef %18298) #11
  %18300 = call i32 @isatty(i32 noundef %18299) #11
  %18301 = icmp ne i32 %18300, 0
  br i1 %18301, label %18302, label %18319

18302:                                            ; preds = %18297
  %18303 = load i32, ptr %357, align 4, !tbaa !5
  %18304 = call ptr @__errno_location() #12
  store i32 %18303, ptr %18304, align 4, !tbaa !5
  %18305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18306 = load i32, ptr @test_count, align 4, !tbaa !5
  %18307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18308 = load i32, ptr %18307, align 4, !tbaa !5
  %18309 = call ptr @s2n_strerror(i32 noundef %18308, ptr noundef @.str.4)
  %18310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18311 = load i32, ptr %18310, align 4, !tbaa !5
  %18312 = call ptr @s2n_strerror_debug(i32 noundef %18311, ptr noundef @.str.4)
  %18313 = call ptr @__errno_location() #12
  %18314 = load i32, ptr %18313, align 4, !tbaa !5
  %18315 = call ptr @strerror(i32 noundef %18314) #11
  %18316 = call ptr @__errno_location() #12
  %18317 = load i32, ptr %18316, align 4, !tbaa !5
  %18318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18305, ptr noundef @.str.2, i32 noundef %18306, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 703, ptr noundef %18309, ptr noundef %18312, ptr noundef %18315, i32 noundef %18317) #11
  br label %18336

18319:                                            ; preds = %18297, %18290
  %18320 = load i32, ptr %357, align 4, !tbaa !5
  %18321 = call ptr @__errno_location() #12
  store i32 %18320, ptr %18321, align 4, !tbaa !5
  %18322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18323 = load i32, ptr @test_count, align 4, !tbaa !5
  %18324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18325 = load i32, ptr %18324, align 4, !tbaa !5
  %18326 = call ptr @s2n_strerror(i32 noundef %18325, ptr noundef @.str.4)
  %18327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18328 = load i32, ptr %18327, align 4, !tbaa !5
  %18329 = call ptr @s2n_strerror_debug(i32 noundef %18328, ptr noundef @.str.4)
  %18330 = call ptr @__errno_location() #12
  %18331 = load i32, ptr %18330, align 4, !tbaa !5
  %18332 = call ptr @strerror(i32 noundef %18331) #11
  %18333 = call ptr @__errno_location() #12
  %18334 = load i32, ptr %18333, align 4, !tbaa !5
  %18335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18322, ptr noundef @.str.5, i32 noundef %18323, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 703, ptr noundef %18326, ptr noundef %18329, ptr noundef %18332, i32 noundef %18334) #11
  br label %18336

18336:                                            ; preds = %18319, %18302
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %18337

18337:                                            ; preds = %18336
  br label %18338

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

18339:                                            ; No predecessors!
  br label %18340

18340:                                            ; preds = %18339
  br label %18341

18341:                                            ; preds = %18340, %18281
  br label %18342

18342:                                            ; preds = %18341
  br label %18343

18343:                                            ; preds = %18342
  br label %18344

18344:                                            ; preds = %18343
  %18345 = load i32, ptr @test_count, align 4, !tbaa !5
  %18346 = add nsw i32 %18345, 1
  store i32 %18346, ptr @test_count, align 4, !tbaa !5
  %18347 = load ptr, ptr %338, align 8, !tbaa !9
  %18348 = load ptr, ptr %337, align 8, !tbaa !9
  %18349 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18347, ptr noundef %18348)
  %18350 = icmp eq i32 %18349, -1
  br i1 %18350, label %18351, label %18404

18351:                                            ; preds = %18344
  br label %18352

18352:                                            ; preds = %18351
  br label %18353

18353:                                            ; preds = %18352
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %18354 = call ptr @__errno_location() #12
  %18355 = load i32, ptr %18354, align 4, !tbaa !5
  store i32 %18355, ptr %358, align 4, !tbaa !5
  %18356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18357 = call i32 @s2n_print_stacktrace(ptr noundef %18356)
  %18358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18359 = trunc i8 %18358 to i1
  br i1 %18359, label %18360, label %18382

18360:                                            ; preds = %18353
  %18361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18362 = call i32 @fileno(ptr noundef %18361) #11
  %18363 = call i32 @isatty(i32 noundef %18362) #11
  %18364 = icmp ne i32 %18363, 0
  br i1 %18364, label %18365, label %18382

18365:                                            ; preds = %18360
  %18366 = load i32, ptr %358, align 4, !tbaa !5
  %18367 = call ptr @__errno_location() #12
  store i32 %18366, ptr %18367, align 4, !tbaa !5
  %18368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18369 = load i32, ptr @test_count, align 4, !tbaa !5
  %18370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18371 = load i32, ptr %18370, align 4, !tbaa !5
  %18372 = call ptr @s2n_strerror(i32 noundef %18371, ptr noundef @.str.4)
  %18373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18374 = load i32, ptr %18373, align 4, !tbaa !5
  %18375 = call ptr @s2n_strerror_debug(i32 noundef %18374, ptr noundef @.str.4)
  %18376 = call ptr @__errno_location() #12
  %18377 = load i32, ptr %18376, align 4, !tbaa !5
  %18378 = call ptr @strerror(i32 noundef %18377) #11
  %18379 = call ptr @__errno_location() #12
  %18380 = load i32, ptr %18379, align 4, !tbaa !5
  %18381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18368, ptr noundef @.str.2, i32 noundef %18369, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 704, ptr noundef %18372, ptr noundef %18375, ptr noundef %18378, i32 noundef %18380) #11
  br label %18399

18382:                                            ; preds = %18360, %18353
  %18383 = load i32, ptr %358, align 4, !tbaa !5
  %18384 = call ptr @__errno_location() #12
  store i32 %18383, ptr %18384, align 4, !tbaa !5
  %18385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18386 = load i32, ptr @test_count, align 4, !tbaa !5
  %18387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18388 = load i32, ptr %18387, align 4, !tbaa !5
  %18389 = call ptr @s2n_strerror(i32 noundef %18388, ptr noundef @.str.4)
  %18390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18391 = load i32, ptr %18390, align 4, !tbaa !5
  %18392 = call ptr @s2n_strerror_debug(i32 noundef %18391, ptr noundef @.str.4)
  %18393 = call ptr @__errno_location() #12
  %18394 = load i32, ptr %18393, align 4, !tbaa !5
  %18395 = call ptr @strerror(i32 noundef %18394) #11
  %18396 = call ptr @__errno_location() #12
  %18397 = load i32, ptr %18396, align 4, !tbaa !5
  %18398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18385, ptr noundef @.str.5, i32 noundef %18386, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 704, ptr noundef %18389, ptr noundef %18392, ptr noundef %18395, i32 noundef %18397) #11
  br label %18399

18399:                                            ; preds = %18382, %18365
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %18400

18400:                                            ; preds = %18399
  br label %18401

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

18402:                                            ; No predecessors!
  br label %18403

18403:                                            ; preds = %18402
  br label %18404

18404:                                            ; preds = %18403, %18344
  br label %18405

18405:                                            ; preds = %18404
  br label %18406

18406:                                            ; preds = %18405
  br label %18407

18407:                                            ; preds = %18406
  %18408 = load i32, ptr @test_count, align 4, !tbaa !5
  %18409 = add nsw i32 %18408, 1
  store i32 %18409, ptr @test_count, align 4, !tbaa !5
  %18410 = load ptr, ptr %338, align 8, !tbaa !9
  %18411 = getelementptr inbounds %struct.s2n_connection, ptr %18410, i32 0, i32 23
  %18412 = load i8, ptr %18411, align 4, !tbaa !81
  %18413 = zext i8 %18412 to i32
  %18414 = icmp eq i32 %18413, 33
  br i1 %18414, label %18468, label %18415

18415:                                            ; preds = %18407
  br label %18416

18416:                                            ; preds = %18415
  br label %18417

18417:                                            ; preds = %18416
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %18418 = call ptr @__errno_location() #12
  %18419 = load i32, ptr %18418, align 4, !tbaa !5
  store i32 %18419, ptr %359, align 4, !tbaa !5
  %18420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18421 = call i32 @s2n_print_stacktrace(ptr noundef %18420)
  %18422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18423 = trunc i8 %18422 to i1
  br i1 %18423, label %18424, label %18446

18424:                                            ; preds = %18417
  %18425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18426 = call i32 @fileno(ptr noundef %18425) #11
  %18427 = call i32 @isatty(i32 noundef %18426) #11
  %18428 = icmp ne i32 %18427, 0
  br i1 %18428, label %18429, label %18446

18429:                                            ; preds = %18424
  %18430 = load i32, ptr %359, align 4, !tbaa !5
  %18431 = call ptr @__errno_location() #12
  store i32 %18430, ptr %18431, align 4, !tbaa !5
  %18432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18433 = load i32, ptr @test_count, align 4, !tbaa !5
  %18434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18435 = load i32, ptr %18434, align 4, !tbaa !5
  %18436 = call ptr @s2n_strerror(i32 noundef %18435, ptr noundef @.str.4)
  %18437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18438 = load i32, ptr %18437, align 4, !tbaa !5
  %18439 = call ptr @s2n_strerror_debug(i32 noundef %18438, ptr noundef @.str.4)
  %18440 = call ptr @__errno_location() #12
  %18441 = load i32, ptr %18440, align 4, !tbaa !5
  %18442 = call ptr @strerror(i32 noundef %18441) #11
  %18443 = call ptr @__errno_location() #12
  %18444 = load i32, ptr %18443, align 4, !tbaa !5
  %18445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18432, ptr noundef @.str.2, i32 noundef %18433, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 706, ptr noundef %18436, ptr noundef %18439, ptr noundef %18442, i32 noundef %18444) #11
  br label %18463

18446:                                            ; preds = %18424, %18417
  %18447 = load i32, ptr %359, align 4, !tbaa !5
  %18448 = call ptr @__errno_location() #12
  store i32 %18447, ptr %18448, align 4, !tbaa !5
  %18449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18450 = load i32, ptr @test_count, align 4, !tbaa !5
  %18451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18452 = load i32, ptr %18451, align 4, !tbaa !5
  %18453 = call ptr @s2n_strerror(i32 noundef %18452, ptr noundef @.str.4)
  %18454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18455 = load i32, ptr %18454, align 4, !tbaa !5
  %18456 = call ptr @s2n_strerror_debug(i32 noundef %18455, ptr noundef @.str.4)
  %18457 = call ptr @__errno_location() #12
  %18458 = load i32, ptr %18457, align 4, !tbaa !5
  %18459 = call ptr @strerror(i32 noundef %18458) #11
  %18460 = call ptr @__errno_location() #12
  %18461 = load i32, ptr %18460, align 4, !tbaa !5
  %18462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18449, ptr noundef @.str.5, i32 noundef %18450, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 706, ptr noundef %18453, ptr noundef %18456, ptr noundef %18459, i32 noundef %18461) #11
  br label %18463

18463:                                            ; preds = %18446, %18429
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %18464

18464:                                            ; preds = %18463
  br label %18465

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

18466:                                            ; No predecessors!
  br label %18467

18467:                                            ; preds = %18466
  br label %18468

18468:                                            ; preds = %18467, %18407
  br label %18469

18469:                                            ; preds = %18468
  br label %18470

18470:                                            ; preds = %18469
  br label %18471

18471:                                            ; preds = %18470
  %18472 = load i32, ptr @test_count, align 4, !tbaa !5
  %18473 = add nsw i32 %18472, 1
  store i32 %18473, ptr @test_count, align 4, !tbaa !5
  %18474 = load ptr, ptr %338, align 8, !tbaa !9
  %18475 = getelementptr inbounds %struct.s2n_connection, ptr %18474, i32 0, i32 32
  %18476 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %18475, i32 0, i32 2
  %18477 = getelementptr inbounds %struct.s2n_blob, ptr %18476, i32 0, i32 0
  %18478 = load ptr, ptr %18477, align 8, !tbaa !82
  %18479 = icmp eq ptr %18478, null
  br i1 %18479, label %18480, label %18533

18480:                                            ; preds = %18471
  br label %18481

18481:                                            ; preds = %18480
  br label %18482

18482:                                            ; preds = %18481
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %18483 = call ptr @__errno_location() #12
  %18484 = load i32, ptr %18483, align 4, !tbaa !5
  store i32 %18484, ptr %360, align 4, !tbaa !5
  %18485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18486 = call i32 @s2n_print_stacktrace(ptr noundef %18485)
  %18487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18488 = trunc i8 %18487 to i1
  br i1 %18488, label %18489, label %18511

18489:                                            ; preds = %18482
  %18490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18491 = call i32 @fileno(ptr noundef %18490) #11
  %18492 = call i32 @isatty(i32 noundef %18491) #11
  %18493 = icmp ne i32 %18492, 0
  br i1 %18493, label %18494, label %18511

18494:                                            ; preds = %18489
  %18495 = load i32, ptr %360, align 4, !tbaa !5
  %18496 = call ptr @__errno_location() #12
  store i32 %18495, ptr %18496, align 4, !tbaa !5
  %18497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18498 = load i32, ptr @test_count, align 4, !tbaa !5
  %18499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18500 = load i32, ptr %18499, align 4, !tbaa !5
  %18501 = call ptr @s2n_strerror(i32 noundef %18500, ptr noundef @.str.4)
  %18502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18503 = load i32, ptr %18502, align 4, !tbaa !5
  %18504 = call ptr @s2n_strerror_debug(i32 noundef %18503, ptr noundef @.str.4)
  %18505 = call ptr @__errno_location() #12
  %18506 = load i32, ptr %18505, align 4, !tbaa !5
  %18507 = call ptr @strerror(i32 noundef %18506) #11
  %18508 = call ptr @__errno_location() #12
  %18509 = load i32, ptr %18508, align 4, !tbaa !5
  %18510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18497, ptr noundef @.str.2, i32 noundef %18498, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 707, ptr noundef %18501, ptr noundef %18504, ptr noundef %18507, i32 noundef %18509) #11
  br label %18528

18511:                                            ; preds = %18489, %18482
  %18512 = load i32, ptr %360, align 4, !tbaa !5
  %18513 = call ptr @__errno_location() #12
  store i32 %18512, ptr %18513, align 4, !tbaa !5
  %18514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18515 = load i32, ptr @test_count, align 4, !tbaa !5
  %18516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18517 = load i32, ptr %18516, align 4, !tbaa !5
  %18518 = call ptr @s2n_strerror(i32 noundef %18517, ptr noundef @.str.4)
  %18519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18520 = load i32, ptr %18519, align 4, !tbaa !5
  %18521 = call ptr @s2n_strerror_debug(i32 noundef %18520, ptr noundef @.str.4)
  %18522 = call ptr @__errno_location() #12
  %18523 = load i32, ptr %18522, align 4, !tbaa !5
  %18524 = call ptr @strerror(i32 noundef %18523) #11
  %18525 = call ptr @__errno_location() #12
  %18526 = load i32, ptr %18525, align 4, !tbaa !5
  %18527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18514, ptr noundef @.str.5, i32 noundef %18515, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 707, ptr noundef %18518, ptr noundef %18521, ptr noundef %18524, i32 noundef %18526) #11
  br label %18528

18528:                                            ; preds = %18511, %18494
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %18529

18529:                                            ; preds = %18528
  br label %18530

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

18531:                                            ; No predecessors!
  br label %18532

18532:                                            ; preds = %18531
  br label %18533

18533:                                            ; preds = %18532, %18471
  br label %18534

18534:                                            ; preds = %18533
  br label %18535

18535:                                            ; preds = %18534
  br label %18536

18536:                                            ; preds = %18535
  %18537 = load i32, ptr @test_count, align 4, !tbaa !5
  %18538 = add nsw i32 %18537, 1
  store i32 %18538, ptr @test_count, align 4, !tbaa !5
  %18539 = load ptr, ptr %338, align 8, !tbaa !9
  %18540 = getelementptr inbounds %struct.s2n_connection, ptr %18539, i32 0, i32 32
  %18541 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %18540, i32 0, i32 2
  %18542 = getelementptr inbounds %struct.s2n_blob, ptr %18541, i32 0, i32 1
  %18543 = load i32, ptr %18542, align 8, !tbaa !83
  %18544 = icmp eq i32 %18543, 0
  br i1 %18544, label %18545, label %18598

18545:                                            ; preds = %18536
  br label %18546

18546:                                            ; preds = %18545
  br label %18547

18547:                                            ; preds = %18546
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %18548 = call ptr @__errno_location() #12
  %18549 = load i32, ptr %18548, align 4, !tbaa !5
  store i32 %18549, ptr %361, align 4, !tbaa !5
  %18550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18551 = call i32 @s2n_print_stacktrace(ptr noundef %18550)
  %18552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18553 = trunc i8 %18552 to i1
  br i1 %18553, label %18554, label %18576

18554:                                            ; preds = %18547
  %18555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18556 = call i32 @fileno(ptr noundef %18555) #11
  %18557 = call i32 @isatty(i32 noundef %18556) #11
  %18558 = icmp ne i32 %18557, 0
  br i1 %18558, label %18559, label %18576

18559:                                            ; preds = %18554
  %18560 = load i32, ptr %361, align 4, !tbaa !5
  %18561 = call ptr @__errno_location() #12
  store i32 %18560, ptr %18561, align 4, !tbaa !5
  %18562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18563 = load i32, ptr @test_count, align 4, !tbaa !5
  %18564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18565 = load i32, ptr %18564, align 4, !tbaa !5
  %18566 = call ptr @s2n_strerror(i32 noundef %18565, ptr noundef @.str.4)
  %18567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18568 = load i32, ptr %18567, align 4, !tbaa !5
  %18569 = call ptr @s2n_strerror_debug(i32 noundef %18568, ptr noundef @.str.4)
  %18570 = call ptr @__errno_location() #12
  %18571 = load i32, ptr %18570, align 4, !tbaa !5
  %18572 = call ptr @strerror(i32 noundef %18571) #11
  %18573 = call ptr @__errno_location() #12
  %18574 = load i32, ptr %18573, align 4, !tbaa !5
  %18575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18562, ptr noundef @.str.2, i32 noundef %18563, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 708, ptr noundef %18566, ptr noundef %18569, ptr noundef %18572, i32 noundef %18574) #11
  br label %18593

18576:                                            ; preds = %18554, %18547
  %18577 = load i32, ptr %361, align 4, !tbaa !5
  %18578 = call ptr @__errno_location() #12
  store i32 %18577, ptr %18578, align 4, !tbaa !5
  %18579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18580 = load i32, ptr @test_count, align 4, !tbaa !5
  %18581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18582 = load i32, ptr %18581, align 4, !tbaa !5
  %18583 = call ptr @s2n_strerror(i32 noundef %18582, ptr noundef @.str.4)
  %18584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18585 = load i32, ptr %18584, align 4, !tbaa !5
  %18586 = call ptr @s2n_strerror_debug(i32 noundef %18585, ptr noundef @.str.4)
  %18587 = call ptr @__errno_location() #12
  %18588 = load i32, ptr %18587, align 4, !tbaa !5
  %18589 = call ptr @strerror(i32 noundef %18588) #11
  %18590 = call ptr @__errno_location() #12
  %18591 = load i32, ptr %18590, align 4, !tbaa !5
  %18592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18579, ptr noundef @.str.5, i32 noundef %18580, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 708, ptr noundef %18583, ptr noundef %18586, ptr noundef %18589, i32 noundef %18591) #11
  br label %18593

18593:                                            ; preds = %18576, %18559
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %18594

18594:                                            ; preds = %18593
  br label %18595

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

18596:                                            ; No predecessors!
  br label %18597

18597:                                            ; preds = %18596
  br label %18598

18598:                                            ; preds = %18597, %18536
  br label %18599

18599:                                            ; preds = %18598
  br label %18600

18600:                                            ; preds = %18599
  %18601 = call i32 @s2n_io_pair_close(ptr noundef %355)
  call void @llvm.lifetime.end.p0(i64 8, ptr %355) #11
  %18602 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %18602, label %18603, label %19236

18603:                                            ; preds = %18600
  br label %18604

18604:                                            ; preds = %18603
  %18605 = load i32, ptr @test_count, align 4, !tbaa !5
  %18606 = add nsw i32 %18605, 1
  store i32 %18606, ptr @test_count, align 4, !tbaa !5
  %18607 = load ptr, ptr %339, align 8, !tbaa !9
  %18608 = load ptr, ptr %332, align 8, !tbaa !9
  %18609 = call i32 @s2n_connection_set_config(ptr noundef %18607, ptr noundef %18608)
  %18610 = icmp eq i32 %18609, -1
  br i1 %18610, label %18611, label %18664

18611:                                            ; preds = %18604
  br label %18612

18612:                                            ; preds = %18611
  br label %18613

18613:                                            ; preds = %18612
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %18614 = call ptr @__errno_location() #12
  %18615 = load i32, ptr %18614, align 4, !tbaa !5
  store i32 %18615, ptr %362, align 4, !tbaa !5
  %18616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18617 = call i32 @s2n_print_stacktrace(ptr noundef %18616)
  %18618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18619 = trunc i8 %18618 to i1
  br i1 %18619, label %18620, label %18642

18620:                                            ; preds = %18613
  %18621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18622 = call i32 @fileno(ptr noundef %18621) #11
  %18623 = call i32 @isatty(i32 noundef %18622) #11
  %18624 = icmp ne i32 %18623, 0
  br i1 %18624, label %18625, label %18642

18625:                                            ; preds = %18620
  %18626 = load i32, ptr %362, align 4, !tbaa !5
  %18627 = call ptr @__errno_location() #12
  store i32 %18626, ptr %18627, align 4, !tbaa !5
  %18628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18629 = load i32, ptr @test_count, align 4, !tbaa !5
  %18630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18631 = load i32, ptr %18630, align 4, !tbaa !5
  %18632 = call ptr @s2n_strerror(i32 noundef %18631, ptr noundef @.str.4)
  %18633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18634 = load i32, ptr %18633, align 4, !tbaa !5
  %18635 = call ptr @s2n_strerror_debug(i32 noundef %18634, ptr noundef @.str.4)
  %18636 = call ptr @__errno_location() #12
  %18637 = load i32, ptr %18636, align 4, !tbaa !5
  %18638 = call ptr @strerror(i32 noundef %18637) #11
  %18639 = call ptr @__errno_location() #12
  %18640 = load i32, ptr %18639, align 4, !tbaa !5
  %18641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18628, ptr noundef @.str.2, i32 noundef %18629, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 717, ptr noundef %18632, ptr noundef %18635, ptr noundef %18638, i32 noundef %18640) #11
  br label %18659

18642:                                            ; preds = %18620, %18613
  %18643 = load i32, ptr %362, align 4, !tbaa !5
  %18644 = call ptr @__errno_location() #12
  store i32 %18643, ptr %18644, align 4, !tbaa !5
  %18645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18646 = load i32, ptr @test_count, align 4, !tbaa !5
  %18647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18648 = load i32, ptr %18647, align 4, !tbaa !5
  %18649 = call ptr @s2n_strerror(i32 noundef %18648, ptr noundef @.str.4)
  %18650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18651 = load i32, ptr %18650, align 4, !tbaa !5
  %18652 = call ptr @s2n_strerror_debug(i32 noundef %18651, ptr noundef @.str.4)
  %18653 = call ptr @__errno_location() #12
  %18654 = load i32, ptr %18653, align 4, !tbaa !5
  %18655 = call ptr @strerror(i32 noundef %18654) #11
  %18656 = call ptr @__errno_location() #12
  %18657 = load i32, ptr %18656, align 4, !tbaa !5
  %18658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18645, ptr noundef @.str.5, i32 noundef %18646, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 717, ptr noundef %18649, ptr noundef %18652, ptr noundef %18655, i32 noundef %18657) #11
  br label %18659

18659:                                            ; preds = %18642, %18625
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %18660

18660:                                            ; preds = %18659
  br label %18661

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

18662:                                            ; No predecessors!
  br label %18663

18663:                                            ; preds = %18662
  br label %18664

18664:                                            ; preds = %18663, %18604
  br label %18665

18665:                                            ; preds = %18664
  br label %18666

18666:                                            ; preds = %18665
  br label %18667

18667:                                            ; preds = %18666
  %18668 = load i32, ptr @test_count, align 4, !tbaa !5
  %18669 = add nsw i32 %18668, 1
  store i32 %18669, ptr @test_count, align 4, !tbaa !5
  %18670 = load ptr, ptr %340, align 8, !tbaa !9
  %18671 = load ptr, ptr %332, align 8, !tbaa !9
  %18672 = call i32 @s2n_connection_set_config(ptr noundef %18670, ptr noundef %18671)
  %18673 = icmp eq i32 %18672, -1
  br i1 %18673, label %18674, label %18727

18674:                                            ; preds = %18667
  br label %18675

18675:                                            ; preds = %18674
  br label %18676

18676:                                            ; preds = %18675
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %18677 = call ptr @__errno_location() #12
  %18678 = load i32, ptr %18677, align 4, !tbaa !5
  store i32 %18678, ptr %363, align 4, !tbaa !5
  %18679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18680 = call i32 @s2n_print_stacktrace(ptr noundef %18679)
  %18681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18682 = trunc i8 %18681 to i1
  br i1 %18682, label %18683, label %18705

18683:                                            ; preds = %18676
  %18684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18685 = call i32 @fileno(ptr noundef %18684) #11
  %18686 = call i32 @isatty(i32 noundef %18685) #11
  %18687 = icmp ne i32 %18686, 0
  br i1 %18687, label %18688, label %18705

18688:                                            ; preds = %18683
  %18689 = load i32, ptr %363, align 4, !tbaa !5
  %18690 = call ptr @__errno_location() #12
  store i32 %18689, ptr %18690, align 4, !tbaa !5
  %18691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18692 = load i32, ptr @test_count, align 4, !tbaa !5
  %18693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18694 = load i32, ptr %18693, align 4, !tbaa !5
  %18695 = call ptr @s2n_strerror(i32 noundef %18694, ptr noundef @.str.4)
  %18696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18697 = load i32, ptr %18696, align 4, !tbaa !5
  %18698 = call ptr @s2n_strerror_debug(i32 noundef %18697, ptr noundef @.str.4)
  %18699 = call ptr @__errno_location() #12
  %18700 = load i32, ptr %18699, align 4, !tbaa !5
  %18701 = call ptr @strerror(i32 noundef %18700) #11
  %18702 = call ptr @__errno_location() #12
  %18703 = load i32, ptr %18702, align 4, !tbaa !5
  %18704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18691, ptr noundef @.str.2, i32 noundef %18692, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 718, ptr noundef %18695, ptr noundef %18698, ptr noundef %18701, i32 noundef %18703) #11
  br label %18722

18705:                                            ; preds = %18683, %18676
  %18706 = load i32, ptr %363, align 4, !tbaa !5
  %18707 = call ptr @__errno_location() #12
  store i32 %18706, ptr %18707, align 4, !tbaa !5
  %18708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18709 = load i32, ptr @test_count, align 4, !tbaa !5
  %18710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18711 = load i32, ptr %18710, align 4, !tbaa !5
  %18712 = call ptr @s2n_strerror(i32 noundef %18711, ptr noundef @.str.4)
  %18713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18714 = load i32, ptr %18713, align 4, !tbaa !5
  %18715 = call ptr @s2n_strerror_debug(i32 noundef %18714, ptr noundef @.str.4)
  %18716 = call ptr @__errno_location() #12
  %18717 = load i32, ptr %18716, align 4, !tbaa !5
  %18718 = call ptr @strerror(i32 noundef %18717) #11
  %18719 = call ptr @__errno_location() #12
  %18720 = load i32, ptr %18719, align 4, !tbaa !5
  %18721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18708, ptr noundef @.str.5, i32 noundef %18709, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 718, ptr noundef %18712, ptr noundef %18715, ptr noundef %18718, i32 noundef %18720) #11
  br label %18722

18722:                                            ; preds = %18705, %18688
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %18723

18723:                                            ; preds = %18722
  br label %18724

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

18725:                                            ; No predecessors!
  br label %18726

18726:                                            ; preds = %18725
  br label %18727

18727:                                            ; preds = %18726, %18667
  br label %18728

18728:                                            ; preds = %18727
  br label %18729

18729:                                            ; preds = %18728
  br label %18730

18730:                                            ; preds = %18729
  %18731 = load i32, ptr @test_count, align 4, !tbaa !5
  %18732 = add nsw i32 %18731, 1
  store i32 %18732, ptr @test_count, align 4, !tbaa !5
  %18733 = load ptr, ptr %339, align 8, !tbaa !9
  %18734 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %18733, ptr noundef @.str.206)
  %18735 = icmp eq i32 %18734, -1
  br i1 %18735, label %18736, label %18789

18736:                                            ; preds = %18730
  br label %18737

18737:                                            ; preds = %18736
  br label %18738

18738:                                            ; preds = %18737
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %18739 = call ptr @__errno_location() #12
  %18740 = load i32, ptr %18739, align 4, !tbaa !5
  store i32 %18740, ptr %364, align 4, !tbaa !5
  %18741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18742 = call i32 @s2n_print_stacktrace(ptr noundef %18741)
  %18743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18744 = trunc i8 %18743 to i1
  br i1 %18744, label %18745, label %18767

18745:                                            ; preds = %18738
  %18746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18747 = call i32 @fileno(ptr noundef %18746) #11
  %18748 = call i32 @isatty(i32 noundef %18747) #11
  %18749 = icmp ne i32 %18748, 0
  br i1 %18749, label %18750, label %18767

18750:                                            ; preds = %18745
  %18751 = load i32, ptr %364, align 4, !tbaa !5
  %18752 = call ptr @__errno_location() #12
  store i32 %18751, ptr %18752, align 4, !tbaa !5
  %18753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18754 = load i32, ptr @test_count, align 4, !tbaa !5
  %18755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18756 = load i32, ptr %18755, align 4, !tbaa !5
  %18757 = call ptr @s2n_strerror(i32 noundef %18756, ptr noundef @.str.4)
  %18758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18759 = load i32, ptr %18758, align 4, !tbaa !5
  %18760 = call ptr @s2n_strerror_debug(i32 noundef %18759, ptr noundef @.str.4)
  %18761 = call ptr @__errno_location() #12
  %18762 = load i32, ptr %18761, align 4, !tbaa !5
  %18763 = call ptr @strerror(i32 noundef %18762) #11
  %18764 = call ptr @__errno_location() #12
  %18765 = load i32, ptr %18764, align 4, !tbaa !5
  %18766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18753, ptr noundef @.str.2, i32 noundef %18754, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 719, ptr noundef %18757, ptr noundef %18760, ptr noundef %18763, i32 noundef %18765) #11
  br label %18784

18767:                                            ; preds = %18745, %18738
  %18768 = load i32, ptr %364, align 4, !tbaa !5
  %18769 = call ptr @__errno_location() #12
  store i32 %18768, ptr %18769, align 4, !tbaa !5
  %18770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18771 = load i32, ptr @test_count, align 4, !tbaa !5
  %18772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18773 = load i32, ptr %18772, align 4, !tbaa !5
  %18774 = call ptr @s2n_strerror(i32 noundef %18773, ptr noundef @.str.4)
  %18775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18776 = load i32, ptr %18775, align 4, !tbaa !5
  %18777 = call ptr @s2n_strerror_debug(i32 noundef %18776, ptr noundef @.str.4)
  %18778 = call ptr @__errno_location() #12
  %18779 = load i32, ptr %18778, align 4, !tbaa !5
  %18780 = call ptr @strerror(i32 noundef %18779) #11
  %18781 = call ptr @__errno_location() #12
  %18782 = load i32, ptr %18781, align 4, !tbaa !5
  %18783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18770, ptr noundef @.str.5, i32 noundef %18771, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 719, ptr noundef %18774, ptr noundef %18777, ptr noundef %18780, i32 noundef %18782) #11
  br label %18784

18784:                                            ; preds = %18767, %18750
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %18785

18785:                                            ; preds = %18784
  br label %18786

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

18787:                                            ; No predecessors!
  br label %18788

18788:                                            ; preds = %18787
  br label %18789

18789:                                            ; preds = %18788, %18730
  br label %18790

18790:                                            ; preds = %18789
  br label %18791

18791:                                            ; preds = %18790
  br label %18792

18792:                                            ; preds = %18791
  %18793 = load i32, ptr @test_count, align 4, !tbaa !5
  %18794 = add nsw i32 %18793, 1
  store i32 %18794, ptr @test_count, align 4, !tbaa !5
  %18795 = load ptr, ptr %340, align 8, !tbaa !9
  %18796 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %18795, ptr noundef @.str.206)
  %18797 = icmp eq i32 %18796, -1
  br i1 %18797, label %18798, label %18851

18798:                                            ; preds = %18792
  br label %18799

18799:                                            ; preds = %18798
  br label %18800

18800:                                            ; preds = %18799
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %18801 = call ptr @__errno_location() #12
  %18802 = load i32, ptr %18801, align 4, !tbaa !5
  store i32 %18802, ptr %365, align 4, !tbaa !5
  %18803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18804 = call i32 @s2n_print_stacktrace(ptr noundef %18803)
  %18805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18806 = trunc i8 %18805 to i1
  br i1 %18806, label %18807, label %18829

18807:                                            ; preds = %18800
  %18808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18809 = call i32 @fileno(ptr noundef %18808) #11
  %18810 = call i32 @isatty(i32 noundef %18809) #11
  %18811 = icmp ne i32 %18810, 0
  br i1 %18811, label %18812, label %18829

18812:                                            ; preds = %18807
  %18813 = load i32, ptr %365, align 4, !tbaa !5
  %18814 = call ptr @__errno_location() #12
  store i32 %18813, ptr %18814, align 4, !tbaa !5
  %18815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18816 = load i32, ptr @test_count, align 4, !tbaa !5
  %18817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18818 = load i32, ptr %18817, align 4, !tbaa !5
  %18819 = call ptr @s2n_strerror(i32 noundef %18818, ptr noundef @.str.4)
  %18820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18821 = load i32, ptr %18820, align 4, !tbaa !5
  %18822 = call ptr @s2n_strerror_debug(i32 noundef %18821, ptr noundef @.str.4)
  %18823 = call ptr @__errno_location() #12
  %18824 = load i32, ptr %18823, align 4, !tbaa !5
  %18825 = call ptr @strerror(i32 noundef %18824) #11
  %18826 = call ptr @__errno_location() #12
  %18827 = load i32, ptr %18826, align 4, !tbaa !5
  %18828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18815, ptr noundef @.str.2, i32 noundef %18816, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 720, ptr noundef %18819, ptr noundef %18822, ptr noundef %18825, i32 noundef %18827) #11
  br label %18846

18829:                                            ; preds = %18807, %18800
  %18830 = load i32, ptr %365, align 4, !tbaa !5
  %18831 = call ptr @__errno_location() #12
  store i32 %18830, ptr %18831, align 4, !tbaa !5
  %18832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18833 = load i32, ptr @test_count, align 4, !tbaa !5
  %18834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18835 = load i32, ptr %18834, align 4, !tbaa !5
  %18836 = call ptr @s2n_strerror(i32 noundef %18835, ptr noundef @.str.4)
  %18837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  %18839 = call ptr @s2n_strerror_debug(i32 noundef %18838, ptr noundef @.str.4)
  %18840 = call ptr @__errno_location() #12
  %18841 = load i32, ptr %18840, align 4, !tbaa !5
  %18842 = call ptr @strerror(i32 noundef %18841) #11
  %18843 = call ptr @__errno_location() #12
  %18844 = load i32, ptr %18843, align 4, !tbaa !5
  %18845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18832, ptr noundef @.str.5, i32 noundef %18833, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 720, ptr noundef %18836, ptr noundef %18839, ptr noundef %18842, i32 noundef %18844) #11
  br label %18846

18846:                                            ; preds = %18829, %18812
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %18847

18847:                                            ; preds = %18846
  br label %18848

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

18849:                                            ; No predecessors!
  br label %18850

18850:                                            ; preds = %18849
  br label %18851

18851:                                            ; preds = %18850, %18792
  br label %18852

18852:                                            ; preds = %18851
  br label %18853

18853:                                            ; preds = %18852
  call void @llvm.lifetime.start.p0(i64 8, ptr %366) #11
  call void @llvm.memset.p0.i64(ptr align 4 %366, i8 0, i64 8, i1 false)
  br label %18854

18854:                                            ; preds = %18853
  %18855 = load i32, ptr @test_count, align 4, !tbaa !5
  %18856 = add nsw i32 %18855, 1
  store i32 %18856, ptr @test_count, align 4, !tbaa !5
  %18857 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %366)
  %18858 = icmp eq i32 %18857, -1
  br i1 %18858, label %18859, label %18912

18859:                                            ; preds = %18854
  br label %18860

18860:                                            ; preds = %18859
  br label %18861

18861:                                            ; preds = %18860
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %18862 = call ptr @__errno_location() #12
  %18863 = load i32, ptr %18862, align 4, !tbaa !5
  store i32 %18863, ptr %367, align 4, !tbaa !5
  %18864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18865 = call i32 @s2n_print_stacktrace(ptr noundef %18864)
  %18866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18867 = trunc i8 %18866 to i1
  br i1 %18867, label %18868, label %18890

18868:                                            ; preds = %18861
  %18869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18870 = call i32 @fileno(ptr noundef %18869) #11
  %18871 = call i32 @isatty(i32 noundef %18870) #11
  %18872 = icmp ne i32 %18871, 0
  br i1 %18872, label %18873, label %18890

18873:                                            ; preds = %18868
  %18874 = load i32, ptr %367, align 4, !tbaa !5
  %18875 = call ptr @__errno_location() #12
  store i32 %18874, ptr %18875, align 4, !tbaa !5
  %18876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18877 = load i32, ptr @test_count, align 4, !tbaa !5
  %18878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18879 = load i32, ptr %18878, align 4, !tbaa !5
  %18880 = call ptr @s2n_strerror(i32 noundef %18879, ptr noundef @.str.4)
  %18881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18882 = load i32, ptr %18881, align 4, !tbaa !5
  %18883 = call ptr @s2n_strerror_debug(i32 noundef %18882, ptr noundef @.str.4)
  %18884 = call ptr @__errno_location() #12
  %18885 = load i32, ptr %18884, align 4, !tbaa !5
  %18886 = call ptr @strerror(i32 noundef %18885) #11
  %18887 = call ptr @__errno_location() #12
  %18888 = load i32, ptr %18887, align 4, !tbaa !5
  %18889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18876, ptr noundef @.str.2, i32 noundef %18877, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 723, ptr noundef %18880, ptr noundef %18883, ptr noundef %18886, i32 noundef %18888) #11
  br label %18907

18890:                                            ; preds = %18868, %18861
  %18891 = load i32, ptr %367, align 4, !tbaa !5
  %18892 = call ptr @__errno_location() #12
  store i32 %18891, ptr %18892, align 4, !tbaa !5
  %18893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18894 = load i32, ptr @test_count, align 4, !tbaa !5
  %18895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18896 = load i32, ptr %18895, align 4, !tbaa !5
  %18897 = call ptr @s2n_strerror(i32 noundef %18896, ptr noundef @.str.4)
  %18898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18899 = load i32, ptr %18898, align 4, !tbaa !5
  %18900 = call ptr @s2n_strerror_debug(i32 noundef %18899, ptr noundef @.str.4)
  %18901 = call ptr @__errno_location() #12
  %18902 = load i32, ptr %18901, align 4, !tbaa !5
  %18903 = call ptr @strerror(i32 noundef %18902) #11
  %18904 = call ptr @__errno_location() #12
  %18905 = load i32, ptr %18904, align 4, !tbaa !5
  %18906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18893, ptr noundef @.str.5, i32 noundef %18894, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 723, ptr noundef %18897, ptr noundef %18900, ptr noundef %18903, i32 noundef %18905) #11
  br label %18907

18907:                                            ; preds = %18890, %18873
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %18908

18908:                                            ; preds = %18907
  br label %18909

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

18910:                                            ; No predecessors!
  br label %18911

18911:                                            ; preds = %18910
  br label %18912

18912:                                            ; preds = %18911, %18854
  br label %18913

18913:                                            ; preds = %18912
  br label %18914

18914:                                            ; preds = %18913
  br label %18915

18915:                                            ; preds = %18914
  %18916 = load i32, ptr @test_count, align 4, !tbaa !5
  %18917 = add nsw i32 %18916, 1
  store i32 %18917, ptr @test_count, align 4, !tbaa !5
  %18918 = load ptr, ptr %339, align 8, !tbaa !9
  %18919 = load ptr, ptr %340, align 8, !tbaa !9
  %18920 = call i32 @s2n_connections_set_io_pair(ptr noundef %18918, ptr noundef %18919, ptr noundef %366)
  %18921 = icmp eq i32 %18920, -1
  br i1 %18921, label %18922, label %18975

18922:                                            ; preds = %18915
  br label %18923

18923:                                            ; preds = %18922
  br label %18924

18924:                                            ; preds = %18923
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %18925 = call ptr @__errno_location() #12
  %18926 = load i32, ptr %18925, align 4, !tbaa !5
  store i32 %18926, ptr %368, align 4, !tbaa !5
  %18927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18928 = call i32 @s2n_print_stacktrace(ptr noundef %18927)
  %18929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18930 = trunc i8 %18929 to i1
  br i1 %18930, label %18931, label %18953

18931:                                            ; preds = %18924
  %18932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18933 = call i32 @fileno(ptr noundef %18932) #11
  %18934 = call i32 @isatty(i32 noundef %18933) #11
  %18935 = icmp ne i32 %18934, 0
  br i1 %18935, label %18936, label %18953

18936:                                            ; preds = %18931
  %18937 = load i32, ptr %368, align 4, !tbaa !5
  %18938 = call ptr @__errno_location() #12
  store i32 %18937, ptr %18938, align 4, !tbaa !5
  %18939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18940 = load i32, ptr @test_count, align 4, !tbaa !5
  %18941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18942 = load i32, ptr %18941, align 4, !tbaa !5
  %18943 = call ptr @s2n_strerror(i32 noundef %18942, ptr noundef @.str.4)
  %18944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18945 = load i32, ptr %18944, align 4, !tbaa !5
  %18946 = call ptr @s2n_strerror_debug(i32 noundef %18945, ptr noundef @.str.4)
  %18947 = call ptr @__errno_location() #12
  %18948 = load i32, ptr %18947, align 4, !tbaa !5
  %18949 = call ptr @strerror(i32 noundef %18948) #11
  %18950 = call ptr @__errno_location() #12
  %18951 = load i32, ptr %18950, align 4, !tbaa !5
  %18952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18939, ptr noundef @.str.2, i32 noundef %18940, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 724, ptr noundef %18943, ptr noundef %18946, ptr noundef %18949, i32 noundef %18951) #11
  br label %18970

18953:                                            ; preds = %18931, %18924
  %18954 = load i32, ptr %368, align 4, !tbaa !5
  %18955 = call ptr @__errno_location() #12
  store i32 %18954, ptr %18955, align 4, !tbaa !5
  %18956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18957 = load i32, ptr @test_count, align 4, !tbaa !5
  %18958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18959 = load i32, ptr %18958, align 4, !tbaa !5
  %18960 = call ptr @s2n_strerror(i32 noundef %18959, ptr noundef @.str.4)
  %18961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18962 = load i32, ptr %18961, align 4, !tbaa !5
  %18963 = call ptr @s2n_strerror_debug(i32 noundef %18962, ptr noundef @.str.4)
  %18964 = call ptr @__errno_location() #12
  %18965 = load i32, ptr %18964, align 4, !tbaa !5
  %18966 = call ptr @strerror(i32 noundef %18965) #11
  %18967 = call ptr @__errno_location() #12
  %18968 = load i32, ptr %18967, align 4, !tbaa !5
  %18969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18956, ptr noundef @.str.5, i32 noundef %18957, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 724, ptr noundef %18960, ptr noundef %18963, ptr noundef %18966, i32 noundef %18968) #11
  br label %18970

18970:                                            ; preds = %18953, %18936
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %18971

18971:                                            ; preds = %18970
  br label %18972

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

18973:                                            ; No predecessors!
  br label %18974

18974:                                            ; preds = %18973
  br label %18975

18975:                                            ; preds = %18974, %18915
  br label %18976

18976:                                            ; preds = %18975
  br label %18977

18977:                                            ; preds = %18976
  br label %18978

18978:                                            ; preds = %18977
  %18979 = load i32, ptr @test_count, align 4, !tbaa !5
  %18980 = add nsw i32 %18979, 1
  store i32 %18980, ptr @test_count, align 4, !tbaa !5
  %18981 = load ptr, ptr %340, align 8, !tbaa !9
  %18982 = load ptr, ptr %339, align 8, !tbaa !9
  %18983 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18981, ptr noundef %18982)
  %18984 = icmp eq i32 %18983, -1
  br i1 %18984, label %18985, label %19038

18985:                                            ; preds = %18978
  br label %18986

18986:                                            ; preds = %18985
  br label %18987

18987:                                            ; preds = %18986
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %18988 = call ptr @__errno_location() #12
  %18989 = load i32, ptr %18988, align 4, !tbaa !5
  store i32 %18989, ptr %369, align 4, !tbaa !5
  %18990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18991 = call i32 @s2n_print_stacktrace(ptr noundef %18990)
  %18992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18993 = trunc i8 %18992 to i1
  br i1 %18993, label %18994, label %19016

18994:                                            ; preds = %18987
  %18995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18996 = call i32 @fileno(ptr noundef %18995) #11
  %18997 = call i32 @isatty(i32 noundef %18996) #11
  %18998 = icmp ne i32 %18997, 0
  br i1 %18998, label %18999, label %19016

18999:                                            ; preds = %18994
  %19000 = load i32, ptr %369, align 4, !tbaa !5
  %19001 = call ptr @__errno_location() #12
  store i32 %19000, ptr %19001, align 4, !tbaa !5
  %19002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19003 = load i32, ptr @test_count, align 4, !tbaa !5
  %19004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19005 = load i32, ptr %19004, align 4, !tbaa !5
  %19006 = call ptr @s2n_strerror(i32 noundef %19005, ptr noundef @.str.4)
  %19007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19008 = load i32, ptr %19007, align 4, !tbaa !5
  %19009 = call ptr @s2n_strerror_debug(i32 noundef %19008, ptr noundef @.str.4)
  %19010 = call ptr @__errno_location() #12
  %19011 = load i32, ptr %19010, align 4, !tbaa !5
  %19012 = call ptr @strerror(i32 noundef %19011) #11
  %19013 = call ptr @__errno_location() #12
  %19014 = load i32, ptr %19013, align 4, !tbaa !5
  %19015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19002, ptr noundef @.str.2, i32 noundef %19003, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 725, ptr noundef %19006, ptr noundef %19009, ptr noundef %19012, i32 noundef %19014) #11
  br label %19033

19016:                                            ; preds = %18994, %18987
  %19017 = load i32, ptr %369, align 4, !tbaa !5
  %19018 = call ptr @__errno_location() #12
  store i32 %19017, ptr %19018, align 4, !tbaa !5
  %19019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19020 = load i32, ptr @test_count, align 4, !tbaa !5
  %19021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19022 = load i32, ptr %19021, align 4, !tbaa !5
  %19023 = call ptr @s2n_strerror(i32 noundef %19022, ptr noundef @.str.4)
  %19024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19025 = load i32, ptr %19024, align 4, !tbaa !5
  %19026 = call ptr @s2n_strerror_debug(i32 noundef %19025, ptr noundef @.str.4)
  %19027 = call ptr @__errno_location() #12
  %19028 = load i32, ptr %19027, align 4, !tbaa !5
  %19029 = call ptr @strerror(i32 noundef %19028) #11
  %19030 = call ptr @__errno_location() #12
  %19031 = load i32, ptr %19030, align 4, !tbaa !5
  %19032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19019, ptr noundef @.str.5, i32 noundef %19020, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 725, ptr noundef %19023, ptr noundef %19026, ptr noundef %19029, i32 noundef %19031) #11
  br label %19033

19033:                                            ; preds = %19016, %18999
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %19034

19034:                                            ; preds = %19033
  br label %19035

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

19036:                                            ; No predecessors!
  br label %19037

19037:                                            ; preds = %19036
  br label %19038

19038:                                            ; preds = %19037, %18978
  br label %19039

19039:                                            ; preds = %19038
  br label %19040

19040:                                            ; preds = %19039
  br label %19041

19041:                                            ; preds = %19040
  %19042 = load i32, ptr @test_count, align 4, !tbaa !5
  %19043 = add nsw i32 %19042, 1
  store i32 %19043, ptr @test_count, align 4, !tbaa !5
  %19044 = load ptr, ptr %340, align 8, !tbaa !9
  %19045 = getelementptr inbounds %struct.s2n_connection, ptr %19044, i32 0, i32 23
  %19046 = load i8, ptr %19045, align 4, !tbaa !81
  %19047 = zext i8 %19046 to i32
  %19048 = icmp eq i32 %19047, 34
  br i1 %19048, label %19102, label %19049

19049:                                            ; preds = %19041
  br label %19050

19050:                                            ; preds = %19049
  br label %19051

19051:                                            ; preds = %19050
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %19052 = call ptr @__errno_location() #12
  %19053 = load i32, ptr %19052, align 4, !tbaa !5
  store i32 %19053, ptr %370, align 4, !tbaa !5
  %19054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19055 = call i32 @s2n_print_stacktrace(ptr noundef %19054)
  %19056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19057 = trunc i8 %19056 to i1
  br i1 %19057, label %19058, label %19080

19058:                                            ; preds = %19051
  %19059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19060 = call i32 @fileno(ptr noundef %19059) #11
  %19061 = call i32 @isatty(i32 noundef %19060) #11
  %19062 = icmp ne i32 %19061, 0
  br i1 %19062, label %19063, label %19080

19063:                                            ; preds = %19058
  %19064 = load i32, ptr %370, align 4, !tbaa !5
  %19065 = call ptr @__errno_location() #12
  store i32 %19064, ptr %19065, align 4, !tbaa !5
  %19066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19067 = load i32, ptr @test_count, align 4, !tbaa !5
  %19068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19069 = load i32, ptr %19068, align 4, !tbaa !5
  %19070 = call ptr @s2n_strerror(i32 noundef %19069, ptr noundef @.str.4)
  %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_debug(i32 noundef %19072, ptr noundef @.str.4)
  %19074 = call ptr @__errno_location() #12
  %19075 = load i32, ptr %19074, align 4, !tbaa !5
  %19076 = call ptr @strerror(i32 noundef %19075) #11
  %19077 = call ptr @__errno_location() #12
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19066, ptr noundef @.str.2, i32 noundef %19067, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 727, ptr noundef %19070, ptr noundef %19073, ptr noundef %19076, i32 noundef %19078) #11
  br label %19097

19080:                                            ; preds = %19058, %19051
  %19081 = load i32, ptr %370, align 4, !tbaa !5
  %19082 = call ptr @__errno_location() #12
  store i32 %19081, ptr %19082, align 4, !tbaa !5
  %19083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19084 = load i32, ptr @test_count, align 4, !tbaa !5
  %19085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19086 = load i32, ptr %19085, align 4, !tbaa !5
  %19087 = call ptr @s2n_strerror(i32 noundef %19086, ptr noundef @.str.4)
  %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_debug(i32 noundef %19089, ptr noundef @.str.4)
  %19091 = call ptr @__errno_location() #12
  %19092 = load i32, ptr %19091, align 4, !tbaa !5
  %19093 = call ptr @strerror(i32 noundef %19092) #11
  %19094 = call ptr @__errno_location() #12
  %19095 = load i32, ptr %19094, align 4, !tbaa !5
  %19096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19083, ptr noundef @.str.5, i32 noundef %19084, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 727, ptr noundef %19087, ptr noundef %19090, ptr noundef %19093, i32 noundef %19095) #11
  br label %19097

19097:                                            ; preds = %19080, %19063
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %19098

19098:                                            ; preds = %19097
  br label %19099

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

19100:                                            ; No predecessors!
  br label %19101

19101:                                            ; preds = %19100
  br label %19102

19102:                                            ; preds = %19101, %19041
  br label %19103

19103:                                            ; preds = %19102
  br label %19104

19104:                                            ; preds = %19103
  br label %19105

19105:                                            ; preds = %19104
  %19106 = load i32, ptr @test_count, align 4, !tbaa !5
  %19107 = add nsw i32 %19106, 1
  store i32 %19107, ptr @test_count, align 4, !tbaa !5
  %19108 = load ptr, ptr %340, align 8, !tbaa !9
  %19109 = getelementptr inbounds %struct.s2n_connection, ptr %19108, i32 0, i32 32
  %19110 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %19109, i32 0, i32 2
  %19111 = getelementptr inbounds %struct.s2n_blob, ptr %19110, i32 0, i32 0
  %19112 = load ptr, ptr %19111, align 8, !tbaa !82
  %19113 = icmp eq ptr %19112, null
  br i1 %19113, label %19114, label %19167

19114:                                            ; preds = %19105
  br label %19115

19115:                                            ; preds = %19114
  br label %19116

19116:                                            ; preds = %19115
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %19117 = call ptr @__errno_location() #12
  %19118 = load i32, ptr %19117, align 4, !tbaa !5
  store i32 %19118, ptr %371, align 4, !tbaa !5
  %19119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19120 = call i32 @s2n_print_stacktrace(ptr noundef %19119)
  %19121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19122 = trunc i8 %19121 to i1
  br i1 %19122, label %19123, label %19145

19123:                                            ; preds = %19116
  %19124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19125 = call i32 @fileno(ptr noundef %19124) #11
  %19126 = call i32 @isatty(i32 noundef %19125) #11
  %19127 = icmp ne i32 %19126, 0
  br i1 %19127, label %19128, label %19145

19128:                                            ; preds = %19123
  %19129 = load i32, ptr %371, align 4, !tbaa !5
  %19130 = call ptr @__errno_location() #12
  store i32 %19129, ptr %19130, align 4, !tbaa !5
  %19131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19132 = load i32, ptr @test_count, align 4, !tbaa !5
  %19133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19134 = load i32, ptr %19133, align 4, !tbaa !5
  %19135 = call ptr @s2n_strerror(i32 noundef %19134, ptr noundef @.str.4)
  %19136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19137 = load i32, ptr %19136, align 4, !tbaa !5
  %19138 = call ptr @s2n_strerror_debug(i32 noundef %19137, ptr noundef @.str.4)
  %19139 = call ptr @__errno_location() #12
  %19140 = load i32, ptr %19139, align 4, !tbaa !5
  %19141 = call ptr @strerror(i32 noundef %19140) #11
  %19142 = call ptr @__errno_location() #12
  %19143 = load i32, ptr %19142, align 4, !tbaa !5
  %19144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19131, ptr noundef @.str.2, i32 noundef %19132, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 728, ptr noundef %19135, ptr noundef %19138, ptr noundef %19141, i32 noundef %19143) #11
  br label %19162

19145:                                            ; preds = %19123, %19116
  %19146 = load i32, ptr %371, align 4, !tbaa !5
  %19147 = call ptr @__errno_location() #12
  store i32 %19146, ptr %19147, align 4, !tbaa !5
  %19148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19149 = load i32, ptr @test_count, align 4, !tbaa !5
  %19150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19151 = load i32, ptr %19150, align 4, !tbaa !5
  %19152 = call ptr @s2n_strerror(i32 noundef %19151, ptr noundef @.str.4)
  %19153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19154 = load i32, ptr %19153, align 4, !tbaa !5
  %19155 = call ptr @s2n_strerror_debug(i32 noundef %19154, ptr noundef @.str.4)
  %19156 = call ptr @__errno_location() #12
  %19157 = load i32, ptr %19156, align 4, !tbaa !5
  %19158 = call ptr @strerror(i32 noundef %19157) #11
  %19159 = call ptr @__errno_location() #12
  %19160 = load i32, ptr %19159, align 4, !tbaa !5
  %19161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19148, ptr noundef @.str.5, i32 noundef %19149, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 728, ptr noundef %19152, ptr noundef %19155, ptr noundef %19158, i32 noundef %19160) #11
  br label %19162

19162:                                            ; preds = %19145, %19128
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %19163

19163:                                            ; preds = %19162
  br label %19164

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

19165:                                            ; No predecessors!
  br label %19166

19166:                                            ; preds = %19165
  br label %19167

19167:                                            ; preds = %19166, %19105
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168
  br label %19170

19170:                                            ; preds = %19169
  %19171 = load i32, ptr @test_count, align 4, !tbaa !5
  %19172 = add nsw i32 %19171, 1
  store i32 %19172, ptr @test_count, align 4, !tbaa !5
  %19173 = load ptr, ptr %340, align 8, !tbaa !9
  %19174 = getelementptr inbounds %struct.s2n_connection, ptr %19173, i32 0, i32 32
  %19175 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %19174, i32 0, i32 2
  %19176 = getelementptr inbounds %struct.s2n_blob, ptr %19175, i32 0, i32 1
  %19177 = load i32, ptr %19176, align 8, !tbaa !83
  %19178 = icmp eq i32 %19177, 0
  br i1 %19178, label %19179, label %19232

19179:                                            ; preds = %19170
  br label %19180

19180:                                            ; preds = %19179
  br label %19181

19181:                                            ; preds = %19180
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %19182 = call ptr @__errno_location() #12
  %19183 = load i32, ptr %19182, align 4, !tbaa !5
  store i32 %19183, ptr %372, align 4, !tbaa !5
  %19184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19185 = call i32 @s2n_print_stacktrace(ptr noundef %19184)
  %19186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19187 = trunc i8 %19186 to i1
  br i1 %19187, label %19188, label %19210

19188:                                            ; preds = %19181
  %19189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19190 = call i32 @fileno(ptr noundef %19189) #11
  %19191 = call i32 @isatty(i32 noundef %19190) #11
  %19192 = icmp ne i32 %19191, 0
  br i1 %19192, label %19193, label %19210

19193:                                            ; preds = %19188
  %19194 = load i32, ptr %372, align 4, !tbaa !5
  %19195 = call ptr @__errno_location() #12
  store i32 %19194, ptr %19195, align 4, !tbaa !5
  %19196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19197 = load i32, ptr @test_count, align 4, !tbaa !5
  %19198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19199 = load i32, ptr %19198, align 4, !tbaa !5
  %19200 = call ptr @s2n_strerror(i32 noundef %19199, ptr noundef @.str.4)
  %19201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19202 = load i32, ptr %19201, align 4, !tbaa !5
  %19203 = call ptr @s2n_strerror_debug(i32 noundef %19202, ptr noundef @.str.4)
  %19204 = call ptr @__errno_location() #12
  %19205 = load i32, ptr %19204, align 4, !tbaa !5
  %19206 = call ptr @strerror(i32 noundef %19205) #11
  %19207 = call ptr @__errno_location() #12
  %19208 = load i32, ptr %19207, align 4, !tbaa !5
  %19209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19196, ptr noundef @.str.2, i32 noundef %19197, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 729, ptr noundef %19200, ptr noundef %19203, ptr noundef %19206, i32 noundef %19208) #11
  br label %19227

19210:                                            ; preds = %19188, %19181
  %19211 = load i32, ptr %372, align 4, !tbaa !5
  %19212 = call ptr @__errno_location() #12
  store i32 %19211, ptr %19212, align 4, !tbaa !5
  %19213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19214 = load i32, ptr @test_count, align 4, !tbaa !5
  %19215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19216 = load i32, ptr %19215, align 4, !tbaa !5
  %19217 = call ptr @s2n_strerror(i32 noundef %19216, ptr noundef @.str.4)
  %19218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19219 = load i32, ptr %19218, align 4, !tbaa !5
  %19220 = call ptr @s2n_strerror_debug(i32 noundef %19219, ptr noundef @.str.4)
  %19221 = call ptr @__errno_location() #12
  %19222 = load i32, ptr %19221, align 4, !tbaa !5
  %19223 = call ptr @strerror(i32 noundef %19222) #11
  %19224 = call ptr @__errno_location() #12
  %19225 = load i32, ptr %19224, align 4, !tbaa !5
  %19226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19213, ptr noundef @.str.5, i32 noundef %19214, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 729, ptr noundef %19217, ptr noundef %19220, ptr noundef %19223, i32 noundef %19225) #11
  br label %19227

19227:                                            ; preds = %19210, %19193
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %19228

19228:                                            ; preds = %19227
  br label %19229

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

19230:                                            ; No predecessors!
  br label %19231

19231:                                            ; preds = %19230
  br label %19232

19232:                                            ; preds = %19231, %19170
  br label %19233

19233:                                            ; preds = %19232
  br label %19234

19234:                                            ; preds = %19233
  %19235 = call i32 @s2n_io_pair_close(ptr noundef %366)
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #11
  br label %19236

19236:                                            ; preds = %19234, %18600
  call void @llvm.lifetime.start.p0(i64 8, ptr %373) #11
  store ptr null, ptr %373, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  store i32 0, ptr %374, align 4, !tbaa !5
  br label %19237

19237:                                            ; preds = %19236
  br label %19238

19238:                                            ; preds = %19237
  br label %19239

19239:                                            ; preds = %19238
  %19240 = load i32, ptr @test_count, align 4, !tbaa !5
  %19241 = add nsw i32 %19240, 1
  store i32 %19241, ptr @test_count, align 4, !tbaa !5
  %19242 = load ptr, ptr %337, align 8, !tbaa !9
  %19243 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %19242, ptr noundef %373, ptr noundef %374)
  %19244 = icmp eq i32 %19243, -1
  br i1 %19244, label %19298, label %19245

19245:                                            ; preds = %19239
  br label %19246

19246:                                            ; preds = %19245
  br label %19247

19247:                                            ; preds = %19246
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %19248 = call ptr @__errno_location() #12
  %19249 = load i32, ptr %19248, align 4, !tbaa !5
  store i32 %19249, ptr %375, 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 %375, 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.4)
  %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.4)
  %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.2, i32 noundef %19263, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19266, ptr noundef %19269, ptr noundef %19272, i32 noundef %19274) #11
  br label %19293

19276:                                            ; preds = %19254, %19247
  %19277 = load i32, ptr %375, 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.4)
  %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.4)
  %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.5, i32 noundef %19280, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 737, 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 %375) #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, %19239
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19305 = load i32, ptr %19304, align 4, !tbaa !5
  %19306 = icmp eq i32 %19305, 402653193
  br i1 %19306, label %19360, label %19307

19307:                                            ; preds = %19301
  br label %19308

19308:                                            ; preds = %19307
  br label %19309

19309:                                            ; preds = %19308
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  %19310 = call ptr @__errno_location() #12
  %19311 = load i32, ptr %19310, align 4, !tbaa !5
  store i32 %19311, ptr %376, align 4, !tbaa !5
  %19312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19313 = call i32 @s2n_print_stacktrace(ptr noundef %19312)
  %19314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19315 = trunc i8 %19314 to i1
  br i1 %19315, label %19316, label %19338

19316:                                            ; preds = %19309
  %19317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19318 = call i32 @fileno(ptr noundef %19317) #11
  %19319 = call i32 @isatty(i32 noundef %19318) #11
  %19320 = icmp ne i32 %19319, 0
  br i1 %19320, label %19321, label %19338

19321:                                            ; preds = %19316
  %19322 = load i32, ptr %376, align 4, !tbaa !5
  %19323 = call ptr @__errno_location() #12
  store i32 %19322, ptr %19323, align 4, !tbaa !5
  %19324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19325 = load i32, ptr @test_count, align 4, !tbaa !5
  %19326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19327 = load i32, ptr %19326, align 4, !tbaa !5
  %19328 = call ptr @s2n_strerror(i32 noundef %19327, ptr noundef @.str.4)
  %19329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19330 = load i32, ptr %19329, align 4, !tbaa !5
  %19331 = call ptr @s2n_strerror_debug(i32 noundef %19330, ptr noundef @.str.4)
  %19332 = call ptr @__errno_location() #12
  %19333 = load i32, ptr %19332, align 4, !tbaa !5
  %19334 = call ptr @strerror(i32 noundef %19333) #11
  %19335 = call ptr @__errno_location() #12
  %19336 = load i32, ptr %19335, align 4, !tbaa !5
  %19337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19324, ptr noundef @.str.2, i32 noundef %19325, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19328, ptr noundef %19331, ptr noundef %19334, i32 noundef %19336) #11
  br label %19355

19338:                                            ; preds = %19316, %19309
  %19339 = load i32, ptr %376, align 4, !tbaa !5
  %19340 = call ptr @__errno_location() #12
  store i32 %19339, ptr %19340, align 4, !tbaa !5
  %19341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19342 = load i32, ptr @test_count, align 4, !tbaa !5
  %19343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19344 = load i32, ptr %19343, align 4, !tbaa !5
  %19345 = call ptr @s2n_strerror(i32 noundef %19344, ptr noundef @.str.4)
  %19346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19347 = load i32, ptr %19346, align 4, !tbaa !5
  %19348 = call ptr @s2n_strerror_debug(i32 noundef %19347, ptr noundef @.str.4)
  %19349 = call ptr @__errno_location() #12
  %19350 = load i32, ptr %19349, align 4, !tbaa !5
  %19351 = call ptr @strerror(i32 noundef %19350) #11
  %19352 = call ptr @__errno_location() #12
  %19353 = load i32, ptr %19352, align 4, !tbaa !5
  %19354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19341, ptr noundef @.str.5, i32 noundef %19342, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19345, ptr noundef %19348, ptr noundef %19351, i32 noundef %19353) #11
  br label %19355

19355:                                            ; preds = %19338, %19321
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  br label %19356

19356:                                            ; preds = %19355
  br label %19357

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

19358:                                            ; No predecessors!
  br label %19359

19359:                                            ; preds = %19358
  br label %19360

19360:                                            ; preds = %19359, %19301
  br label %19361

19361:                                            ; preds = %19360
  br label %19362

19362:                                            ; preds = %19361
  br label %19363

19363:                                            ; preds = %19362
  %19364 = load i32, ptr @test_count, align 4, !tbaa !5
  %19365 = add nsw i32 %19364, 1
  store i32 %19365, ptr @test_count, align 4, !tbaa !5
  %19366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19367 = load i32, ptr %19366, align 4, !tbaa !5
  %19368 = call ptr @s2n_strerror_debug(i32 noundef %19367, ptr noundef @.str.4)
  %19369 = icmp eq ptr %19368, null
  br i1 %19369, label %19370, label %19423

19370:                                            ; preds = %19363
  br label %19371

19371:                                            ; preds = %19370
  br label %19372

19372:                                            ; preds = %19371
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %19373 = call ptr @__errno_location() #12
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  store i32 %19374, ptr %377, 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 %377, 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.4)
  %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.4)
  %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.2, i32 noundef %19388, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19391, ptr noundef %19394, ptr noundef %19397, i32 noundef %19399) #11
  br label %19418

19401:                                            ; preds = %19379, %19372
  %19402 = load i32, ptr %377, 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.4)
  %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.4)
  %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.5, i32 noundef %19405, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 737, 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 %377) #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, %19363
  br label %19424

19424:                                            ; preds = %19423
  br label %19425

19425:                                            ; preds = %19424
  br label %19426

19426:                                            ; preds = %19425
  br label %19427

19427:                                            ; preds = %19426
  br label %19428

19428:                                            ; preds = %19427
  %19429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19429, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19430 = call ptr @__errno_location() #12
  store i32 0, ptr %19430, align 4, !tbaa !5
  br label %19431

19431:                                            ; preds = %19428
  br label %19432

19432:                                            ; preds = %19431
  br label %19433

19433:                                            ; preds = %19432
  br label %19434

19434:                                            ; preds = %19433
  br label %19435

19435:                                            ; preds = %19434
  br label %19436

19436:                                            ; preds = %19435
  br label %19437

19437:                                            ; preds = %19436
  %19438 = load i32, ptr @test_count, align 4, !tbaa !5
  %19439 = add nsw i32 %19438, 1
  store i32 %19439, ptr @test_count, align 4, !tbaa !5
  %19440 = load ptr, ptr %339, align 8, !tbaa !9
  %19441 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %19440, ptr noundef %373, ptr noundef %374)
  %19442 = icmp eq i32 %19441, -1
  br i1 %19442, label %19496, label %19443

19443:                                            ; preds = %19437
  br label %19444

19444:                                            ; preds = %19443
  br label %19445

19445:                                            ; preds = %19444
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %19446 = call ptr @__errno_location() #12
  %19447 = load i32, ptr %19446, align 4, !tbaa !5
  store i32 %19447, ptr %378, align 4, !tbaa !5
  %19448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19449 = call i32 @s2n_print_stacktrace(ptr noundef %19448)
  %19450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19451 = trunc i8 %19450 to i1
  br i1 %19451, label %19452, label %19474

19452:                                            ; preds = %19445
  %19453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19454 = call i32 @fileno(ptr noundef %19453) #11
  %19455 = call i32 @isatty(i32 noundef %19454) #11
  %19456 = icmp ne i32 %19455, 0
  br i1 %19456, label %19457, label %19474

19457:                                            ; preds = %19452
  %19458 = load i32, ptr %378, align 4, !tbaa !5
  %19459 = call ptr @__errno_location() #12
  store i32 %19458, ptr %19459, align 4, !tbaa !5
  %19460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19461 = load i32, ptr @test_count, align 4, !tbaa !5
  %19462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19463 = load i32, ptr %19462, align 4, !tbaa !5
  %19464 = call ptr @s2n_strerror(i32 noundef %19463, ptr noundef @.str.4)
  %19465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19466 = load i32, ptr %19465, align 4, !tbaa !5
  %19467 = call ptr @s2n_strerror_debug(i32 noundef %19466, ptr noundef @.str.4)
  %19468 = call ptr @__errno_location() #12
  %19469 = load i32, ptr %19468, align 4, !tbaa !5
  %19470 = call ptr @strerror(i32 noundef %19469) #11
  %19471 = call ptr @__errno_location() #12
  %19472 = load i32, ptr %19471, align 4, !tbaa !5
  %19473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19460, ptr noundef @.str.2, i32 noundef %19461, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19464, ptr noundef %19467, ptr noundef %19470, i32 noundef %19472) #11
  br label %19491

19474:                                            ; preds = %19452, %19445
  %19475 = load i32, ptr %378, align 4, !tbaa !5
  %19476 = call ptr @__errno_location() #12
  store i32 %19475, ptr %19476, align 4, !tbaa !5
  %19477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19478 = load i32, ptr @test_count, align 4, !tbaa !5
  %19479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19480 = load i32, ptr %19479, align 4, !tbaa !5
  %19481 = call ptr @s2n_strerror(i32 noundef %19480, ptr noundef @.str.4)
  %19482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19483 = load i32, ptr %19482, align 4, !tbaa !5
  %19484 = call ptr @s2n_strerror_debug(i32 noundef %19483, ptr noundef @.str.4)
  %19485 = call ptr @__errno_location() #12
  %19486 = load i32, ptr %19485, align 4, !tbaa !5
  %19487 = call ptr @strerror(i32 noundef %19486) #11
  %19488 = call ptr @__errno_location() #12
  %19489 = load i32, ptr %19488, align 4, !tbaa !5
  %19490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19477, ptr noundef @.str.5, i32 noundef %19478, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19481, ptr noundef %19484, ptr noundef %19487, i32 noundef %19489) #11
  br label %19491

19491:                                            ; preds = %19474, %19457
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %19492

19492:                                            ; preds = %19491
  br label %19493

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

19494:                                            ; No predecessors!
  br label %19495

19495:                                            ; preds = %19494
  br label %19496

19496:                                            ; preds = %19495, %19437
  br label %19497

19497:                                            ; preds = %19496
  br label %19498

19498:                                            ; preds = %19497
  br label %19499

19499:                                            ; preds = %19498
  %19500 = load i32, ptr @test_count, align 4, !tbaa !5
  %19501 = add nsw i32 %19500, 1
  store i32 %19501, ptr @test_count, align 4, !tbaa !5
  %19502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19503 = load i32, ptr %19502, align 4, !tbaa !5
  %19504 = icmp eq i32 %19503, 402653193
  br i1 %19504, label %19558, label %19505

19505:                                            ; preds = %19499
  br label %19506

19506:                                            ; preds = %19505
  br label %19507

19507:                                            ; preds = %19506
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %19508 = call ptr @__errno_location() #12
  %19509 = load i32, ptr %19508, align 4, !tbaa !5
  store i32 %19509, ptr %379, align 4, !tbaa !5
  %19510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19511 = call i32 @s2n_print_stacktrace(ptr noundef %19510)
  %19512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19513 = trunc i8 %19512 to i1
  br i1 %19513, label %19514, label %19536

19514:                                            ; preds = %19507
  %19515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19516 = call i32 @fileno(ptr noundef %19515) #11
  %19517 = call i32 @isatty(i32 noundef %19516) #11
  %19518 = icmp ne i32 %19517, 0
  br i1 %19518, label %19519, label %19536

19519:                                            ; preds = %19514
  %19520 = load i32, ptr %379, align 4, !tbaa !5
  %19521 = call ptr @__errno_location() #12
  store i32 %19520, ptr %19521, align 4, !tbaa !5
  %19522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19523 = load i32, ptr @test_count, align 4, !tbaa !5
  %19524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19525 = load i32, ptr %19524, align 4, !tbaa !5
  %19526 = call ptr @s2n_strerror(i32 noundef %19525, ptr noundef @.str.4)
  %19527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19528 = load i32, ptr %19527, align 4, !tbaa !5
  %19529 = call ptr @s2n_strerror_debug(i32 noundef %19528, ptr noundef @.str.4)
  %19530 = call ptr @__errno_location() #12
  %19531 = load i32, ptr %19530, align 4, !tbaa !5
  %19532 = call ptr @strerror(i32 noundef %19531) #11
  %19533 = call ptr @__errno_location() #12
  %19534 = load i32, ptr %19533, align 4, !tbaa !5
  %19535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19522, ptr noundef @.str.2, i32 noundef %19523, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19526, ptr noundef %19529, ptr noundef %19532, i32 noundef %19534) #11
  br label %19553

19536:                                            ; preds = %19514, %19507
  %19537 = load i32, ptr %379, align 4, !tbaa !5
  %19538 = call ptr @__errno_location() #12
  store i32 %19537, ptr %19538, align 4, !tbaa !5
  %19539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19540 = load i32, ptr @test_count, align 4, !tbaa !5
  %19541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19542 = load i32, ptr %19541, align 4, !tbaa !5
  %19543 = call ptr @s2n_strerror(i32 noundef %19542, ptr noundef @.str.4)
  %19544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19545 = load i32, ptr %19544, align 4, !tbaa !5
  %19546 = call ptr @s2n_strerror_debug(i32 noundef %19545, ptr noundef @.str.4)
  %19547 = call ptr @__errno_location() #12
  %19548 = load i32, ptr %19547, align 4, !tbaa !5
  %19549 = call ptr @strerror(i32 noundef %19548) #11
  %19550 = call ptr @__errno_location() #12
  %19551 = load i32, ptr %19550, align 4, !tbaa !5
  %19552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19539, ptr noundef @.str.5, i32 noundef %19540, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19543, ptr noundef %19546, ptr noundef %19549, i32 noundef %19551) #11
  br label %19553

19553:                                            ; preds = %19536, %19519
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %19554

19554:                                            ; preds = %19553
  br label %19555

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

19556:                                            ; No predecessors!
  br label %19557

19557:                                            ; preds = %19556
  br label %19558

19558:                                            ; preds = %19557, %19499
  br label %19559

19559:                                            ; preds = %19558
  br label %19560

19560:                                            ; preds = %19559
  br label %19561

19561:                                            ; preds = %19560
  %19562 = load i32, ptr @test_count, align 4, !tbaa !5
  %19563 = add nsw i32 %19562, 1
  store i32 %19563, ptr @test_count, align 4, !tbaa !5
  %19564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19565 = load i32, ptr %19564, align 4, !tbaa !5
  %19566 = call ptr @s2n_strerror_debug(i32 noundef %19565, ptr noundef @.str.4)
  %19567 = icmp eq ptr %19566, null
  br i1 %19567, label %19568, label %19621

19568:                                            ; preds = %19561
  br label %19569

19569:                                            ; preds = %19568
  br label %19570

19570:                                            ; preds = %19569
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %19571 = call ptr @__errno_location() #12
  %19572 = load i32, ptr %19571, align 4, !tbaa !5
  store i32 %19572, ptr %380, align 4, !tbaa !5
  %19573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19574 = call i32 @s2n_print_stacktrace(ptr noundef %19573)
  %19575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19576 = trunc i8 %19575 to i1
  br i1 %19576, label %19577, label %19599

19577:                                            ; preds = %19570
  %19578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19579 = call i32 @fileno(ptr noundef %19578) #11
  %19580 = call i32 @isatty(i32 noundef %19579) #11
  %19581 = icmp ne i32 %19580, 0
  br i1 %19581, label %19582, label %19599

19582:                                            ; preds = %19577
  %19583 = load i32, ptr %380, align 4, !tbaa !5
  %19584 = call ptr @__errno_location() #12
  store i32 %19583, ptr %19584, align 4, !tbaa !5
  %19585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19586 = load i32, ptr @test_count, align 4, !tbaa !5
  %19587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19588 = load i32, ptr %19587, align 4, !tbaa !5
  %19589 = call ptr @s2n_strerror(i32 noundef %19588, ptr noundef @.str.4)
  %19590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19591 = load i32, ptr %19590, align 4, !tbaa !5
  %19592 = call ptr @s2n_strerror_debug(i32 noundef %19591, ptr noundef @.str.4)
  %19593 = call ptr @__errno_location() #12
  %19594 = load i32, ptr %19593, align 4, !tbaa !5
  %19595 = call ptr @strerror(i32 noundef %19594) #11
  %19596 = call ptr @__errno_location() #12
  %19597 = load i32, ptr %19596, align 4, !tbaa !5
  %19598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19585, ptr noundef @.str.2, i32 noundef %19586, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19589, ptr noundef %19592, ptr noundef %19595, i32 noundef %19597) #11
  br label %19616

19599:                                            ; preds = %19577, %19570
  %19600 = load i32, ptr %380, align 4, !tbaa !5
  %19601 = call ptr @__errno_location() #12
  store i32 %19600, ptr %19601, align 4, !tbaa !5
  %19602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19603 = load i32, ptr @test_count, align 4, !tbaa !5
  %19604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19605 = load i32, ptr %19604, align 4, !tbaa !5
  %19606 = call ptr @s2n_strerror(i32 noundef %19605, ptr noundef @.str.4)
  %19607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19608 = load i32, ptr %19607, align 4, !tbaa !5
  %19609 = call ptr @s2n_strerror_debug(i32 noundef %19608, ptr noundef @.str.4)
  %19610 = call ptr @__errno_location() #12
  %19611 = load i32, ptr %19610, align 4, !tbaa !5
  %19612 = call ptr @strerror(i32 noundef %19611) #11
  %19613 = call ptr @__errno_location() #12
  %19614 = load i32, ptr %19613, align 4, !tbaa !5
  %19615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19602, ptr noundef @.str.5, i32 noundef %19603, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 739, ptr noundef %19606, ptr noundef %19609, ptr noundef %19612, i32 noundef %19614) #11
  br label %19616

19616:                                            ; preds = %19599, %19582
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %19617

19617:                                            ; preds = %19616
  br label %19618

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

19619:                                            ; No predecessors!
  br label %19620

19620:                                            ; preds = %19619
  br label %19621

19621:                                            ; preds = %19620, %19561
  br label %19622

19622:                                            ; preds = %19621
  br label %19623

19623:                                            ; preds = %19622
  br label %19624

19624:                                            ; preds = %19623
  br label %19625

19625:                                            ; preds = %19624
  br label %19626

19626:                                            ; preds = %19625
  %19627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19627, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19628 = call ptr @__errno_location() #12
  store i32 0, ptr %19628, align 4, !tbaa !5
  br label %19629

19629:                                            ; preds = %19626
  br label %19630

19630:                                            ; preds = %19629
  br label %19631

19631:                                            ; preds = %19630
  br label %19632

19632:                                            ; preds = %19631
  br label %19633

19633:                                            ; preds = %19632
  %19634 = load i32, ptr @test_count, align 4, !tbaa !5
  %19635 = add nsw i32 %19634, 1
  store i32 %19635, ptr @test_count, align 4, !tbaa !5
  %19636 = load ptr, ptr %373, align 8, !tbaa !9
  %19637 = icmp eq ptr %19636, null
  br i1 %19637, label %19691, label %19638

19638:                                            ; preds = %19633
  br label %19639

19639:                                            ; preds = %19638
  br label %19640

19640:                                            ; preds = %19639
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #11
  %19641 = call ptr @__errno_location() #12
  %19642 = load i32, ptr %19641, align 4, !tbaa !5
  store i32 %19642, ptr %381, align 4, !tbaa !5
  %19643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19644 = call i32 @s2n_print_stacktrace(ptr noundef %19643)
  %19645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19646 = trunc i8 %19645 to i1
  br i1 %19646, label %19647, label %19669

19647:                                            ; preds = %19640
  %19648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19649 = call i32 @fileno(ptr noundef %19648) #11
  %19650 = call i32 @isatty(i32 noundef %19649) #11
  %19651 = icmp ne i32 %19650, 0
  br i1 %19651, label %19652, label %19669

19652:                                            ; preds = %19647
  %19653 = load i32, ptr %381, align 4, !tbaa !5
  %19654 = call ptr @__errno_location() #12
  store i32 %19653, ptr %19654, align 4, !tbaa !5
  %19655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19656 = load i32, ptr @test_count, align 4, !tbaa !5
  %19657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19658 = load i32, ptr %19657, align 4, !tbaa !5
  %19659 = call ptr @s2n_strerror(i32 noundef %19658, ptr noundef @.str.4)
  %19660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19661 = load i32, ptr %19660, align 4, !tbaa !5
  %19662 = call ptr @s2n_strerror_debug(i32 noundef %19661, ptr noundef @.str.4)
  %19663 = call ptr @__errno_location() #12
  %19664 = load i32, ptr %19663, align 4, !tbaa !5
  %19665 = call ptr @strerror(i32 noundef %19664) #11
  %19666 = call ptr @__errno_location() #12
  %19667 = load i32, ptr %19666, align 4, !tbaa !5
  %19668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19655, ptr noundef @.str.2, i32 noundef %19656, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 740, ptr noundef %19659, ptr noundef %19662, ptr noundef %19665, i32 noundef %19667) #11
  br label %19686

19669:                                            ; preds = %19647, %19640
  %19670 = load i32, ptr %381, align 4, !tbaa !5
  %19671 = call ptr @__errno_location() #12
  store i32 %19670, ptr %19671, align 4, !tbaa !5
  %19672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19673 = load i32, ptr @test_count, align 4, !tbaa !5
  %19674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19675 = load i32, ptr %19674, align 4, !tbaa !5
  %19676 = call ptr @s2n_strerror(i32 noundef %19675, ptr noundef @.str.4)
  %19677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19678 = load i32, ptr %19677, align 4, !tbaa !5
  %19679 = call ptr @s2n_strerror_debug(i32 noundef %19678, ptr noundef @.str.4)
  %19680 = call ptr @__errno_location() #12
  %19681 = load i32, ptr %19680, align 4, !tbaa !5
  %19682 = call ptr @strerror(i32 noundef %19681) #11
  %19683 = call ptr @__errno_location() #12
  %19684 = load i32, ptr %19683, align 4, !tbaa !5
  %19685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19672, ptr noundef @.str.5, i32 noundef %19673, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 740, ptr noundef %19676, ptr noundef %19679, ptr noundef %19682, i32 noundef %19684) #11
  br label %19686

19686:                                            ; preds = %19669, %19652
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #11
  br label %19687

19687:                                            ; preds = %19686
  br label %19688

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

19689:                                            ; No predecessors!
  br label %19690

19690:                                            ; preds = %19689
  br label %19691

19691:                                            ; preds = %19690, %19633
  br label %19692

19692:                                            ; preds = %19691
  br label %19693

19693:                                            ; preds = %19692
  br label %19694

19694:                                            ; preds = %19693
  %19695 = load i32, ptr @test_count, align 4, !tbaa !5
  %19696 = add nsw i32 %19695, 1
  store i32 %19696, ptr @test_count, align 4, !tbaa !5
  %19697 = load i32, ptr %374, align 4, !tbaa !5
  %19698 = icmp eq i32 %19697, 0
  br i1 %19698, label %19752, label %19699

19699:                                            ; preds = %19694
  br label %19700

19700:                                            ; preds = %19699
  br label %19701

19701:                                            ; preds = %19700
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %19702 = call ptr @__errno_location() #12
  %19703 = load i32, ptr %19702, align 4, !tbaa !5
  store i32 %19703, ptr %382, align 4, !tbaa !5
  %19704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19705 = call i32 @s2n_print_stacktrace(ptr noundef %19704)
  %19706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19707 = trunc i8 %19706 to i1
  br i1 %19707, label %19708, label %19730

19708:                                            ; preds = %19701
  %19709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19710 = call i32 @fileno(ptr noundef %19709) #11
  %19711 = call i32 @isatty(i32 noundef %19710) #11
  %19712 = icmp ne i32 %19711, 0
  br i1 %19712, label %19713, label %19730

19713:                                            ; preds = %19708
  %19714 = load i32, ptr %382, align 4, !tbaa !5
  %19715 = call ptr @__errno_location() #12
  store i32 %19714, ptr %19715, align 4, !tbaa !5
  %19716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19717 = load i32, ptr @test_count, align 4, !tbaa !5
  %19718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19719 = load i32, ptr %19718, align 4, !tbaa !5
  %19720 = call ptr @s2n_strerror(i32 noundef %19719, ptr noundef @.str.4)
  %19721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19722 = load i32, ptr %19721, align 4, !tbaa !5
  %19723 = call ptr @s2n_strerror_debug(i32 noundef %19722, ptr noundef @.str.4)
  %19724 = call ptr @__errno_location() #12
  %19725 = load i32, ptr %19724, align 4, !tbaa !5
  %19726 = call ptr @strerror(i32 noundef %19725) #11
  %19727 = call ptr @__errno_location() #12
  %19728 = load i32, ptr %19727, align 4, !tbaa !5
  %19729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19716, ptr noundef @.str.2, i32 noundef %19717, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 741, ptr noundef %19720, ptr noundef %19723, ptr noundef %19726, i32 noundef %19728) #11
  br label %19747

19730:                                            ; preds = %19708, %19701
  %19731 = load i32, ptr %382, align 4, !tbaa !5
  %19732 = call ptr @__errno_location() #12
  store i32 %19731, ptr %19732, align 4, !tbaa !5
  %19733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19734 = load i32, ptr @test_count, align 4, !tbaa !5
  %19735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19736 = load i32, ptr %19735, align 4, !tbaa !5
  %19737 = call ptr @s2n_strerror(i32 noundef %19736, ptr noundef @.str.4)
  %19738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19739 = load i32, ptr %19738, align 4, !tbaa !5
  %19740 = call ptr @s2n_strerror_debug(i32 noundef %19739, ptr noundef @.str.4)
  %19741 = call ptr @__errno_location() #12
  %19742 = load i32, ptr %19741, align 4, !tbaa !5
  %19743 = call ptr @strerror(i32 noundef %19742) #11
  %19744 = call ptr @__errno_location() #12
  %19745 = load i32, ptr %19744, align 4, !tbaa !5
  %19746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19733, ptr noundef @.str.5, i32 noundef %19734, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 741, ptr noundef %19737, ptr noundef %19740, ptr noundef %19743, i32 noundef %19745) #11
  br label %19747

19747:                                            ; preds = %19730, %19713
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %19748

19748:                                            ; preds = %19747
  br label %19749

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

19750:                                            ; No predecessors!
  br label %19751

19751:                                            ; preds = %19750
  br label %19752

19752:                                            ; preds = %19751, %19694
  br label %19753

19753:                                            ; preds = %19752
  br label %19754

19754:                                            ; preds = %19753
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %373) #11
  %19755 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %19755, label %19756, label %20015

19756:                                            ; preds = %19754
  call void @llvm.lifetime.start.p0(i64 8, ptr %383) #11
  store ptr null, ptr %383, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  store i32 0, ptr %384, align 4, !tbaa !5
  br label %19757

19757:                                            ; preds = %19756
  %19758 = load i32, ptr @test_count, align 4, !tbaa !5
  %19759 = add nsw i32 %19758, 1
  store i32 %19759, ptr @test_count, align 4, !tbaa !5
  %19760 = load ptr, ptr %338, align 8, !tbaa !9
  %19761 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %19760, ptr noundef %383, ptr noundef %384)
  %19762 = icmp eq i32 %19761, -1
  br i1 %19762, label %19763, label %19816

19763:                                            ; preds = %19757
  br label %19764

19764:                                            ; preds = %19763
  br label %19765

19765:                                            ; preds = %19764
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %19766 = call ptr @__errno_location() #12
  %19767 = load i32, ptr %19766, align 4, !tbaa !5
  store i32 %19767, ptr %385, align 4, !tbaa !5
  %19768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19769 = call i32 @s2n_print_stacktrace(ptr noundef %19768)
  %19770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19771 = trunc i8 %19770 to i1
  br i1 %19771, label %19772, label %19794

19772:                                            ; preds = %19765
  %19773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19774 = call i32 @fileno(ptr noundef %19773) #11
  %19775 = call i32 @isatty(i32 noundef %19774) #11
  %19776 = icmp ne i32 %19775, 0
  br i1 %19776, label %19777, label %19794

19777:                                            ; preds = %19772
  %19778 = load i32, ptr %385, align 4, !tbaa !5
  %19779 = call ptr @__errno_location() #12
  store i32 %19778, ptr %19779, align 4, !tbaa !5
  %19780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19781 = load i32, ptr @test_count, align 4, !tbaa !5
  %19782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19783 = load i32, ptr %19782, align 4, !tbaa !5
  %19784 = call ptr @s2n_strerror(i32 noundef %19783, ptr noundef @.str.4)
  %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_debug(i32 noundef %19786, ptr noundef @.str.4)
  %19788 = call ptr @__errno_location() #12
  %19789 = load i32, ptr %19788, align 4, !tbaa !5
  %19790 = call ptr @strerror(i32 noundef %19789) #11
  %19791 = call ptr @__errno_location() #12
  %19792 = load i32, ptr %19791, align 4, !tbaa !5
  %19793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19780, ptr noundef @.str.2, i32 noundef %19781, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 750, ptr noundef %19784, ptr noundef %19787, ptr noundef %19790, i32 noundef %19792) #11
  br label %19811

19794:                                            ; preds = %19772, %19765
  %19795 = load i32, ptr %385, align 4, !tbaa !5
  %19796 = call ptr @__errno_location() #12
  store i32 %19795, ptr %19796, align 4, !tbaa !5
  %19797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19798 = load i32, ptr @test_count, align 4, !tbaa !5
  %19799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19800 = load i32, ptr %19799, align 4, !tbaa !5
  %19801 = call ptr @s2n_strerror(i32 noundef %19800, ptr noundef @.str.4)
  %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_debug(i32 noundef %19803, ptr noundef @.str.4)
  %19805 = call ptr @__errno_location() #12
  %19806 = load i32, ptr %19805, align 4, !tbaa !5
  %19807 = call ptr @strerror(i32 noundef %19806) #11
  %19808 = call ptr @__errno_location() #12
  %19809 = load i32, ptr %19808, align 4, !tbaa !5
  %19810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19797, ptr noundef @.str.5, i32 noundef %19798, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 750, ptr noundef %19801, ptr noundef %19804, ptr noundef %19807, i32 noundef %19809) #11
  br label %19811

19811:                                            ; preds = %19794, %19777
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %19812

19812:                                            ; preds = %19811
  br label %19813

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

19814:                                            ; No predecessors!
  br label %19815

19815:                                            ; preds = %19814
  br label %19816

19816:                                            ; preds = %19815, %19757
  br label %19817

19817:                                            ; preds = %19816
  br label %19818

19818:                                            ; preds = %19817
  call void @llvm.lifetime.start.p0(i64 8, ptr %386) #11
  store ptr null, ptr %386, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  store i32 0, ptr %387, align 4, !tbaa !5
  br label %19819

19819:                                            ; preds = %19818
  %19820 = load i32, ptr @test_count, align 4, !tbaa !5
  %19821 = add nsw i32 %19820, 1
  store i32 %19821, ptr @test_count, align 4, !tbaa !5
  %19822 = load ptr, ptr %340, align 8, !tbaa !9
  %19823 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %19822, ptr noundef %386, ptr noundef %387)
  %19824 = icmp eq i32 %19823, -1
  br i1 %19824, label %19825, label %19878

19825:                                            ; preds = %19819
  br label %19826

19826:                                            ; preds = %19825
  br label %19827

19827:                                            ; preds = %19826
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %19828 = call ptr @__errno_location() #12
  %19829 = load i32, ptr %19828, align 4, !tbaa !5
  store i32 %19829, ptr %388, align 4, !tbaa !5
  %19830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19831 = call i32 @s2n_print_stacktrace(ptr noundef %19830)
  %19832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19833 = trunc i8 %19832 to i1
  br i1 %19833, label %19834, label %19856

19834:                                            ; preds = %19827
  %19835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19836 = call i32 @fileno(ptr noundef %19835) #11
  %19837 = call i32 @isatty(i32 noundef %19836) #11
  %19838 = icmp ne i32 %19837, 0
  br i1 %19838, label %19839, label %19856

19839:                                            ; preds = %19834
  %19840 = load i32, ptr %388, align 4, !tbaa !5
  %19841 = call ptr @__errno_location() #12
  store i32 %19840, ptr %19841, align 4, !tbaa !5
  %19842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19843 = load i32, ptr @test_count, align 4, !tbaa !5
  %19844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19845 = load i32, ptr %19844, align 4, !tbaa !5
  %19846 = call ptr @s2n_strerror(i32 noundef %19845, ptr noundef @.str.4)
  %19847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call ptr @s2n_strerror_debug(i32 noundef %19848, ptr noundef @.str.4)
  %19850 = call ptr @__errno_location() #12
  %19851 = load i32, ptr %19850, align 4, !tbaa !5
  %19852 = call ptr @strerror(i32 noundef %19851) #11
  %19853 = call ptr @__errno_location() #12
  %19854 = load i32, ptr %19853, align 4, !tbaa !5
  %19855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19842, ptr noundef @.str.2, i32 noundef %19843, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 754, ptr noundef %19846, ptr noundef %19849, ptr noundef %19852, i32 noundef %19854) #11
  br label %19873

19856:                                            ; preds = %19834, %19827
  %19857 = load i32, ptr %388, align 4, !tbaa !5
  %19858 = call ptr @__errno_location() #12
  store i32 %19857, ptr %19858, align 4, !tbaa !5
  %19859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19860 = load i32, ptr @test_count, align 4, !tbaa !5
  %19861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19862 = load i32, ptr %19861, align 4, !tbaa !5
  %19863 = call ptr @s2n_strerror(i32 noundef %19862, ptr noundef @.str.4)
  %19864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19865 = load i32, ptr %19864, align 4, !tbaa !5
  %19866 = call ptr @s2n_strerror_debug(i32 noundef %19865, ptr noundef @.str.4)
  %19867 = call ptr @__errno_location() #12
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  %19869 = call ptr @strerror(i32 noundef %19868) #11
  %19870 = call ptr @__errno_location() #12
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19859, ptr noundef @.str.5, i32 noundef %19860, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 754, ptr noundef %19863, ptr noundef %19866, ptr noundef %19869, i32 noundef %19871) #11
  br label %19873

19873:                                            ; preds = %19856, %19839
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %19874

19874:                                            ; preds = %19873
  br label %19875

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

19876:                                            ; No predecessors!
  br label %19877

19877:                                            ; preds = %19876
  br label %19878

19878:                                            ; preds = %19877, %19819
  br label %19879

19879:                                            ; preds = %19878
  br label %19880

19880:                                            ; preds = %19879
  br label %19881

19881:                                            ; preds = %19880
  %19882 = load i32, ptr @test_count, align 4, !tbaa !5
  %19883 = add nsw i32 %19882, 1
  store i32 %19883, ptr @test_count, align 4, !tbaa !5
  %19884 = load i32, ptr %384, align 4, !tbaa !5
  %19885 = load i32, ptr %387, align 4, !tbaa !5
  %19886 = icmp eq i32 %19884, %19885
  br i1 %19886, label %19940, label %19887

19887:                                            ; preds = %19881
  br label %19888

19888:                                            ; preds = %19887
  br label %19889

19889:                                            ; preds = %19888
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %19890 = call ptr @__errno_location() #12
  %19891 = load i32, ptr %19890, align 4, !tbaa !5
  store i32 %19891, ptr %389, align 4, !tbaa !5
  %19892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19893 = call i32 @s2n_print_stacktrace(ptr noundef %19892)
  %19894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19895 = trunc i8 %19894 to i1
  br i1 %19895, label %19896, label %19918

19896:                                            ; preds = %19889
  %19897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19898 = call i32 @fileno(ptr noundef %19897) #11
  %19899 = call i32 @isatty(i32 noundef %19898) #11
  %19900 = icmp ne i32 %19899, 0
  br i1 %19900, label %19901, label %19918

19901:                                            ; preds = %19896
  %19902 = load i32, ptr %389, align 4, !tbaa !5
  %19903 = call ptr @__errno_location() #12
  store i32 %19902, ptr %19903, align 4, !tbaa !5
  %19904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19905 = load i32, ptr @test_count, align 4, !tbaa !5
  %19906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19907 = load i32, ptr %19906, align 4, !tbaa !5
  %19908 = call ptr @s2n_strerror(i32 noundef %19907, ptr noundef @.str.4)
  %19909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19910 = load i32, ptr %19909, align 4, !tbaa !5
  %19911 = call ptr @s2n_strerror_debug(i32 noundef %19910, ptr noundef @.str.4)
  %19912 = call ptr @__errno_location() #12
  %19913 = load i32, ptr %19912, align 4, !tbaa !5
  %19914 = call ptr @strerror(i32 noundef %19913) #11
  %19915 = call ptr @__errno_location() #12
  %19916 = load i32, ptr %19915, align 4, !tbaa !5
  %19917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19904, ptr noundef @.str.2, i32 noundef %19905, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 756, ptr noundef %19908, ptr noundef %19911, ptr noundef %19914, i32 noundef %19916) #11
  br label %19935

19918:                                            ; preds = %19896, %19889
  %19919 = load i32, ptr %389, align 4, !tbaa !5
  %19920 = call ptr @__errno_location() #12
  store i32 %19919, ptr %19920, align 4, !tbaa !5
  %19921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19922 = load i32, ptr @test_count, align 4, !tbaa !5
  %19923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19924 = load i32, ptr %19923, align 4, !tbaa !5
  %19925 = call ptr @s2n_strerror(i32 noundef %19924, ptr noundef @.str.4)
  %19926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19927 = load i32, ptr %19926, align 4, !tbaa !5
  %19928 = call ptr @s2n_strerror_debug(i32 noundef %19927, ptr noundef @.str.4)
  %19929 = call ptr @__errno_location() #12
  %19930 = load i32, ptr %19929, align 4, !tbaa !5
  %19931 = call ptr @strerror(i32 noundef %19930) #11
  %19932 = call ptr @__errno_location() #12
  %19933 = load i32, ptr %19932, align 4, !tbaa !5
  %19934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19921, ptr noundef @.str.5, i32 noundef %19922, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 756, ptr noundef %19925, ptr noundef %19928, ptr noundef %19931, i32 noundef %19933) #11
  br label %19935

19935:                                            ; preds = %19918, %19901
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %19936

19936:                                            ; preds = %19935
  br label %19937

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

19938:                                            ; No predecessors!
  br label %19939

19939:                                            ; preds = %19938
  br label %19940

19940:                                            ; preds = %19939, %19881
  br label %19941

19941:                                            ; preds = %19940
  br label %19942

19942:                                            ; preds = %19941
  br label %19943

19943:                                            ; preds = %19942
  %19944 = load i32, ptr %387, align 4, !tbaa !5
  %19945 = icmp ne i32 %19944, 0
  br i1 %19945, label %19946, label %20012

19946:                                            ; preds = %19943
  br label %19947

19947:                                            ; preds = %19946
  %19948 = load i32, ptr @test_count, align 4, !tbaa !5
  %19949 = add nsw i32 %19948, 1
  store i32 %19949, ptr @test_count, align 4, !tbaa !5
  %19950 = load ptr, ptr %383, align 8, !tbaa !9
  %19951 = load ptr, ptr %386, align 8, !tbaa !9
  %19952 = load i32, ptr %387, align 4, !tbaa !5
  %19953 = zext i32 %19952 to i64
  %19954 = call i32 @memcmp(ptr noundef %19950, ptr noundef %19951, i64 noundef %19953) #14
  %19955 = icmp eq i32 %19954, 0
  br i1 %19955, label %20009, label %19956

19956:                                            ; preds = %19947
  br label %19957

19957:                                            ; preds = %19956
  br label %19958

19958:                                            ; preds = %19957
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %19959 = call ptr @__errno_location() #12
  %19960 = load i32, ptr %19959, align 4, !tbaa !5
  store i32 %19960, ptr %390, 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 %390, 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.4)
  %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.4)
  %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.2, i32 noundef %19974, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 757, ptr noundef %19977, ptr noundef %19980, ptr noundef %19983, i32 noundef %19985) #11
  br label %20004

19987:                                            ; preds = %19965, %19958
  %19988 = load i32, ptr %390, 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.4)
  %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.4)
  %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.5, i32 noundef %19991, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 757, 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 %390) #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, %19947
  br label %20010

20010:                                            ; preds = %20009
  br label %20011

20011:                                            ; preds = %20010
  br label %20012

20012:                                            ; preds = %20011, %19943
  br label %20013

20013:                                            ; preds = %20012
  br label %20014

20014:                                            ; preds = %20013
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %386) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %383) #11
  br label %20015

20015:                                            ; preds = %20014, %19754
  call void @llvm.lifetime.start.p0(i64 8, ptr %391) #11
  %20016 = call ptr @s2n_config_new()
  store ptr %20016, ptr %391, align 8, !tbaa !9
  br label %20017

20017:                                            ; preds = %20015
  %20018 = load i32, ptr @test_count, align 4, !tbaa !5
  %20019 = add nsw i32 %20018, 1
  store i32 %20019, ptr @test_count, align 4, !tbaa !5
  %20020 = load ptr, ptr %391, align 8, !tbaa !9
  %20021 = call i32 @s2n_config_set_client_auth_type(ptr noundef %20020, i32 noundef 1)
  %20022 = icmp eq i32 %20021, -1
  br i1 %20022, label %20023, label %20076

20023:                                            ; preds = %20017
  br label %20024

20024:                                            ; preds = %20023
  br label %20025

20025:                                            ; preds = %20024
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %20026 = call ptr @__errno_location() #12
  %20027 = load i32, ptr %20026, align 4, !tbaa !5
  store i32 %20027, ptr %392, align 4, !tbaa !5
  %20028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20029 = call i32 @s2n_print_stacktrace(ptr noundef %20028)
  %20030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20031 = trunc i8 %20030 to i1
  br i1 %20031, label %20032, label %20054

20032:                                            ; preds = %20025
  %20033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20034 = call i32 @fileno(ptr noundef %20033) #11
  %20035 = call i32 @isatty(i32 noundef %20034) #11
  %20036 = icmp ne i32 %20035, 0
  br i1 %20036, label %20037, label %20054

20037:                                            ; preds = %20032
  %20038 = load i32, ptr %392, align 4, !tbaa !5
  %20039 = call ptr @__errno_location() #12
  store i32 %20038, ptr %20039, align 4, !tbaa !5
  %20040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20041 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20043, ptr noundef @.str.4)
  %20045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @s2n_strerror_debug(i32 noundef %20046, ptr noundef @.str.4)
  %20048 = call ptr @__errno_location() #12
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call ptr @strerror(i32 noundef %20049) #11
  %20051 = call ptr @__errno_location() #12
  %20052 = load i32, ptr %20051, align 4, !tbaa !5
  %20053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20040, ptr noundef @.str.2, i32 noundef %20041, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 764, ptr noundef %20044, ptr noundef %20047, ptr noundef %20050, i32 noundef %20052) #11
  br label %20071

20054:                                            ; preds = %20032, %20025
  %20055 = load i32, ptr %392, align 4, !tbaa !5
  %20056 = call ptr @__errno_location() #12
  store i32 %20055, ptr %20056, align 4, !tbaa !5
  %20057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20058 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20060, ptr noundef @.str.4)
  %20062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20063 = load i32, ptr %20062, align 4, !tbaa !5
  %20064 = call ptr @s2n_strerror_debug(i32 noundef %20063, ptr noundef @.str.4)
  %20065 = call ptr @__errno_location() #12
  %20066 = load i32, ptr %20065, align 4, !tbaa !5
  %20067 = call ptr @strerror(i32 noundef %20066) #11
  %20068 = call ptr @__errno_location() #12
  %20069 = load i32, ptr %20068, align 4, !tbaa !5
  %20070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20057, ptr noundef @.str.5, i32 noundef %20058, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 764, ptr noundef %20061, ptr noundef %20064, ptr noundef %20067, i32 noundef %20069) #11
  br label %20071

20071:                                            ; preds = %20054, %20037
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %20072

20072:                                            ; preds = %20071
  br label %20073

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

20074:                                            ; No predecessors!
  br label %20075

20075:                                            ; preds = %20074
  br label %20076

20076:                                            ; preds = %20075, %20017
  br label %20077

20077:                                            ; preds = %20076
  br label %20078

20078:                                            ; preds = %20077
  br label %20079

20079:                                            ; preds = %20078
  %20080 = load i32, ptr @test_count, align 4, !tbaa !5
  %20081 = add nsw i32 %20080, 1
  store i32 %20081, ptr @test_count, align 4, !tbaa !5
  %20082 = load ptr, ptr %391, align 8, !tbaa !9
  %20083 = load ptr, ptr %10, align 8, !tbaa !9
  %20084 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %20082, ptr noundef %20083)
  %20085 = icmp eq i32 %20084, -1
  br i1 %20085, label %20086, label %20139

20086:                                            ; preds = %20079
  br label %20087

20087:                                            ; preds = %20086
  br label %20088

20088:                                            ; preds = %20087
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %20089 = call ptr @__errno_location() #12
  %20090 = load i32, ptr %20089, align 4, !tbaa !5
  store i32 %20090, ptr %393, align 4, !tbaa !5
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = call i32 @s2n_print_stacktrace(ptr noundef %20091)
  %20093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20094 = trunc i8 %20093 to i1
  br i1 %20094, label %20095, label %20117

20095:                                            ; preds = %20088
  %20096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20097 = call i32 @fileno(ptr noundef %20096) #11
  %20098 = call i32 @isatty(i32 noundef %20097) #11
  %20099 = icmp ne i32 %20098, 0
  br i1 %20099, label %20100, label %20117

20100:                                            ; preds = %20095
  %20101 = load i32, ptr %393, align 4, !tbaa !5
  %20102 = call ptr @__errno_location() #12
  store i32 %20101, ptr %20102, align 4, !tbaa !5
  %20103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20104 = load i32, ptr @test_count, align 4, !tbaa !5
  %20105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20106 = load i32, ptr %20105, align 4, !tbaa !5
  %20107 = call ptr @s2n_strerror(i32 noundef %20106, ptr noundef @.str.4)
  %20108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20109 = load i32, ptr %20108, align 4, !tbaa !5
  %20110 = call ptr @s2n_strerror_debug(i32 noundef %20109, ptr noundef @.str.4)
  %20111 = call ptr @__errno_location() #12
  %20112 = load i32, ptr %20111, align 4, !tbaa !5
  %20113 = call ptr @strerror(i32 noundef %20112) #11
  %20114 = call ptr @__errno_location() #12
  %20115 = load i32, ptr %20114, align 4, !tbaa !5
  %20116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20103, ptr noundef @.str.2, i32 noundef %20104, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20107, ptr noundef %20110, ptr noundef %20113, i32 noundef %20115) #11
  br label %20134

20117:                                            ; preds = %20095, %20088
  %20118 = load i32, ptr %393, align 4, !tbaa !5
  %20119 = call ptr @__errno_location() #12
  store i32 %20118, ptr %20119, align 4, !tbaa !5
  %20120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20121 = load i32, ptr @test_count, align 4, !tbaa !5
  %20122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20123 = load i32, ptr %20122, align 4, !tbaa !5
  %20124 = call ptr @s2n_strerror(i32 noundef %20123, ptr noundef @.str.4)
  %20125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20126 = load i32, ptr %20125, align 4, !tbaa !5
  %20127 = call ptr @s2n_strerror_debug(i32 noundef %20126, ptr noundef @.str.4)
  %20128 = call ptr @__errno_location() #12
  %20129 = load i32, ptr %20128, align 4, !tbaa !5
  %20130 = call ptr @strerror(i32 noundef %20129) #11
  %20131 = call ptr @__errno_location() #12
  %20132 = load i32, ptr %20131, align 4, !tbaa !5
  %20133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20120, ptr noundef @.str.5, i32 noundef %20121, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20124, ptr noundef %20127, ptr noundef %20130, i32 noundef %20132) #11
  br label %20134

20134:                                            ; preds = %20117, %20100
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %20135

20135:                                            ; preds = %20134
  br label %20136

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

20137:                                            ; No predecessors!
  br label %20138

20138:                                            ; preds = %20137
  br label %20139

20139:                                            ; preds = %20138, %20079
  br label %20140

20140:                                            ; preds = %20139
  br label %20141

20141:                                            ; preds = %20140
  br label %20142

20142:                                            ; preds = %20141
  %20143 = load i32, ptr @test_count, align 4, !tbaa !5
  %20144 = add nsw i32 %20143, 1
  store i32 %20144, ptr @test_count, align 4, !tbaa !5
  %20145 = load ptr, ptr %391, align 8, !tbaa !9
  %20146 = call i32 @s2n_config_disable_x509_verification(ptr noundef %20145)
  %20147 = icmp eq i32 %20146, -1
  br i1 %20147, label %20148, label %20201

20148:                                            ; preds = %20142
  br label %20149

20149:                                            ; preds = %20148
  br label %20150

20150:                                            ; preds = %20149
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %20151 = call ptr @__errno_location() #12
  %20152 = load i32, ptr %20151, align 4, !tbaa !5
  store i32 %20152, ptr %394, align 4, !tbaa !5
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = call i32 @s2n_print_stacktrace(ptr noundef %20153)
  %20155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20156 = trunc i8 %20155 to i1
  br i1 %20156, label %20157, label %20179

20157:                                            ; preds = %20150
  %20158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20159 = call i32 @fileno(ptr noundef %20158) #11
  %20160 = call i32 @isatty(i32 noundef %20159) #11
  %20161 = icmp ne i32 %20160, 0
  br i1 %20161, label %20162, label %20179

20162:                                            ; preds = %20157
  %20163 = load i32, ptr %394, align 4, !tbaa !5
  %20164 = call ptr @__errno_location() #12
  store i32 %20163, ptr %20164, align 4, !tbaa !5
  %20165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20166 = load i32, ptr @test_count, align 4, !tbaa !5
  %20167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  %20169 = call ptr @s2n_strerror(i32 noundef %20168, ptr noundef @.str.4)
  %20170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20171 = load i32, ptr %20170, align 4, !tbaa !5
  %20172 = call ptr @s2n_strerror_debug(i32 noundef %20171, ptr noundef @.str.4)
  %20173 = call ptr @__errno_location() #12
  %20174 = load i32, ptr %20173, align 4, !tbaa !5
  %20175 = call ptr @strerror(i32 noundef %20174) #11
  %20176 = call ptr @__errno_location() #12
  %20177 = load i32, ptr %20176, align 4, !tbaa !5
  %20178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20165, ptr noundef @.str.2, i32 noundef %20166, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 768, ptr noundef %20169, ptr noundef %20172, ptr noundef %20175, i32 noundef %20177) #11
  br label %20196

20179:                                            ; preds = %20157, %20150
  %20180 = load i32, ptr %394, align 4, !tbaa !5
  %20181 = call ptr @__errno_location() #12
  store i32 %20180, ptr %20181, align 4, !tbaa !5
  %20182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20183 = load i32, ptr @test_count, align 4, !tbaa !5
  %20184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20185 = load i32, ptr %20184, align 4, !tbaa !5
  %20186 = call ptr @s2n_strerror(i32 noundef %20185, ptr noundef @.str.4)
  %20187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20188 = load i32, ptr %20187, align 4, !tbaa !5
  %20189 = call ptr @s2n_strerror_debug(i32 noundef %20188, ptr noundef @.str.4)
  %20190 = call ptr @__errno_location() #12
  %20191 = load i32, ptr %20190, align 4, !tbaa !5
  %20192 = call ptr @strerror(i32 noundef %20191) #11
  %20193 = call ptr @__errno_location() #12
  %20194 = load i32, ptr %20193, align 4, !tbaa !5
  %20195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20182, ptr noundef @.str.5, i32 noundef %20183, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 768, ptr noundef %20186, ptr noundef %20189, ptr noundef %20192, i32 noundef %20194) #11
  br label %20196

20196:                                            ; preds = %20179, %20162
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %20197

20197:                                            ; preds = %20196
  br label %20198

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

20199:                                            ; No predecessors!
  br label %20200

20200:                                            ; preds = %20199
  br label %20201

20201:                                            ; preds = %20200, %20142
  br label %20202

20202:                                            ; preds = %20201
  br label %20203

20203:                                            ; preds = %20202
  call void @llvm.lifetime.start.p0(i64 8, ptr %395) #11
  %20204 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20204, ptr %395, align 8, !tbaa !9
  br label %20205

20205:                                            ; preds = %20203
  %20206 = load i32, ptr @test_count, align 4, !tbaa !5
  %20207 = add nsw i32 %20206, 1
  store i32 %20207, ptr @test_count, align 4, !tbaa !5
  %20208 = load ptr, ptr %395, align 8, !tbaa !9
  %20209 = load ptr, ptr %391, align 8, !tbaa !9
  %20210 = call i32 @s2n_connection_set_config(ptr noundef %20208, ptr noundef %20209)
  %20211 = icmp eq i32 %20210, -1
  br i1 %20211, label %20212, label %20265

20212:                                            ; preds = %20205
  br label %20213

20213:                                            ; preds = %20212
  br label %20214

20214:                                            ; preds = %20213
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %20215 = call ptr @__errno_location() #12
  %20216 = load i32, ptr %20215, align 4, !tbaa !5
  store i32 %20216, ptr %396, align 4, !tbaa !5
  %20217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20218 = call i32 @s2n_print_stacktrace(ptr noundef %20217)
  %20219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20220 = trunc i8 %20219 to i1
  br i1 %20220, label %20221, label %20243

20221:                                            ; preds = %20214
  %20222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20223 = call i32 @fileno(ptr noundef %20222) #11
  %20224 = call i32 @isatty(i32 noundef %20223) #11
  %20225 = icmp ne i32 %20224, 0
  br i1 %20225, label %20226, label %20243

20226:                                            ; preds = %20221
  %20227 = load i32, ptr %396, align 4, !tbaa !5
  %20228 = call ptr @__errno_location() #12
  store i32 %20227, ptr %20228, align 4, !tbaa !5
  %20229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20230 = load i32, ptr @test_count, align 4, !tbaa !5
  %20231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20232 = load i32, ptr %20231, align 4, !tbaa !5
  %20233 = call ptr @s2n_strerror(i32 noundef %20232, ptr noundef @.str.4)
  %20234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20235 = load i32, ptr %20234, align 4, !tbaa !5
  %20236 = call ptr @s2n_strerror_debug(i32 noundef %20235, ptr noundef @.str.4)
  %20237 = call ptr @__errno_location() #12
  %20238 = load i32, ptr %20237, align 4, !tbaa !5
  %20239 = call ptr @strerror(i32 noundef %20238) #11
  %20240 = call ptr @__errno_location() #12
  %20241 = load i32, ptr %20240, align 4, !tbaa !5
  %20242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20229, ptr noundef @.str.2, i32 noundef %20230, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 772, ptr noundef %20233, ptr noundef %20236, ptr noundef %20239, i32 noundef %20241) #11
  br label %20260

20243:                                            ; preds = %20221, %20214
  %20244 = load i32, ptr %396, align 4, !tbaa !5
  %20245 = call ptr @__errno_location() #12
  store i32 %20244, ptr %20245, align 4, !tbaa !5
  %20246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20247 = load i32, ptr @test_count, align 4, !tbaa !5
  %20248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20249 = load i32, ptr %20248, align 4, !tbaa !5
  %20250 = call ptr @s2n_strerror(i32 noundef %20249, ptr noundef @.str.4)
  %20251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20252 = load i32, ptr %20251, align 4, !tbaa !5
  %20253 = call ptr @s2n_strerror_debug(i32 noundef %20252, ptr noundef @.str.4)
  %20254 = call ptr @__errno_location() #12
  %20255 = load i32, ptr %20254, align 4, !tbaa !5
  %20256 = call ptr @strerror(i32 noundef %20255) #11
  %20257 = call ptr @__errno_location() #12
  %20258 = load i32, ptr %20257, align 4, !tbaa !5
  %20259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20246, ptr noundef @.str.5, i32 noundef %20247, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 772, ptr noundef %20250, ptr noundef %20253, ptr noundef %20256, i32 noundef %20258) #11
  br label %20260

20260:                                            ; preds = %20243, %20226
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %20261

20261:                                            ; preds = %20260
  br label %20262

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

20263:                                            ; No predecessors!
  br label %20264

20264:                                            ; preds = %20263
  br label %20265

20265:                                            ; preds = %20264, %20205
  br label %20266

20266:                                            ; preds = %20265
  br label %20267

20267:                                            ; preds = %20266
  call void @llvm.lifetime.start.p0(i64 8, ptr %397) #11
  %20268 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %20268, ptr %397, align 8, !tbaa !9
  br label %20269

20269:                                            ; preds = %20267
  %20270 = load i32, ptr @test_count, align 4, !tbaa !5
  %20271 = add nsw i32 %20270, 1
  store i32 %20271, ptr @test_count, align 4, !tbaa !5
  %20272 = load ptr, ptr %397, align 8, !tbaa !9
  %20273 = load ptr, ptr %391, align 8, !tbaa !9
  %20274 = call i32 @s2n_connection_set_config(ptr noundef %20272, ptr noundef %20273)
  %20275 = icmp eq i32 %20274, -1
  br i1 %20275, label %20276, label %20329

20276:                                            ; preds = %20269
  br label %20277

20277:                                            ; preds = %20276
  br label %20278

20278:                                            ; preds = %20277
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %20279 = call ptr @__errno_location() #12
  %20280 = load i32, ptr %20279, align 4, !tbaa !5
  store i32 %20280, ptr %398, align 4, !tbaa !5
  %20281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20282 = call i32 @s2n_print_stacktrace(ptr noundef %20281)
  %20283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20284 = trunc i8 %20283 to i1
  br i1 %20284, label %20285, label %20307

20285:                                            ; preds = %20278
  %20286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20287 = call i32 @fileno(ptr noundef %20286) #11
  %20288 = call i32 @isatty(i32 noundef %20287) #11
  %20289 = icmp ne i32 %20288, 0
  br i1 %20289, label %20290, label %20307

20290:                                            ; preds = %20285
  %20291 = load i32, ptr %398, align 4, !tbaa !5
  %20292 = call ptr @__errno_location() #12
  store i32 %20291, ptr %20292, align 4, !tbaa !5
  %20293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20294 = load i32, ptr @test_count, align 4, !tbaa !5
  %20295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20296 = load i32, ptr %20295, align 4, !tbaa !5
  %20297 = call ptr @s2n_strerror(i32 noundef %20296, ptr noundef @.str.4)
  %20298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20299 = load i32, ptr %20298, align 4, !tbaa !5
  %20300 = call ptr @s2n_strerror_debug(i32 noundef %20299, ptr noundef @.str.4)
  %20301 = call ptr @__errno_location() #12
  %20302 = load i32, ptr %20301, align 4, !tbaa !5
  %20303 = call ptr @strerror(i32 noundef %20302) #11
  %20304 = call ptr @__errno_location() #12
  %20305 = load i32, ptr %20304, align 4, !tbaa !5
  %20306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20293, ptr noundef @.str.2, i32 noundef %20294, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 776, ptr noundef %20297, ptr noundef %20300, ptr noundef %20303, i32 noundef %20305) #11
  br label %20324

20307:                                            ; preds = %20285, %20278
  %20308 = load i32, ptr %398, align 4, !tbaa !5
  %20309 = call ptr @__errno_location() #12
  store i32 %20308, ptr %20309, align 4, !tbaa !5
  %20310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20311 = load i32, ptr @test_count, align 4, !tbaa !5
  %20312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20313 = load i32, ptr %20312, align 4, !tbaa !5
  %20314 = call ptr @s2n_strerror(i32 noundef %20313, ptr noundef @.str.4)
  %20315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20316 = load i32, ptr %20315, align 4, !tbaa !5
  %20317 = call ptr @s2n_strerror_debug(i32 noundef %20316, ptr noundef @.str.4)
  %20318 = call ptr @__errno_location() #12
  %20319 = load i32, ptr %20318, align 4, !tbaa !5
  %20320 = call ptr @strerror(i32 noundef %20319) #11
  %20321 = call ptr @__errno_location() #12
  %20322 = load i32, ptr %20321, align 4, !tbaa !5
  %20323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20310, ptr noundef @.str.5, i32 noundef %20311, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 776, ptr noundef %20314, ptr noundef %20317, ptr noundef %20320, i32 noundef %20322) #11
  br label %20324

20324:                                            ; preds = %20307, %20290
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %20325

20325:                                            ; preds = %20324
  br label %20326

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

20327:                                            ; No predecessors!
  br label %20328

20328:                                            ; preds = %20327
  br label %20329

20329:                                            ; preds = %20328, %20269
  br label %20330

20330:                                            ; preds = %20329
  br label %20331

20331:                                            ; preds = %20330
  call void @llvm.lifetime.start.p0(i64 8, ptr %399) #11
  call void @llvm.memset.p0.i64(ptr align 4 %399, i8 0, i64 8, i1 false)
  br label %20332

20332:                                            ; preds = %20331
  %20333 = load i32, ptr @test_count, align 4, !tbaa !5
  %20334 = add nsw i32 %20333, 1
  store i32 %20334, ptr @test_count, align 4, !tbaa !5
  %20335 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %399)
  %20336 = icmp eq i32 %20335, -1
  br i1 %20336, label %20337, label %20390

20337:                                            ; preds = %20332
  br label %20338

20338:                                            ; preds = %20337
  br label %20339

20339:                                            ; preds = %20338
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %20340 = call ptr @__errno_location() #12
  %20341 = load i32, ptr %20340, align 4, !tbaa !5
  store i32 %20341, ptr %400, align 4, !tbaa !5
  %20342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20343 = call i32 @s2n_print_stacktrace(ptr noundef %20342)
  %20344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20345 = trunc i8 %20344 to i1
  br i1 %20345, label %20346, label %20368

20346:                                            ; preds = %20339
  %20347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20348 = call i32 @fileno(ptr noundef %20347) #11
  %20349 = call i32 @isatty(i32 noundef %20348) #11
  %20350 = icmp ne i32 %20349, 0
  br i1 %20350, label %20351, label %20368

20351:                                            ; preds = %20346
  %20352 = load i32, ptr %400, align 4, !tbaa !5
  %20353 = call ptr @__errno_location() #12
  store i32 %20352, ptr %20353, align 4, !tbaa !5
  %20354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20355 = load i32, ptr @test_count, align 4, !tbaa !5
  %20356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20357 = load i32, ptr %20356, align 4, !tbaa !5
  %20358 = call ptr @s2n_strerror(i32 noundef %20357, ptr noundef @.str.4)
  %20359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20360 = load i32, ptr %20359, align 4, !tbaa !5
  %20361 = call ptr @s2n_strerror_debug(i32 noundef %20360, ptr noundef @.str.4)
  %20362 = call ptr @__errno_location() #12
  %20363 = load i32, ptr %20362, align 4, !tbaa !5
  %20364 = call ptr @strerror(i32 noundef %20363) #11
  %20365 = call ptr @__errno_location() #12
  %20366 = load i32, ptr %20365, align 4, !tbaa !5
  %20367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20354, ptr noundef @.str.2, i32 noundef %20355, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 779, ptr noundef %20358, ptr noundef %20361, ptr noundef %20364, i32 noundef %20366) #11
  br label %20385

20368:                                            ; preds = %20346, %20339
  %20369 = load i32, ptr %400, align 4, !tbaa !5
  %20370 = call ptr @__errno_location() #12
  store i32 %20369, ptr %20370, align 4, !tbaa !5
  %20371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20372 = load i32, ptr @test_count, align 4, !tbaa !5
  %20373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20374 = load i32, ptr %20373, align 4, !tbaa !5
  %20375 = call ptr @s2n_strerror(i32 noundef %20374, ptr noundef @.str.4)
  %20376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20377 = load i32, ptr %20376, align 4, !tbaa !5
  %20378 = call ptr @s2n_strerror_debug(i32 noundef %20377, ptr noundef @.str.4)
  %20379 = call ptr @__errno_location() #12
  %20380 = load i32, ptr %20379, align 4, !tbaa !5
  %20381 = call ptr @strerror(i32 noundef %20380) #11
  %20382 = call ptr @__errno_location() #12
  %20383 = load i32, ptr %20382, align 4, !tbaa !5
  %20384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20371, ptr noundef @.str.5, i32 noundef %20372, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 779, ptr noundef %20375, ptr noundef %20378, ptr noundef %20381, i32 noundef %20383) #11
  br label %20385

20385:                                            ; preds = %20368, %20351
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %20386

20386:                                            ; preds = %20385
  br label %20387

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

20388:                                            ; No predecessors!
  br label %20389

20389:                                            ; preds = %20388
  br label %20390

20390:                                            ; preds = %20389, %20332
  br label %20391

20391:                                            ; preds = %20390
  br label %20392

20392:                                            ; preds = %20391
  br label %20393

20393:                                            ; preds = %20392
  %20394 = load i32, ptr @test_count, align 4, !tbaa !5
  %20395 = add nsw i32 %20394, 1
  store i32 %20395, ptr @test_count, align 4, !tbaa !5
  %20396 = load ptr, ptr %395, align 8, !tbaa !9
  %20397 = load ptr, ptr %397, align 8, !tbaa !9
  %20398 = call i32 @s2n_connections_set_io_pair(ptr noundef %20396, ptr noundef %20397, ptr noundef %399)
  %20399 = icmp eq i32 %20398, -1
  br i1 %20399, label %20400, label %20453

20400:                                            ; preds = %20393
  br label %20401

20401:                                            ; preds = %20400
  br label %20402

20402:                                            ; preds = %20401
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %20403 = call ptr @__errno_location() #12
  %20404 = load i32, ptr %20403, align 4, !tbaa !5
  store i32 %20404, ptr %401, align 4, !tbaa !5
  %20405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20406 = call i32 @s2n_print_stacktrace(ptr noundef %20405)
  %20407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20408 = trunc i8 %20407 to i1
  br i1 %20408, label %20409, label %20431

20409:                                            ; preds = %20402
  %20410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20411 = call i32 @fileno(ptr noundef %20410) #11
  %20412 = call i32 @isatty(i32 noundef %20411) #11
  %20413 = icmp ne i32 %20412, 0
  br i1 %20413, label %20414, label %20431

20414:                                            ; preds = %20409
  %20415 = load i32, ptr %401, align 4, !tbaa !5
  %20416 = call ptr @__errno_location() #12
  store i32 %20415, ptr %20416, align 4, !tbaa !5
  %20417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20418 = load i32, ptr @test_count, align 4, !tbaa !5
  %20419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20420 = load i32, ptr %20419, align 4, !tbaa !5
  %20421 = call ptr @s2n_strerror(i32 noundef %20420, ptr noundef @.str.4)
  %20422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20423 = load i32, ptr %20422, align 4, !tbaa !5
  %20424 = call ptr @s2n_strerror_debug(i32 noundef %20423, ptr noundef @.str.4)
  %20425 = call ptr @__errno_location() #12
  %20426 = load i32, ptr %20425, align 4, !tbaa !5
  %20427 = call ptr @strerror(i32 noundef %20426) #11
  %20428 = call ptr @__errno_location() #12
  %20429 = load i32, ptr %20428, align 4, !tbaa !5
  %20430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20417, ptr noundef @.str.2, i32 noundef %20418, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 780, ptr noundef %20421, ptr noundef %20424, ptr noundef %20427, i32 noundef %20429) #11
  br label %20448

20431:                                            ; preds = %20409, %20402
  %20432 = load i32, ptr %401, align 4, !tbaa !5
  %20433 = call ptr @__errno_location() #12
  store i32 %20432, ptr %20433, align 4, !tbaa !5
  %20434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20435 = load i32, ptr @test_count, align 4, !tbaa !5
  %20436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20437 = load i32, ptr %20436, align 4, !tbaa !5
  %20438 = call ptr @s2n_strerror(i32 noundef %20437, ptr noundef @.str.4)
  %20439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20440 = load i32, ptr %20439, align 4, !tbaa !5
  %20441 = call ptr @s2n_strerror_debug(i32 noundef %20440, ptr noundef @.str.4)
  %20442 = call ptr @__errno_location() #12
  %20443 = load i32, ptr %20442, align 4, !tbaa !5
  %20444 = call ptr @strerror(i32 noundef %20443) #11
  %20445 = call ptr @__errno_location() #12
  %20446 = load i32, ptr %20445, align 4, !tbaa !5
  %20447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20434, ptr noundef @.str.5, i32 noundef %20435, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 780, ptr noundef %20438, ptr noundef %20441, ptr noundef %20444, i32 noundef %20446) #11
  br label %20448

20448:                                            ; preds = %20431, %20414
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %20449

20449:                                            ; preds = %20448
  br label %20450

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

20451:                                            ; No predecessors!
  br label %20452

20452:                                            ; preds = %20451
  br label %20453

20453:                                            ; preds = %20452, %20393
  br label %20454

20454:                                            ; preds = %20453
  br label %20455

20455:                                            ; preds = %20454
  br label %20456

20456:                                            ; preds = %20455
  %20457 = load i32, ptr @test_count, align 4, !tbaa !5
  %20458 = add nsw i32 %20457, 1
  store i32 %20458, ptr @test_count, align 4, !tbaa !5
  %20459 = load ptr, ptr %397, align 8, !tbaa !9
  %20460 = load ptr, ptr %395, align 8, !tbaa !9
  %20461 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %20459, ptr noundef %20460)
  %20462 = icmp eq i32 %20461, -1
  br i1 %20462, label %20463, label %20516

20463:                                            ; preds = %20456
  br label %20464

20464:                                            ; preds = %20463
  br label %20465

20465:                                            ; preds = %20464
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %20466 = call ptr @__errno_location() #12
  %20467 = load i32, ptr %20466, align 4, !tbaa !5
  store i32 %20467, ptr %402, align 4, !tbaa !5
  %20468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20469 = call i32 @s2n_print_stacktrace(ptr noundef %20468)
  %20470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20471 = trunc i8 %20470 to i1
  br i1 %20471, label %20472, label %20494

20472:                                            ; preds = %20465
  %20473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20474 = call i32 @fileno(ptr noundef %20473) #11
  %20475 = call i32 @isatty(i32 noundef %20474) #11
  %20476 = icmp ne i32 %20475, 0
  br i1 %20476, label %20477, label %20494

20477:                                            ; preds = %20472
  %20478 = load i32, ptr %402, align 4, !tbaa !5
  %20479 = call ptr @__errno_location() #12
  store i32 %20478, ptr %20479, align 4, !tbaa !5
  %20480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20481 = load i32, ptr @test_count, align 4, !tbaa !5
  %20482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @s2n_strerror(i32 noundef %20483, ptr noundef @.str.4)
  %20485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call ptr @s2n_strerror_debug(i32 noundef %20486, ptr noundef @.str.4)
  %20488 = call ptr @__errno_location() #12
  %20489 = load i32, ptr %20488, align 4, !tbaa !5
  %20490 = call ptr @strerror(i32 noundef %20489) #11
  %20491 = call ptr @__errno_location() #12
  %20492 = load i32, ptr %20491, align 4, !tbaa !5
  %20493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20480, ptr noundef @.str.2, i32 noundef %20481, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 782, ptr noundef %20484, ptr noundef %20487, ptr noundef %20490, i32 noundef %20492) #11
  br label %20511

20494:                                            ; preds = %20472, %20465
  %20495 = load i32, ptr %402, align 4, !tbaa !5
  %20496 = call ptr @__errno_location() #12
  store i32 %20495, ptr %20496, align 4, !tbaa !5
  %20497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20498 = load i32, ptr @test_count, align 4, !tbaa !5
  %20499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20500 = load i32, ptr %20499, align 4, !tbaa !5
  %20501 = call ptr @s2n_strerror(i32 noundef %20500, ptr noundef @.str.4)
  %20502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20503 = load i32, ptr %20502, align 4, !tbaa !5
  %20504 = call ptr @s2n_strerror_debug(i32 noundef %20503, ptr noundef @.str.4)
  %20505 = call ptr @__errno_location() #12
  %20506 = load i32, ptr %20505, align 4, !tbaa !5
  %20507 = call ptr @strerror(i32 noundef %20506) #11
  %20508 = call ptr @__errno_location() #12
  %20509 = load i32, ptr %20508, align 4, !tbaa !5
  %20510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20497, ptr noundef @.str.5, i32 noundef %20498, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 782, ptr noundef %20501, ptr noundef %20504, ptr noundef %20507, i32 noundef %20509) #11
  br label %20511

20511:                                            ; preds = %20494, %20477
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %20512

20512:                                            ; preds = %20511
  br label %20513

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

20514:                                            ; No predecessors!
  br label %20515

20515:                                            ; preds = %20514
  br label %20516

20516:                                            ; preds = %20515, %20456
  br label %20517

20517:                                            ; preds = %20516
  br label %20518

20518:                                            ; preds = %20517
  br label %20519

20519:                                            ; preds = %20518
  %20520 = load i32, ptr @test_count, align 4, !tbaa !5
  %20521 = add nsw i32 %20520, 1
  store i32 %20521, ptr @test_count, align 4, !tbaa !5
  %20522 = load ptr, ptr %397, align 8, !tbaa !9
  %20523 = getelementptr inbounds %struct.s2n_connection, ptr %20522, i32 0, i32 32
  %20524 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %20523, i32 0, i32 2
  %20525 = getelementptr inbounds %struct.s2n_blob, ptr %20524, i32 0, i32 1
  %20526 = load i32, ptr %20525, align 8, !tbaa !83
  %20527 = icmp eq i32 %20526, 0
  br i1 %20527, label %20528, label %20581

20528:                                            ; preds = %20519
  br label %20529

20529:                                            ; preds = %20528
  br label %20530

20530:                                            ; preds = %20529
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %20531 = call ptr @__errno_location() #12
  %20532 = load i32, ptr %20531, align 4, !tbaa !5
  store i32 %20532, ptr %403, align 4, !tbaa !5
  %20533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20534 = call i32 @s2n_print_stacktrace(ptr noundef %20533)
  %20535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20536 = trunc i8 %20535 to i1
  br i1 %20536, label %20537, label %20559

20537:                                            ; preds = %20530
  %20538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20539 = call i32 @fileno(ptr noundef %20538) #11
  %20540 = call i32 @isatty(i32 noundef %20539) #11
  %20541 = icmp ne i32 %20540, 0
  br i1 %20541, label %20542, label %20559

20542:                                            ; preds = %20537
  %20543 = load i32, ptr %403, align 4, !tbaa !5
  %20544 = call ptr @__errno_location() #12
  store i32 %20543, ptr %20544, align 4, !tbaa !5
  %20545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20546 = load i32, ptr @test_count, align 4, !tbaa !5
  %20547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call ptr @s2n_strerror(i32 noundef %20548, ptr noundef @.str.4)
  %20550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20551 = load i32, ptr %20550, align 4, !tbaa !5
  %20552 = call ptr @s2n_strerror_debug(i32 noundef %20551, ptr noundef @.str.4)
  %20553 = call ptr @__errno_location() #12
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  %20555 = call ptr @strerror(i32 noundef %20554) #11
  %20556 = call ptr @__errno_location() #12
  %20557 = load i32, ptr %20556, align 4, !tbaa !5
  %20558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20545, ptr noundef @.str.2, i32 noundef %20546, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 783, ptr noundef %20549, ptr noundef %20552, ptr noundef %20555, i32 noundef %20557) #11
  br label %20576

20559:                                            ; preds = %20537, %20530
  %20560 = load i32, ptr %403, align 4, !tbaa !5
  %20561 = call ptr @__errno_location() #12
  store i32 %20560, ptr %20561, align 4, !tbaa !5
  %20562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20563 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20565, ptr noundef @.str.4)
  %20567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20568 = load i32, ptr %20567, align 4, !tbaa !5
  %20569 = call ptr @s2n_strerror_debug(i32 noundef %20568, ptr noundef @.str.4)
  %20570 = call ptr @__errno_location() #12
  %20571 = load i32, ptr %20570, align 4, !tbaa !5
  %20572 = call ptr @strerror(i32 noundef %20571) #11
  %20573 = call ptr @__errno_location() #12
  %20574 = load i32, ptr %20573, align 4, !tbaa !5
  %20575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20562, ptr noundef @.str.5, i32 noundef %20563, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 783, ptr noundef %20566, ptr noundef %20569, ptr noundef %20572, i32 noundef %20574) #11
  br label %20576

20576:                                            ; preds = %20559, %20542
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %20577

20577:                                            ; preds = %20576
  br label %20578

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

20579:                                            ; No predecessors!
  br label %20580

20580:                                            ; preds = %20579
  br label %20581

20581:                                            ; preds = %20580, %20519
  br label %20582

20582:                                            ; preds = %20581
  br label %20583

20583:                                            ; preds = %20582
  br label %20584

20584:                                            ; preds = %20583
  %20585 = load i32, ptr @test_count, align 4, !tbaa !5
  %20586 = add nsw i32 %20585, 1
  store i32 %20586, ptr @test_count, align 4, !tbaa !5
  %20587 = load ptr, ptr %397, align 8, !tbaa !9
  %20588 = getelementptr inbounds %struct.s2n_connection, ptr %20587, i32 0, i32 32
  %20589 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %20588, i32 0, i32 2
  %20590 = getelementptr inbounds %struct.s2n_blob, ptr %20589, i32 0, i32 0
  %20591 = load ptr, ptr %20590, align 8, !tbaa !82
  %20592 = icmp eq ptr %20591, null
  br i1 %20592, label %20593, label %20646

20593:                                            ; preds = %20584
  br label %20594

20594:                                            ; preds = %20593
  br label %20595

20595:                                            ; preds = %20594
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %20596 = call ptr @__errno_location() #12
  %20597 = load i32, ptr %20596, align 4, !tbaa !5
  store i32 %20597, ptr %404, align 4, !tbaa !5
  %20598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20599 = call i32 @s2n_print_stacktrace(ptr noundef %20598)
  %20600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20601 = trunc i8 %20600 to i1
  br i1 %20601, label %20602, label %20624

20602:                                            ; preds = %20595
  %20603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20604 = call i32 @fileno(ptr noundef %20603) #11
  %20605 = call i32 @isatty(i32 noundef %20604) #11
  %20606 = icmp ne i32 %20605, 0
  br i1 %20606, label %20607, label %20624

20607:                                            ; preds = %20602
  %20608 = load i32, ptr %404, align 4, !tbaa !5
  %20609 = call ptr @__errno_location() #12
  store i32 %20608, ptr %20609, align 4, !tbaa !5
  %20610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20611 = load i32, ptr @test_count, align 4, !tbaa !5
  %20612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20613 = load i32, ptr %20612, align 4, !tbaa !5
  %20614 = call ptr @s2n_strerror(i32 noundef %20613, ptr noundef @.str.4)
  %20615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20616 = load i32, ptr %20615, align 4, !tbaa !5
  %20617 = call ptr @s2n_strerror_debug(i32 noundef %20616, ptr noundef @.str.4)
  %20618 = call ptr @__errno_location() #12
  %20619 = load i32, ptr %20618, align 4, !tbaa !5
  %20620 = call ptr @strerror(i32 noundef %20619) #11
  %20621 = call ptr @__errno_location() #12
  %20622 = load i32, ptr %20621, align 4, !tbaa !5
  %20623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20610, ptr noundef @.str.2, i32 noundef %20611, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 784, ptr noundef %20614, ptr noundef %20617, ptr noundef %20620, i32 noundef %20622) #11
  br label %20641

20624:                                            ; preds = %20602, %20595
  %20625 = load i32, ptr %404, align 4, !tbaa !5
  %20626 = call ptr @__errno_location() #12
  store i32 %20625, ptr %20626, align 4, !tbaa !5
  %20627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20628 = load i32, ptr @test_count, align 4, !tbaa !5
  %20629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20630 = load i32, ptr %20629, align 4, !tbaa !5
  %20631 = call ptr @s2n_strerror(i32 noundef %20630, ptr noundef @.str.4)
  %20632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20633 = load i32, ptr %20632, align 4, !tbaa !5
  %20634 = call ptr @s2n_strerror_debug(i32 noundef %20633, ptr noundef @.str.4)
  %20635 = call ptr @__errno_location() #12
  %20636 = load i32, ptr %20635, align 4, !tbaa !5
  %20637 = call ptr @strerror(i32 noundef %20636) #11
  %20638 = call ptr @__errno_location() #12
  %20639 = load i32, ptr %20638, align 4, !tbaa !5
  %20640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20627, ptr noundef @.str.5, i32 noundef %20628, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 784, ptr noundef %20631, ptr noundef %20634, ptr noundef %20637, i32 noundef %20639) #11
  br label %20641

20641:                                            ; preds = %20624, %20607
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

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

20644:                                            ; No predecessors!
  br label %20645

20645:                                            ; preds = %20644
  br label %20646

20646:                                            ; preds = %20645, %20584
  br label %20647

20647:                                            ; preds = %20646
  br label %20648

20648:                                            ; preds = %20647
  %20649 = call i32 @s2n_io_pair_close(ptr noundef %399)
  call void @llvm.lifetime.end.p0(i64 8, ptr %399) #11
  %20650 = call i32 @s2n_connection_ptr_free(ptr noundef %397)
  %20651 = getelementptr inbounds %struct.s2n_result, ptr %405, i32 0, i32 0
  store i32 %20650, ptr %20651, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %397) #11
  %20652 = call i32 @s2n_connection_ptr_free(ptr noundef %395)
  %20653 = getelementptr inbounds %struct.s2n_result, ptr %406, i32 0, i32 0
  store i32 %20652, ptr %20653, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %395) #11
  %20654 = call i32 @s2n_config_ptr_free(ptr noundef %391)
  %20655 = getelementptr inbounds %struct.s2n_result, ptr %407, i32 0, i32 0
  store i32 %20654, ptr %20655, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %391) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %408) #11
  %20656 = call ptr @s2n_config_new()
  store ptr %20656, ptr %408, align 8, !tbaa !9
  br label %20657

20657:                                            ; preds = %20648
  %20658 = load i32, ptr @test_count, align 4, !tbaa !5
  %20659 = add nsw i32 %20658, 1
  store i32 %20659, ptr @test_count, align 4, !tbaa !5
  %20660 = load ptr, ptr %408, align 8, !tbaa !9
  %20661 = call i32 @s2n_config_set_client_auth_type(ptr noundef %20660, i32 noundef 1)
  %20662 = icmp eq i32 %20661, -1
  br i1 %20662, label %20663, label %20716

20663:                                            ; preds = %20657
  br label %20664

20664:                                            ; preds = %20663
  br label %20665

20665:                                            ; preds = %20664
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %20666 = call ptr @__errno_location() #12
  %20667 = load i32, ptr %20666, align 4, !tbaa !5
  store i32 %20667, ptr %409, align 4, !tbaa !5
  %20668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20669 = call i32 @s2n_print_stacktrace(ptr noundef %20668)
  %20670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20671 = trunc i8 %20670 to i1
  br i1 %20671, label %20672, label %20694

20672:                                            ; preds = %20665
  %20673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20674 = call i32 @fileno(ptr noundef %20673) #11
  %20675 = call i32 @isatty(i32 noundef %20674) #11
  %20676 = icmp ne i32 %20675, 0
  br i1 %20676, label %20677, label %20694

20677:                                            ; preds = %20672
  %20678 = load i32, ptr %409, align 4, !tbaa !5
  %20679 = call ptr @__errno_location() #12
  store i32 %20678, ptr %20679, align 4, !tbaa !5
  %20680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20681 = load i32, ptr @test_count, align 4, !tbaa !5
  %20682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20683 = load i32, ptr %20682, align 4, !tbaa !5
  %20684 = call ptr @s2n_strerror(i32 noundef %20683, ptr noundef @.str.4)
  %20685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20686 = load i32, ptr %20685, align 4, !tbaa !5
  %20687 = call ptr @s2n_strerror_debug(i32 noundef %20686, ptr noundef @.str.4)
  %20688 = call ptr @__errno_location() #12
  %20689 = load i32, ptr %20688, align 4, !tbaa !5
  %20690 = call ptr @strerror(i32 noundef %20689) #11
  %20691 = call ptr @__errno_location() #12
  %20692 = load i32, ptr %20691, align 4, !tbaa !5
  %20693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20680, ptr noundef @.str.2, i32 noundef %20681, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 791, ptr noundef %20684, ptr noundef %20687, ptr noundef %20690, i32 noundef %20692) #11
  br label %20711

20694:                                            ; preds = %20672, %20665
  %20695 = load i32, ptr %409, align 4, !tbaa !5
  %20696 = call ptr @__errno_location() #12
  store i32 %20695, ptr %20696, align 4, !tbaa !5
  %20697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20698 = load i32, ptr @test_count, align 4, !tbaa !5
  %20699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20700 = load i32, ptr %20699, align 4, !tbaa !5
  %20701 = call ptr @s2n_strerror(i32 noundef %20700, ptr noundef @.str.4)
  %20702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20703 = load i32, ptr %20702, align 4, !tbaa !5
  %20704 = call ptr @s2n_strerror_debug(i32 noundef %20703, ptr noundef @.str.4)
  %20705 = call ptr @__errno_location() #12
  %20706 = load i32, ptr %20705, align 4, !tbaa !5
  %20707 = call ptr @strerror(i32 noundef %20706) #11
  %20708 = call ptr @__errno_location() #12
  %20709 = load i32, ptr %20708, align 4, !tbaa !5
  %20710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20697, ptr noundef @.str.5, i32 noundef %20698, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 791, ptr noundef %20701, ptr noundef %20704, ptr noundef %20707, i32 noundef %20709) #11
  br label %20711

20711:                                            ; preds = %20694, %20677
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %20712

20712:                                            ; preds = %20711
  br label %20713

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

20714:                                            ; No predecessors!
  br label %20715

20715:                                            ; preds = %20714
  br label %20716

20716:                                            ; preds = %20715, %20657
  br label %20717

20717:                                            ; preds = %20716
  br label %20718

20718:                                            ; preds = %20717
  br label %20719

20719:                                            ; preds = %20718
  %20720 = load i32, ptr @test_count, align 4, !tbaa !5
  %20721 = add nsw i32 %20720, 1
  store i32 %20721, ptr @test_count, align 4, !tbaa !5
  %20722 = load ptr, ptr %408, align 8, !tbaa !9
  %20723 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %20722, ptr noundef @always_verify_host_fn, ptr noundef null)
  %20724 = icmp eq i32 %20723, -1
  br i1 %20724, label %20725, label %20778

20725:                                            ; preds = %20719
  br label %20726

20726:                                            ; preds = %20725
  br label %20727

20727:                                            ; preds = %20726
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %20728 = call ptr @__errno_location() #12
  %20729 = load i32, ptr %20728, align 4, !tbaa !5
  store i32 %20729, ptr %410, align 4, !tbaa !5
  %20730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20731 = call i32 @s2n_print_stacktrace(ptr noundef %20730)
  %20732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20733 = trunc i8 %20732 to i1
  br i1 %20733, label %20734, label %20756

20734:                                            ; preds = %20727
  %20735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20736 = call i32 @fileno(ptr noundef %20735) #11
  %20737 = call i32 @isatty(i32 noundef %20736) #11
  %20738 = icmp ne i32 %20737, 0
  br i1 %20738, label %20739, label %20756

20739:                                            ; preds = %20734
  %20740 = load i32, ptr %410, align 4, !tbaa !5
  %20741 = call ptr @__errno_location() #12
  store i32 %20740, ptr %20741, align 4, !tbaa !5
  %20742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20743 = load i32, ptr @test_count, align 4, !tbaa !5
  %20744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20745 = load i32, ptr %20744, align 4, !tbaa !5
  %20746 = call ptr @s2n_strerror(i32 noundef %20745, ptr noundef @.str.4)
  %20747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20748 = load i32, ptr %20747, align 4, !tbaa !5
  %20749 = call ptr @s2n_strerror_debug(i32 noundef %20748, ptr noundef @.str.4)
  %20750 = call ptr @__errno_location() #12
  %20751 = load i32, ptr %20750, align 4, !tbaa !5
  %20752 = call ptr @strerror(i32 noundef %20751) #11
  %20753 = call ptr @__errno_location() #12
  %20754 = load i32, ptr %20753, align 4, !tbaa !5
  %20755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20742, ptr noundef @.str.2, i32 noundef %20743, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 792, ptr noundef %20746, ptr noundef %20749, ptr noundef %20752, i32 noundef %20754) #11
  br label %20773

20756:                                            ; preds = %20734, %20727
  %20757 = load i32, ptr %410, align 4, !tbaa !5
  %20758 = call ptr @__errno_location() #12
  store i32 %20757, ptr %20758, align 4, !tbaa !5
  %20759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20760 = load i32, ptr @test_count, align 4, !tbaa !5
  %20761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20762 = load i32, ptr %20761, align 4, !tbaa !5
  %20763 = call ptr @s2n_strerror(i32 noundef %20762, ptr noundef @.str.4)
  %20764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20765 = load i32, ptr %20764, align 4, !tbaa !5
  %20766 = call ptr @s2n_strerror_debug(i32 noundef %20765, ptr noundef @.str.4)
  %20767 = call ptr @__errno_location() #12
  %20768 = load i32, ptr %20767, align 4, !tbaa !5
  %20769 = call ptr @strerror(i32 noundef %20768) #11
  %20770 = call ptr @__errno_location() #12
  %20771 = load i32, ptr %20770, align 4, !tbaa !5
  %20772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20759, ptr noundef @.str.5, i32 noundef %20760, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 792, ptr noundef %20763, ptr noundef %20766, ptr noundef %20769, i32 noundef %20771) #11
  br label %20773

20773:                                            ; preds = %20756, %20739
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %20774

20774:                                            ; preds = %20773
  br label %20775

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

20776:                                            ; No predecessors!
  br label %20777

20777:                                            ; preds = %20776
  br label %20778

20778:                                            ; preds = %20777, %20719
  br label %20779

20779:                                            ; preds = %20778
  br label %20780

20780:                                            ; preds = %20779
  br label %20781

20781:                                            ; preds = %20780
  %20782 = load i32, ptr @test_count, align 4, !tbaa !5
  %20783 = add nsw i32 %20782, 1
  store i32 %20783, ptr @test_count, align 4, !tbaa !5
  %20784 = load ptr, ptr %408, align 8, !tbaa !9
  %20785 = load ptr, ptr %10, align 8, !tbaa !9
  %20786 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %20784, ptr noundef %20785)
  %20787 = icmp eq i32 %20786, -1
  br i1 %20787, label %20788, label %20841

20788:                                            ; preds = %20781
  br label %20789

20789:                                            ; preds = %20788
  br label %20790

20790:                                            ; preds = %20789
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %20791 = call ptr @__errno_location() #12
  %20792 = load i32, ptr %20791, align 4, !tbaa !5
  store i32 %20792, ptr %411, align 4, !tbaa !5
  %20793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20794 = call i32 @s2n_print_stacktrace(ptr noundef %20793)
  %20795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20796 = trunc i8 %20795 to i1
  br i1 %20796, label %20797, label %20819

20797:                                            ; preds = %20790
  %20798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20799 = call i32 @fileno(ptr noundef %20798) #11
  %20800 = call i32 @isatty(i32 noundef %20799) #11
  %20801 = icmp ne i32 %20800, 0
  br i1 %20801, label %20802, label %20819

20802:                                            ; preds = %20797
  %20803 = load i32, ptr %411, align 4, !tbaa !5
  %20804 = call ptr @__errno_location() #12
  store i32 %20803, ptr %20804, align 4, !tbaa !5
  %20805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20806 = load i32, ptr @test_count, align 4, !tbaa !5
  %20807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20808 = load i32, ptr %20807, align 4, !tbaa !5
  %20809 = call ptr @s2n_strerror(i32 noundef %20808, ptr noundef @.str.4)
  %20810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20811 = load i32, ptr %20810, align 4, !tbaa !5
  %20812 = call ptr @s2n_strerror_debug(i32 noundef %20811, ptr noundef @.str.4)
  %20813 = call ptr @__errno_location() #12
  %20814 = load i32, ptr %20813, align 4, !tbaa !5
  %20815 = call ptr @strerror(i32 noundef %20814) #11
  %20816 = call ptr @__errno_location() #12
  %20817 = load i32, ptr %20816, align 4, !tbaa !5
  %20818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20805, ptr noundef @.str.2, i32 noundef %20806, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 793, ptr noundef %20809, ptr noundef %20812, ptr noundef %20815, i32 noundef %20817) #11
  br label %20836

20819:                                            ; preds = %20797, %20790
  %20820 = load i32, ptr %411, align 4, !tbaa !5
  %20821 = call ptr @__errno_location() #12
  store i32 %20820, ptr %20821, align 4, !tbaa !5
  %20822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20823 = load i32, ptr @test_count, align 4, !tbaa !5
  %20824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20825 = load i32, ptr %20824, align 4, !tbaa !5
  %20826 = call ptr @s2n_strerror(i32 noundef %20825, ptr noundef @.str.4)
  %20827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20828 = load i32, ptr %20827, align 4, !tbaa !5
  %20829 = call ptr @s2n_strerror_debug(i32 noundef %20828, ptr noundef @.str.4)
  %20830 = call ptr @__errno_location() #12
  %20831 = load i32, ptr %20830, align 4, !tbaa !5
  %20832 = call ptr @strerror(i32 noundef %20831) #11
  %20833 = call ptr @__errno_location() #12
  %20834 = load i32, ptr %20833, align 4, !tbaa !5
  %20835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20822, ptr noundef @.str.5, i32 noundef %20823, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 793, ptr noundef %20826, ptr noundef %20829, ptr noundef %20832, i32 noundef %20834) #11
  br label %20836

20836:                                            ; preds = %20819, %20802
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %20837

20837:                                            ; preds = %20836
  br label %20838

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

20839:                                            ; No predecessors!
  br label %20840

20840:                                            ; preds = %20839
  br label %20841

20841:                                            ; preds = %20840, %20781
  br label %20842

20842:                                            ; preds = %20841
  br label %20843

20843:                                            ; preds = %20842
  call void @llvm.lifetime.start.p0(i64 8, ptr %412) #11
  %20844 = call ptr @s2n_config_new()
  store ptr %20844, ptr %412, align 8, !tbaa !9
  br label %20845

20845:                                            ; preds = %20843
  %20846 = load i32, ptr @test_count, align 4, !tbaa !5
  %20847 = add nsw i32 %20846, 1
  store i32 %20847, ptr @test_count, align 4, !tbaa !5
  %20848 = load ptr, ptr %412, align 8, !tbaa !9
  %20849 = call i32 @s2n_config_set_client_auth_type(ptr noundef %20848, i32 noundef 1)
  %20850 = icmp eq i32 %20849, -1
  br i1 %20850, label %20851, label %20904

20851:                                            ; preds = %20845
  br label %20852

20852:                                            ; preds = %20851
  br label %20853

20853:                                            ; preds = %20852
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %20854 = call ptr @__errno_location() #12
  %20855 = load i32, ptr %20854, align 4, !tbaa !5
  store i32 %20855, ptr %413, align 4, !tbaa !5
  %20856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20857 = call i32 @s2n_print_stacktrace(ptr noundef %20856)
  %20858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20859 = trunc i8 %20858 to i1
  br i1 %20859, label %20860, label %20882

20860:                                            ; preds = %20853
  %20861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20862 = call i32 @fileno(ptr noundef %20861) #11
  %20863 = call i32 @isatty(i32 noundef %20862) #11
  %20864 = icmp ne i32 %20863, 0
  br i1 %20864, label %20865, label %20882

20865:                                            ; preds = %20860
  %20866 = load i32, ptr %413, align 4, !tbaa !5
  %20867 = call ptr @__errno_location() #12
  store i32 %20866, ptr %20867, align 4, !tbaa !5
  %20868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20869 = load i32, ptr @test_count, align 4, !tbaa !5
  %20870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20871 = load i32, ptr %20870, align 4, !tbaa !5
  %20872 = call ptr @s2n_strerror(i32 noundef %20871, ptr noundef @.str.4)
  %20873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20874 = load i32, ptr %20873, align 4, !tbaa !5
  %20875 = call ptr @s2n_strerror_debug(i32 noundef %20874, ptr noundef @.str.4)
  %20876 = call ptr @__errno_location() #12
  %20877 = load i32, ptr %20876, align 4, !tbaa !5
  %20878 = call ptr @strerror(i32 noundef %20877) #11
  %20879 = call ptr @__errno_location() #12
  %20880 = load i32, ptr %20879, align 4, !tbaa !5
  %20881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20868, ptr noundef @.str.2, i32 noundef %20869, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 797, ptr noundef %20872, ptr noundef %20875, ptr noundef %20878, i32 noundef %20880) #11
  br label %20899

20882:                                            ; preds = %20860, %20853
  %20883 = load i32, ptr %413, align 4, !tbaa !5
  %20884 = call ptr @__errno_location() #12
  store i32 %20883, ptr %20884, align 4, !tbaa !5
  %20885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20886 = load i32, ptr @test_count, align 4, !tbaa !5
  %20887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20888 = load i32, ptr %20887, align 4, !tbaa !5
  %20889 = call ptr @s2n_strerror(i32 noundef %20888, ptr noundef @.str.4)
  %20890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20891 = load i32, ptr %20890, align 4, !tbaa !5
  %20892 = call ptr @s2n_strerror_debug(i32 noundef %20891, ptr noundef @.str.4)
  %20893 = call ptr @__errno_location() #12
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  %20895 = call ptr @strerror(i32 noundef %20894) #11
  %20896 = call ptr @__errno_location() #12
  %20897 = load i32, ptr %20896, align 4, !tbaa !5
  %20898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20885, ptr noundef @.str.5, i32 noundef %20886, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 797, ptr noundef %20889, ptr noundef %20892, ptr noundef %20895, i32 noundef %20897) #11
  br label %20899

20899:                                            ; preds = %20882, %20865
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %20900

20900:                                            ; preds = %20899
  br label %20901

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

20902:                                            ; No predecessors!
  br label %20903

20903:                                            ; preds = %20902
  br label %20904

20904:                                            ; preds = %20903, %20845
  br label %20905

20905:                                            ; preds = %20904
  br label %20906

20906:                                            ; preds = %20905
  br label %20907

20907:                                            ; preds = %20906
  %20908 = load i32, ptr @test_count, align 4, !tbaa !5
  %20909 = add nsw i32 %20908, 1
  store i32 %20909, ptr @test_count, align 4, !tbaa !5
  %20910 = load ptr, ptr %412, align 8, !tbaa !9
  %20911 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %20910, ptr noundef @always_verify_host_fn, ptr noundef null)
  %20912 = icmp eq i32 %20911, -1
  br i1 %20912, label %20913, label %20966

20913:                                            ; preds = %20907
  br label %20914

20914:                                            ; preds = %20913
  br label %20915

20915:                                            ; preds = %20914
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %20916 = call ptr @__errno_location() #12
  %20917 = load i32, ptr %20916, align 4, !tbaa !5
  store i32 %20917, ptr %414, align 4, !tbaa !5
  %20918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20919 = call i32 @s2n_print_stacktrace(ptr noundef %20918)
  %20920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20921 = trunc i8 %20920 to i1
  br i1 %20921, label %20922, label %20944

20922:                                            ; preds = %20915
  %20923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20924 = call i32 @fileno(ptr noundef %20923) #11
  %20925 = call i32 @isatty(i32 noundef %20924) #11
  %20926 = icmp ne i32 %20925, 0
  br i1 %20926, label %20927, label %20944

20927:                                            ; preds = %20922
  %20928 = load i32, ptr %414, align 4, !tbaa !5
  %20929 = call ptr @__errno_location() #12
  store i32 %20928, ptr %20929, align 4, !tbaa !5
  %20930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20931 = load i32, ptr @test_count, align 4, !tbaa !5
  %20932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20933 = load i32, ptr %20932, align 4, !tbaa !5
  %20934 = call ptr @s2n_strerror(i32 noundef %20933, ptr noundef @.str.4)
  %20935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20936 = load i32, ptr %20935, align 4, !tbaa !5
  %20937 = call ptr @s2n_strerror_debug(i32 noundef %20936, ptr noundef @.str.4)
  %20938 = call ptr @__errno_location() #12
  %20939 = load i32, ptr %20938, align 4, !tbaa !5
  %20940 = call ptr @strerror(i32 noundef %20939) #11
  %20941 = call ptr @__errno_location() #12
  %20942 = load i32, ptr %20941, align 4, !tbaa !5
  %20943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20930, ptr noundef @.str.2, i32 noundef %20931, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 798, ptr noundef %20934, ptr noundef %20937, ptr noundef %20940, i32 noundef %20942) #11
  br label %20961

20944:                                            ; preds = %20922, %20915
  %20945 = load i32, ptr %414, align 4, !tbaa !5
  %20946 = call ptr @__errno_location() #12
  store i32 %20945, ptr %20946, align 4, !tbaa !5
  %20947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20948 = load i32, ptr @test_count, align 4, !tbaa !5
  %20949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20950 = load i32, ptr %20949, align 4, !tbaa !5
  %20951 = call ptr @s2n_strerror(i32 noundef %20950, ptr noundef @.str.4)
  %20952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20953 = load i32, ptr %20952, align 4, !tbaa !5
  %20954 = call ptr @s2n_strerror_debug(i32 noundef %20953, ptr noundef @.str.4)
  %20955 = call ptr @__errno_location() #12
  %20956 = load i32, ptr %20955, align 4, !tbaa !5
  %20957 = call ptr @strerror(i32 noundef %20956) #11
  %20958 = call ptr @__errno_location() #12
  %20959 = load i32, ptr %20958, align 4, !tbaa !5
  %20960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20947, ptr noundef @.str.5, i32 noundef %20948, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 798, ptr noundef %20951, ptr noundef %20954, ptr noundef %20957, i32 noundef %20959) #11
  br label %20961

20961:                                            ; preds = %20944, %20927
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %20962

20962:                                            ; preds = %20961
  br label %20963

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

20964:                                            ; No predecessors!
  br label %20965

20965:                                            ; preds = %20964
  br label %20966

20966:                                            ; preds = %20965, %20907
  br label %20967

20967:                                            ; preds = %20966
  br label %20968

20968:                                            ; preds = %20967
  br label %20969

20969:                                            ; preds = %20968
  %20970 = load i32, ptr @test_count, align 4, !tbaa !5
  %20971 = add nsw i32 %20970, 1
  store i32 %20971, ptr @test_count, align 4, !tbaa !5
  %20972 = load ptr, ptr %412, align 8, !tbaa !9
  %20973 = load ptr, ptr %10, align 8, !tbaa !9
  %20974 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %20972, ptr noundef %20973)
  %20975 = icmp eq i32 %20974, -1
  br i1 %20975, label %20976, label %21029

20976:                                            ; preds = %20969
  br label %20977

20977:                                            ; preds = %20976
  br label %20978

20978:                                            ; preds = %20977
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %20979 = call ptr @__errno_location() #12
  %20980 = load i32, ptr %20979, align 4, !tbaa !5
  store i32 %20980, ptr %415, align 4, !tbaa !5
  %20981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20982 = call i32 @s2n_print_stacktrace(ptr noundef %20981)
  %20983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20984 = trunc i8 %20983 to i1
  br i1 %20984, label %20985, label %21007

20985:                                            ; preds = %20978
  %20986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20987 = call i32 @fileno(ptr noundef %20986) #11
  %20988 = call i32 @isatty(i32 noundef %20987) #11
  %20989 = icmp ne i32 %20988, 0
  br i1 %20989, label %20990, label %21007

20990:                                            ; preds = %20985
  %20991 = load i32, ptr %415, align 4, !tbaa !5
  %20992 = call ptr @__errno_location() #12
  store i32 %20991, ptr %20992, align 4, !tbaa !5
  %20993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20994 = load i32, ptr @test_count, align 4, !tbaa !5
  %20995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20996 = load i32, ptr %20995, align 4, !tbaa !5
  %20997 = call ptr @s2n_strerror(i32 noundef %20996, ptr noundef @.str.4)
  %20998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20999 = load i32, ptr %20998, align 4, !tbaa !5
  %21000 = call ptr @s2n_strerror_debug(i32 noundef %20999, ptr noundef @.str.4)
  %21001 = call ptr @__errno_location() #12
  %21002 = load i32, ptr %21001, align 4, !tbaa !5
  %21003 = call ptr @strerror(i32 noundef %21002) #11
  %21004 = call ptr @__errno_location() #12
  %21005 = load i32, ptr %21004, align 4, !tbaa !5
  %21006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20993, ptr noundef @.str.2, i32 noundef %20994, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 799, ptr noundef %20997, ptr noundef %21000, ptr noundef %21003, i32 noundef %21005) #11
  br label %21024

21007:                                            ; preds = %20985, %20978
  %21008 = load i32, ptr %415, align 4, !tbaa !5
  %21009 = call ptr @__errno_location() #12
  store i32 %21008, ptr %21009, align 4, !tbaa !5
  %21010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21011 = load i32, ptr @test_count, align 4, !tbaa !5
  %21012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21013 = load i32, ptr %21012, align 4, !tbaa !5
  %21014 = call ptr @s2n_strerror(i32 noundef %21013, ptr noundef @.str.4)
  %21015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call ptr @s2n_strerror_debug(i32 noundef %21016, ptr noundef @.str.4)
  %21018 = call ptr @__errno_location() #12
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  %21020 = call ptr @strerror(i32 noundef %21019) #11
  %21021 = call ptr @__errno_location() #12
  %21022 = load i32, ptr %21021, align 4, !tbaa !5
  %21023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21010, ptr noundef @.str.5, i32 noundef %21011, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 799, ptr noundef %21014, ptr noundef %21017, ptr noundef %21020, i32 noundef %21022) #11
  br label %21024

21024:                                            ; preds = %21007, %20990
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %21025

21025:                                            ; preds = %21024
  br label %21026

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

21027:                                            ; No predecessors!
  br label %21028

21028:                                            ; preds = %21027
  br label %21029

21029:                                            ; preds = %21028, %20969
  br label %21030

21030:                                            ; preds = %21029
  br label %21031

21031:                                            ; preds = %21030
  br label %21032

21032:                                            ; preds = %21031
  %21033 = load i32, ptr @test_count, align 4, !tbaa !5
  %21034 = add nsw i32 %21033, 1
  store i32 %21034, ptr @test_count, align 4, !tbaa !5
  %21035 = load ptr, ptr %408, align 8, !tbaa !9
  %21036 = call i32 @s2n_config_disable_x509_verification(ptr noundef %21035)
  %21037 = icmp eq i32 %21036, -1
  br i1 %21037, label %21038, label %21091

21038:                                            ; preds = %21032
  br label %21039

21039:                                            ; preds = %21038
  br label %21040

21040:                                            ; preds = %21039
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %21041 = call ptr @__errno_location() #12
  %21042 = load i32, ptr %21041, align 4, !tbaa !5
  store i32 %21042, ptr %416, align 4, !tbaa !5
  %21043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21044 = call i32 @s2n_print_stacktrace(ptr noundef %21043)
  %21045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21046 = trunc i8 %21045 to i1
  br i1 %21046, label %21047, label %21069

21047:                                            ; preds = %21040
  %21048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21049 = call i32 @fileno(ptr noundef %21048) #11
  %21050 = call i32 @isatty(i32 noundef %21049) #11
  %21051 = icmp ne i32 %21050, 0
  br i1 %21051, label %21052, label %21069

21052:                                            ; preds = %21047
  %21053 = load i32, ptr %416, align 4, !tbaa !5
  %21054 = call ptr @__errno_location() #12
  store i32 %21053, ptr %21054, align 4, !tbaa !5
  %21055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21056 = load i32, ptr @test_count, align 4, !tbaa !5
  %21057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21058 = load i32, ptr %21057, align 4, !tbaa !5
  %21059 = call ptr @s2n_strerror(i32 noundef %21058, ptr noundef @.str.4)
  %21060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21061 = load i32, ptr %21060, align 4, !tbaa !5
  %21062 = call ptr @s2n_strerror_debug(i32 noundef %21061, ptr noundef @.str.4)
  %21063 = call ptr @__errno_location() #12
  %21064 = load i32, ptr %21063, align 4, !tbaa !5
  %21065 = call ptr @strerror(i32 noundef %21064) #11
  %21066 = call ptr @__errno_location() #12
  %21067 = load i32, ptr %21066, align 4, !tbaa !5
  %21068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21055, ptr noundef @.str.2, i32 noundef %21056, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21059, ptr noundef %21062, ptr noundef %21065, i32 noundef %21067) #11
  br label %21086

21069:                                            ; preds = %21047, %21040
  %21070 = load i32, ptr %416, align 4, !tbaa !5
  %21071 = call ptr @__errno_location() #12
  store i32 %21070, ptr %21071, align 4, !tbaa !5
  %21072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21073 = load i32, ptr @test_count, align 4, !tbaa !5
  %21074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21075 = load i32, ptr %21074, align 4, !tbaa !5
  %21076 = call ptr @s2n_strerror(i32 noundef %21075, ptr noundef @.str.4)
  %21077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21078 = load i32, ptr %21077, align 4, !tbaa !5
  %21079 = call ptr @s2n_strerror_debug(i32 noundef %21078, ptr noundef @.str.4)
  %21080 = call ptr @__errno_location() #12
  %21081 = load i32, ptr %21080, align 4, !tbaa !5
  %21082 = call ptr @strerror(i32 noundef %21081) #11
  %21083 = call ptr @__errno_location() #12
  %21084 = load i32, ptr %21083, align 4, !tbaa !5
  %21085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21072, ptr noundef @.str.5, i32 noundef %21073, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21076, ptr noundef %21079, ptr noundef %21082, i32 noundef %21084) #11
  br label %21086

21086:                                            ; preds = %21069, %21052
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %21087

21087:                                            ; preds = %21086
  br label %21088

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

21089:                                            ; No predecessors!
  br label %21090

21090:                                            ; preds = %21089
  br label %21091

21091:                                            ; preds = %21090, %21032
  br label %21092

21092:                                            ; preds = %21091
  br label %21093

21093:                                            ; preds = %21092
  call void @llvm.lifetime.start.p0(i64 8, ptr %417) #11
  %21094 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21094, ptr %417, align 8, !tbaa !9
  br label %21095

21095:                                            ; preds = %21093
  %21096 = load i32, ptr @test_count, align 4, !tbaa !5
  %21097 = add nsw i32 %21096, 1
  store i32 %21097, ptr @test_count, align 4, !tbaa !5
  %21098 = load ptr, ptr %417, align 8, !tbaa !9
  %21099 = call i32 @s2n_connection_set_blinding(ptr noundef %21098, i32 noundef 1)
  %21100 = icmp eq i32 %21099, -1
  br i1 %21100, label %21101, label %21154

21101:                                            ; preds = %21095
  br label %21102

21102:                                            ; preds = %21101
  br label %21103

21103:                                            ; preds = %21102
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %21104 = call ptr @__errno_location() #12
  %21105 = load i32, ptr %21104, align 4, !tbaa !5
  store i32 %21105, ptr %418, align 4, !tbaa !5
  %21106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21107 = call i32 @s2n_print_stacktrace(ptr noundef %21106)
  %21108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21109 = trunc i8 %21108 to i1
  br i1 %21109, label %21110, label %21132

21110:                                            ; preds = %21103
  %21111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21112 = call i32 @fileno(ptr noundef %21111) #11
  %21113 = call i32 @isatty(i32 noundef %21112) #11
  %21114 = icmp ne i32 %21113, 0
  br i1 %21114, label %21115, label %21132

21115:                                            ; preds = %21110
  %21116 = load i32, ptr %418, align 4, !tbaa !5
  %21117 = call ptr @__errno_location() #12
  store i32 %21116, ptr %21117, align 4, !tbaa !5
  %21118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21119 = load i32, ptr @test_count, align 4, !tbaa !5
  %21120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21121 = load i32, ptr %21120, align 4, !tbaa !5
  %21122 = call ptr @s2n_strerror(i32 noundef %21121, ptr noundef @.str.4)
  %21123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21124 = load i32, ptr %21123, align 4, !tbaa !5
  %21125 = call ptr @s2n_strerror_debug(i32 noundef %21124, ptr noundef @.str.4)
  %21126 = call ptr @__errno_location() #12
  %21127 = load i32, ptr %21126, align 4, !tbaa !5
  %21128 = call ptr @strerror(i32 noundef %21127) #11
  %21129 = call ptr @__errno_location() #12
  %21130 = load i32, ptr %21129, align 4, !tbaa !5
  %21131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21118, ptr noundef @.str.2, i32 noundef %21119, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 809, ptr noundef %21122, ptr noundef %21125, ptr noundef %21128, i32 noundef %21130) #11
  br label %21149

21132:                                            ; preds = %21110, %21103
  %21133 = load i32, ptr %418, 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.4)
  %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.4)
  %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.5, i32 noundef %21136, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 809, ptr noundef %21139, ptr noundef %21142, ptr noundef %21145, i32 noundef %21147) #11
  br label %21149

21149:                                            ; preds = %21132, %21115
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %21150

21150:                                            ; preds = %21149
  br label %21151

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

21152:                                            ; No predecessors!
  br label %21153

21153:                                            ; preds = %21152
  br label %21154

21154:                                            ; preds = %21153, %21095
  br label %21155

21155:                                            ; preds = %21154
  br label %21156

21156:                                            ; preds = %21155
  br label %21157

21157:                                            ; preds = %21156
  %21158 = load i32, ptr @test_count, align 4, !tbaa !5
  %21159 = add nsw i32 %21158, 1
  store i32 %21159, ptr @test_count, align 4, !tbaa !5
  %21160 = load ptr, ptr %417, align 8, !tbaa !9
  %21161 = load ptr, ptr %408, align 8, !tbaa !9
  %21162 = call i32 @s2n_connection_set_config(ptr noundef %21160, ptr noundef %21161)
  %21163 = icmp eq i32 %21162, -1
  br i1 %21163, label %21164, label %21217

21164:                                            ; preds = %21157
  br label %21165

21165:                                            ; preds = %21164
  br label %21166

21166:                                            ; preds = %21165
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %21167 = call ptr @__errno_location() #12
  %21168 = load i32, ptr %21167, align 4, !tbaa !5
  store i32 %21168, ptr %419, align 4, !tbaa !5
  %21169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21170 = call i32 @s2n_print_stacktrace(ptr noundef %21169)
  %21171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21172 = trunc i8 %21171 to i1
  br i1 %21172, label %21173, label %21195

21173:                                            ; preds = %21166
  %21174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21175 = call i32 @fileno(ptr noundef %21174) #11
  %21176 = call i32 @isatty(i32 noundef %21175) #11
  %21177 = icmp ne i32 %21176, 0
  br i1 %21177, label %21178, label %21195

21178:                                            ; preds = %21173
  %21179 = load i32, ptr %419, align 4, !tbaa !5
  %21180 = call ptr @__errno_location() #12
  store i32 %21179, ptr %21180, align 4, !tbaa !5
  %21181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21182 = load i32, ptr @test_count, align 4, !tbaa !5
  %21183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21184 = load i32, ptr %21183, align 4, !tbaa !5
  %21185 = call ptr @s2n_strerror(i32 noundef %21184, ptr noundef @.str.4)
  %21186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21187 = load i32, ptr %21186, align 4, !tbaa !5
  %21188 = call ptr @s2n_strerror_debug(i32 noundef %21187, ptr noundef @.str.4)
  %21189 = call ptr @__errno_location() #12
  %21190 = load i32, ptr %21189, align 4, !tbaa !5
  %21191 = call ptr @strerror(i32 noundef %21190) #11
  %21192 = call ptr @__errno_location() #12
  %21193 = load i32, ptr %21192, align 4, !tbaa !5
  %21194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21181, ptr noundef @.str.2, i32 noundef %21182, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 810, ptr noundef %21185, ptr noundef %21188, ptr noundef %21191, i32 noundef %21193) #11
  br label %21212

21195:                                            ; preds = %21173, %21166
  %21196 = load i32, ptr %419, align 4, !tbaa !5
  %21197 = call ptr @__errno_location() #12
  store i32 %21196, ptr %21197, align 4, !tbaa !5
  %21198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21199 = load i32, ptr @test_count, align 4, !tbaa !5
  %21200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21201 = load i32, ptr %21200, align 4, !tbaa !5
  %21202 = call ptr @s2n_strerror(i32 noundef %21201, ptr noundef @.str.4)
  %21203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  %21205 = call ptr @s2n_strerror_debug(i32 noundef %21204, ptr noundef @.str.4)
  %21206 = call ptr @__errno_location() #12
  %21207 = load i32, ptr %21206, align 4, !tbaa !5
  %21208 = call ptr @strerror(i32 noundef %21207) #11
  %21209 = call ptr @__errno_location() #12
  %21210 = load i32, ptr %21209, align 4, !tbaa !5
  %21211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21198, ptr noundef @.str.5, i32 noundef %21199, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 810, ptr noundef %21202, ptr noundef %21205, ptr noundef %21208, i32 noundef %21210) #11
  br label %21212

21212:                                            ; preds = %21195, %21178
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %21213

21213:                                            ; preds = %21212
  br label %21214

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

21215:                                            ; No predecessors!
  br label %21216

21216:                                            ; preds = %21215
  br label %21217

21217:                                            ; preds = %21216, %21157
  br label %21218

21218:                                            ; preds = %21217
  br label %21219

21219:                                            ; preds = %21218
  call void @llvm.lifetime.start.p0(i64 8, ptr %420) #11
  %21220 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21220, ptr %420, align 8, !tbaa !9
  br label %21221

21221:                                            ; preds = %21219
  %21222 = load i32, ptr @test_count, align 4, !tbaa !5
  %21223 = add nsw i32 %21222, 1
  store i32 %21223, ptr @test_count, align 4, !tbaa !5
  %21224 = load ptr, ptr %420, align 8, !tbaa !9
  %21225 = call i32 @s2n_connection_set_blinding(ptr noundef %21224, i32 noundef 1)
  %21226 = icmp eq i32 %21225, -1
  br i1 %21226, label %21227, label %21280

21227:                                            ; preds = %21221
  br label %21228

21228:                                            ; preds = %21227
  br label %21229

21229:                                            ; preds = %21228
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %21230 = call ptr @__errno_location() #12
  %21231 = load i32, ptr %21230, align 4, !tbaa !5
  store i32 %21231, ptr %421, align 4, !tbaa !5
  %21232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21233 = call i32 @s2n_print_stacktrace(ptr noundef %21232)
  %21234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21235 = trunc i8 %21234 to i1
  br i1 %21235, label %21236, label %21258

21236:                                            ; preds = %21229
  %21237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21238 = call i32 @fileno(ptr noundef %21237) #11
  %21239 = call i32 @isatty(i32 noundef %21238) #11
  %21240 = icmp ne i32 %21239, 0
  br i1 %21240, label %21241, label %21258

21241:                                            ; preds = %21236
  %21242 = load i32, ptr %421, align 4, !tbaa !5
  %21243 = call ptr @__errno_location() #12
  store i32 %21242, ptr %21243, align 4, !tbaa !5
  %21244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21245 = load i32, ptr @test_count, align 4, !tbaa !5
  %21246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21247 = load i32, ptr %21246, align 4, !tbaa !5
  %21248 = call ptr @s2n_strerror(i32 noundef %21247, ptr noundef @.str.4)
  %21249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21250 = load i32, ptr %21249, align 4, !tbaa !5
  %21251 = call ptr @s2n_strerror_debug(i32 noundef %21250, ptr noundef @.str.4)
  %21252 = call ptr @__errno_location() #12
  %21253 = load i32, ptr %21252, align 4, !tbaa !5
  %21254 = call ptr @strerror(i32 noundef %21253) #11
  %21255 = call ptr @__errno_location() #12
  %21256 = load i32, ptr %21255, align 4, !tbaa !5
  %21257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21244, ptr noundef @.str.2, i32 noundef %21245, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 814, ptr noundef %21248, ptr noundef %21251, ptr noundef %21254, i32 noundef %21256) #11
  br label %21275

21258:                                            ; preds = %21236, %21229
  %21259 = load i32, ptr %421, align 4, !tbaa !5
  %21260 = call ptr @__errno_location() #12
  store i32 %21259, ptr %21260, align 4, !tbaa !5
  %21261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21262 = load i32, ptr @test_count, align 4, !tbaa !5
  %21263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21264 = load i32, ptr %21263, align 4, !tbaa !5
  %21265 = call ptr @s2n_strerror(i32 noundef %21264, ptr noundef @.str.4)
  %21266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21267 = load i32, ptr %21266, align 4, !tbaa !5
  %21268 = call ptr @s2n_strerror_debug(i32 noundef %21267, ptr noundef @.str.4)
  %21269 = call ptr @__errno_location() #12
  %21270 = load i32, ptr %21269, align 4, !tbaa !5
  %21271 = call ptr @strerror(i32 noundef %21270) #11
  %21272 = call ptr @__errno_location() #12
  %21273 = load i32, ptr %21272, align 4, !tbaa !5
  %21274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21261, ptr noundef @.str.5, i32 noundef %21262, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 814, ptr noundef %21265, ptr noundef %21268, ptr noundef %21271, i32 noundef %21273) #11
  br label %21275

21275:                                            ; preds = %21258, %21241
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %21276

21276:                                            ; preds = %21275
  br label %21277

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

21278:                                            ; No predecessors!
  br label %21279

21279:                                            ; preds = %21278
  br label %21280

21280:                                            ; preds = %21279, %21221
  br label %21281

21281:                                            ; preds = %21280
  br label %21282

21282:                                            ; preds = %21281
  br label %21283

21283:                                            ; preds = %21282
  %21284 = load i32, ptr @test_count, align 4, !tbaa !5
  %21285 = add nsw i32 %21284, 1
  store i32 %21285, ptr @test_count, align 4, !tbaa !5
  %21286 = load ptr, ptr %420, align 8, !tbaa !9
  %21287 = load ptr, ptr %412, align 8, !tbaa !9
  %21288 = call i32 @s2n_connection_set_config(ptr noundef %21286, ptr noundef %21287)
  %21289 = icmp eq i32 %21288, -1
  br i1 %21289, label %21290, label %21343

21290:                                            ; preds = %21283
  br label %21291

21291:                                            ; preds = %21290
  br label %21292

21292:                                            ; preds = %21291
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %21293 = call ptr @__errno_location() #12
  %21294 = load i32, ptr %21293, align 4, !tbaa !5
  store i32 %21294, ptr %422, align 4, !tbaa !5
  %21295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21296 = call i32 @s2n_print_stacktrace(ptr noundef %21295)
  %21297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21298 = trunc i8 %21297 to i1
  br i1 %21298, label %21299, label %21321

21299:                                            ; preds = %21292
  %21300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21301 = call i32 @fileno(ptr noundef %21300) #11
  %21302 = call i32 @isatty(i32 noundef %21301) #11
  %21303 = icmp ne i32 %21302, 0
  br i1 %21303, label %21304, label %21321

21304:                                            ; preds = %21299
  %21305 = load i32, ptr %422, align 4, !tbaa !5
  %21306 = call ptr @__errno_location() #12
  store i32 %21305, ptr %21306, align 4, !tbaa !5
  %21307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21308 = load i32, ptr @test_count, align 4, !tbaa !5
  %21309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21310 = load i32, ptr %21309, align 4, !tbaa !5
  %21311 = call ptr @s2n_strerror(i32 noundef %21310, ptr noundef @.str.4)
  %21312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21313 = load i32, ptr %21312, align 4, !tbaa !5
  %21314 = call ptr @s2n_strerror_debug(i32 noundef %21313, ptr noundef @.str.4)
  %21315 = call ptr @__errno_location() #12
  %21316 = load i32, ptr %21315, align 4, !tbaa !5
  %21317 = call ptr @strerror(i32 noundef %21316) #11
  %21318 = call ptr @__errno_location() #12
  %21319 = load i32, ptr %21318, align 4, !tbaa !5
  %21320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21307, ptr noundef @.str.2, i32 noundef %21308, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 815, ptr noundef %21311, ptr noundef %21314, ptr noundef %21317, i32 noundef %21319) #11
  br label %21338

21321:                                            ; preds = %21299, %21292
  %21322 = load i32, ptr %422, align 4, !tbaa !5
  %21323 = call ptr @__errno_location() #12
  store i32 %21322, ptr %21323, align 4, !tbaa !5
  %21324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21325 = load i32, ptr @test_count, align 4, !tbaa !5
  %21326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21327 = load i32, ptr %21326, align 4, !tbaa !5
  %21328 = call ptr @s2n_strerror(i32 noundef %21327, ptr noundef @.str.4)
  %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_debug(i32 noundef %21330, ptr noundef @.str.4)
  %21332 = call ptr @__errno_location() #12
  %21333 = load i32, ptr %21332, align 4, !tbaa !5
  %21334 = call ptr @strerror(i32 noundef %21333) #11
  %21335 = call ptr @__errno_location() #12
  %21336 = load i32, ptr %21335, align 4, !tbaa !5
  %21337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21324, ptr noundef @.str.5, i32 noundef %21325, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 815, ptr noundef %21328, ptr noundef %21331, ptr noundef %21334, i32 noundef %21336) #11
  br label %21338

21338:                                            ; preds = %21321, %21304
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %21339

21339:                                            ; preds = %21338
  br label %21340

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

21341:                                            ; No predecessors!
  br label %21342

21342:                                            ; preds = %21341
  br label %21343

21343:                                            ; preds = %21342, %21283
  br label %21344

21344:                                            ; preds = %21343
  br label %21345

21345:                                            ; preds = %21344
  call void @llvm.lifetime.start.p0(i64 8, ptr %423) #11
  call void @llvm.memset.p0.i64(ptr align 4 %423, i8 0, i64 8, i1 false)
  br label %21346

21346:                                            ; preds = %21345
  %21347 = load i32, ptr @test_count, align 4, !tbaa !5
  %21348 = add nsw i32 %21347, 1
  store i32 %21348, ptr @test_count, align 4, !tbaa !5
  %21349 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %423)
  %21350 = icmp eq i32 %21349, -1
  br i1 %21350, label %21351, label %21404

21351:                                            ; preds = %21346
  br label %21352

21352:                                            ; preds = %21351
  br label %21353

21353:                                            ; preds = %21352
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %21354 = call ptr @__errno_location() #12
  %21355 = load i32, ptr %21354, align 4, !tbaa !5
  store i32 %21355, ptr %424, align 4, !tbaa !5
  %21356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21357 = call i32 @s2n_print_stacktrace(ptr noundef %21356)
  %21358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21359 = trunc i8 %21358 to i1
  br i1 %21359, label %21360, label %21382

21360:                                            ; preds = %21353
  %21361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21362 = call i32 @fileno(ptr noundef %21361) #11
  %21363 = call i32 @isatty(i32 noundef %21362) #11
  %21364 = icmp ne i32 %21363, 0
  br i1 %21364, label %21365, label %21382

21365:                                            ; preds = %21360
  %21366 = load i32, ptr %424, align 4, !tbaa !5
  %21367 = call ptr @__errno_location() #12
  store i32 %21366, ptr %21367, align 4, !tbaa !5
  %21368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21369 = load i32, ptr @test_count, align 4, !tbaa !5
  %21370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21371 = load i32, ptr %21370, align 4, !tbaa !5
  %21372 = call ptr @s2n_strerror(i32 noundef %21371, ptr noundef @.str.4)
  %21373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21374 = load i32, ptr %21373, align 4, !tbaa !5
  %21375 = call ptr @s2n_strerror_debug(i32 noundef %21374, ptr noundef @.str.4)
  %21376 = call ptr @__errno_location() #12
  %21377 = load i32, ptr %21376, align 4, !tbaa !5
  %21378 = call ptr @strerror(i32 noundef %21377) #11
  %21379 = call ptr @__errno_location() #12
  %21380 = load i32, ptr %21379, align 4, !tbaa !5
  %21381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21368, ptr noundef @.str.2, i32 noundef %21369, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 818, ptr noundef %21372, ptr noundef %21375, ptr noundef %21378, i32 noundef %21380) #11
  br label %21399

21382:                                            ; preds = %21360, %21353
  %21383 = load i32, ptr %424, align 4, !tbaa !5
  %21384 = call ptr @__errno_location() #12
  store i32 %21383, ptr %21384, align 4, !tbaa !5
  %21385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21386 = load i32, ptr @test_count, align 4, !tbaa !5
  %21387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21388 = load i32, ptr %21387, align 4, !tbaa !5
  %21389 = call ptr @s2n_strerror(i32 noundef %21388, ptr noundef @.str.4)
  %21390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21391 = load i32, ptr %21390, align 4, !tbaa !5
  %21392 = call ptr @s2n_strerror_debug(i32 noundef %21391, ptr noundef @.str.4)
  %21393 = call ptr @__errno_location() #12
  %21394 = load i32, ptr %21393, align 4, !tbaa !5
  %21395 = call ptr @strerror(i32 noundef %21394) #11
  %21396 = call ptr @__errno_location() #12
  %21397 = load i32, ptr %21396, align 4, !tbaa !5
  %21398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21385, ptr noundef @.str.5, i32 noundef %21386, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 818, ptr noundef %21389, ptr noundef %21392, ptr noundef %21395, i32 noundef %21397) #11
  br label %21399

21399:                                            ; preds = %21382, %21365
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %21400

21400:                                            ; preds = %21399
  br label %21401

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

21402:                                            ; No predecessors!
  br label %21403

21403:                                            ; preds = %21402
  br label %21404

21404:                                            ; preds = %21403, %21346
  br label %21405

21405:                                            ; preds = %21404
  br label %21406

21406:                                            ; preds = %21405
  br label %21407

21407:                                            ; preds = %21406
  %21408 = load i32, ptr @test_count, align 4, !tbaa !5
  %21409 = add nsw i32 %21408, 1
  store i32 %21409, ptr @test_count, align 4, !tbaa !5
  %21410 = load ptr, ptr %417, align 8, !tbaa !9
  %21411 = load ptr, ptr %420, align 8, !tbaa !9
  %21412 = call i32 @s2n_connections_set_io_pair(ptr noundef %21410, ptr noundef %21411, ptr noundef %423)
  %21413 = icmp eq i32 %21412, -1
  br i1 %21413, label %21414, label %21467

21414:                                            ; preds = %21407
  br label %21415

21415:                                            ; preds = %21414
  br label %21416

21416:                                            ; preds = %21415
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %21417 = call ptr @__errno_location() #12
  %21418 = load i32, ptr %21417, align 4, !tbaa !5
  store i32 %21418, ptr %425, align 4, !tbaa !5
  %21419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21420 = call i32 @s2n_print_stacktrace(ptr noundef %21419)
  %21421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21422 = trunc i8 %21421 to i1
  br i1 %21422, label %21423, label %21445

21423:                                            ; preds = %21416
  %21424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21425 = call i32 @fileno(ptr noundef %21424) #11
  %21426 = call i32 @isatty(i32 noundef %21425) #11
  %21427 = icmp ne i32 %21426, 0
  br i1 %21427, label %21428, label %21445

21428:                                            ; preds = %21423
  %21429 = load i32, ptr %425, align 4, !tbaa !5
  %21430 = call ptr @__errno_location() #12
  store i32 %21429, ptr %21430, align 4, !tbaa !5
  %21431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21432 = load i32, ptr @test_count, align 4, !tbaa !5
  %21433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21434 = load i32, ptr %21433, align 4, !tbaa !5
  %21435 = call ptr @s2n_strerror(i32 noundef %21434, ptr noundef @.str.4)
  %21436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21437 = load i32, ptr %21436, align 4, !tbaa !5
  %21438 = call ptr @s2n_strerror_debug(i32 noundef %21437, ptr noundef @.str.4)
  %21439 = call ptr @__errno_location() #12
  %21440 = load i32, ptr %21439, align 4, !tbaa !5
  %21441 = call ptr @strerror(i32 noundef %21440) #11
  %21442 = call ptr @__errno_location() #12
  %21443 = load i32, ptr %21442, align 4, !tbaa !5
  %21444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21431, ptr noundef @.str.2, i32 noundef %21432, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 819, ptr noundef %21435, ptr noundef %21438, ptr noundef %21441, i32 noundef %21443) #11
  br label %21462

21445:                                            ; preds = %21423, %21416
  %21446 = load i32, ptr %425, align 4, !tbaa !5
  %21447 = call ptr @__errno_location() #12
  store i32 %21446, ptr %21447, align 4, !tbaa !5
  %21448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21449 = load i32, ptr @test_count, align 4, !tbaa !5
  %21450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21451 = load i32, ptr %21450, align 4, !tbaa !5
  %21452 = call ptr @s2n_strerror(i32 noundef %21451, ptr noundef @.str.4)
  %21453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21454 = load i32, ptr %21453, align 4, !tbaa !5
  %21455 = call ptr @s2n_strerror_debug(i32 noundef %21454, ptr noundef @.str.4)
  %21456 = call ptr @__errno_location() #12
  %21457 = load i32, ptr %21456, align 4, !tbaa !5
  %21458 = call ptr @strerror(i32 noundef %21457) #11
  %21459 = call ptr @__errno_location() #12
  %21460 = load i32, ptr %21459, align 4, !tbaa !5
  %21461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21448, ptr noundef @.str.5, i32 noundef %21449, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 819, ptr noundef %21452, ptr noundef %21455, ptr noundef %21458, i32 noundef %21460) #11
  br label %21462

21462:                                            ; preds = %21445, %21428
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %21463

21463:                                            ; preds = %21462
  br label %21464

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

21465:                                            ; No predecessors!
  br label %21466

21466:                                            ; preds = %21465
  br label %21467

21467:                                            ; preds = %21466, %21407
  br label %21468

21468:                                            ; preds = %21467
  br label %21469

21469:                                            ; preds = %21468
  br label %21470

21470:                                            ; preds = %21469
  br label %21471

21471:                                            ; preds = %21470
  br label %21472

21472:                                            ; preds = %21471
  %21473 = load i32, ptr @test_count, align 4, !tbaa !5
  %21474 = add nsw i32 %21473, 1
  store i32 %21474, ptr @test_count, align 4, !tbaa !5
  %21475 = load ptr, ptr %420, align 8, !tbaa !9
  %21476 = load ptr, ptr %417, align 8, !tbaa !9
  %21477 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21475, ptr noundef %21476)
  %21478 = icmp eq i32 %21477, -1
  br i1 %21478, label %21532, label %21479

21479:                                            ; preds = %21472
  br label %21480

21480:                                            ; preds = %21479
  br label %21481

21481:                                            ; preds = %21480
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %21482 = call ptr @__errno_location() #12
  %21483 = load i32, ptr %21482, align 4, !tbaa !5
  store i32 %21483, ptr %426, align 4, !tbaa !5
  %21484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21485 = call i32 @s2n_print_stacktrace(ptr noundef %21484)
  %21486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21487 = trunc i8 %21486 to i1
  br i1 %21487, label %21488, label %21510

21488:                                            ; preds = %21481
  %21489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21490 = call i32 @fileno(ptr noundef %21489) #11
  %21491 = call i32 @isatty(i32 noundef %21490) #11
  %21492 = icmp ne i32 %21491, 0
  br i1 %21492, label %21493, label %21510

21493:                                            ; preds = %21488
  %21494 = load i32, ptr %426, align 4, !tbaa !5
  %21495 = call ptr @__errno_location() #12
  store i32 %21494, ptr %21495, align 4, !tbaa !5
  %21496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21497 = load i32, ptr @test_count, align 4, !tbaa !5
  %21498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21499 = load i32, ptr %21498, align 4, !tbaa !5
  %21500 = call ptr @s2n_strerror(i32 noundef %21499, ptr noundef @.str.4)
  %21501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21502 = load i32, ptr %21501, align 4, !tbaa !5
  %21503 = call ptr @s2n_strerror_debug(i32 noundef %21502, ptr noundef @.str.4)
  %21504 = call ptr @__errno_location() #12
  %21505 = load i32, ptr %21504, align 4, !tbaa !5
  %21506 = call ptr @strerror(i32 noundef %21505) #11
  %21507 = call ptr @__errno_location() #12
  %21508 = load i32, ptr %21507, align 4, !tbaa !5
  %21509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21496, ptr noundef @.str.2, i32 noundef %21497, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21500, ptr noundef %21503, ptr noundef %21506, i32 noundef %21508) #11
  br label %21527

21510:                                            ; preds = %21488, %21481
  %21511 = load i32, ptr %426, align 4, !tbaa !5
  %21512 = call ptr @__errno_location() #12
  store i32 %21511, ptr %21512, align 4, !tbaa !5
  %21513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21514 = load i32, ptr @test_count, align 4, !tbaa !5
  %21515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21516 = load i32, ptr %21515, align 4, !tbaa !5
  %21517 = call ptr @s2n_strerror(i32 noundef %21516, ptr noundef @.str.4)
  %21518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21519 = load i32, ptr %21518, align 4, !tbaa !5
  %21520 = call ptr @s2n_strerror_debug(i32 noundef %21519, ptr noundef @.str.4)
  %21521 = call ptr @__errno_location() #12
  %21522 = load i32, ptr %21521, align 4, !tbaa !5
  %21523 = call ptr @strerror(i32 noundef %21522) #11
  %21524 = call ptr @__errno_location() #12
  %21525 = load i32, ptr %21524, align 4, !tbaa !5
  %21526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21513, ptr noundef @.str.5, i32 noundef %21514, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21517, ptr noundef %21520, ptr noundef %21523, i32 noundef %21525) #11
  br label %21527

21527:                                            ; preds = %21510, %21493
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %21528

21528:                                            ; preds = %21527
  br label %21529

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

21530:                                            ; No predecessors!
  br label %21531

21531:                                            ; preds = %21530
  br label %21532

21532:                                            ; preds = %21531, %21472
  br label %21533

21533:                                            ; preds = %21532
  br label %21534

21534:                                            ; preds = %21533
  br label %21535

21535:                                            ; preds = %21534
  %21536 = load i32, ptr @test_count, align 4, !tbaa !5
  %21537 = add nsw i32 %21536, 1
  store i32 %21537, ptr @test_count, align 4, !tbaa !5
  %21538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21539 = load i32, ptr %21538, align 4, !tbaa !5
  %21540 = icmp eq i32 %21539, 335544366
  br i1 %21540, label %21594, label %21541

21541:                                            ; preds = %21535
  br label %21542

21542:                                            ; preds = %21541
  br label %21543

21543:                                            ; preds = %21542
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %21544 = call ptr @__errno_location() #12
  %21545 = load i32, ptr %21544, align 4, !tbaa !5
  store i32 %21545, ptr %427, align 4, !tbaa !5
  %21546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21547 = call i32 @s2n_print_stacktrace(ptr noundef %21546)
  %21548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21549 = trunc i8 %21548 to i1
  br i1 %21549, label %21550, label %21572

21550:                                            ; preds = %21543
  %21551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21552 = call i32 @fileno(ptr noundef %21551) #11
  %21553 = call i32 @isatty(i32 noundef %21552) #11
  %21554 = icmp ne i32 %21553, 0
  br i1 %21554, label %21555, label %21572

21555:                                            ; preds = %21550
  %21556 = load i32, ptr %427, align 4, !tbaa !5
  %21557 = call ptr @__errno_location() #12
  store i32 %21556, ptr %21557, align 4, !tbaa !5
  %21558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21559 = load i32, ptr @test_count, align 4, !tbaa !5
  %21560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21561 = load i32, ptr %21560, align 4, !tbaa !5
  %21562 = call ptr @s2n_strerror(i32 noundef %21561, ptr noundef @.str.4)
  %21563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21564 = load i32, ptr %21563, align 4, !tbaa !5
  %21565 = call ptr @s2n_strerror_debug(i32 noundef %21564, ptr noundef @.str.4)
  %21566 = call ptr @__errno_location() #12
  %21567 = load i32, ptr %21566, align 4, !tbaa !5
  %21568 = call ptr @strerror(i32 noundef %21567) #11
  %21569 = call ptr @__errno_location() #12
  %21570 = load i32, ptr %21569, align 4, !tbaa !5
  %21571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21558, ptr noundef @.str.2, i32 noundef %21559, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21562, ptr noundef %21565, ptr noundef %21568, i32 noundef %21570) #11
  br label %21589

21572:                                            ; preds = %21550, %21543
  %21573 = load i32, ptr %427, align 4, !tbaa !5
  %21574 = call ptr @__errno_location() #12
  store i32 %21573, ptr %21574, align 4, !tbaa !5
  %21575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21576 = load i32, ptr @test_count, align 4, !tbaa !5
  %21577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21578 = load i32, ptr %21577, align 4, !tbaa !5
  %21579 = call ptr @s2n_strerror(i32 noundef %21578, ptr noundef @.str.4)
  %21580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21581 = load i32, ptr %21580, align 4, !tbaa !5
  %21582 = call ptr @s2n_strerror_debug(i32 noundef %21581, ptr noundef @.str.4)
  %21583 = call ptr @__errno_location() #12
  %21584 = load i32, ptr %21583, align 4, !tbaa !5
  %21585 = call ptr @strerror(i32 noundef %21584) #11
  %21586 = call ptr @__errno_location() #12
  %21587 = load i32, ptr %21586, align 4, !tbaa !5
  %21588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21575, ptr noundef @.str.5, i32 noundef %21576, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21579, ptr noundef %21582, ptr noundef %21585, i32 noundef %21587) #11
  br label %21589

21589:                                            ; preds = %21572, %21555
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %21590

21590:                                            ; preds = %21589
  br label %21591

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

21592:                                            ; No predecessors!
  br label %21593

21593:                                            ; preds = %21592
  br label %21594

21594:                                            ; preds = %21593, %21535
  br label %21595

21595:                                            ; preds = %21594
  br label %21596

21596:                                            ; preds = %21595
  br label %21597

21597:                                            ; preds = %21596
  %21598 = load i32, ptr @test_count, align 4, !tbaa !5
  %21599 = add nsw i32 %21598, 1
  store i32 %21599, ptr @test_count, align 4, !tbaa !5
  %21600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21601 = load i32, ptr %21600, align 4, !tbaa !5
  %21602 = call ptr @s2n_strerror_debug(i32 noundef %21601, ptr noundef @.str.4)
  %21603 = icmp eq ptr %21602, null
  br i1 %21603, label %21604, label %21657

21604:                                            ; preds = %21597
  br label %21605

21605:                                            ; preds = %21604
  br label %21606

21606:                                            ; preds = %21605
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %21607 = call ptr @__errno_location() #12
  %21608 = load i32, ptr %21607, align 4, !tbaa !5
  store i32 %21608, ptr %428, align 4, !tbaa !5
  %21609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21610 = call i32 @s2n_print_stacktrace(ptr noundef %21609)
  %21611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21612 = trunc i8 %21611 to i1
  br i1 %21612, label %21613, label %21635

21613:                                            ; preds = %21606
  %21614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21615 = call i32 @fileno(ptr noundef %21614) #11
  %21616 = call i32 @isatty(i32 noundef %21615) #11
  %21617 = icmp ne i32 %21616, 0
  br i1 %21617, label %21618, label %21635

21618:                                            ; preds = %21613
  %21619 = load i32, ptr %428, align 4, !tbaa !5
  %21620 = call ptr @__errno_location() #12
  store i32 %21619, ptr %21620, align 4, !tbaa !5
  %21621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21622 = load i32, ptr @test_count, align 4, !tbaa !5
  %21623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21624 = load i32, ptr %21623, align 4, !tbaa !5
  %21625 = call ptr @s2n_strerror(i32 noundef %21624, ptr noundef @.str.4)
  %21626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21627 = load i32, ptr %21626, align 4, !tbaa !5
  %21628 = call ptr @s2n_strerror_debug(i32 noundef %21627, ptr noundef @.str.4)
  %21629 = call ptr @__errno_location() #12
  %21630 = load i32, ptr %21629, align 4, !tbaa !5
  %21631 = call ptr @strerror(i32 noundef %21630) #11
  %21632 = call ptr @__errno_location() #12
  %21633 = load i32, ptr %21632, align 4, !tbaa !5
  %21634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21621, ptr noundef @.str.2, i32 noundef %21622, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21625, ptr noundef %21628, ptr noundef %21631, i32 noundef %21633) #11
  br label %21652

21635:                                            ; preds = %21613, %21606
  %21636 = load i32, ptr %428, align 4, !tbaa !5
  %21637 = call ptr @__errno_location() #12
  store i32 %21636, ptr %21637, align 4, !tbaa !5
  %21638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21639 = load i32, ptr @test_count, align 4, !tbaa !5
  %21640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call ptr @s2n_strerror(i32 noundef %21641, ptr noundef @.str.4)
  %21643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21644 = load i32, ptr %21643, align 4, !tbaa !5
  %21645 = call ptr @s2n_strerror_debug(i32 noundef %21644, ptr noundef @.str.4)
  %21646 = call ptr @__errno_location() #12
  %21647 = load i32, ptr %21646, align 4, !tbaa !5
  %21648 = call ptr @strerror(i32 noundef %21647) #11
  %21649 = call ptr @__errno_location() #12
  %21650 = load i32, ptr %21649, align 4, !tbaa !5
  %21651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21638, ptr noundef @.str.5, i32 noundef %21639, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 822, ptr noundef %21642, ptr noundef %21645, ptr noundef %21648, i32 noundef %21650) #11
  br label %21652

21652:                                            ; preds = %21635, %21618
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %21653

21653:                                            ; preds = %21652
  br label %21654

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

21655:                                            ; No predecessors!
  br label %21656

21656:                                            ; preds = %21655
  br label %21657

21657:                                            ; preds = %21656, %21597
  br label %21658

21658:                                            ; preds = %21657
  br label %21659

21659:                                            ; preds = %21658
  br label %21660

21660:                                            ; preds = %21659
  br label %21661

21661:                                            ; preds = %21660
  br label %21662

21662:                                            ; preds = %21661
  %21663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21663, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21664 = call ptr @__errno_location() #12
  store i32 0, ptr %21664, align 4, !tbaa !5
  br label %21665

21665:                                            ; preds = %21662
  br label %21666

21666:                                            ; preds = %21665
  br label %21667

21667:                                            ; preds = %21666
  br label %21668

21668:                                            ; preds = %21667
  br label %21669

21669:                                            ; preds = %21668
  %21670 = load i32, ptr @test_count, align 4, !tbaa !5
  %21671 = add nsw i32 %21670, 1
  store i32 %21671, ptr @test_count, align 4, !tbaa !5
  %21672 = load ptr, ptr %420, align 8, !tbaa !9
  %21673 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %21672, i32 noundef 3)
  br i1 %21673, label %21727, label %21674

21674:                                            ; preds = %21669
  br label %21675

21675:                                            ; preds = %21674
  br label %21676

21676:                                            ; preds = %21675
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %21677 = call ptr @__errno_location() #12
  %21678 = load i32, ptr %21677, align 4, !tbaa !5
  store i32 %21678, ptr %429, align 4, !tbaa !5
  %21679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21680 = call i32 @s2n_print_stacktrace(ptr noundef %21679)
  %21681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21682 = trunc i8 %21681 to i1
  br i1 %21682, label %21683, label %21705

21683:                                            ; preds = %21676
  %21684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21685 = call i32 @fileno(ptr noundef %21684) #11
  %21686 = call i32 @isatty(i32 noundef %21685) #11
  %21687 = icmp ne i32 %21686, 0
  br i1 %21687, label %21688, label %21705

21688:                                            ; preds = %21683
  %21689 = load i32, ptr %429, align 4, !tbaa !5
  %21690 = call ptr @__errno_location() #12
  store i32 %21689, ptr %21690, align 4, !tbaa !5
  %21691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21692 = load i32, ptr @test_count, align 4, !tbaa !5
  %21693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21694 = load i32, ptr %21693, align 4, !tbaa !5
  %21695 = call ptr @s2n_strerror(i32 noundef %21694, ptr noundef @.str.4)
  %21696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21697 = load i32, ptr %21696, align 4, !tbaa !5
  %21698 = call ptr @s2n_strerror_debug(i32 noundef %21697, ptr noundef @.str.4)
  %21699 = call ptr @__errno_location() #12
  %21700 = load i32, ptr %21699, align 4, !tbaa !5
  %21701 = call ptr @strerror(i32 noundef %21700) #11
  %21702 = call ptr @__errno_location() #12
  %21703 = load i32, ptr %21702, align 4, !tbaa !5
  %21704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21691, ptr noundef @.str.2, i32 noundef %21692, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 827, ptr noundef %21695, ptr noundef %21698, ptr noundef %21701, i32 noundef %21703) #11
  br label %21722

21705:                                            ; preds = %21683, %21676
  %21706 = load i32, ptr %429, align 4, !tbaa !5
  %21707 = call ptr @__errno_location() #12
  store i32 %21706, ptr %21707, align 4, !tbaa !5
  %21708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21709 = load i32, ptr @test_count, align 4, !tbaa !5
  %21710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21711 = load i32, ptr %21710, align 4, !tbaa !5
  %21712 = call ptr @s2n_strerror(i32 noundef %21711, ptr noundef @.str.4)
  %21713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21714 = load i32, ptr %21713, align 4, !tbaa !5
  %21715 = call ptr @s2n_strerror_debug(i32 noundef %21714, ptr noundef @.str.4)
  %21716 = call ptr @__errno_location() #12
  %21717 = load i32, ptr %21716, align 4, !tbaa !5
  %21718 = call ptr @strerror(i32 noundef %21717) #11
  %21719 = call ptr @__errno_location() #12
  %21720 = load i32, ptr %21719, align 4, !tbaa !5
  %21721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21708, ptr noundef @.str.5, i32 noundef %21709, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 827, ptr noundef %21712, ptr noundef %21715, ptr noundef %21718, i32 noundef %21720) #11
  br label %21722

21722:                                            ; preds = %21705, %21688
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %21723

21723:                                            ; preds = %21722
  br label %21724

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

21725:                                            ; No predecessors!
  br label %21726

21726:                                            ; preds = %21725
  br label %21727

21727:                                            ; preds = %21726, %21669
  br label %21728

21728:                                            ; preds = %21727
  br label %21729

21729:                                            ; preds = %21728
  br label %21730

21730:                                            ; preds = %21729
  %21731 = load i32, ptr @test_count, align 4, !tbaa !5
  %21732 = add nsw i32 %21731, 1
  store i32 %21732, ptr @test_count, align 4, !tbaa !5
  %21733 = load ptr, ptr %417, align 8, !tbaa !9
  %21734 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %21733, i32 noundef 3)
  br i1 %21734, label %21735, label %21788

21735:                                            ; preds = %21730
  br label %21736

21736:                                            ; preds = %21735
  br label %21737

21737:                                            ; preds = %21736
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %21738 = call ptr @__errno_location() #12
  %21739 = load i32, ptr %21738, align 4, !tbaa !5
  store i32 %21739, ptr %430, align 4, !tbaa !5
  %21740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21741 = call i32 @s2n_print_stacktrace(ptr noundef %21740)
  %21742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21743 = trunc i8 %21742 to i1
  br i1 %21743, label %21744, label %21766

21744:                                            ; preds = %21737
  %21745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21746 = call i32 @fileno(ptr noundef %21745) #11
  %21747 = call i32 @isatty(i32 noundef %21746) #11
  %21748 = icmp ne i32 %21747, 0
  br i1 %21748, label %21749, label %21766

21749:                                            ; preds = %21744
  %21750 = load i32, ptr %430, align 4, !tbaa !5
  %21751 = call ptr @__errno_location() #12
  store i32 %21750, ptr %21751, align 4, !tbaa !5
  %21752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21753 = load i32, ptr @test_count, align 4, !tbaa !5
  %21754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21755 = load i32, ptr %21754, align 4, !tbaa !5
  %21756 = call ptr @s2n_strerror(i32 noundef %21755, ptr noundef @.str.4)
  %21757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21758 = load i32, ptr %21757, align 4, !tbaa !5
  %21759 = call ptr @s2n_strerror_debug(i32 noundef %21758, ptr noundef @.str.4)
  %21760 = call ptr @__errno_location() #12
  %21761 = load i32, ptr %21760, align 4, !tbaa !5
  %21762 = call ptr @strerror(i32 noundef %21761) #11
  %21763 = call ptr @__errno_location() #12
  %21764 = load i32, ptr %21763, align 4, !tbaa !5
  %21765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21752, ptr noundef @.str.2, i32 noundef %21753, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 828, ptr noundef %21756, ptr noundef %21759, ptr noundef %21762, i32 noundef %21764) #11
  br label %21783

21766:                                            ; preds = %21744, %21737
  %21767 = load i32, ptr %430, align 4, !tbaa !5
  %21768 = call ptr @__errno_location() #12
  store i32 %21767, ptr %21768, align 4, !tbaa !5
  %21769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21770 = load i32, ptr @test_count, align 4, !tbaa !5
  %21771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21772 = load i32, ptr %21771, align 4, !tbaa !5
  %21773 = call ptr @s2n_strerror(i32 noundef %21772, ptr noundef @.str.4)
  %21774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21775 = load i32, ptr %21774, align 4, !tbaa !5
  %21776 = call ptr @s2n_strerror_debug(i32 noundef %21775, ptr noundef @.str.4)
  %21777 = call ptr @__errno_location() #12
  %21778 = load i32, ptr %21777, align 4, !tbaa !5
  %21779 = call ptr @strerror(i32 noundef %21778) #11
  %21780 = call ptr @__errno_location() #12
  %21781 = load i32, ptr %21780, align 4, !tbaa !5
  %21782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21769, ptr noundef @.str.5, i32 noundef %21770, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 828, ptr noundef %21773, ptr noundef %21776, ptr noundef %21779, i32 noundef %21781) #11
  br label %21783

21783:                                            ; preds = %21766, %21749
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %21784

21784:                                            ; preds = %21783
  br label %21785

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

21786:                                            ; No predecessors!
  br label %21787

21787:                                            ; preds = %21786
  br label %21788

21788:                                            ; preds = %21787, %21730
  br label %21789

21789:                                            ; preds = %21788
  br label %21790

21790:                                            ; preds = %21789
  br label %21791

21791:                                            ; preds = %21790
  %21792 = load i32, ptr @test_count, align 4, !tbaa !5
  %21793 = add nsw i32 %21792, 1
  store i32 %21793, ptr @test_count, align 4, !tbaa !5
  %21794 = load ptr, ptr %420, align 8, !tbaa !9
  %21795 = getelementptr inbounds %struct.s2n_connection, ptr %21794, i32 0, i32 32
  %21796 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %21795, i32 0, i32 2
  %21797 = getelementptr inbounds %struct.s2n_blob, ptr %21796, i32 0, i32 1
  %21798 = load i32, ptr %21797, align 8, !tbaa !83
  %21799 = icmp eq i32 %21798, 0
  br i1 %21799, label %21800, label %21853

21800:                                            ; preds = %21791
  br label %21801

21801:                                            ; preds = %21800
  br label %21802

21802:                                            ; preds = %21801
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %21803 = call ptr @__errno_location() #12
  %21804 = load i32, ptr %21803, align 4, !tbaa !5
  store i32 %21804, ptr %431, align 4, !tbaa !5
  %21805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21806 = call i32 @s2n_print_stacktrace(ptr noundef %21805)
  %21807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21808 = trunc i8 %21807 to i1
  br i1 %21808, label %21809, label %21831

21809:                                            ; preds = %21802
  %21810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21811 = call i32 @fileno(ptr noundef %21810) #11
  %21812 = call i32 @isatty(i32 noundef %21811) #11
  %21813 = icmp ne i32 %21812, 0
  br i1 %21813, label %21814, label %21831

21814:                                            ; preds = %21809
  %21815 = load i32, ptr %431, align 4, !tbaa !5
  %21816 = call ptr @__errno_location() #12
  store i32 %21815, ptr %21816, align 4, !tbaa !5
  %21817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21818 = load i32, ptr @test_count, align 4, !tbaa !5
  %21819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21820 = load i32, ptr %21819, align 4, !tbaa !5
  %21821 = call ptr @s2n_strerror(i32 noundef %21820, ptr noundef @.str.4)
  %21822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21823 = load i32, ptr %21822, align 4, !tbaa !5
  %21824 = call ptr @s2n_strerror_debug(i32 noundef %21823, ptr noundef @.str.4)
  %21825 = call ptr @__errno_location() #12
  %21826 = load i32, ptr %21825, align 4, !tbaa !5
  %21827 = call ptr @strerror(i32 noundef %21826) #11
  %21828 = call ptr @__errno_location() #12
  %21829 = load i32, ptr %21828, align 4, !tbaa !5
  %21830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21817, ptr noundef @.str.2, i32 noundef %21818, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 830, ptr noundef %21821, ptr noundef %21824, ptr noundef %21827, i32 noundef %21829) #11
  br label %21848

21831:                                            ; preds = %21809, %21802
  %21832 = load i32, ptr %431, align 4, !tbaa !5
  %21833 = call ptr @__errno_location() #12
  store i32 %21832, ptr %21833, align 4, !tbaa !5
  %21834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21835 = load i32, ptr @test_count, align 4, !tbaa !5
  %21836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21837 = load i32, ptr %21836, align 4, !tbaa !5
  %21838 = call ptr @s2n_strerror(i32 noundef %21837, ptr noundef @.str.4)
  %21839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21840 = load i32, ptr %21839, align 4, !tbaa !5
  %21841 = call ptr @s2n_strerror_debug(i32 noundef %21840, ptr noundef @.str.4)
  %21842 = call ptr @__errno_location() #12
  %21843 = load i32, ptr %21842, align 4, !tbaa !5
  %21844 = call ptr @strerror(i32 noundef %21843) #11
  %21845 = call ptr @__errno_location() #12
  %21846 = load i32, ptr %21845, align 4, !tbaa !5
  %21847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21834, ptr noundef @.str.5, i32 noundef %21835, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 830, ptr noundef %21838, ptr noundef %21841, ptr noundef %21844, i32 noundef %21846) #11
  br label %21848

21848:                                            ; preds = %21831, %21814
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %21849

21849:                                            ; preds = %21848
  br label %21850

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

21851:                                            ; No predecessors!
  br label %21852

21852:                                            ; preds = %21851
  br label %21853

21853:                                            ; preds = %21852, %21791
  br label %21854

21854:                                            ; preds = %21853
  br label %21855

21855:                                            ; preds = %21854
  br label %21856

21856:                                            ; preds = %21855
  %21857 = load i32, ptr @test_count, align 4, !tbaa !5
  %21858 = add nsw i32 %21857, 1
  store i32 %21858, ptr @test_count, align 4, !tbaa !5
  %21859 = load ptr, ptr %420, align 8, !tbaa !9
  %21860 = getelementptr inbounds %struct.s2n_connection, ptr %21859, i32 0, i32 32
  %21861 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %21860, i32 0, i32 2
  %21862 = getelementptr inbounds %struct.s2n_blob, ptr %21861, i32 0, i32 0
  %21863 = load ptr, ptr %21862, align 8, !tbaa !82
  %21864 = icmp eq ptr %21863, null
  br i1 %21864, label %21865, label %21918

21865:                                            ; preds = %21856
  br label %21866

21866:                                            ; preds = %21865
  br label %21867

21867:                                            ; preds = %21866
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %21868 = call ptr @__errno_location() #12
  %21869 = load i32, ptr %21868, align 4, !tbaa !5
  store i32 %21869, ptr %432, align 4, !tbaa !5
  %21870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21871 = call i32 @s2n_print_stacktrace(ptr noundef %21870)
  %21872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21873 = trunc i8 %21872 to i1
  br i1 %21873, label %21874, label %21896

21874:                                            ; preds = %21867
  %21875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21876 = call i32 @fileno(ptr noundef %21875) #11
  %21877 = call i32 @isatty(i32 noundef %21876) #11
  %21878 = icmp ne i32 %21877, 0
  br i1 %21878, label %21879, label %21896

21879:                                            ; preds = %21874
  %21880 = load i32, ptr %432, align 4, !tbaa !5
  %21881 = call ptr @__errno_location() #12
  store i32 %21880, ptr %21881, align 4, !tbaa !5
  %21882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21883 = load i32, ptr @test_count, align 4, !tbaa !5
  %21884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21885 = load i32, ptr %21884, align 4, !tbaa !5
  %21886 = call ptr @s2n_strerror(i32 noundef %21885, ptr noundef @.str.4)
  %21887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21888 = load i32, ptr %21887, align 4, !tbaa !5
  %21889 = call ptr @s2n_strerror_debug(i32 noundef %21888, ptr noundef @.str.4)
  %21890 = call ptr @__errno_location() #12
  %21891 = load i32, ptr %21890, align 4, !tbaa !5
  %21892 = call ptr @strerror(i32 noundef %21891) #11
  %21893 = call ptr @__errno_location() #12
  %21894 = load i32, ptr %21893, align 4, !tbaa !5
  %21895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21882, ptr noundef @.str.2, i32 noundef %21883, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 831, ptr noundef %21886, ptr noundef %21889, ptr noundef %21892, i32 noundef %21894) #11
  br label %21913

21896:                                            ; preds = %21874, %21867
  %21897 = load i32, ptr %432, align 4, !tbaa !5
  %21898 = call ptr @__errno_location() #12
  store i32 %21897, ptr %21898, align 4, !tbaa !5
  %21899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21900 = load i32, ptr @test_count, align 4, !tbaa !5
  %21901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21902 = load i32, ptr %21901, align 4, !tbaa !5
  %21903 = call ptr @s2n_strerror(i32 noundef %21902, ptr noundef @.str.4)
  %21904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21905 = load i32, ptr %21904, align 4, !tbaa !5
  %21906 = call ptr @s2n_strerror_debug(i32 noundef %21905, ptr noundef @.str.4)
  %21907 = call ptr @__errno_location() #12
  %21908 = load i32, ptr %21907, align 4, !tbaa !5
  %21909 = call ptr @strerror(i32 noundef %21908) #11
  %21910 = call ptr @__errno_location() #12
  %21911 = load i32, ptr %21910, align 4, !tbaa !5
  %21912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21899, ptr noundef @.str.5, i32 noundef %21900, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 831, ptr noundef %21903, ptr noundef %21906, ptr noundef %21909, i32 noundef %21911) #11
  br label %21913

21913:                                            ; preds = %21896, %21879
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %21914

21914:                                            ; preds = %21913
  br label %21915

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

21916:                                            ; No predecessors!
  br label %21917

21917:                                            ; preds = %21916
  br label %21918

21918:                                            ; preds = %21917, %21856
  br label %21919

21919:                                            ; preds = %21918
  br label %21920

21920:                                            ; preds = %21919
  %21921 = call i32 @s2n_io_pair_close(ptr noundef %423)
  call void @llvm.lifetime.end.p0(i64 8, ptr %423) #11
  %21922 = call i32 @s2n_connection_ptr_free(ptr noundef %420)
  %21923 = getelementptr inbounds %struct.s2n_result, ptr %433, i32 0, i32 0
  store i32 %21922, ptr %21923, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %420) #11
  %21924 = call i32 @s2n_connection_ptr_free(ptr noundef %417)
  %21925 = getelementptr inbounds %struct.s2n_result, ptr %434, i32 0, i32 0
  store i32 %21924, ptr %21925, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #11
  %21926 = call i32 @s2n_config_ptr_free(ptr noundef %412)
  %21927 = getelementptr inbounds %struct.s2n_result, ptr %435, i32 0, i32 0
  store i32 %21926, ptr %21927, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %412) #11
  %21928 = call i32 @s2n_config_ptr_free(ptr noundef %408)
  %21929 = getelementptr inbounds %struct.s2n_result, ptr %436, i32 0, i32 0
  store i32 %21928, ptr %21929, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %408) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %437) #11
  br label %21930

21930:                                            ; preds = %21920
  %21931 = load i32, ptr @test_count, align 4, !tbaa !5
  %21932 = add nsw i32 %21931, 1
  store i32 %21932, ptr @test_count, align 4, !tbaa !5
  %21933 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %437, i32 noundef 0)
  %21934 = icmp eq i32 %21933, -1
  br i1 %21934, label %21935, label %21988

21935:                                            ; preds = %21930
  br label %21936

21936:                                            ; preds = %21935
  br label %21937

21937:                                            ; preds = %21936
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %21938 = call ptr @__errno_location() #12
  %21939 = load i32, ptr %21938, align 4, !tbaa !5
  store i32 %21939, ptr %438, align 4, !tbaa !5
  %21940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21941 = call i32 @s2n_print_stacktrace(ptr noundef %21940)
  %21942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21943 = trunc i8 %21942 to i1
  br i1 %21943, label %21944, label %21966

21944:                                            ; preds = %21937
  %21945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21946 = call i32 @fileno(ptr noundef %21945) #11
  %21947 = call i32 @isatty(i32 noundef %21946) #11
  %21948 = icmp ne i32 %21947, 0
  br i1 %21948, label %21949, label %21966

21949:                                            ; preds = %21944
  %21950 = load i32, ptr %438, align 4, !tbaa !5
  %21951 = call ptr @__errno_location() #12
  store i32 %21950, ptr %21951, align 4, !tbaa !5
  %21952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21953 = load i32, ptr @test_count, align 4, !tbaa !5
  %21954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21955 = load i32, ptr %21954, align 4, !tbaa !5
  %21956 = call ptr @s2n_strerror(i32 noundef %21955, ptr noundef @.str.4)
  %21957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21958 = load i32, ptr %21957, align 4, !tbaa !5
  %21959 = call ptr @s2n_strerror_debug(i32 noundef %21958, ptr noundef @.str.4)
  %21960 = call ptr @__errno_location() #12
  %21961 = load i32, ptr %21960, align 4, !tbaa !5
  %21962 = call ptr @strerror(i32 noundef %21961) #11
  %21963 = call ptr @__errno_location() #12
  %21964 = load i32, ptr %21963, align 4, !tbaa !5
  %21965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21952, ptr noundef @.str.2, i32 noundef %21953, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 837, ptr noundef %21956, ptr noundef %21959, ptr noundef %21962, i32 noundef %21964) #11
  br label %21983

21966:                                            ; preds = %21944, %21937
  %21967 = load i32, ptr %438, align 4, !tbaa !5
  %21968 = call ptr @__errno_location() #12
  store i32 %21967, ptr %21968, align 4, !tbaa !5
  %21969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21970 = load i32, ptr @test_count, align 4, !tbaa !5
  %21971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21972 = load i32, ptr %21971, align 4, !tbaa !5
  %21973 = call ptr @s2n_strerror(i32 noundef %21972, ptr noundef @.str.4)
  %21974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21975 = load i32, ptr %21974, align 4, !tbaa !5
  %21976 = call ptr @s2n_strerror_debug(i32 noundef %21975, ptr noundef @.str.4)
  %21977 = call ptr @__errno_location() #12
  %21978 = load i32, ptr %21977, align 4, !tbaa !5
  %21979 = call ptr @strerror(i32 noundef %21978) #11
  %21980 = call ptr @__errno_location() #12
  %21981 = load i32, ptr %21980, align 4, !tbaa !5
  %21982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21969, ptr noundef @.str.5, i32 noundef %21970, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 837, ptr noundef %21973, ptr noundef %21976, ptr noundef %21979, i32 noundef %21981) #11
  br label %21983

21983:                                            ; preds = %21966, %21949
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %21984

21984:                                            ; preds = %21983
  br label %21985

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

21986:                                            ; No predecessors!
  br label %21987

21987:                                            ; preds = %21986
  br label %21988

21988:                                            ; preds = %21987, %21930
  br label %21989

21989:                                            ; preds = %21988
  br label %21990

21990:                                            ; preds = %21989
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  store i32 24, ptr %439, align 4, !tbaa !5
  br label %21991

21991:                                            ; preds = %21990
  %21992 = load i32, ptr @test_count, align 4, !tbaa !5
  %21993 = add nsw i32 %21992, 1
  store i32 %21993, ptr @test_count, align 4, !tbaa !5
  %21994 = call i32 @s2n_stuffer_write_uint24(ptr noundef %437, i32 noundef 24)
  %21995 = icmp eq i32 %21994, -1
  br i1 %21995, label %21996, label %22049

21996:                                            ; preds = %21991
  br label %21997

21997:                                            ; preds = %21996
  br label %21998

21998:                                            ; preds = %21997
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %21999 = call ptr @__errno_location() #12
  %22000 = load i32, ptr %21999, align 4, !tbaa !5
  store i32 %22000, ptr %440, align 4, !tbaa !5
  %22001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22002 = call i32 @s2n_print_stacktrace(ptr noundef %22001)
  %22003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22004 = trunc i8 %22003 to i1
  br i1 %22004, label %22005, label %22027

22005:                                            ; preds = %21998
  %22006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22007 = call i32 @fileno(ptr noundef %22006) #11
  %22008 = call i32 @isatty(i32 noundef %22007) #11
  %22009 = icmp ne i32 %22008, 0
  br i1 %22009, label %22010, label %22027

22010:                                            ; preds = %22005
  %22011 = load i32, ptr %440, align 4, !tbaa !5
  %22012 = call ptr @__errno_location() #12
  store i32 %22011, ptr %22012, align 4, !tbaa !5
  %22013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22014 = load i32, ptr @test_count, align 4, !tbaa !5
  %22015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22016 = load i32, ptr %22015, align 4, !tbaa !5
  %22017 = call ptr @s2n_strerror(i32 noundef %22016, ptr noundef @.str.4)
  %22018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22019 = load i32, ptr %22018, align 4, !tbaa !5
  %22020 = call ptr @s2n_strerror_debug(i32 noundef %22019, ptr noundef @.str.4)
  %22021 = call ptr @__errno_location() #12
  %22022 = load i32, ptr %22021, align 4, !tbaa !5
  %22023 = call ptr @strerror(i32 noundef %22022) #11
  %22024 = call ptr @__errno_location() #12
  %22025 = load i32, ptr %22024, align 4, !tbaa !5
  %22026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22013, ptr noundef @.str.2, i32 noundef %22014, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 846, ptr noundef %22017, ptr noundef %22020, ptr noundef %22023, i32 noundef %22025) #11
  br label %22044

22027:                                            ; preds = %22005, %21998
  %22028 = load i32, ptr %440, align 4, !tbaa !5
  %22029 = call ptr @__errno_location() #12
  store i32 %22028, ptr %22029, align 4, !tbaa !5
  %22030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22031 = load i32, ptr @test_count, align 4, !tbaa !5
  %22032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22033 = load i32, ptr %22032, align 4, !tbaa !5
  %22034 = call ptr @s2n_strerror(i32 noundef %22033, ptr noundef @.str.4)
  %22035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22036 = load i32, ptr %22035, align 4, !tbaa !5
  %22037 = call ptr @s2n_strerror_debug(i32 noundef %22036, ptr noundef @.str.4)
  %22038 = call ptr @__errno_location() #12
  %22039 = load i32, ptr %22038, align 4, !tbaa !5
  %22040 = call ptr @strerror(i32 noundef %22039) #11
  %22041 = call ptr @__errno_location() #12
  %22042 = load i32, ptr %22041, align 4, !tbaa !5
  %22043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22030, ptr noundef @.str.5, i32 noundef %22031, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 846, ptr noundef %22034, ptr noundef %22037, ptr noundef %22040, i32 noundef %22042) #11
  br label %22044

22044:                                            ; preds = %22027, %22010
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %22045

22045:                                            ; preds = %22044
  br label %22046

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

22047:                                            ; No predecessors!
  br label %22048

22048:                                            ; preds = %22047
  br label %22049

22049:                                            ; preds = %22048, %21991
  br label %22050

22050:                                            ; preds = %22049
  br label %22051

22051:                                            ; preds = %22050
  br label %22052

22052:                                            ; preds = %22051
  %22053 = load i32, ptr @test_count, align 4, !tbaa !5
  %22054 = add nsw i32 %22053, 1
  store i32 %22054, ptr @test_count, align 4, !tbaa !5
  %22055 = call i32 @s2n_stuffer_skip_write(ptr noundef %437, i32 noundef 24)
  %22056 = icmp eq i32 %22055, -1
  br i1 %22056, label %22057, label %22110

22057:                                            ; preds = %22052
  br label %22058

22058:                                            ; preds = %22057
  br label %22059

22059:                                            ; preds = %22058
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %22060 = call ptr @__errno_location() #12
  %22061 = load i32, ptr %22060, align 4, !tbaa !5
  store i32 %22061, ptr %441, align 4, !tbaa !5
  %22062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22063 = call i32 @s2n_print_stacktrace(ptr noundef %22062)
  %22064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22065 = trunc i8 %22064 to i1
  br i1 %22065, label %22066, label %22088

22066:                                            ; preds = %22059
  %22067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22068 = call i32 @fileno(ptr noundef %22067) #11
  %22069 = call i32 @isatty(i32 noundef %22068) #11
  %22070 = icmp ne i32 %22069, 0
  br i1 %22070, label %22071, label %22088

22071:                                            ; preds = %22066
  %22072 = load i32, ptr %441, align 4, !tbaa !5
  %22073 = call ptr @__errno_location() #12
  store i32 %22072, ptr %22073, align 4, !tbaa !5
  %22074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22075 = load i32, ptr @test_count, align 4, !tbaa !5
  %22076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22077 = load i32, ptr %22076, align 4, !tbaa !5
  %22078 = call ptr @s2n_strerror(i32 noundef %22077, ptr noundef @.str.4)
  %22079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22080 = load i32, ptr %22079, align 4, !tbaa !5
  %22081 = call ptr @s2n_strerror_debug(i32 noundef %22080, ptr noundef @.str.4)
  %22082 = call ptr @__errno_location() #12
  %22083 = load i32, ptr %22082, align 4, !tbaa !5
  %22084 = call ptr @strerror(i32 noundef %22083) #11
  %22085 = call ptr @__errno_location() #12
  %22086 = load i32, ptr %22085, align 4, !tbaa !5
  %22087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22074, ptr noundef @.str.2, i32 noundef %22075, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 847, ptr noundef %22078, ptr noundef %22081, ptr noundef %22084, i32 noundef %22086) #11
  br label %22105

22088:                                            ; preds = %22066, %22059
  %22089 = load i32, ptr %441, align 4, !tbaa !5
  %22090 = call ptr @__errno_location() #12
  store i32 %22089, ptr %22090, align 4, !tbaa !5
  %22091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22092 = load i32, ptr @test_count, align 4, !tbaa !5
  %22093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22094 = load i32, ptr %22093, align 4, !tbaa !5
  %22095 = call ptr @s2n_strerror(i32 noundef %22094, ptr noundef @.str.4)
  %22096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22097 = load i32, ptr %22096, align 4, !tbaa !5
  %22098 = call ptr @s2n_strerror_debug(i32 noundef %22097, ptr noundef @.str.4)
  %22099 = call ptr @__errno_location() #12
  %22100 = load i32, ptr %22099, align 4, !tbaa !5
  %22101 = call ptr @strerror(i32 noundef %22100) #11
  %22102 = call ptr @__errno_location() #12
  %22103 = load i32, ptr %22102, align 4, !tbaa !5
  %22104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22091, ptr noundef @.str.5, i32 noundef %22092, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 847, ptr noundef %22095, ptr noundef %22098, ptr noundef %22101, i32 noundef %22103) #11
  br label %22105

22105:                                            ; preds = %22088, %22071
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %22106

22106:                                            ; preds = %22105
  br label %22107

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

22108:                                            ; No predecessors!
  br label %22109

22109:                                            ; preds = %22108
  br label %22110

22110:                                            ; preds = %22109, %22052
  br label %22111

22111:                                            ; preds = %22110
  br label %22112

22112:                                            ; preds = %22111
  call void @llvm.lifetime.start.p0(i64 8, ptr %442) #11
  %22113 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22113, ptr %442, align 8, !tbaa !9
  %22114 = load ptr, ptr %442, align 8, !tbaa !9
  %22115 = getelementptr inbounds %struct.s2n_connection, ptr %22114, i32 0, i32 23
  store i8 33, ptr %22115, align 4, !tbaa !81
  br label %22116

22116:                                            ; preds = %22112
  %22117 = load i32, ptr @test_count, align 4, !tbaa !5
  %22118 = add nsw i32 %22117, 1
  store i32 %22118, ptr @test_count, align 4, !tbaa !5
  %22119 = load ptr, ptr %442, align 8, !tbaa !9
  %22120 = getelementptr inbounds %struct.s2n_connection, ptr %22119, i32 0, i32 52
  %22121 = getelementptr inbounds %struct.s2n_handshake, ptr %22120, i32 0, i32 0
  %22122 = getelementptr inbounds %struct.s2n_stuffer, ptr %437, i32 0, i32 2
  %22123 = load i32, ptr %22122, align 4, !tbaa !84
  %22124 = getelementptr inbounds %struct.s2n_stuffer, ptr %437, i32 0, i32 1
  %22125 = load i32, ptr %22124, align 8, !tbaa !85
  %22126 = sub i32 %22123, %22125
  %22127 = call i32 @s2n_stuffer_copy(ptr noundef %437, ptr noundef %22121, i32 noundef %22126)
  %22128 = icmp eq i32 %22127, -1
  br i1 %22128, label %22129, label %22182

22129:                                            ; preds = %22116
  br label %22130

22130:                                            ; preds = %22129
  br label %22131

22131:                                            ; preds = %22130
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %22132 = call ptr @__errno_location() #12
  %22133 = load i32, ptr %22132, align 4, !tbaa !5
  store i32 %22133, ptr %443, align 4, !tbaa !5
  %22134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22135 = call i32 @s2n_print_stacktrace(ptr noundef %22134)
  %22136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22137 = trunc i8 %22136 to i1
  br i1 %22137, label %22138, label %22160

22138:                                            ; preds = %22131
  %22139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22140 = call i32 @fileno(ptr noundef %22139) #11
  %22141 = call i32 @isatty(i32 noundef %22140) #11
  %22142 = icmp ne i32 %22141, 0
  br i1 %22142, label %22143, label %22160

22143:                                            ; preds = %22138
  %22144 = load i32, ptr %443, align 4, !tbaa !5
  %22145 = call ptr @__errno_location() #12
  store i32 %22144, ptr %22145, align 4, !tbaa !5
  %22146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22147 = load i32, ptr @test_count, align 4, !tbaa !5
  %22148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22149 = load i32, ptr %22148, align 4, !tbaa !5
  %22150 = call ptr @s2n_strerror(i32 noundef %22149, ptr noundef @.str.4)
  %22151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22152 = load i32, ptr %22151, align 4, !tbaa !5
  %22153 = call ptr @s2n_strerror_debug(i32 noundef %22152, ptr noundef @.str.4)
  %22154 = call ptr @__errno_location() #12
  %22155 = load i32, ptr %22154, align 4, !tbaa !5
  %22156 = call ptr @strerror(i32 noundef %22155) #11
  %22157 = call ptr @__errno_location() #12
  %22158 = load i32, ptr %22157, align 4, !tbaa !5
  %22159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22146, ptr noundef @.str.2, i32 noundef %22147, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 853, ptr noundef %22150, ptr noundef %22153, ptr noundef %22156, i32 noundef %22158) #11
  br label %22177

22160:                                            ; preds = %22138, %22131
  %22161 = load i32, ptr %443, align 4, !tbaa !5
  %22162 = call ptr @__errno_location() #12
  store i32 %22161, ptr %22162, align 4, !tbaa !5
  %22163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22164 = load i32, ptr @test_count, align 4, !tbaa !5
  %22165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22166 = load i32, ptr %22165, align 4, !tbaa !5
  %22167 = call ptr @s2n_strerror(i32 noundef %22166, ptr noundef @.str.4)
  %22168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22169 = load i32, ptr %22168, align 4, !tbaa !5
  %22170 = call ptr @s2n_strerror_debug(i32 noundef %22169, ptr noundef @.str.4)
  %22171 = call ptr @__errno_location() #12
  %22172 = load i32, ptr %22171, align 4, !tbaa !5
  %22173 = call ptr @strerror(i32 noundef %22172) #11
  %22174 = call ptr @__errno_location() #12
  %22175 = load i32, ptr %22174, align 4, !tbaa !5
  %22176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22163, ptr noundef @.str.5, i32 noundef %22164, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 853, ptr noundef %22167, ptr noundef %22170, ptr noundef %22173, i32 noundef %22175) #11
  br label %22177

22177:                                            ; preds = %22160, %22143
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %22178

22178:                                            ; preds = %22177
  br label %22179

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

22180:                                            ; No predecessors!
  br label %22181

22181:                                            ; preds = %22180
  br label %22182

22182:                                            ; preds = %22181, %22116
  br label %22183

22183:                                            ; preds = %22182
  br label %22184

22184:                                            ; preds = %22183
  br label %22185

22185:                                            ; preds = %22184
  br label %22186

22186:                                            ; preds = %22185
  br label %22187

22187:                                            ; preds = %22186
  %22188 = load i32, ptr @test_count, align 4, !tbaa !5
  %22189 = add nsw i32 %22188, 1
  store i32 %22189, ptr @test_count, align 4, !tbaa !5
  %22190 = load ptr, ptr %442, align 8, !tbaa !9
  %22191 = call i32 @s2n_client_cert_recv(ptr noundef %22190)
  %22192 = icmp eq i32 %22191, -1
  br i1 %22192, label %22246, label %22193

22193:                                            ; preds = %22187
  br label %22194

22194:                                            ; preds = %22193
  br label %22195

22195:                                            ; preds = %22194
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %22196 = call ptr @__errno_location() #12
  %22197 = load i32, ptr %22196, align 4, !tbaa !5
  store i32 %22197, ptr %444, align 4, !tbaa !5
  %22198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22199 = call i32 @s2n_print_stacktrace(ptr noundef %22198)
  %22200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22201 = trunc i8 %22200 to i1
  br i1 %22201, label %22202, label %22224

22202:                                            ; preds = %22195
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = call i32 @fileno(ptr noundef %22203) #11
  %22205 = call i32 @isatty(i32 noundef %22204) #11
  %22206 = icmp ne i32 %22205, 0
  br i1 %22206, label %22207, label %22224

22207:                                            ; preds = %22202
  %22208 = load i32, ptr %444, align 4, !tbaa !5
  %22209 = call ptr @__errno_location() #12
  store i32 %22208, ptr %22209, align 4, !tbaa !5
  %22210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22211 = load i32, ptr @test_count, align 4, !tbaa !5
  %22212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22213 = load i32, ptr %22212, align 4, !tbaa !5
  %22214 = call ptr @s2n_strerror(i32 noundef %22213, ptr noundef @.str.4)
  %22215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22216 = load i32, ptr %22215, align 4, !tbaa !5
  %22217 = call ptr @s2n_strerror_debug(i32 noundef %22216, ptr noundef @.str.4)
  %22218 = call ptr @__errno_location() #12
  %22219 = load i32, ptr %22218, align 4, !tbaa !5
  %22220 = call ptr @strerror(i32 noundef %22219) #11
  %22221 = call ptr @__errno_location() #12
  %22222 = load i32, ptr %22221, align 4, !tbaa !5
  %22223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22210, ptr noundef @.str.2, i32 noundef %22211, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22214, ptr noundef %22217, ptr noundef %22220, i32 noundef %22222) #11
  br label %22241

22224:                                            ; preds = %22202, %22195
  %22225 = load i32, ptr %444, align 4, !tbaa !5
  %22226 = call ptr @__errno_location() #12
  store i32 %22225, ptr %22226, align 4, !tbaa !5
  %22227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22228 = load i32, ptr @test_count, align 4, !tbaa !5
  %22229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22230 = load i32, ptr %22229, align 4, !tbaa !5
  %22231 = call ptr @s2n_strerror(i32 noundef %22230, ptr noundef @.str.4)
  %22232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22233 = load i32, ptr %22232, align 4, !tbaa !5
  %22234 = call ptr @s2n_strerror_debug(i32 noundef %22233, ptr noundef @.str.4)
  %22235 = call ptr @__errno_location() #12
  %22236 = load i32, ptr %22235, align 4, !tbaa !5
  %22237 = call ptr @strerror(i32 noundef %22236) #11
  %22238 = call ptr @__errno_location() #12
  %22239 = load i32, ptr %22238, align 4, !tbaa !5
  %22240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22227, ptr noundef @.str.5, i32 noundef %22228, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22231, ptr noundef %22234, ptr noundef %22237, i32 noundef %22239) #11
  br label %22241

22241:                                            ; preds = %22224, %22207
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %22242

22242:                                            ; preds = %22241
  br label %22243

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

22244:                                            ; No predecessors!
  br label %22245

22245:                                            ; preds = %22244
  br label %22246

22246:                                            ; preds = %22245, %22187
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

22248:                                            ; preds = %22247
  br label %22249

22249:                                            ; preds = %22248
  %22250 = load i32, ptr @test_count, align 4, !tbaa !5
  %22251 = add nsw i32 %22250, 1
  store i32 %22251, ptr @test_count, align 4, !tbaa !5
  %22252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22253 = load i32, ptr %22252, align 4, !tbaa !5
  %22254 = icmp eq i32 %22253, 335544371
  br i1 %22254, label %22308, label %22255

22255:                                            ; preds = %22249
  br label %22256

22256:                                            ; preds = %22255
  br label %22257

22257:                                            ; preds = %22256
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %22258 = call ptr @__errno_location() #12
  %22259 = load i32, ptr %22258, align 4, !tbaa !5
  store i32 %22259, ptr %445, align 4, !tbaa !5
  %22260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22261 = call i32 @s2n_print_stacktrace(ptr noundef %22260)
  %22262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22263 = trunc i8 %22262 to i1
  br i1 %22263, label %22264, label %22286

22264:                                            ; preds = %22257
  %22265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22266 = call i32 @fileno(ptr noundef %22265) #11
  %22267 = call i32 @isatty(i32 noundef %22266) #11
  %22268 = icmp ne i32 %22267, 0
  br i1 %22268, label %22269, label %22286

22269:                                            ; preds = %22264
  %22270 = load i32, ptr %445, align 4, !tbaa !5
  %22271 = call ptr @__errno_location() #12
  store i32 %22270, ptr %22271, align 4, !tbaa !5
  %22272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22273 = load i32, ptr @test_count, align 4, !tbaa !5
  %22274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22275 = load i32, ptr %22274, align 4, !tbaa !5
  %22276 = call ptr @s2n_strerror(i32 noundef %22275, ptr noundef @.str.4)
  %22277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22278 = load i32, ptr %22277, align 4, !tbaa !5
  %22279 = call ptr @s2n_strerror_debug(i32 noundef %22278, ptr noundef @.str.4)
  %22280 = call ptr @__errno_location() #12
  %22281 = load i32, ptr %22280, align 4, !tbaa !5
  %22282 = call ptr @strerror(i32 noundef %22281) #11
  %22283 = call ptr @__errno_location() #12
  %22284 = load i32, ptr %22283, align 4, !tbaa !5
  %22285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22272, ptr noundef @.str.2, i32 noundef %22273, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22276, ptr noundef %22279, ptr noundef %22282, i32 noundef %22284) #11
  br label %22303

22286:                                            ; preds = %22264, %22257
  %22287 = load i32, ptr %445, align 4, !tbaa !5
  %22288 = call ptr @__errno_location() #12
  store i32 %22287, ptr %22288, align 4, !tbaa !5
  %22289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22290 = load i32, ptr @test_count, align 4, !tbaa !5
  %22291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22292 = load i32, ptr %22291, align 4, !tbaa !5
  %22293 = call ptr @s2n_strerror(i32 noundef %22292, ptr noundef @.str.4)
  %22294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22295 = load i32, ptr %22294, align 4, !tbaa !5
  %22296 = call ptr @s2n_strerror_debug(i32 noundef %22295, ptr noundef @.str.4)
  %22297 = call ptr @__errno_location() #12
  %22298 = load i32, ptr %22297, align 4, !tbaa !5
  %22299 = call ptr @strerror(i32 noundef %22298) #11
  %22300 = call ptr @__errno_location() #12
  %22301 = load i32, ptr %22300, align 4, !tbaa !5
  %22302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22289, ptr noundef @.str.5, i32 noundef %22290, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22293, ptr noundef %22296, ptr noundef %22299, i32 noundef %22301) #11
  br label %22303

22303:                                            ; preds = %22286, %22269
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %22304

22304:                                            ; preds = %22303
  br label %22305

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

22306:                                            ; No predecessors!
  br label %22307

22307:                                            ; preds = %22306
  br label %22308

22308:                                            ; preds = %22307, %22249
  br label %22309

22309:                                            ; preds = %22308
  br label %22310

22310:                                            ; preds = %22309
  br label %22311

22311:                                            ; preds = %22310
  %22312 = load i32, ptr @test_count, align 4, !tbaa !5
  %22313 = add nsw i32 %22312, 1
  store i32 %22313, ptr @test_count, align 4, !tbaa !5
  %22314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22315 = load i32, ptr %22314, align 4, !tbaa !5
  %22316 = call ptr @s2n_strerror_debug(i32 noundef %22315, ptr noundef @.str.4)
  %22317 = icmp eq ptr %22316, null
  br i1 %22317, label %22318, label %22371

22318:                                            ; preds = %22311
  br label %22319

22319:                                            ; preds = %22318
  br label %22320

22320:                                            ; preds = %22319
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %22321 = call ptr @__errno_location() #12
  %22322 = load i32, ptr %22321, align 4, !tbaa !5
  store i32 %22322, ptr %446, align 4, !tbaa !5
  %22323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22324 = call i32 @s2n_print_stacktrace(ptr noundef %22323)
  %22325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22326 = trunc i8 %22325 to i1
  br i1 %22326, label %22327, label %22349

22327:                                            ; preds = %22320
  %22328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22329 = call i32 @fileno(ptr noundef %22328) #11
  %22330 = call i32 @isatty(i32 noundef %22329) #11
  %22331 = icmp ne i32 %22330, 0
  br i1 %22331, label %22332, label %22349

22332:                                            ; preds = %22327
  %22333 = load i32, ptr %446, align 4, !tbaa !5
  %22334 = call ptr @__errno_location() #12
  store i32 %22333, ptr %22334, align 4, !tbaa !5
  %22335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22336 = load i32, ptr @test_count, align 4, !tbaa !5
  %22337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22338 = load i32, ptr %22337, align 4, !tbaa !5
  %22339 = call ptr @s2n_strerror(i32 noundef %22338, ptr noundef @.str.4)
  %22340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22341 = load i32, ptr %22340, align 4, !tbaa !5
  %22342 = call ptr @s2n_strerror_debug(i32 noundef %22341, ptr noundef @.str.4)
  %22343 = call ptr @__errno_location() #12
  %22344 = load i32, ptr %22343, align 4, !tbaa !5
  %22345 = call ptr @strerror(i32 noundef %22344) #11
  %22346 = call ptr @__errno_location() #12
  %22347 = load i32, ptr %22346, align 4, !tbaa !5
  %22348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22335, ptr noundef @.str.2, i32 noundef %22336, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22339, ptr noundef %22342, ptr noundef %22345, i32 noundef %22347) #11
  br label %22366

22349:                                            ; preds = %22327, %22320
  %22350 = load i32, ptr %446, align 4, !tbaa !5
  %22351 = call ptr @__errno_location() #12
  store i32 %22350, ptr %22351, align 4, !tbaa !5
  %22352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22353 = load i32, ptr @test_count, align 4, !tbaa !5
  %22354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22355 = load i32, ptr %22354, align 4, !tbaa !5
  %22356 = call ptr @s2n_strerror(i32 noundef %22355, ptr noundef @.str.4)
  %22357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22358 = load i32, ptr %22357, align 4, !tbaa !5
  %22359 = call ptr @s2n_strerror_debug(i32 noundef %22358, ptr noundef @.str.4)
  %22360 = call ptr @__errno_location() #12
  %22361 = load i32, ptr %22360, align 4, !tbaa !5
  %22362 = call ptr @strerror(i32 noundef %22361) #11
  %22363 = call ptr @__errno_location() #12
  %22364 = load i32, ptr %22363, align 4, !tbaa !5
  %22365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22352, ptr noundef @.str.5, i32 noundef %22353, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 855, ptr noundef %22356, ptr noundef %22359, ptr noundef %22362, i32 noundef %22364) #11
  br label %22366

22366:                                            ; preds = %22349, %22332
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %22367

22367:                                            ; preds = %22366
  br label %22368

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

22369:                                            ; No predecessors!
  br label %22370

22370:                                            ; preds = %22369
  br label %22371

22371:                                            ; preds = %22370, %22311
  br label %22372

22372:                                            ; preds = %22371
  br label %22373

22373:                                            ; preds = %22372
  br label %22374

22374:                                            ; preds = %22373
  br label %22375

22375:                                            ; preds = %22374
  br label %22376

22376:                                            ; preds = %22375
  %22377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22377, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22378 = call ptr @__errno_location() #12
  store i32 0, ptr %22378, align 4, !tbaa !5
  br label %22379

22379:                                            ; preds = %22376
  br label %22380

22380:                                            ; preds = %22379
  br label %22381

22381:                                            ; preds = %22380
  br label %22382

22382:                                            ; preds = %22381
  br label %22383

22383:                                            ; preds = %22382
  %22384 = load i32, ptr @test_count, align 4, !tbaa !5
  %22385 = add nsw i32 %22384, 1
  store i32 %22385, ptr @test_count, align 4, !tbaa !5
  %22386 = load ptr, ptr %442, align 8, !tbaa !9
  %22387 = getelementptr inbounds %struct.s2n_connection, ptr %22386, i32 0, i32 32
  %22388 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %22387, i32 0, i32 2
  %22389 = getelementptr inbounds %struct.s2n_blob, ptr %22388, i32 0, i32 1
  %22390 = load i32, ptr %22389, align 8, !tbaa !83
  %22391 = icmp eq i32 %22390, 0
  br i1 %22391, label %22392, label %22445

22392:                                            ; preds = %22383
  br label %22393

22393:                                            ; preds = %22392
  br label %22394

22394:                                            ; preds = %22393
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %22395 = call ptr @__errno_location() #12
  %22396 = load i32, ptr %22395, align 4, !tbaa !5
  store i32 %22396, ptr %447, align 4, !tbaa !5
  %22397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22398 = call i32 @s2n_print_stacktrace(ptr noundef %22397)
  %22399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22400 = trunc i8 %22399 to i1
  br i1 %22400, label %22401, label %22423

22401:                                            ; preds = %22394
  %22402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22403 = call i32 @fileno(ptr noundef %22402) #11
  %22404 = call i32 @isatty(i32 noundef %22403) #11
  %22405 = icmp ne i32 %22404, 0
  br i1 %22405, label %22406, label %22423

22406:                                            ; preds = %22401
  %22407 = load i32, ptr %447, align 4, !tbaa !5
  %22408 = call ptr @__errno_location() #12
  store i32 %22407, ptr %22408, align 4, !tbaa !5
  %22409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22410 = load i32, ptr @test_count, align 4, !tbaa !5
  %22411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22412 = load i32, ptr %22411, align 4, !tbaa !5
  %22413 = call ptr @s2n_strerror(i32 noundef %22412, ptr noundef @.str.4)
  %22414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22415 = load i32, ptr %22414, align 4, !tbaa !5
  %22416 = call ptr @s2n_strerror_debug(i32 noundef %22415, ptr noundef @.str.4)
  %22417 = call ptr @__errno_location() #12
  %22418 = load i32, ptr %22417, align 4, !tbaa !5
  %22419 = call ptr @strerror(i32 noundef %22418) #11
  %22420 = call ptr @__errno_location() #12
  %22421 = load i32, ptr %22420, align 4, !tbaa !5
  %22422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22409, ptr noundef @.str.2, i32 noundef %22410, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 856, ptr noundef %22413, ptr noundef %22416, ptr noundef %22419, i32 noundef %22421) #11
  br label %22440

22423:                                            ; preds = %22401, %22394
  %22424 = load i32, ptr %447, align 4, !tbaa !5
  %22425 = call ptr @__errno_location() #12
  store i32 %22424, ptr %22425, align 4, !tbaa !5
  %22426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22427 = load i32, ptr @test_count, align 4, !tbaa !5
  %22428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22429 = load i32, ptr %22428, align 4, !tbaa !5
  %22430 = call ptr @s2n_strerror(i32 noundef %22429, ptr noundef @.str.4)
  %22431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22432 = load i32, ptr %22431, align 4, !tbaa !5
  %22433 = call ptr @s2n_strerror_debug(i32 noundef %22432, ptr noundef @.str.4)
  %22434 = call ptr @__errno_location() #12
  %22435 = load i32, ptr %22434, align 4, !tbaa !5
  %22436 = call ptr @strerror(i32 noundef %22435) #11
  %22437 = call ptr @__errno_location() #12
  %22438 = load i32, ptr %22437, align 4, !tbaa !5
  %22439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22426, ptr noundef @.str.5, i32 noundef %22427, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 856, ptr noundef %22430, ptr noundef %22433, ptr noundef %22436, i32 noundef %22438) #11
  br label %22440

22440:                                            ; preds = %22423, %22406
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %22441

22441:                                            ; preds = %22440
  br label %22442

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

22443:                                            ; No predecessors!
  br label %22444

22444:                                            ; preds = %22443
  br label %22445

22445:                                            ; preds = %22444, %22383
  br label %22446

22446:                                            ; preds = %22445
  br label %22447

22447:                                            ; preds = %22446
  br label %22448

22448:                                            ; preds = %22447
  %22449 = load i32, ptr @test_count, align 4, !tbaa !5
  %22450 = add nsw i32 %22449, 1
  store i32 %22450, ptr @test_count, align 4, !tbaa !5
  %22451 = load ptr, ptr %442, align 8, !tbaa !9
  %22452 = getelementptr inbounds %struct.s2n_connection, ptr %22451, i32 0, i32 32
  %22453 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %22452, i32 0, i32 2
  %22454 = getelementptr inbounds %struct.s2n_blob, ptr %22453, i32 0, i32 0
  %22455 = load ptr, ptr %22454, align 8, !tbaa !82
  %22456 = icmp eq ptr %22455, null
  br i1 %22456, label %22457, label %22510

22457:                                            ; preds = %22448
  br label %22458

22458:                                            ; preds = %22457
  br label %22459

22459:                                            ; preds = %22458
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %22460 = call ptr @__errno_location() #12
  %22461 = load i32, ptr %22460, align 4, !tbaa !5
  store i32 %22461, ptr %448, align 4, !tbaa !5
  %22462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22463 = call i32 @s2n_print_stacktrace(ptr noundef %22462)
  %22464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22465 = trunc i8 %22464 to i1
  br i1 %22465, label %22466, label %22488

22466:                                            ; preds = %22459
  %22467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22468 = call i32 @fileno(ptr noundef %22467) #11
  %22469 = call i32 @isatty(i32 noundef %22468) #11
  %22470 = icmp ne i32 %22469, 0
  br i1 %22470, label %22471, label %22488

22471:                                            ; preds = %22466
  %22472 = load i32, ptr %448, align 4, !tbaa !5
  %22473 = call ptr @__errno_location() #12
  store i32 %22472, ptr %22473, align 4, !tbaa !5
  %22474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22475 = load i32, ptr @test_count, align 4, !tbaa !5
  %22476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22477 = load i32, ptr %22476, align 4, !tbaa !5
  %22478 = call ptr @s2n_strerror(i32 noundef %22477, ptr noundef @.str.4)
  %22479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22480 = load i32, ptr %22479, align 4, !tbaa !5
  %22481 = call ptr @s2n_strerror_debug(i32 noundef %22480, ptr noundef @.str.4)
  %22482 = call ptr @__errno_location() #12
  %22483 = load i32, ptr %22482, align 4, !tbaa !5
  %22484 = call ptr @strerror(i32 noundef %22483) #11
  %22485 = call ptr @__errno_location() #12
  %22486 = load i32, ptr %22485, align 4, !tbaa !5
  %22487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22474, ptr noundef @.str.2, i32 noundef %22475, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 857, ptr noundef %22478, ptr noundef %22481, ptr noundef %22484, i32 noundef %22486) #11
  br label %22505

22488:                                            ; preds = %22466, %22459
  %22489 = load i32, ptr %448, align 4, !tbaa !5
  %22490 = call ptr @__errno_location() #12
  store i32 %22489, ptr %22490, align 4, !tbaa !5
  %22491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22492 = load i32, ptr @test_count, align 4, !tbaa !5
  %22493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22494 = load i32, ptr %22493, align 4, !tbaa !5
  %22495 = call ptr @s2n_strerror(i32 noundef %22494, ptr noundef @.str.4)
  %22496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22497 = load i32, ptr %22496, align 4, !tbaa !5
  %22498 = call ptr @s2n_strerror_debug(i32 noundef %22497, ptr noundef @.str.4)
  %22499 = call ptr @__errno_location() #12
  %22500 = load i32, ptr %22499, align 4, !tbaa !5
  %22501 = call ptr @strerror(i32 noundef %22500) #11
  %22502 = call ptr @__errno_location() #12
  %22503 = load i32, ptr %22502, align 4, !tbaa !5
  %22504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22491, ptr noundef @.str.5, i32 noundef %22492, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 857, ptr noundef %22495, ptr noundef %22498, ptr noundef %22501, i32 noundef %22503) #11
  br label %22505

22505:                                            ; preds = %22488, %22471
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %22506

22506:                                            ; preds = %22505
  br label %22507

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

22508:                                            ; No predecessors!
  br label %22509

22509:                                            ; preds = %22508
  br label %22510

22510:                                            ; preds = %22509, %22448
  br label %22511

22511:                                            ; preds = %22510
  br label %22512

22512:                                            ; preds = %22511
  %22513 = call i32 @s2n_connection_ptr_free(ptr noundef %442)
  %22514 = getelementptr inbounds %struct.s2n_result, ptr %449, i32 0, i32 0
  store i32 %22513, ptr %22514, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %442) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  %22515 = call i32 @s2n_stuffer_free(ptr noundef %437)
  call void @llvm.lifetime.end.p0(i64 40, ptr %437) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %450) #11
  br label %22516

22516:                                            ; preds = %22512
  %22517 = load i32, ptr @test_count, align 4, !tbaa !5
  %22518 = add nsw i32 %22517, 1
  store i32 %22518, ptr @test_count, align 4, !tbaa !5
  %22519 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %450, i32 noundef 0)
  %22520 = icmp eq i32 %22519, -1
  br i1 %22520, label %22521, label %22574

22521:                                            ; preds = %22516
  br label %22522

22522:                                            ; preds = %22521
  br label %22523

22523:                                            ; preds = %22522
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %22524 = call ptr @__errno_location() #12
  %22525 = load i32, ptr %22524, align 4, !tbaa !5
  store i32 %22525, ptr %451, align 4, !tbaa !5
  %22526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22527 = call i32 @s2n_print_stacktrace(ptr noundef %22526)
  %22528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22529 = trunc i8 %22528 to i1
  br i1 %22529, label %22530, label %22552

22530:                                            ; preds = %22523
  %22531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22532 = call i32 @fileno(ptr noundef %22531) #11
  %22533 = call i32 @isatty(i32 noundef %22532) #11
  %22534 = icmp ne i32 %22533, 0
  br i1 %22534, label %22535, label %22552

22535:                                            ; preds = %22530
  %22536 = load i32, ptr %451, align 4, !tbaa !5
  %22537 = call ptr @__errno_location() #12
  store i32 %22536, ptr %22537, align 4, !tbaa !5
  %22538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22539 = load i32, ptr @test_count, align 4, !tbaa !5
  %22540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22541 = load i32, ptr %22540, align 4, !tbaa !5
  %22542 = call ptr @s2n_strerror(i32 noundef %22541, ptr noundef @.str.4)
  %22543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22544 = load i32, ptr %22543, align 4, !tbaa !5
  %22545 = call ptr @s2n_strerror_debug(i32 noundef %22544, ptr noundef @.str.4)
  %22546 = call ptr @__errno_location() #12
  %22547 = load i32, ptr %22546, align 4, !tbaa !5
  %22548 = call ptr @strerror(i32 noundef %22547) #11
  %22549 = call ptr @__errno_location() #12
  %22550 = load i32, ptr %22549, align 4, !tbaa !5
  %22551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22538, ptr noundef @.str.2, i32 noundef %22539, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 863, ptr noundef %22542, ptr noundef %22545, ptr noundef %22548, i32 noundef %22550) #11
  br label %22569

22552:                                            ; preds = %22530, %22523
  %22553 = load i32, ptr %451, align 4, !tbaa !5
  %22554 = call ptr @__errno_location() #12
  store i32 %22553, ptr %22554, align 4, !tbaa !5
  %22555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22556 = load i32, ptr @test_count, align 4, !tbaa !5
  %22557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22558 = load i32, ptr %22557, align 4, !tbaa !5
  %22559 = call ptr @s2n_strerror(i32 noundef %22558, ptr noundef @.str.4)
  %22560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22561 = load i32, ptr %22560, align 4, !tbaa !5
  %22562 = call ptr @s2n_strerror_debug(i32 noundef %22561, ptr noundef @.str.4)
  %22563 = call ptr @__errno_location() #12
  %22564 = load i32, ptr %22563, align 4, !tbaa !5
  %22565 = call ptr @strerror(i32 noundef %22564) #11
  %22566 = call ptr @__errno_location() #12
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  %22568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22555, ptr noundef @.str.5, i32 noundef %22556, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 863, ptr noundef %22559, ptr noundef %22562, ptr noundef %22565, i32 noundef %22567) #11
  br label %22569

22569:                                            ; preds = %22552, %22535
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %22570

22570:                                            ; preds = %22569
  br label %22571

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

22572:                                            ; No predecessors!
  br label %22573

22573:                                            ; preds = %22572
  br label %22574

22574:                                            ; preds = %22573, %22516
  br label %22575

22575:                                            ; preds = %22574
  br label %22576

22576:                                            ; preds = %22575
  br label %22577

22577:                                            ; preds = %22576
  %22578 = load i32, ptr @test_count, align 4, !tbaa !5
  %22579 = add nsw i32 %22578, 1
  store i32 %22579, ptr @test_count, align 4, !tbaa !5
  %22580 = call i32 @s2n_stuffer_write_uint8(ptr noundef %450, i8 noundef zeroext 0)
  %22581 = icmp eq i32 %22580, -1
  br i1 %22581, label %22582, label %22635

22582:                                            ; preds = %22577
  br label %22583

22583:                                            ; preds = %22582
  br label %22584

22584:                                            ; preds = %22583
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %22585 = call ptr @__errno_location() #12
  %22586 = load i32, ptr %22585, align 4, !tbaa !5
  store i32 %22586, ptr %452, align 4, !tbaa !5
  %22587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22588 = call i32 @s2n_print_stacktrace(ptr noundef %22587)
  %22589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22590 = trunc i8 %22589 to i1
  br i1 %22590, label %22591, label %22613

22591:                                            ; preds = %22584
  %22592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22593 = call i32 @fileno(ptr noundef %22592) #11
  %22594 = call i32 @isatty(i32 noundef %22593) #11
  %22595 = icmp ne i32 %22594, 0
  br i1 %22595, label %22596, label %22613

22596:                                            ; preds = %22591
  %22597 = load i32, ptr %452, align 4, !tbaa !5
  %22598 = call ptr @__errno_location() #12
  store i32 %22597, ptr %22598, align 4, !tbaa !5
  %22599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22600 = load i32, ptr @test_count, align 4, !tbaa !5
  %22601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22602 = load i32, ptr %22601, align 4, !tbaa !5
  %22603 = call ptr @s2n_strerror(i32 noundef %22602, ptr noundef @.str.4)
  %22604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22605 = load i32, ptr %22604, align 4, !tbaa !5
  %22606 = call ptr @s2n_strerror_debug(i32 noundef %22605, ptr noundef @.str.4)
  %22607 = call ptr @__errno_location() #12
  %22608 = load i32, ptr %22607, align 4, !tbaa !5
  %22609 = call ptr @strerror(i32 noundef %22608) #11
  %22610 = call ptr @__errno_location() #12
  %22611 = load i32, ptr %22610, align 4, !tbaa !5
  %22612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22599, ptr noundef @.str.2, i32 noundef %22600, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 866, ptr noundef %22603, ptr noundef %22606, ptr noundef %22609, i32 noundef %22611) #11
  br label %22630

22613:                                            ; preds = %22591, %22584
  %22614 = load i32, ptr %452, align 4, !tbaa !5
  %22615 = call ptr @__errno_location() #12
  store i32 %22614, ptr %22615, align 4, !tbaa !5
  %22616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22617 = load i32, ptr @test_count, align 4, !tbaa !5
  %22618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22619 = load i32, ptr %22618, align 4, !tbaa !5
  %22620 = call ptr @s2n_strerror(i32 noundef %22619, ptr noundef @.str.4)
  %22621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22622 = load i32, ptr %22621, align 4, !tbaa !5
  %22623 = call ptr @s2n_strerror_debug(i32 noundef %22622, ptr noundef @.str.4)
  %22624 = call ptr @__errno_location() #12
  %22625 = load i32, ptr %22624, align 4, !tbaa !5
  %22626 = call ptr @strerror(i32 noundef %22625) #11
  %22627 = call ptr @__errno_location() #12
  %22628 = load i32, ptr %22627, align 4, !tbaa !5
  %22629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22616, ptr noundef @.str.5, i32 noundef %22617, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 866, ptr noundef %22620, ptr noundef %22623, ptr noundef %22626, i32 noundef %22628) #11
  br label %22630

22630:                                            ; preds = %22613, %22596
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %22631

22631:                                            ; preds = %22630
  br label %22632

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

22633:                                            ; No predecessors!
  br label %22634

22634:                                            ; preds = %22633
  br label %22635

22635:                                            ; preds = %22634, %22577
  br label %22636

22636:                                            ; preds = %22635
  br label %22637

22637:                                            ; preds = %22636
  call void @llvm.lifetime.start.p0(i64 16, ptr %453) #11
  call void @llvm.memset.p0.i64(ptr align 8 %453, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  store i32 24, ptr %454, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  store i32 20, ptr %455, align 4, !tbaa !5
  br label %22638

22638:                                            ; preds = %22637
  %22639 = load i32, ptr @test_count, align 4, !tbaa !5
  %22640 = add nsw i32 %22639, 1
  store i32 %22640, ptr @test_count, align 4, !tbaa !5
  %22641 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef %450, ptr noundef %453)
  %22642 = icmp eq i32 %22641, -1
  br i1 %22642, label %22643, label %22696

22643:                                            ; preds = %22638
  br label %22644

22644:                                            ; preds = %22643
  br label %22645

22645:                                            ; preds = %22644
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %22646 = call ptr @__errno_location() #12
  %22647 = load i32, ptr %22646, align 4, !tbaa !5
  store i32 %22647, ptr %456, align 4, !tbaa !5
  %22648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22649 = call i32 @s2n_print_stacktrace(ptr noundef %22648)
  %22650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22651 = trunc i8 %22650 to i1
  br i1 %22651, label %22652, label %22674

22652:                                            ; preds = %22645
  %22653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22654 = call i32 @fileno(ptr noundef %22653) #11
  %22655 = call i32 @isatty(i32 noundef %22654) #11
  %22656 = icmp ne i32 %22655, 0
  br i1 %22656, label %22657, label %22674

22657:                                            ; preds = %22652
  %22658 = load i32, ptr %456, align 4, !tbaa !5
  %22659 = call ptr @__errno_location() #12
  store i32 %22658, ptr %22659, align 4, !tbaa !5
  %22660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22661 = load i32, ptr @test_count, align 4, !tbaa !5
  %22662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22663 = load i32, ptr %22662, align 4, !tbaa !5
  %22664 = call ptr @s2n_strerror(i32 noundef %22663, ptr noundef @.str.4)
  %22665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22666 = load i32, ptr %22665, align 4, !tbaa !5
  %22667 = call ptr @s2n_strerror_debug(i32 noundef %22666, ptr noundef @.str.4)
  %22668 = call ptr @__errno_location() #12
  %22669 = load i32, ptr %22668, align 4, !tbaa !5
  %22670 = call ptr @strerror(i32 noundef %22669) #11
  %22671 = call ptr @__errno_location() #12
  %22672 = load i32, ptr %22671, align 4, !tbaa !5
  %22673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22660, ptr noundef @.str.2, i32 noundef %22661, ptr noundef @.str.251, ptr noundef @.str.1, i32 noundef 884, ptr noundef %22664, ptr noundef %22667, ptr noundef %22670, i32 noundef %22672) #11
  br label %22691

22674:                                            ; preds = %22652, %22645
  %22675 = load i32, ptr %456, align 4, !tbaa !5
  %22676 = call ptr @__errno_location() #12
  store i32 %22675, ptr %22676, align 4, !tbaa !5
  %22677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22678 = load i32, ptr @test_count, align 4, !tbaa !5
  %22679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22680 = load i32, ptr %22679, align 4, !tbaa !5
  %22681 = call ptr @s2n_strerror(i32 noundef %22680, ptr noundef @.str.4)
  %22682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22683 = load i32, ptr %22682, align 4, !tbaa !5
  %22684 = call ptr @s2n_strerror_debug(i32 noundef %22683, ptr noundef @.str.4)
  %22685 = call ptr @__errno_location() #12
  %22686 = load i32, ptr %22685, align 4, !tbaa !5
  %22687 = call ptr @strerror(i32 noundef %22686) #11
  %22688 = call ptr @__errno_location() #12
  %22689 = load i32, ptr %22688, align 4, !tbaa !5
  %22690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22677, ptr noundef @.str.5, i32 noundef %22678, ptr noundef @.str.251, ptr noundef @.str.1, i32 noundef 884, ptr noundef %22681, ptr noundef %22684, ptr noundef %22687, i32 noundef %22689) #11
  br label %22691

22691:                                            ; preds = %22674, %22657
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %22692

22692:                                            ; preds = %22691
  br label %22693

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

22694:                                            ; No predecessors!
  br label %22695

22695:                                            ; preds = %22694
  br label %22696

22696:                                            ; preds = %22695, %22638
  br label %22697

22697:                                            ; preds = %22696
  br label %22698

22698:                                            ; preds = %22697
  br label %22699

22699:                                            ; preds = %22698
  %22700 = load i32, ptr @test_count, align 4, !tbaa !5
  %22701 = add nsw i32 %22700, 1
  store i32 %22701, ptr @test_count, align 4, !tbaa !5
  %22702 = call i32 @s2n_stuffer_write_uint24(ptr noundef %450, i32 noundef 24)
  %22703 = icmp eq i32 %22702, -1
  br i1 %22703, label %22704, label %22757

22704:                                            ; preds = %22699
  br label %22705

22705:                                            ; preds = %22704
  br label %22706

22706:                                            ; preds = %22705
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %22707 = call ptr @__errno_location() #12
  %22708 = load i32, ptr %22707, align 4, !tbaa !5
  store i32 %22708, ptr %457, align 4, !tbaa !5
  %22709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22710 = call i32 @s2n_print_stacktrace(ptr noundef %22709)
  %22711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22712 = trunc i8 %22711 to i1
  br i1 %22712, label %22713, label %22735

22713:                                            ; preds = %22706
  %22714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22715 = call i32 @fileno(ptr noundef %22714) #11
  %22716 = call i32 @isatty(i32 noundef %22715) #11
  %22717 = icmp ne i32 %22716, 0
  br i1 %22717, label %22718, label %22735

22718:                                            ; preds = %22713
  %22719 = load i32, ptr %457, align 4, !tbaa !5
  %22720 = call ptr @__errno_location() #12
  store i32 %22719, ptr %22720, align 4, !tbaa !5
  %22721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22722 = load i32, ptr @test_count, align 4, !tbaa !5
  %22723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22724 = load i32, ptr %22723, align 4, !tbaa !5
  %22725 = call ptr @s2n_strerror(i32 noundef %22724, ptr noundef @.str.4)
  %22726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22727 = load i32, ptr %22726, align 4, !tbaa !5
  %22728 = call ptr @s2n_strerror_debug(i32 noundef %22727, ptr noundef @.str.4)
  %22729 = call ptr @__errno_location() #12
  %22730 = load i32, ptr %22729, align 4, !tbaa !5
  %22731 = call ptr @strerror(i32 noundef %22730) #11
  %22732 = call ptr @__errno_location() #12
  %22733 = load i32, ptr %22732, align 4, !tbaa !5
  %22734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22721, ptr noundef @.str.2, i32 noundef %22722, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 885, ptr noundef %22725, ptr noundef %22728, ptr noundef %22731, i32 noundef %22733) #11
  br label %22752

22735:                                            ; preds = %22713, %22706
  %22736 = load i32, ptr %457, align 4, !tbaa !5
  %22737 = call ptr @__errno_location() #12
  store i32 %22736, ptr %22737, align 4, !tbaa !5
  %22738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22739 = load i32, ptr @test_count, align 4, !tbaa !5
  %22740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22741 = load i32, ptr %22740, align 4, !tbaa !5
  %22742 = call ptr @s2n_strerror(i32 noundef %22741, ptr noundef @.str.4)
  %22743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22744 = load i32, ptr %22743, align 4, !tbaa !5
  %22745 = call ptr @s2n_strerror_debug(i32 noundef %22744, ptr noundef @.str.4)
  %22746 = call ptr @__errno_location() #12
  %22747 = load i32, ptr %22746, align 4, !tbaa !5
  %22748 = call ptr @strerror(i32 noundef %22747) #11
  %22749 = call ptr @__errno_location() #12
  %22750 = load i32, ptr %22749, align 4, !tbaa !5
  %22751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22738, ptr noundef @.str.5, i32 noundef %22739, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 885, ptr noundef %22742, ptr noundef %22745, ptr noundef %22748, i32 noundef %22750) #11
  br label %22752

22752:                                            ; preds = %22735, %22718
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %22753

22753:                                            ; preds = %22752
  br label %22754

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

22755:                                            ; No predecessors!
  br label %22756

22756:                                            ; preds = %22755
  br label %22757

22757:                                            ; preds = %22756, %22699
  br label %22758

22758:                                            ; preds = %22757
  br label %22759

22759:                                            ; preds = %22758
  br label %22760

22760:                                            ; preds = %22759
  %22761 = load i32, ptr @test_count, align 4, !tbaa !5
  %22762 = add nsw i32 %22761, 1
  store i32 %22762, ptr @test_count, align 4, !tbaa !5
  %22763 = call i32 @s2n_stuffer_skip_write(ptr noundef %450, i32 noundef 24)
  %22764 = icmp eq i32 %22763, -1
  br i1 %22764, label %22765, label %22818

22765:                                            ; preds = %22760
  br label %22766

22766:                                            ; preds = %22765
  br label %22767

22767:                                            ; preds = %22766
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %22768 = call ptr @__errno_location() #12
  %22769 = load i32, ptr %22768, align 4, !tbaa !5
  store i32 %22769, ptr %458, align 4, !tbaa !5
  %22770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22771 = call i32 @s2n_print_stacktrace(ptr noundef %22770)
  %22772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22773 = trunc i8 %22772 to i1
  br i1 %22773, label %22774, label %22796

22774:                                            ; preds = %22767
  %22775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22776 = call i32 @fileno(ptr noundef %22775) #11
  %22777 = call i32 @isatty(i32 noundef %22776) #11
  %22778 = icmp ne i32 %22777, 0
  br i1 %22778, label %22779, label %22796

22779:                                            ; preds = %22774
  %22780 = load i32, ptr %458, align 4, !tbaa !5
  %22781 = call ptr @__errno_location() #12
  store i32 %22780, ptr %22781, align 4, !tbaa !5
  %22782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22783 = load i32, ptr @test_count, align 4, !tbaa !5
  %22784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22785 = load i32, ptr %22784, align 4, !tbaa !5
  %22786 = call ptr @s2n_strerror(i32 noundef %22785, ptr noundef @.str.4)
  %22787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22788 = load i32, ptr %22787, align 4, !tbaa !5
  %22789 = call ptr @s2n_strerror_debug(i32 noundef %22788, ptr noundef @.str.4)
  %22790 = call ptr @__errno_location() #12
  %22791 = load i32, ptr %22790, align 4, !tbaa !5
  %22792 = call ptr @strerror(i32 noundef %22791) #11
  %22793 = call ptr @__errno_location() #12
  %22794 = load i32, ptr %22793, align 4, !tbaa !5
  %22795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22782, ptr noundef @.str.2, i32 noundef %22783, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 886, ptr noundef %22786, ptr noundef %22789, ptr noundef %22792, i32 noundef %22794) #11
  br label %22813

22796:                                            ; preds = %22774, %22767
  %22797 = load i32, ptr %458, align 4, !tbaa !5
  %22798 = call ptr @__errno_location() #12
  store i32 %22797, ptr %22798, align 4, !tbaa !5
  %22799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22800 = load i32, ptr @test_count, align 4, !tbaa !5
  %22801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22802 = load i32, ptr %22801, align 4, !tbaa !5
  %22803 = call ptr @s2n_strerror(i32 noundef %22802, ptr noundef @.str.4)
  %22804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22805 = load i32, ptr %22804, align 4, !tbaa !5
  %22806 = call ptr @s2n_strerror_debug(i32 noundef %22805, ptr noundef @.str.4)
  %22807 = call ptr @__errno_location() #12
  %22808 = load i32, ptr %22807, align 4, !tbaa !5
  %22809 = call ptr @strerror(i32 noundef %22808) #11
  %22810 = call ptr @__errno_location() #12
  %22811 = load i32, ptr %22810, align 4, !tbaa !5
  %22812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22799, ptr noundef @.str.5, i32 noundef %22800, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 886, ptr noundef %22803, ptr noundef %22806, ptr noundef %22809, i32 noundef %22811) #11
  br label %22813

22813:                                            ; preds = %22796, %22779
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %22814

22814:                                            ; preds = %22813
  br label %22815

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

22816:                                            ; No predecessors!
  br label %22817

22817:                                            ; preds = %22816
  br label %22818

22818:                                            ; preds = %22817, %22760
  br label %22819

22819:                                            ; preds = %22818
  br label %22820

22820:                                            ; preds = %22819
  br label %22821

22821:                                            ; preds = %22820
  %22822 = load i32, ptr @test_count, align 4, !tbaa !5
  %22823 = add nsw i32 %22822, 1
  store i32 %22823, ptr @test_count, align 4, !tbaa !5
  %22824 = call i32 @s2n_stuffer_write_uint16(ptr noundef %450, i16 noundef zeroext 20)
  %22825 = icmp eq i32 %22824, -1
  br i1 %22825, label %22826, label %22879

22826:                                            ; preds = %22821
  br label %22827

22827:                                            ; preds = %22826
  br label %22828

22828:                                            ; preds = %22827
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #11
  %22829 = call ptr @__errno_location() #12
  %22830 = load i32, ptr %22829, align 4, !tbaa !5
  store i32 %22830, ptr %459, align 4, !tbaa !5
  %22831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22832 = call i32 @s2n_print_stacktrace(ptr noundef %22831)
  %22833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22834 = trunc i8 %22833 to i1
  br i1 %22834, label %22835, label %22857

22835:                                            ; preds = %22828
  %22836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22837 = call i32 @fileno(ptr noundef %22836) #11
  %22838 = call i32 @isatty(i32 noundef %22837) #11
  %22839 = icmp ne i32 %22838, 0
  br i1 %22839, label %22840, label %22857

22840:                                            ; preds = %22835
  %22841 = load i32, ptr %459, align 4, !tbaa !5
  %22842 = call ptr @__errno_location() #12
  store i32 %22841, ptr %22842, align 4, !tbaa !5
  %22843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22844 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %22846, ptr noundef @.str.4)
  %22848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22849 = load i32, ptr %22848, align 4, !tbaa !5
  %22850 = call ptr @s2n_strerror_debug(i32 noundef %22849, ptr noundef @.str.4)
  %22851 = call ptr @__errno_location() #12
  %22852 = load i32, ptr %22851, align 4, !tbaa !5
  %22853 = call ptr @strerror(i32 noundef %22852) #11
  %22854 = call ptr @__errno_location() #12
  %22855 = load i32, ptr %22854, align 4, !tbaa !5
  %22856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22843, ptr noundef @.str.2, i32 noundef %22844, ptr noundef @.str.254, ptr noundef @.str.1, i32 noundef 887, ptr noundef %22847, ptr noundef %22850, ptr noundef %22853, i32 noundef %22855) #11
  br label %22874

22857:                                            ; preds = %22835, %22828
  %22858 = load i32, ptr %459, align 4, !tbaa !5
  %22859 = call ptr @__errno_location() #12
  store i32 %22858, ptr %22859, align 4, !tbaa !5
  %22860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22861 = load i32, ptr @test_count, align 4, !tbaa !5
  %22862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22863 = load i32, ptr %22862, align 4, !tbaa !5
  %22864 = call ptr @s2n_strerror(i32 noundef %22863, ptr noundef @.str.4)
  %22865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22866 = load i32, ptr %22865, align 4, !tbaa !5
  %22867 = call ptr @s2n_strerror_debug(i32 noundef %22866, ptr noundef @.str.4)
  %22868 = call ptr @__errno_location() #12
  %22869 = load i32, ptr %22868, align 4, !tbaa !5
  %22870 = call ptr @strerror(i32 noundef %22869) #11
  %22871 = call ptr @__errno_location() #12
  %22872 = load i32, ptr %22871, align 4, !tbaa !5
  %22873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22860, ptr noundef @.str.5, i32 noundef %22861, ptr noundef @.str.254, ptr noundef @.str.1, i32 noundef 887, ptr noundef %22864, ptr noundef %22867, ptr noundef %22870, i32 noundef %22872) #11
  br label %22874

22874:                                            ; preds = %22857, %22840
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #11
  br label %22875

22875:                                            ; preds = %22874
  br label %22876

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

22877:                                            ; No predecessors!
  br label %22878

22878:                                            ; preds = %22877
  br label %22879

22879:                                            ; preds = %22878, %22821
  br label %22880

22880:                                            ; preds = %22879
  br label %22881

22881:                                            ; preds = %22880
  br label %22882

22882:                                            ; preds = %22881
  %22883 = load i32, ptr @test_count, align 4, !tbaa !5
  %22884 = add nsw i32 %22883, 1
  store i32 %22884, ptr @test_count, align 4, !tbaa !5
  %22885 = call i32 @s2n_stuffer_skip_write(ptr noundef %450, i32 noundef 20)
  %22886 = icmp eq i32 %22885, -1
  br i1 %22886, label %22887, label %22940

22887:                                            ; preds = %22882
  br label %22888

22888:                                            ; preds = %22887
  br label %22889

22889:                                            ; preds = %22888
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %22890 = call ptr @__errno_location() #12
  %22891 = load i32, ptr %22890, align 4, !tbaa !5
  store i32 %22891, ptr %460, align 4, !tbaa !5
  %22892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22893 = call i32 @s2n_print_stacktrace(ptr noundef %22892)
  %22894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22895 = trunc i8 %22894 to i1
  br i1 %22895, label %22896, label %22918

22896:                                            ; preds = %22889
  %22897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22898 = call i32 @fileno(ptr noundef %22897) #11
  %22899 = call i32 @isatty(i32 noundef %22898) #11
  %22900 = icmp ne i32 %22899, 0
  br i1 %22900, label %22901, label %22918

22901:                                            ; preds = %22896
  %22902 = load i32, ptr %460, align 4, !tbaa !5
  %22903 = call ptr @__errno_location() #12
  store i32 %22902, ptr %22903, align 4, !tbaa !5
  %22904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22905 = load i32, ptr @test_count, align 4, !tbaa !5
  %22906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22907 = load i32, ptr %22906, align 4, !tbaa !5
  %22908 = call ptr @s2n_strerror(i32 noundef %22907, ptr noundef @.str.4)
  %22909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22910 = load i32, ptr %22909, align 4, !tbaa !5
  %22911 = call ptr @s2n_strerror_debug(i32 noundef %22910, ptr noundef @.str.4)
  %22912 = call ptr @__errno_location() #12
  %22913 = load i32, ptr %22912, align 4, !tbaa !5
  %22914 = call ptr @strerror(i32 noundef %22913) #11
  %22915 = call ptr @__errno_location() #12
  %22916 = load i32, ptr %22915, align 4, !tbaa !5
  %22917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22904, ptr noundef @.str.2, i32 noundef %22905, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 888, ptr noundef %22908, ptr noundef %22911, ptr noundef %22914, i32 noundef %22916) #11
  br label %22935

22918:                                            ; preds = %22896, %22889
  %22919 = load i32, ptr %460, align 4, !tbaa !5
  %22920 = call ptr @__errno_location() #12
  store i32 %22919, ptr %22920, align 4, !tbaa !5
  %22921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22922 = load i32, ptr @test_count, align 4, !tbaa !5
  %22923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22924 = load i32, ptr %22923, align 4, !tbaa !5
  %22925 = call ptr @s2n_strerror(i32 noundef %22924, ptr noundef @.str.4)
  %22926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22927 = load i32, ptr %22926, align 4, !tbaa !5
  %22928 = call ptr @s2n_strerror_debug(i32 noundef %22927, ptr noundef @.str.4)
  %22929 = call ptr @__errno_location() #12
  %22930 = load i32, ptr %22929, align 4, !tbaa !5
  %22931 = call ptr @strerror(i32 noundef %22930) #11
  %22932 = call ptr @__errno_location() #12
  %22933 = load i32, ptr %22932, align 4, !tbaa !5
  %22934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22921, ptr noundef @.str.5, i32 noundef %22922, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 888, ptr noundef %22925, ptr noundef %22928, ptr noundef %22931, i32 noundef %22933) #11
  br label %22935

22935:                                            ; preds = %22918, %22901
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %22936

22936:                                            ; preds = %22935
  br label %22937

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

22938:                                            ; No predecessors!
  br label %22939

22939:                                            ; preds = %22938
  br label %22940

22940:                                            ; preds = %22939, %22882
  br label %22941

22941:                                            ; preds = %22940
  br label %22942

22942:                                            ; preds = %22941
  br label %22943

22943:                                            ; preds = %22942
  %22944 = load i32, ptr @test_count, align 4, !tbaa !5
  %22945 = add nsw i32 %22944, 1
  store i32 %22945, ptr @test_count, align 4, !tbaa !5
  %22946 = call i32 @s2n_stuffer_write_uint24(ptr noundef %450, i32 noundef 24)
  %22947 = icmp eq i32 %22946, -1
  br i1 %22947, label %22948, label %23001

22948:                                            ; preds = %22943
  br label %22949

22949:                                            ; preds = %22948
  br label %22950

22950:                                            ; preds = %22949
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %22951 = call ptr @__errno_location() #12
  %22952 = load i32, ptr %22951, align 4, !tbaa !5
  store i32 %22952, ptr %461, align 4, !tbaa !5
  %22953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22954 = call i32 @s2n_print_stacktrace(ptr noundef %22953)
  %22955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22956 = trunc i8 %22955 to i1
  br i1 %22956, label %22957, label %22979

22957:                                            ; preds = %22950
  %22958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22959 = call i32 @fileno(ptr noundef %22958) #11
  %22960 = call i32 @isatty(i32 noundef %22959) #11
  %22961 = icmp ne i32 %22960, 0
  br i1 %22961, label %22962, label %22979

22962:                                            ; preds = %22957
  %22963 = load i32, ptr %461, align 4, !tbaa !5
  %22964 = call ptr @__errno_location() #12
  store i32 %22963, ptr %22964, align 4, !tbaa !5
  %22965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22966 = load i32, ptr @test_count, align 4, !tbaa !5
  %22967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22968 = load i32, ptr %22967, align 4, !tbaa !5
  %22969 = call ptr @s2n_strerror(i32 noundef %22968, ptr noundef @.str.4)
  %22970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22971 = load i32, ptr %22970, align 4, !tbaa !5
  %22972 = call ptr @s2n_strerror_debug(i32 noundef %22971, ptr noundef @.str.4)
  %22973 = call ptr @__errno_location() #12
  %22974 = load i32, ptr %22973, align 4, !tbaa !5
  %22975 = call ptr @strerror(i32 noundef %22974) #11
  %22976 = call ptr @__errno_location() #12
  %22977 = load i32, ptr %22976, align 4, !tbaa !5
  %22978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22965, ptr noundef @.str.2, i32 noundef %22966, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 889, ptr noundef %22969, ptr noundef %22972, ptr noundef %22975, i32 noundef %22977) #11
  br label %22996

22979:                                            ; preds = %22957, %22950
  %22980 = load i32, ptr %461, align 4, !tbaa !5
  %22981 = call ptr @__errno_location() #12
  store i32 %22980, ptr %22981, align 4, !tbaa !5
  %22982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22983 = load i32, ptr @test_count, align 4, !tbaa !5
  %22984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22985 = load i32, ptr %22984, align 4, !tbaa !5
  %22986 = call ptr @s2n_strerror(i32 noundef %22985, ptr noundef @.str.4)
  %22987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22988 = load i32, ptr %22987, align 4, !tbaa !5
  %22989 = call ptr @s2n_strerror_debug(i32 noundef %22988, ptr noundef @.str.4)
  %22990 = call ptr @__errno_location() #12
  %22991 = load i32, ptr %22990, align 4, !tbaa !5
  %22992 = call ptr @strerror(i32 noundef %22991) #11
  %22993 = call ptr @__errno_location() #12
  %22994 = load i32, ptr %22993, align 4, !tbaa !5
  %22995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22982, ptr noundef @.str.5, i32 noundef %22983, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 889, ptr noundef %22986, ptr noundef %22989, ptr noundef %22992, i32 noundef %22994) #11
  br label %22996

22996:                                            ; preds = %22979, %22962
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %22997

22997:                                            ; preds = %22996
  br label %22998

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

22999:                                            ; No predecessors!
  br label %23000

23000:                                            ; preds = %22999
  br label %23001

23001:                                            ; preds = %23000, %22943
  br label %23002

23002:                                            ; preds = %23001
  br label %23003

23003:                                            ; preds = %23002
  br label %23004

23004:                                            ; preds = %23003
  %23005 = load i32, ptr @test_count, align 4, !tbaa !5
  %23006 = add nsw i32 %23005, 1
  store i32 %23006, ptr @test_count, align 4, !tbaa !5
  %23007 = call i32 @s2n_stuffer_skip_write(ptr noundef %450, i32 noundef 24)
  %23008 = icmp eq i32 %23007, -1
  br i1 %23008, label %23009, label %23062

23009:                                            ; preds = %23004
  br label %23010

23010:                                            ; preds = %23009
  br label %23011

23011:                                            ; preds = %23010
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %23012 = call ptr @__errno_location() #12
  %23013 = load i32, ptr %23012, align 4, !tbaa !5
  store i32 %23013, ptr %462, align 4, !tbaa !5
  %23014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23015 = call i32 @s2n_print_stacktrace(ptr noundef %23014)
  %23016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23017 = trunc i8 %23016 to i1
  br i1 %23017, label %23018, label %23040

23018:                                            ; preds = %23011
  %23019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23020 = call i32 @fileno(ptr noundef %23019) #11
  %23021 = call i32 @isatty(i32 noundef %23020) #11
  %23022 = icmp ne i32 %23021, 0
  br i1 %23022, label %23023, label %23040

23023:                                            ; preds = %23018
  %23024 = load i32, ptr %462, align 4, !tbaa !5
  %23025 = call ptr @__errno_location() #12
  store i32 %23024, ptr %23025, align 4, !tbaa !5
  %23026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23027 = load i32, ptr @test_count, align 4, !tbaa !5
  %23028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23029 = load i32, ptr %23028, align 4, !tbaa !5
  %23030 = call ptr @s2n_strerror(i32 noundef %23029, ptr noundef @.str.4)
  %23031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23032 = load i32, ptr %23031, align 4, !tbaa !5
  %23033 = call ptr @s2n_strerror_debug(i32 noundef %23032, ptr noundef @.str.4)
  %23034 = call ptr @__errno_location() #12
  %23035 = load i32, ptr %23034, align 4, !tbaa !5
  %23036 = call ptr @strerror(i32 noundef %23035) #11
  %23037 = call ptr @__errno_location() #12
  %23038 = load i32, ptr %23037, align 4, !tbaa !5
  %23039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23026, ptr noundef @.str.2, i32 noundef %23027, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 890, ptr noundef %23030, ptr noundef %23033, ptr noundef %23036, i32 noundef %23038) #11
  br label %23057

23040:                                            ; preds = %23018, %23011
  %23041 = load i32, ptr %462, align 4, !tbaa !5
  %23042 = call ptr @__errno_location() #12
  store i32 %23041, ptr %23042, align 4, !tbaa !5
  %23043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23044 = load i32, ptr @test_count, align 4, !tbaa !5
  %23045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23046 = load i32, ptr %23045, align 4, !tbaa !5
  %23047 = call ptr @s2n_strerror(i32 noundef %23046, ptr noundef @.str.4)
  %23048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23049 = load i32, ptr %23048, align 4, !tbaa !5
  %23050 = call ptr @s2n_strerror_debug(i32 noundef %23049, ptr noundef @.str.4)
  %23051 = call ptr @__errno_location() #12
  %23052 = load i32, ptr %23051, align 4, !tbaa !5
  %23053 = call ptr @strerror(i32 noundef %23052) #11
  %23054 = call ptr @__errno_location() #12
  %23055 = load i32, ptr %23054, align 4, !tbaa !5
  %23056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23043, ptr noundef @.str.5, i32 noundef %23044, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 890, ptr noundef %23047, ptr noundef %23050, ptr noundef %23053, i32 noundef %23055) #11
  br label %23057

23057:                                            ; preds = %23040, %23023
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %23058

23058:                                            ; preds = %23057
  br label %23059

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

23060:                                            ; No predecessors!
  br label %23061

23061:                                            ; preds = %23060
  br label %23062

23062:                                            ; preds = %23061, %23004
  br label %23063

23063:                                            ; preds = %23062
  br label %23064

23064:                                            ; preds = %23063
  br label %23065

23065:                                            ; preds = %23064
  %23066 = load i32, ptr @test_count, align 4, !tbaa !5
  %23067 = add nsw i32 %23066, 1
  store i32 %23067, ptr @test_count, align 4, !tbaa !5
  %23068 = call i32 @s2n_stuffer_write_uint16(ptr noundef %450, i16 noundef zeroext 20)
  %23069 = icmp eq i32 %23068, -1
  br i1 %23069, label %23070, label %23123

23070:                                            ; preds = %23065
  br label %23071

23071:                                            ; preds = %23070
  br label %23072

23072:                                            ; preds = %23071
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %23073 = call ptr @__errno_location() #12
  %23074 = load i32, ptr %23073, align 4, !tbaa !5
  store i32 %23074, ptr %463, 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 %463, 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.4)
  %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.4)
  %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.2, i32 noundef %23088, ptr noundef @.str.254, ptr noundef @.str.1, i32 noundef 891, ptr noundef %23091, ptr noundef %23094, ptr noundef %23097, i32 noundef %23099) #11
  br label %23118

23101:                                            ; preds = %23079, %23072
  %23102 = load i32, ptr %463, 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.4)
  %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.4)
  %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.5, i32 noundef %23105, ptr noundef @.str.254, ptr noundef @.str.1, i32 noundef 891, 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 %463) #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, %23065
  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 = call i32 @s2n_stuffer_skip_write(ptr noundef %450, i32 noundef 20)
  %23130 = icmp eq i32 %23129, -1
  br i1 %23130, label %23131, label %23184

23131:                                            ; preds = %23126
  br label %23132

23132:                                            ; preds = %23131
  br label %23133

23133:                                            ; preds = %23132
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  %23134 = call ptr @__errno_location() #12
  %23135 = load i32, ptr %23134, align 4, !tbaa !5
  store i32 %23135, ptr %464, align 4, !tbaa !5
  %23136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23137 = call i32 @s2n_print_stacktrace(ptr noundef %23136)
  %23138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23139 = trunc i8 %23138 to i1
  br i1 %23139, label %23140, label %23162

23140:                                            ; preds = %23133
  %23141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23142 = call i32 @fileno(ptr noundef %23141) #11
  %23143 = call i32 @isatty(i32 noundef %23142) #11
  %23144 = icmp ne i32 %23143, 0
  br i1 %23144, label %23145, label %23162

23145:                                            ; preds = %23140
  %23146 = load i32, ptr %464, align 4, !tbaa !5
  %23147 = call ptr @__errno_location() #12
  store i32 %23146, ptr %23147, align 4, !tbaa !5
  %23148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23149 = load i32, ptr @test_count, align 4, !tbaa !5
  %23150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23151 = load i32, ptr %23150, align 4, !tbaa !5
  %23152 = call ptr @s2n_strerror(i32 noundef %23151, ptr noundef @.str.4)
  %23153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23154 = load i32, ptr %23153, align 4, !tbaa !5
  %23155 = call ptr @s2n_strerror_debug(i32 noundef %23154, ptr noundef @.str.4)
  %23156 = call ptr @__errno_location() #12
  %23157 = load i32, ptr %23156, align 4, !tbaa !5
  %23158 = call ptr @strerror(i32 noundef %23157) #11
  %23159 = call ptr @__errno_location() #12
  %23160 = load i32, ptr %23159, align 4, !tbaa !5
  %23161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23148, ptr noundef @.str.2, i32 noundef %23149, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 892, ptr noundef %23152, ptr noundef %23155, ptr noundef %23158, i32 noundef %23160) #11
  br label %23179

23162:                                            ; preds = %23140, %23133
  %23163 = load i32, ptr %464, align 4, !tbaa !5
  %23164 = call ptr @__errno_location() #12
  store i32 %23163, ptr %23164, align 4, !tbaa !5
  %23165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23166 = load i32, ptr @test_count, align 4, !tbaa !5
  %23167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23168 = load i32, ptr %23167, align 4, !tbaa !5
  %23169 = call ptr @s2n_strerror(i32 noundef %23168, ptr noundef @.str.4)
  %23170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23171 = load i32, ptr %23170, align 4, !tbaa !5
  %23172 = call ptr @s2n_strerror_debug(i32 noundef %23171, ptr noundef @.str.4)
  %23173 = call ptr @__errno_location() #12
  %23174 = load i32, ptr %23173, align 4, !tbaa !5
  %23175 = call ptr @strerror(i32 noundef %23174) #11
  %23176 = call ptr @__errno_location() #12
  %23177 = load i32, ptr %23176, align 4, !tbaa !5
  %23178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23165, ptr noundef @.str.5, i32 noundef %23166, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 892, ptr noundef %23169, ptr noundef %23172, ptr noundef %23175, i32 noundef %23177) #11
  br label %23179

23179:                                            ; preds = %23162, %23145
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  br label %23180

23180:                                            ; preds = %23179
  br label %23181

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

23182:                                            ; No predecessors!
  br label %23183

23183:                                            ; preds = %23182
  br label %23184

23184:                                            ; preds = %23183, %23126
  br label %23185

23185:                                            ; preds = %23184
  br label %23186

23186:                                            ; preds = %23185
  br label %23187

23187:                                            ; preds = %23186
  %23188 = load i32, ptr @test_count, align 4, !tbaa !5
  %23189 = add nsw i32 %23188, 1
  store i32 %23189, ptr @test_count, align 4, !tbaa !5
  %23190 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %453)
  %23191 = icmp eq i32 %23190, -1
  br i1 %23191, label %23192, label %23245

23192:                                            ; preds = %23187
  br label %23193

23193:                                            ; preds = %23192
  br label %23194

23194:                                            ; preds = %23193
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %23195 = call ptr @__errno_location() #12
  %23196 = load i32, ptr %23195, align 4, !tbaa !5
  store i32 %23196, ptr %465, align 4, !tbaa !5
  %23197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23198 = call i32 @s2n_print_stacktrace(ptr noundef %23197)
  %23199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23200 = trunc i8 %23199 to i1
  br i1 %23200, label %23201, label %23223

23201:                                            ; preds = %23194
  %23202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23203 = call i32 @fileno(ptr noundef %23202) #11
  %23204 = call i32 @isatty(i32 noundef %23203) #11
  %23205 = icmp ne i32 %23204, 0
  br i1 %23205, label %23206, label %23223

23206:                                            ; preds = %23201
  %23207 = load i32, ptr %465, align 4, !tbaa !5
  %23208 = call ptr @__errno_location() #12
  store i32 %23207, ptr %23208, align 4, !tbaa !5
  %23209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23210 = load i32, ptr @test_count, align 4, !tbaa !5
  %23211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23212 = load i32, ptr %23211, align 4, !tbaa !5
  %23213 = call ptr @s2n_strerror(i32 noundef %23212, ptr noundef @.str.4)
  %23214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23215 = load i32, ptr %23214, align 4, !tbaa !5
  %23216 = call ptr @s2n_strerror_debug(i32 noundef %23215, ptr noundef @.str.4)
  %23217 = call ptr @__errno_location() #12
  %23218 = load i32, ptr %23217, align 4, !tbaa !5
  %23219 = call ptr @strerror(i32 noundef %23218) #11
  %23220 = call ptr @__errno_location() #12
  %23221 = load i32, ptr %23220, align 4, !tbaa !5
  %23222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23209, ptr noundef @.str.2, i32 noundef %23210, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 893, ptr noundef %23213, ptr noundef %23216, ptr noundef %23219, i32 noundef %23221) #11
  br label %23240

23223:                                            ; preds = %23201, %23194
  %23224 = load i32, ptr %465, align 4, !tbaa !5
  %23225 = call ptr @__errno_location() #12
  store i32 %23224, ptr %23225, align 4, !tbaa !5
  %23226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23227 = load i32, ptr @test_count, align 4, !tbaa !5
  %23228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23229 = load i32, ptr %23228, align 4, !tbaa !5
  %23230 = call ptr @s2n_strerror(i32 noundef %23229, ptr noundef @.str.4)
  %23231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23232 = load i32, ptr %23231, align 4, !tbaa !5
  %23233 = call ptr @s2n_strerror_debug(i32 noundef %23232, ptr noundef @.str.4)
  %23234 = call ptr @__errno_location() #12
  %23235 = load i32, ptr %23234, align 4, !tbaa !5
  %23236 = call ptr @strerror(i32 noundef %23235) #11
  %23237 = call ptr @__errno_location() #12
  %23238 = load i32, ptr %23237, align 4, !tbaa !5
  %23239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23226, ptr noundef @.str.5, i32 noundef %23227, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 893, ptr noundef %23230, ptr noundef %23233, ptr noundef %23236, i32 noundef %23238) #11
  br label %23240

23240:                                            ; preds = %23223, %23206
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %23241

23241:                                            ; preds = %23240
  br label %23242

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

23243:                                            ; No predecessors!
  br label %23244

23244:                                            ; preds = %23243
  br label %23245

23245:                                            ; preds = %23244, %23187
  br label %23246

23246:                                            ; preds = %23245
  br label %23247

23247:                                            ; preds = %23246
  call void @llvm.lifetime.start.p0(i64 8, ptr %466) #11
  %23248 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23248, ptr %466, align 8, !tbaa !9
  %23249 = load ptr, ptr %466, align 8, !tbaa !9
  %23250 = getelementptr inbounds %struct.s2n_connection, ptr %23249, i32 0, i32 23
  store i8 34, ptr %23250, align 4, !tbaa !81
  br label %23251

23251:                                            ; preds = %23247
  %23252 = load i32, ptr @test_count, align 4, !tbaa !5
  %23253 = add nsw i32 %23252, 1
  store i32 %23253, ptr @test_count, align 4, !tbaa !5
  %23254 = load ptr, ptr %466, align 8, !tbaa !9
  %23255 = getelementptr inbounds %struct.s2n_connection, ptr %23254, i32 0, i32 52
  %23256 = getelementptr inbounds %struct.s2n_handshake, ptr %23255, i32 0, i32 0
  %23257 = getelementptr inbounds %struct.s2n_stuffer, ptr %450, i32 0, i32 2
  %23258 = load i32, ptr %23257, align 4, !tbaa !84
  %23259 = getelementptr inbounds %struct.s2n_stuffer, ptr %450, i32 0, i32 1
  %23260 = load i32, ptr %23259, align 8, !tbaa !85
  %23261 = sub i32 %23258, %23260
  %23262 = call i32 @s2n_stuffer_copy(ptr noundef %450, ptr noundef %23256, i32 noundef %23261)
  %23263 = icmp eq i32 %23262, -1
  br i1 %23263, label %23264, label %23317

23264:                                            ; preds = %23251
  br label %23265

23265:                                            ; preds = %23264
  br label %23266

23266:                                            ; preds = %23265
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %23267 = call ptr @__errno_location() #12
  %23268 = load i32, ptr %23267, align 4, !tbaa !5
  store i32 %23268, ptr %467, 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 %467, 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.4)
  %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.4)
  %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.2, i32 noundef %23282, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 904, ptr noundef %23285, ptr noundef %23288, ptr noundef %23291, i32 noundef %23293) #11
  br label %23312

23295:                                            ; preds = %23273, %23266
  %23296 = load i32, ptr %467, 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.4)
  %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.4)
  %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.5, i32 noundef %23299, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 904, 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 %467) #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, %23251
  br label %23318

23318:                                            ; preds = %23317
  br label %23319

23319:                                            ; preds = %23318
  br label %23320

23320:                                            ; preds = %23319
  br label %23321

23321:                                            ; preds = %23320
  br label %23322

23322:                                            ; preds = %23321
  %23323 = load i32, ptr @test_count, align 4, !tbaa !5
  %23324 = add nsw i32 %23323, 1
  store i32 %23324, ptr @test_count, align 4, !tbaa !5
  %23325 = load ptr, ptr %466, align 8, !tbaa !9
  %23326 = call i32 @s2n_client_cert_recv(ptr noundef %23325)
  %23327 = icmp eq i32 %23326, -1
  br i1 %23327, label %23381, label %23328

23328:                                            ; preds = %23322
  br label %23329

23329:                                            ; preds = %23328
  br label %23330

23330:                                            ; preds = %23329
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %23331 = call ptr @__errno_location() #12
  %23332 = load i32, ptr %23331, align 4, !tbaa !5
  store i32 %23332, ptr %468, align 4, !tbaa !5
  %23333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23334 = call i32 @s2n_print_stacktrace(ptr noundef %23333)
  %23335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23336 = trunc i8 %23335 to i1
  br i1 %23336, label %23337, label %23359

23337:                                            ; preds = %23330
  %23338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23339 = call i32 @fileno(ptr noundef %23338) #11
  %23340 = call i32 @isatty(i32 noundef %23339) #11
  %23341 = icmp ne i32 %23340, 0
  br i1 %23341, label %23342, label %23359

23342:                                            ; preds = %23337
  %23343 = load i32, ptr %468, align 4, !tbaa !5
  %23344 = call ptr @__errno_location() #12
  store i32 %23343, ptr %23344, align 4, !tbaa !5
  %23345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23346 = load i32, ptr @test_count, align 4, !tbaa !5
  %23347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23348 = load i32, ptr %23347, align 4, !tbaa !5
  %23349 = call ptr @s2n_strerror(i32 noundef %23348, ptr noundef @.str.4)
  %23350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23351 = load i32, ptr %23350, align 4, !tbaa !5
  %23352 = call ptr @s2n_strerror_debug(i32 noundef %23351, ptr noundef @.str.4)
  %23353 = call ptr @__errno_location() #12
  %23354 = load i32, ptr %23353, align 4, !tbaa !5
  %23355 = call ptr @strerror(i32 noundef %23354) #11
  %23356 = call ptr @__errno_location() #12
  %23357 = load i32, ptr %23356, align 4, !tbaa !5
  %23358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23345, ptr noundef @.str.2, i32 noundef %23346, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23349, ptr noundef %23352, ptr noundef %23355, i32 noundef %23357) #11
  br label %23376

23359:                                            ; preds = %23337, %23330
  %23360 = load i32, ptr %468, align 4, !tbaa !5
  %23361 = call ptr @__errno_location() #12
  store i32 %23360, ptr %23361, align 4, !tbaa !5
  %23362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23363 = load i32, ptr @test_count, align 4, !tbaa !5
  %23364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23365 = load i32, ptr %23364, align 4, !tbaa !5
  %23366 = call ptr @s2n_strerror(i32 noundef %23365, ptr noundef @.str.4)
  %23367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23368 = load i32, ptr %23367, align 4, !tbaa !5
  %23369 = call ptr @s2n_strerror_debug(i32 noundef %23368, ptr noundef @.str.4)
  %23370 = call ptr @__errno_location() #12
  %23371 = load i32, ptr %23370, align 4, !tbaa !5
  %23372 = call ptr @strerror(i32 noundef %23371) #11
  %23373 = call ptr @__errno_location() #12
  %23374 = load i32, ptr %23373, align 4, !tbaa !5
  %23375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23362, ptr noundef @.str.5, i32 noundef %23363, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23366, ptr noundef %23369, ptr noundef %23372, i32 noundef %23374) #11
  br label %23376

23376:                                            ; preds = %23359, %23342
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %23377

23377:                                            ; preds = %23376
  br label %23378

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

23379:                                            ; No predecessors!
  br label %23380

23380:                                            ; preds = %23379
  br label %23381

23381:                                            ; preds = %23380, %23322
  br label %23382

23382:                                            ; preds = %23381
  br label %23383

23383:                                            ; preds = %23382
  br label %23384

23384:                                            ; preds = %23383
  %23385 = load i32, ptr @test_count, align 4, !tbaa !5
  %23386 = add nsw i32 %23385, 1
  store i32 %23386, ptr @test_count, align 4, !tbaa !5
  %23387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23388 = load i32, ptr %23387, align 4, !tbaa !5
  %23389 = icmp eq i32 %23388, 335544344
  br i1 %23389, label %23443, label %23390

23390:                                            ; preds = %23384
  br label %23391

23391:                                            ; preds = %23390
  br label %23392

23392:                                            ; preds = %23391
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %23393 = call ptr @__errno_location() #12
  %23394 = load i32, ptr %23393, align 4, !tbaa !5
  store i32 %23394, ptr %469, align 4, !tbaa !5
  %23395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23396 = call i32 @s2n_print_stacktrace(ptr noundef %23395)
  %23397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23398 = trunc i8 %23397 to i1
  br i1 %23398, label %23399, label %23421

23399:                                            ; preds = %23392
  %23400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23401 = call i32 @fileno(ptr noundef %23400) #11
  %23402 = call i32 @isatty(i32 noundef %23401) #11
  %23403 = icmp ne i32 %23402, 0
  br i1 %23403, label %23404, label %23421

23404:                                            ; preds = %23399
  %23405 = load i32, ptr %469, align 4, !tbaa !5
  %23406 = call ptr @__errno_location() #12
  store i32 %23405, ptr %23406, align 4, !tbaa !5
  %23407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23408 = load i32, ptr @test_count, align 4, !tbaa !5
  %23409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23410 = load i32, ptr %23409, align 4, !tbaa !5
  %23411 = call ptr @s2n_strerror(i32 noundef %23410, ptr noundef @.str.4)
  %23412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23413 = load i32, ptr %23412, align 4, !tbaa !5
  %23414 = call ptr @s2n_strerror_debug(i32 noundef %23413, ptr noundef @.str.4)
  %23415 = call ptr @__errno_location() #12
  %23416 = load i32, ptr %23415, align 4, !tbaa !5
  %23417 = call ptr @strerror(i32 noundef %23416) #11
  %23418 = call ptr @__errno_location() #12
  %23419 = load i32, ptr %23418, align 4, !tbaa !5
  %23420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23407, ptr noundef @.str.2, i32 noundef %23408, ptr noundef @.str.257, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23411, ptr noundef %23414, ptr noundef %23417, i32 noundef %23419) #11
  br label %23438

23421:                                            ; preds = %23399, %23392
  %23422 = load i32, ptr %469, align 4, !tbaa !5
  %23423 = call ptr @__errno_location() #12
  store i32 %23422, ptr %23423, align 4, !tbaa !5
  %23424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23425 = load i32, ptr @test_count, align 4, !tbaa !5
  %23426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23427 = load i32, ptr %23426, align 4, !tbaa !5
  %23428 = call ptr @s2n_strerror(i32 noundef %23427, ptr noundef @.str.4)
  %23429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23430 = load i32, ptr %23429, align 4, !tbaa !5
  %23431 = call ptr @s2n_strerror_debug(i32 noundef %23430, ptr noundef @.str.4)
  %23432 = call ptr @__errno_location() #12
  %23433 = load i32, ptr %23432, align 4, !tbaa !5
  %23434 = call ptr @strerror(i32 noundef %23433) #11
  %23435 = call ptr @__errno_location() #12
  %23436 = load i32, ptr %23435, align 4, !tbaa !5
  %23437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23424, ptr noundef @.str.5, i32 noundef %23425, ptr noundef @.str.257, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23428, ptr noundef %23431, ptr noundef %23434, i32 noundef %23436) #11
  br label %23438

23438:                                            ; preds = %23421, %23404
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %23439

23439:                                            ; preds = %23438
  br label %23440

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

23441:                                            ; No predecessors!
  br label %23442

23442:                                            ; preds = %23441
  br label %23443

23443:                                            ; preds = %23442, %23384
  br label %23444

23444:                                            ; preds = %23443
  br label %23445

23445:                                            ; preds = %23444
  br label %23446

23446:                                            ; preds = %23445
  %23447 = load i32, ptr @test_count, align 4, !tbaa !5
  %23448 = add nsw i32 %23447, 1
  store i32 %23448, ptr @test_count, align 4, !tbaa !5
  %23449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23450 = load i32, ptr %23449, align 4, !tbaa !5
  %23451 = call ptr @s2n_strerror_debug(i32 noundef %23450, ptr noundef @.str.4)
  %23452 = icmp eq ptr %23451, null
  br i1 %23452, label %23453, label %23506

23453:                                            ; preds = %23446
  br label %23454

23454:                                            ; preds = %23453
  br label %23455

23455:                                            ; preds = %23454
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %23456 = call ptr @__errno_location() #12
  %23457 = load i32, ptr %23456, align 4, !tbaa !5
  store i32 %23457, ptr %470, align 4, !tbaa !5
  %23458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23459 = call i32 @s2n_print_stacktrace(ptr noundef %23458)
  %23460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23461 = trunc i8 %23460 to i1
  br i1 %23461, label %23462, label %23484

23462:                                            ; preds = %23455
  %23463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23464 = call i32 @fileno(ptr noundef %23463) #11
  %23465 = call i32 @isatty(i32 noundef %23464) #11
  %23466 = icmp ne i32 %23465, 0
  br i1 %23466, label %23467, label %23484

23467:                                            ; preds = %23462
  %23468 = load i32, ptr %470, align 4, !tbaa !5
  %23469 = call ptr @__errno_location() #12
  store i32 %23468, ptr %23469, align 4, !tbaa !5
  %23470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23471 = load i32, ptr @test_count, align 4, !tbaa !5
  %23472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23473 = load i32, ptr %23472, align 4, !tbaa !5
  %23474 = call ptr @s2n_strerror(i32 noundef %23473, ptr noundef @.str.4)
  %23475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23476 = load i32, ptr %23475, align 4, !tbaa !5
  %23477 = call ptr @s2n_strerror_debug(i32 noundef %23476, ptr noundef @.str.4)
  %23478 = call ptr @__errno_location() #12
  %23479 = load i32, ptr %23478, align 4, !tbaa !5
  %23480 = call ptr @strerror(i32 noundef %23479) #11
  %23481 = call ptr @__errno_location() #12
  %23482 = load i32, ptr %23481, align 4, !tbaa !5
  %23483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23470, ptr noundef @.str.2, i32 noundef %23471, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23474, ptr noundef %23477, ptr noundef %23480, i32 noundef %23482) #11
  br label %23501

23484:                                            ; preds = %23462, %23455
  %23485 = load i32, ptr %470, align 4, !tbaa !5
  %23486 = call ptr @__errno_location() #12
  store i32 %23485, ptr %23486, align 4, !tbaa !5
  %23487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23488 = load i32, ptr @test_count, align 4, !tbaa !5
  %23489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23490 = load i32, ptr %23489, align 4, !tbaa !5
  %23491 = call ptr @s2n_strerror(i32 noundef %23490, ptr noundef @.str.4)
  %23492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23493 = load i32, ptr %23492, align 4, !tbaa !5
  %23494 = call ptr @s2n_strerror_debug(i32 noundef %23493, ptr noundef @.str.4)
  %23495 = call ptr @__errno_location() #12
  %23496 = load i32, ptr %23495, align 4, !tbaa !5
  %23497 = call ptr @strerror(i32 noundef %23496) #11
  %23498 = call ptr @__errno_location() #12
  %23499 = load i32, ptr %23498, align 4, !tbaa !5
  %23500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23487, ptr noundef @.str.5, i32 noundef %23488, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 906, ptr noundef %23491, ptr noundef %23494, ptr noundef %23497, i32 noundef %23499) #11
  br label %23501

23501:                                            ; preds = %23484, %23467
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %23502

23502:                                            ; preds = %23501
  br label %23503

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

23504:                                            ; No predecessors!
  br label %23505

23505:                                            ; preds = %23504
  br label %23506

23506:                                            ; preds = %23505, %23446
  br label %23507

23507:                                            ; preds = %23506
  br label %23508

23508:                                            ; preds = %23507
  br label %23509

23509:                                            ; preds = %23508
  br label %23510

23510:                                            ; preds = %23509
  br label %23511

23511:                                            ; preds = %23510
  %23512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23512, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23513 = call ptr @__errno_location() #12
  store i32 0, ptr %23513, align 4, !tbaa !5
  br label %23514

23514:                                            ; preds = %23511
  br label %23515

23515:                                            ; preds = %23514
  br label %23516

23516:                                            ; preds = %23515
  br label %23517

23517:                                            ; preds = %23516
  br label %23518

23518:                                            ; preds = %23517
  %23519 = load i32, ptr @test_count, align 4, !tbaa !5
  %23520 = add nsw i32 %23519, 1
  store i32 %23520, ptr @test_count, align 4, !tbaa !5
  %23521 = load ptr, ptr %466, align 8, !tbaa !9
  %23522 = getelementptr inbounds %struct.s2n_connection, ptr %23521, i32 0, i32 32
  %23523 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %23522, i32 0, i32 2
  %23524 = getelementptr inbounds %struct.s2n_blob, ptr %23523, i32 0, i32 1
  %23525 = load i32, ptr %23524, align 8, !tbaa !83
  %23526 = icmp eq i32 %23525, 0
  br i1 %23526, label %23527, label %23580

23527:                                            ; preds = %23518
  br label %23528

23528:                                            ; preds = %23527
  br label %23529

23529:                                            ; preds = %23528
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %23530 = call ptr @__errno_location() #12
  %23531 = load i32, ptr %23530, align 4, !tbaa !5
  store i32 %23531, ptr %471, align 4, !tbaa !5
  %23532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23533 = call i32 @s2n_print_stacktrace(ptr noundef %23532)
  %23534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23535 = trunc i8 %23534 to i1
  br i1 %23535, label %23536, label %23558

23536:                                            ; preds = %23529
  %23537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23538 = call i32 @fileno(ptr noundef %23537) #11
  %23539 = call i32 @isatty(i32 noundef %23538) #11
  %23540 = icmp ne i32 %23539, 0
  br i1 %23540, label %23541, label %23558

23541:                                            ; preds = %23536
  %23542 = load i32, ptr %471, align 4, !tbaa !5
  %23543 = call ptr @__errno_location() #12
  store i32 %23542, ptr %23543, align 4, !tbaa !5
  %23544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23545 = load i32, ptr @test_count, align 4, !tbaa !5
  %23546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23547 = load i32, ptr %23546, align 4, !tbaa !5
  %23548 = call ptr @s2n_strerror(i32 noundef %23547, ptr noundef @.str.4)
  %23549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23550 = load i32, ptr %23549, align 4, !tbaa !5
  %23551 = call ptr @s2n_strerror_debug(i32 noundef %23550, ptr noundef @.str.4)
  %23552 = call ptr @__errno_location() #12
  %23553 = load i32, ptr %23552, align 4, !tbaa !5
  %23554 = call ptr @strerror(i32 noundef %23553) #11
  %23555 = call ptr @__errno_location() #12
  %23556 = load i32, ptr %23555, align 4, !tbaa !5
  %23557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23544, ptr noundef @.str.2, i32 noundef %23545, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 907, ptr noundef %23548, ptr noundef %23551, ptr noundef %23554, i32 noundef %23556) #11
  br label %23575

23558:                                            ; preds = %23536, %23529
  %23559 = load i32, ptr %471, align 4, !tbaa !5
  %23560 = call ptr @__errno_location() #12
  store i32 %23559, ptr %23560, align 4, !tbaa !5
  %23561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23562 = load i32, ptr @test_count, align 4, !tbaa !5
  %23563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23564 = load i32, ptr %23563, align 4, !tbaa !5
  %23565 = call ptr @s2n_strerror(i32 noundef %23564, ptr noundef @.str.4)
  %23566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23567 = load i32, ptr %23566, align 4, !tbaa !5
  %23568 = call ptr @s2n_strerror_debug(i32 noundef %23567, ptr noundef @.str.4)
  %23569 = call ptr @__errno_location() #12
  %23570 = load i32, ptr %23569, align 4, !tbaa !5
  %23571 = call ptr @strerror(i32 noundef %23570) #11
  %23572 = call ptr @__errno_location() #12
  %23573 = load i32, ptr %23572, align 4, !tbaa !5
  %23574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23561, ptr noundef @.str.5, i32 noundef %23562, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 907, ptr noundef %23565, ptr noundef %23568, ptr noundef %23571, i32 noundef %23573) #11
  br label %23575

23575:                                            ; preds = %23558, %23541
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %23576

23576:                                            ; preds = %23575
  br label %23577

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

23578:                                            ; No predecessors!
  br label %23579

23579:                                            ; preds = %23578
  br label %23580

23580:                                            ; preds = %23579, %23518
  br label %23581

23581:                                            ; preds = %23580
  br label %23582

23582:                                            ; preds = %23581
  br label %23583

23583:                                            ; preds = %23582
  %23584 = load i32, ptr @test_count, align 4, !tbaa !5
  %23585 = add nsw i32 %23584, 1
  store i32 %23585, ptr @test_count, align 4, !tbaa !5
  %23586 = load ptr, ptr %466, align 8, !tbaa !9
  %23587 = getelementptr inbounds %struct.s2n_connection, ptr %23586, i32 0, i32 32
  %23588 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %23587, i32 0, i32 2
  %23589 = getelementptr inbounds %struct.s2n_blob, ptr %23588, i32 0, i32 0
  %23590 = load ptr, ptr %23589, align 8, !tbaa !82
  %23591 = icmp eq ptr %23590, null
  br i1 %23591, label %23592, label %23645

23592:                                            ; preds = %23583
  br label %23593

23593:                                            ; preds = %23592
  br label %23594

23594:                                            ; preds = %23593
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  %23595 = call ptr @__errno_location() #12
  %23596 = load i32, ptr %23595, align 4, !tbaa !5
  store i32 %23596, ptr %472, align 4, !tbaa !5
  %23597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23598 = call i32 @s2n_print_stacktrace(ptr noundef %23597)
  %23599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23600 = trunc i8 %23599 to i1
  br i1 %23600, label %23601, label %23623

23601:                                            ; preds = %23594
  %23602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23603 = call i32 @fileno(ptr noundef %23602) #11
  %23604 = call i32 @isatty(i32 noundef %23603) #11
  %23605 = icmp ne i32 %23604, 0
  br i1 %23605, label %23606, label %23623

23606:                                            ; preds = %23601
  %23607 = load i32, ptr %472, align 4, !tbaa !5
  %23608 = call ptr @__errno_location() #12
  store i32 %23607, ptr %23608, align 4, !tbaa !5
  %23609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23610 = load i32, ptr @test_count, align 4, !tbaa !5
  %23611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23612 = load i32, ptr %23611, align 4, !tbaa !5
  %23613 = call ptr @s2n_strerror(i32 noundef %23612, ptr noundef @.str.4)
  %23614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23615 = load i32, ptr %23614, align 4, !tbaa !5
  %23616 = call ptr @s2n_strerror_debug(i32 noundef %23615, ptr noundef @.str.4)
  %23617 = call ptr @__errno_location() #12
  %23618 = load i32, ptr %23617, align 4, !tbaa !5
  %23619 = call ptr @strerror(i32 noundef %23618) #11
  %23620 = call ptr @__errno_location() #12
  %23621 = load i32, ptr %23620, align 4, !tbaa !5
  %23622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23609, ptr noundef @.str.2, i32 noundef %23610, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 908, ptr noundef %23613, ptr noundef %23616, ptr noundef %23619, i32 noundef %23621) #11
  br label %23640

23623:                                            ; preds = %23601, %23594
  %23624 = load i32, ptr %472, align 4, !tbaa !5
  %23625 = call ptr @__errno_location() #12
  store i32 %23624, ptr %23625, align 4, !tbaa !5
  %23626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23627 = load i32, ptr @test_count, align 4, !tbaa !5
  %23628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  %23630 = call ptr @s2n_strerror(i32 noundef %23629, ptr noundef @.str.4)
  %23631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23632 = load i32, ptr %23631, align 4, !tbaa !5
  %23633 = call ptr @s2n_strerror_debug(i32 noundef %23632, ptr noundef @.str.4)
  %23634 = call ptr @__errno_location() #12
  %23635 = load i32, ptr %23634, align 4, !tbaa !5
  %23636 = call ptr @strerror(i32 noundef %23635) #11
  %23637 = call ptr @__errno_location() #12
  %23638 = load i32, ptr %23637, align 4, !tbaa !5
  %23639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23626, ptr noundef @.str.5, i32 noundef %23627, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 908, ptr noundef %23630, ptr noundef %23633, ptr noundef %23636, i32 noundef %23638) #11
  br label %23640

23640:                                            ; preds = %23623, %23606
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %23641

23641:                                            ; preds = %23640
  br label %23642

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

23643:                                            ; No predecessors!
  br label %23644

23644:                                            ; preds = %23643
  br label %23645

23645:                                            ; preds = %23644, %23583
  br label %23646

23646:                                            ; preds = %23645
  br label %23647

23647:                                            ; preds = %23646
  %23648 = call i32 @s2n_connection_ptr_free(ptr noundef %466)
  %23649 = getelementptr inbounds %struct.s2n_result, ptr %473, i32 0, i32 0
  store i32 %23648, ptr %23649, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %466) #11
  br label %23650

23650:                                            ; preds = %23647
  %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 i32 @s2n_stuffer_reread(ptr noundef %450)
  %23654 = icmp eq i32 %23653, -1
  br i1 %23654, label %23655, label %23708

23655:                                            ; preds = %23650
  br label %23656

23656:                                            ; preds = %23655
  br label %23657

23657:                                            ; preds = %23656
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #11
  %23658 = call ptr @__errno_location() #12
  %23659 = load i32, ptr %23658, align 4, !tbaa !5
  store i32 %23659, ptr %474, align 4, !tbaa !5
  %23660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23661 = call i32 @s2n_print_stacktrace(ptr noundef %23660)
  %23662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23663 = trunc i8 %23662 to i1
  br i1 %23663, label %23664, label %23686

23664:                                            ; preds = %23657
  %23665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23666 = call i32 @fileno(ptr noundef %23665) #11
  %23667 = call i32 @isatty(i32 noundef %23666) #11
  %23668 = icmp ne i32 %23667, 0
  br i1 %23668, label %23669, label %23686

23669:                                            ; preds = %23664
  %23670 = load i32, ptr %474, align 4, !tbaa !5
  %23671 = call ptr @__errno_location() #12
  store i32 %23670, ptr %23671, align 4, !tbaa !5
  %23672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23673 = load i32, ptr @test_count, align 4, !tbaa !5
  %23674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23675 = load i32, ptr %23674, align 4, !tbaa !5
  %23676 = call ptr @s2n_strerror(i32 noundef %23675, ptr noundef @.str.4)
  %23677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23678 = load i32, ptr %23677, align 4, !tbaa !5
  %23679 = call ptr @s2n_strerror_debug(i32 noundef %23678, ptr noundef @.str.4)
  %23680 = call ptr @__errno_location() #12
  %23681 = load i32, ptr %23680, align 4, !tbaa !5
  %23682 = call ptr @strerror(i32 noundef %23681) #11
  %23683 = call ptr @__errno_location() #12
  %23684 = load i32, ptr %23683, align 4, !tbaa !5
  %23685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23672, ptr noundef @.str.2, i32 noundef %23673, ptr noundef @.str.258, ptr noundef @.str.1, i32 noundef 916, ptr noundef %23676, ptr noundef %23679, ptr noundef %23682, i32 noundef %23684) #11
  br label %23703

23686:                                            ; preds = %23664, %23657
  %23687 = load i32, ptr %474, align 4, !tbaa !5
  %23688 = call ptr @__errno_location() #12
  store i32 %23687, ptr %23688, align 4, !tbaa !5
  %23689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23690 = load i32, ptr @test_count, align 4, !tbaa !5
  %23691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23692 = load i32, ptr %23691, align 4, !tbaa !5
  %23693 = call ptr @s2n_strerror(i32 noundef %23692, ptr noundef @.str.4)
  %23694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23695 = load i32, ptr %23694, align 4, !tbaa !5
  %23696 = call ptr @s2n_strerror_debug(i32 noundef %23695, ptr noundef @.str.4)
  %23697 = call ptr @__errno_location() #12
  %23698 = load i32, ptr %23697, align 4, !tbaa !5
  %23699 = call ptr @strerror(i32 noundef %23698) #11
  %23700 = call ptr @__errno_location() #12
  %23701 = load i32, ptr %23700, align 4, !tbaa !5
  %23702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23689, ptr noundef @.str.5, i32 noundef %23690, ptr noundef @.str.258, ptr noundef @.str.1, i32 noundef 916, ptr noundef %23693, ptr noundef %23696, ptr noundef %23699, i32 noundef %23701) #11
  br label %23703

23703:                                            ; preds = %23686, %23669
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #11
  br label %23704

23704:                                            ; preds = %23703
  br label %23705

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

23706:                                            ; No predecessors!
  br label %23707

23707:                                            ; preds = %23706
  br label %23708

23708:                                            ; preds = %23707, %23650
  br label %23709

23709:                                            ; preds = %23708
  br label %23710

23710:                                            ; preds = %23709
  br label %23711

23711:                                            ; preds = %23710
  %23712 = load i32, ptr @test_count, align 4, !tbaa !5
  %23713 = add nsw i32 %23712, 1
  store i32 %23713, ptr @test_count, align 4, !tbaa !5
  %23714 = call i32 @s2n_stuffer_wipe_n(ptr noundef %450, i32 noundef 1)
  %23715 = icmp eq i32 %23714, -1
  br i1 %23715, label %23716, label %23769

23716:                                            ; preds = %23711
  br label %23717

23717:                                            ; preds = %23716
  br label %23718

23718:                                            ; preds = %23717
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %23719 = call ptr @__errno_location() #12
  %23720 = load i32, ptr %23719, align 4, !tbaa !5
  store i32 %23720, ptr %475, align 4, !tbaa !5
  %23721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23722 = call i32 @s2n_print_stacktrace(ptr noundef %23721)
  %23723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23724 = trunc i8 %23723 to i1
  br i1 %23724, label %23725, label %23747

23725:                                            ; preds = %23718
  %23726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23727 = call i32 @fileno(ptr noundef %23726) #11
  %23728 = call i32 @isatty(i32 noundef %23727) #11
  %23729 = icmp ne i32 %23728, 0
  br i1 %23729, label %23730, label %23747

23730:                                            ; preds = %23725
  %23731 = load i32, ptr %475, align 4, !tbaa !5
  %23732 = call ptr @__errno_location() #12
  store i32 %23731, ptr %23732, align 4, !tbaa !5
  %23733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23734 = load i32, ptr @test_count, align 4, !tbaa !5
  %23735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23736 = load i32, ptr %23735, align 4, !tbaa !5
  %23737 = call ptr @s2n_strerror(i32 noundef %23736, ptr noundef @.str.4)
  %23738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23739 = load i32, ptr %23738, align 4, !tbaa !5
  %23740 = call ptr @s2n_strerror_debug(i32 noundef %23739, ptr noundef @.str.4)
  %23741 = call ptr @__errno_location() #12
  %23742 = load i32, ptr %23741, align 4, !tbaa !5
  %23743 = call ptr @strerror(i32 noundef %23742) #11
  %23744 = call ptr @__errno_location() #12
  %23745 = load i32, ptr %23744, align 4, !tbaa !5
  %23746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23733, ptr noundef @.str.2, i32 noundef %23734, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 917, ptr noundef %23737, ptr noundef %23740, ptr noundef %23743, i32 noundef %23745) #11
  br label %23764

23747:                                            ; preds = %23725, %23718
  %23748 = load i32, ptr %475, align 4, !tbaa !5
  %23749 = call ptr @__errno_location() #12
  store i32 %23748, ptr %23749, align 4, !tbaa !5
  %23750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23751 = load i32, ptr @test_count, align 4, !tbaa !5
  %23752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23753 = load i32, ptr %23752, align 4, !tbaa !5
  %23754 = call ptr @s2n_strerror(i32 noundef %23753, ptr noundef @.str.4)
  %23755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23756 = load i32, ptr %23755, align 4, !tbaa !5
  %23757 = call ptr @s2n_strerror_debug(i32 noundef %23756, ptr noundef @.str.4)
  %23758 = call ptr @__errno_location() #12
  %23759 = load i32, ptr %23758, align 4, !tbaa !5
  %23760 = call ptr @strerror(i32 noundef %23759) #11
  %23761 = call ptr @__errno_location() #12
  %23762 = load i32, ptr %23761, align 4, !tbaa !5
  %23763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23750, ptr noundef @.str.5, i32 noundef %23751, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 917, ptr noundef %23754, ptr noundef %23757, ptr noundef %23760, i32 noundef %23762) #11
  br label %23764

23764:                                            ; preds = %23747, %23730
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %23765

23765:                                            ; preds = %23764
  br label %23766

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

23767:                                            ; No predecessors!
  br label %23768

23768:                                            ; preds = %23767
  br label %23769

23769:                                            ; preds = %23768, %23711
  br label %23770

23770:                                            ; preds = %23769
  br label %23771

23771:                                            ; preds = %23770
  br label %23772

23772:                                            ; preds = %23771
  %23773 = load i32, ptr @test_count, align 4, !tbaa !5
  %23774 = add nsw i32 %23773, 1
  store i32 %23774, ptr @test_count, align 4, !tbaa !5
  %23775 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %453)
  %23776 = icmp eq i32 %23775, -1
  br i1 %23776, label %23777, label %23830

23777:                                            ; preds = %23772
  br label %23778

23778:                                            ; preds = %23777
  br label %23779

23779:                                            ; preds = %23778
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #11
  %23780 = call ptr @__errno_location() #12
  %23781 = load i32, ptr %23780, align 4, !tbaa !5
  store i32 %23781, ptr %476, align 4, !tbaa !5
  %23782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23783 = call i32 @s2n_print_stacktrace(ptr noundef %23782)
  %23784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23785 = trunc i8 %23784 to i1
  br i1 %23785, label %23786, label %23808

23786:                                            ; preds = %23779
  %23787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23788 = call i32 @fileno(ptr noundef %23787) #11
  %23789 = call i32 @isatty(i32 noundef %23788) #11
  %23790 = icmp ne i32 %23789, 0
  br i1 %23790, label %23791, label %23808

23791:                                            ; preds = %23786
  %23792 = load i32, ptr %476, align 4, !tbaa !5
  %23793 = call ptr @__errno_location() #12
  store i32 %23792, ptr %23793, align 4, !tbaa !5
  %23794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23795 = load i32, ptr @test_count, align 4, !tbaa !5
  %23796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23797 = load i32, ptr %23796, align 4, !tbaa !5
  %23798 = call ptr @s2n_strerror(i32 noundef %23797, ptr noundef @.str.4)
  %23799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23800 = load i32, ptr %23799, align 4, !tbaa !5
  %23801 = call ptr @s2n_strerror_debug(i32 noundef %23800, ptr noundef @.str.4)
  %23802 = call ptr @__errno_location() #12
  %23803 = load i32, ptr %23802, align 4, !tbaa !5
  %23804 = call ptr @strerror(i32 noundef %23803) #11
  %23805 = call ptr @__errno_location() #12
  %23806 = load i32, ptr %23805, align 4, !tbaa !5
  %23807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23794, ptr noundef @.str.2, i32 noundef %23795, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 918, ptr noundef %23798, ptr noundef %23801, ptr noundef %23804, i32 noundef %23806) #11
  br label %23825

23808:                                            ; preds = %23786, %23779
  %23809 = load i32, ptr %476, align 4, !tbaa !5
  %23810 = call ptr @__errno_location() #12
  store i32 %23809, ptr %23810, align 4, !tbaa !5
  %23811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23812 = load i32, ptr @test_count, align 4, !tbaa !5
  %23813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23814 = load i32, ptr %23813, align 4, !tbaa !5
  %23815 = call ptr @s2n_strerror(i32 noundef %23814, ptr noundef @.str.4)
  %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_debug(i32 noundef %23817, ptr noundef @.str.4)
  %23819 = call ptr @__errno_location() #12
  %23820 = load i32, ptr %23819, align 4, !tbaa !5
  %23821 = call ptr @strerror(i32 noundef %23820) #11
  %23822 = call ptr @__errno_location() #12
  %23823 = load i32, ptr %23822, align 4, !tbaa !5
  %23824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23811, ptr noundef @.str.5, i32 noundef %23812, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 918, ptr noundef %23815, ptr noundef %23818, ptr noundef %23821, i32 noundef %23823) #11
  br label %23825

23825:                                            ; preds = %23808, %23791
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #11
  br label %23826

23826:                                            ; preds = %23825
  br label %23827

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

23828:                                            ; No predecessors!
  br label %23829

23829:                                            ; preds = %23828
  br label %23830

23830:                                            ; preds = %23829, %23772
  br label %23831

23831:                                            ; preds = %23830
  br label %23832

23832:                                            ; preds = %23831
  call void @llvm.lifetime.start.p0(i64 8, ptr %477) #11
  %23833 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23833, ptr %477, align 8, !tbaa !9
  %23834 = load ptr, ptr %477, align 8, !tbaa !9
  %23835 = getelementptr inbounds %struct.s2n_connection, ptr %23834, i32 0, i32 23
  store i8 34, ptr %23835, align 4, !tbaa !81
  br label %23836

23836:                                            ; preds = %23832
  %23837 = load i32, ptr @test_count, align 4, !tbaa !5
  %23838 = add nsw i32 %23837, 1
  store i32 %23838, ptr @test_count, align 4, !tbaa !5
  %23839 = load ptr, ptr %477, align 8, !tbaa !9
  %23840 = getelementptr inbounds %struct.s2n_connection, ptr %23839, i32 0, i32 52
  %23841 = getelementptr inbounds %struct.s2n_handshake, ptr %23840, i32 0, i32 0
  %23842 = getelementptr inbounds %struct.s2n_stuffer, ptr %450, i32 0, i32 2
  %23843 = load i32, ptr %23842, align 4, !tbaa !84
  %23844 = getelementptr inbounds %struct.s2n_stuffer, ptr %450, i32 0, i32 1
  %23845 = load i32, ptr %23844, align 8, !tbaa !85
  %23846 = sub i32 %23843, %23845
  %23847 = call i32 @s2n_stuffer_copy(ptr noundef %450, ptr noundef %23841, i32 noundef %23846)
  %23848 = icmp eq i32 %23847, -1
  br i1 %23848, label %23849, label %23902

23849:                                            ; preds = %23836
  br label %23850

23850:                                            ; preds = %23849
  br label %23851

23851:                                            ; preds = %23850
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %23852 = call ptr @__errno_location() #12
  %23853 = load i32, ptr %23852, align 4, !tbaa !5
  store i32 %23853, ptr %478, align 4, !tbaa !5
  %23854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23855 = call i32 @s2n_print_stacktrace(ptr noundef %23854)
  %23856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23857 = trunc i8 %23856 to i1
  br i1 %23857, label %23858, label %23880

23858:                                            ; preds = %23851
  %23859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23860 = call i32 @fileno(ptr noundef %23859) #11
  %23861 = call i32 @isatty(i32 noundef %23860) #11
  %23862 = icmp ne i32 %23861, 0
  br i1 %23862, label %23863, label %23880

23863:                                            ; preds = %23858
  %23864 = load i32, ptr %478, align 4, !tbaa !5
  %23865 = call ptr @__errno_location() #12
  store i32 %23864, ptr %23865, align 4, !tbaa !5
  %23866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23867 = load i32, ptr @test_count, align 4, !tbaa !5
  %23868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23869 = load i32, ptr %23868, align 4, !tbaa !5
  %23870 = call ptr @s2n_strerror(i32 noundef %23869, ptr noundef @.str.4)
  %23871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23872 = load i32, ptr %23871, align 4, !tbaa !5
  %23873 = call ptr @s2n_strerror_debug(i32 noundef %23872, ptr noundef @.str.4)
  %23874 = call ptr @__errno_location() #12
  %23875 = load i32, ptr %23874, align 4, !tbaa !5
  %23876 = call ptr @strerror(i32 noundef %23875) #11
  %23877 = call ptr @__errno_location() #12
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23866, ptr noundef @.str.2, i32 noundef %23867, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 924, ptr noundef %23870, ptr noundef %23873, ptr noundef %23876, i32 noundef %23878) #11
  br label %23897

23880:                                            ; preds = %23858, %23851
  %23881 = load i32, ptr %478, align 4, !tbaa !5
  %23882 = call ptr @__errno_location() #12
  store i32 %23881, ptr %23882, align 4, !tbaa !5
  %23883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23884 = load i32, ptr @test_count, align 4, !tbaa !5
  %23885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23886 = load i32, ptr %23885, align 4, !tbaa !5
  %23887 = call ptr @s2n_strerror(i32 noundef %23886, ptr noundef @.str.4)
  %23888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23889 = load i32, ptr %23888, align 4, !tbaa !5
  %23890 = call ptr @s2n_strerror_debug(i32 noundef %23889, ptr noundef @.str.4)
  %23891 = call ptr @__errno_location() #12
  %23892 = load i32, ptr %23891, align 4, !tbaa !5
  %23893 = call ptr @strerror(i32 noundef %23892) #11
  %23894 = call ptr @__errno_location() #12
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23883, ptr noundef @.str.5, i32 noundef %23884, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 924, ptr noundef %23887, ptr noundef %23890, ptr noundef %23893, i32 noundef %23895) #11
  br label %23897

23897:                                            ; preds = %23880, %23863
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %23898

23898:                                            ; preds = %23897
  br label %23899

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

23900:                                            ; No predecessors!
  br label %23901

23901:                                            ; preds = %23900
  br label %23902

23902:                                            ; preds = %23901, %23836
  br label %23903

23903:                                            ; preds = %23902
  br label %23904

23904:                                            ; preds = %23903
  br label %23905

23905:                                            ; preds = %23904
  br label %23906

23906:                                            ; preds = %23905
  br label %23907

23907:                                            ; preds = %23906
  %23908 = load i32, ptr @test_count, align 4, !tbaa !5
  %23909 = add nsw i32 %23908, 1
  store i32 %23909, ptr @test_count, align 4, !tbaa !5
  %23910 = load ptr, ptr %477, align 8, !tbaa !9
  %23911 = call i32 @s2n_client_cert_recv(ptr noundef %23910)
  %23912 = icmp eq i32 %23911, -1
  br i1 %23912, label %23966, label %23913

23913:                                            ; preds = %23907
  br label %23914

23914:                                            ; preds = %23913
  br label %23915

23915:                                            ; preds = %23914
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %23916 = call ptr @__errno_location() #12
  %23917 = load i32, ptr %23916, align 4, !tbaa !5
  store i32 %23917, ptr %479, align 4, !tbaa !5
  %23918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23919 = call i32 @s2n_print_stacktrace(ptr noundef %23918)
  %23920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23921 = trunc i8 %23920 to i1
  br i1 %23921, label %23922, label %23944

23922:                                            ; preds = %23915
  %23923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23924 = call i32 @fileno(ptr noundef %23923) #11
  %23925 = call i32 @isatty(i32 noundef %23924) #11
  %23926 = icmp ne i32 %23925, 0
  br i1 %23926, label %23927, label %23944

23927:                                            ; preds = %23922
  %23928 = load i32, ptr %479, align 4, !tbaa !5
  %23929 = call ptr @__errno_location() #12
  store i32 %23928, ptr %23929, align 4, !tbaa !5
  %23930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23931 = load i32, ptr @test_count, align 4, !tbaa !5
  %23932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23933 = load i32, ptr %23932, align 4, !tbaa !5
  %23934 = call ptr @s2n_strerror(i32 noundef %23933, ptr noundef @.str.4)
  %23935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23936 = load i32, ptr %23935, align 4, !tbaa !5
  %23937 = call ptr @s2n_strerror_debug(i32 noundef %23936, ptr noundef @.str.4)
  %23938 = call ptr @__errno_location() #12
  %23939 = load i32, ptr %23938, align 4, !tbaa !5
  %23940 = call ptr @strerror(i32 noundef %23939) #11
  %23941 = call ptr @__errno_location() #12
  %23942 = load i32, ptr %23941, align 4, !tbaa !5
  %23943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23930, ptr noundef @.str.2, i32 noundef %23931, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 927, ptr noundef %23934, ptr noundef %23937, ptr noundef %23940, i32 noundef %23942) #11
  br label %23961

23944:                                            ; preds = %23922, %23915
  %23945 = load i32, ptr %479, align 4, !tbaa !5
  %23946 = call ptr @__errno_location() #12
  store i32 %23945, ptr %23946, align 4, !tbaa !5
  %23947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23948 = load i32, ptr @test_count, align 4, !tbaa !5
  %23949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23950 = load i32, ptr %23949, align 4, !tbaa !5
  %23951 = call ptr @s2n_strerror(i32 noundef %23950, ptr noundef @.str.4)
  %23952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23953 = load i32, ptr %23952, align 4, !tbaa !5
  %23954 = call ptr @s2n_strerror_debug(i32 noundef %23953, ptr noundef @.str.4)
  %23955 = call ptr @__errno_location() #12
  %23956 = load i32, ptr %23955, align 4, !tbaa !5
  %23957 = call ptr @strerror(i32 noundef %23956) #11
  %23958 = call ptr @__errno_location() #12
  %23959 = load i32, ptr %23958, align 4, !tbaa !5
  %23960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23947, ptr noundef @.str.5, i32 noundef %23948, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 927, ptr noundef %23951, ptr noundef %23954, ptr noundef %23957, i32 noundef %23959) #11
  br label %23961

23961:                                            ; preds = %23944, %23927
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %23962

23962:                                            ; preds = %23961
  br label %23963

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

23964:                                            ; No predecessors!
  br label %23965

23965:                                            ; preds = %23964
  br label %23966

23966:                                            ; preds = %23965, %23907
  br label %23967

23967:                                            ; preds = %23966
  br label %23968

23968:                                            ; preds = %23967
  br label %23969

23969:                                            ; preds = %23968
  %23970 = load i32, ptr @test_count, align 4, !tbaa !5
  %23971 = add nsw i32 %23970, 1
  store i32 %23971, ptr @test_count, align 4, !tbaa !5
  %23972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = icmp eq i32 %23973, 335544322
  br i1 %23974, label %24028, label %23975

23975:                                            ; preds = %23969
  br label %23976

23976:                                            ; preds = %23975
  br label %23977

23977:                                            ; preds = %23976
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %23978 = call ptr @__errno_location() #12
  %23979 = load i32, ptr %23978, align 4, !tbaa !5
  store i32 %23979, ptr %480, align 4, !tbaa !5
  %23980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23981 = call i32 @s2n_print_stacktrace(ptr noundef %23980)
  %23982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23983 = trunc i8 %23982 to i1
  br i1 %23983, label %23984, label %24006

23984:                                            ; preds = %23977
  %23985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23986 = call i32 @fileno(ptr noundef %23985) #11
  %23987 = call i32 @isatty(i32 noundef %23986) #11
  %23988 = icmp ne i32 %23987, 0
  br i1 %23988, label %23989, label %24006

23989:                                            ; preds = %23984
  %23990 = load i32, ptr %480, align 4, !tbaa !5
  %23991 = call ptr @__errno_location() #12
  store i32 %23990, ptr %23991, align 4, !tbaa !5
  %23992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23993 = load i32, ptr @test_count, align 4, !tbaa !5
  %23994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23995 = load i32, ptr %23994, align 4, !tbaa !5
  %23996 = call ptr @s2n_strerror(i32 noundef %23995, ptr noundef @.str.4)
  %23997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23998 = load i32, ptr %23997, align 4, !tbaa !5
  %23999 = call ptr @s2n_strerror_debug(i32 noundef %23998, ptr noundef @.str.4)
  %24000 = call ptr @__errno_location() #12
  %24001 = load i32, ptr %24000, align 4, !tbaa !5
  %24002 = call ptr @strerror(i32 noundef %24001) #11
  %24003 = call ptr @__errno_location() #12
  %24004 = load i32, ptr %24003, align 4, !tbaa !5
  %24005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23992, ptr noundef @.str.2, i32 noundef %23993, ptr noundef @.str.260, ptr noundef @.str.1, i32 noundef 927, ptr noundef %23996, ptr noundef %23999, ptr noundef %24002, i32 noundef %24004) #11
  br label %24023

24006:                                            ; preds = %23984, %23977
  %24007 = load i32, ptr %480, align 4, !tbaa !5
  %24008 = call ptr @__errno_location() #12
  store i32 %24007, ptr %24008, align 4, !tbaa !5
  %24009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24010 = load i32, ptr @test_count, align 4, !tbaa !5
  %24011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24012 = load i32, ptr %24011, align 4, !tbaa !5
  %24013 = call ptr @s2n_strerror(i32 noundef %24012, ptr noundef @.str.4)
  %24014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24015 = load i32, ptr %24014, align 4, !tbaa !5
  %24016 = call ptr @s2n_strerror_debug(i32 noundef %24015, ptr noundef @.str.4)
  %24017 = call ptr @__errno_location() #12
  %24018 = load i32, ptr %24017, align 4, !tbaa !5
  %24019 = call ptr @strerror(i32 noundef %24018) #11
  %24020 = call ptr @__errno_location() #12
  %24021 = load i32, ptr %24020, align 4, !tbaa !5
  %24022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24009, ptr noundef @.str.5, i32 noundef %24010, ptr noundef @.str.260, ptr noundef @.str.1, i32 noundef 927, ptr noundef %24013, ptr noundef %24016, ptr noundef %24019, i32 noundef %24021) #11
  br label %24023

24023:                                            ; preds = %24006, %23989
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %24024

24024:                                            ; preds = %24023
  br label %24025

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

24026:                                            ; No predecessors!
  br label %24027

24027:                                            ; preds = %24026
  br label %24028

24028:                                            ; preds = %24027, %23969
  br label %24029

24029:                                            ; preds = %24028
  br label %24030

24030:                                            ; preds = %24029
  br label %24031

24031:                                            ; preds = %24030
  %24032 = load i32, ptr @test_count, align 4, !tbaa !5
  %24033 = add nsw i32 %24032, 1
  store i32 %24033, ptr @test_count, align 4, !tbaa !5
  %24034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24035 = load i32, ptr %24034, align 4, !tbaa !5
  %24036 = call ptr @s2n_strerror_debug(i32 noundef %24035, ptr noundef @.str.4)
  %24037 = icmp eq ptr %24036, null
  br i1 %24037, label %24038, label %24091

24038:                                            ; preds = %24031
  br label %24039

24039:                                            ; preds = %24038
  br label %24040

24040:                                            ; preds = %24039
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %24041 = call ptr @__errno_location() #12
  %24042 = load i32, ptr %24041, align 4, !tbaa !5
  store i32 %24042, ptr %481, align 4, !tbaa !5
  %24043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24044 = call i32 @s2n_print_stacktrace(ptr noundef %24043)
  %24045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24046 = trunc i8 %24045 to i1
  br i1 %24046, label %24047, label %24069

24047:                                            ; preds = %24040
  %24048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24049 = call i32 @fileno(ptr noundef %24048) #11
  %24050 = call i32 @isatty(i32 noundef %24049) #11
  %24051 = icmp ne i32 %24050, 0
  br i1 %24051, label %24052, label %24069

24052:                                            ; preds = %24047
  %24053 = load i32, ptr %481, align 4, !tbaa !5
  %24054 = call ptr @__errno_location() #12
  store i32 %24053, ptr %24054, align 4, !tbaa !5
  %24055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24056 = load i32, ptr @test_count, align 4, !tbaa !5
  %24057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24058 = load i32, ptr %24057, align 4, !tbaa !5
  %24059 = call ptr @s2n_strerror(i32 noundef %24058, ptr noundef @.str.4)
  %24060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24061 = load i32, ptr %24060, align 4, !tbaa !5
  %24062 = call ptr @s2n_strerror_debug(i32 noundef %24061, ptr noundef @.str.4)
  %24063 = call ptr @__errno_location() #12
  %24064 = load i32, ptr %24063, align 4, !tbaa !5
  %24065 = call ptr @strerror(i32 noundef %24064) #11
  %24066 = call ptr @__errno_location() #12
  %24067 = load i32, ptr %24066, align 4, !tbaa !5
  %24068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24055, ptr noundef @.str.2, i32 noundef %24056, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 927, ptr noundef %24059, ptr noundef %24062, ptr noundef %24065, i32 noundef %24067) #11
  br label %24086

24069:                                            ; preds = %24047, %24040
  %24070 = load i32, ptr %481, align 4, !tbaa !5
  %24071 = call ptr @__errno_location() #12
  store i32 %24070, ptr %24071, align 4, !tbaa !5
  %24072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24073 = load i32, ptr @test_count, align 4, !tbaa !5
  %24074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24075 = load i32, ptr %24074, align 4, !tbaa !5
  %24076 = call ptr @s2n_strerror(i32 noundef %24075, ptr noundef @.str.4)
  %24077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24078 = load i32, ptr %24077, align 4, !tbaa !5
  %24079 = call ptr @s2n_strerror_debug(i32 noundef %24078, ptr noundef @.str.4)
  %24080 = call ptr @__errno_location() #12
  %24081 = load i32, ptr %24080, align 4, !tbaa !5
  %24082 = call ptr @strerror(i32 noundef %24081) #11
  %24083 = call ptr @__errno_location() #12
  %24084 = load i32, ptr %24083, align 4, !tbaa !5
  %24085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24072, ptr noundef @.str.5, i32 noundef %24073, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 927, ptr noundef %24076, ptr noundef %24079, ptr noundef %24082, i32 noundef %24084) #11
  br label %24086

24086:                                            ; preds = %24069, %24052
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %24087

24087:                                            ; preds = %24086
  br label %24088

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

24089:                                            ; No predecessors!
  br label %24090

24090:                                            ; preds = %24089
  br label %24091

24091:                                            ; preds = %24090, %24031
  br label %24092

24092:                                            ; preds = %24091
  br label %24093

24093:                                            ; preds = %24092
  br label %24094

24094:                                            ; preds = %24093
  br label %24095

24095:                                            ; preds = %24094
  br label %24096

24096:                                            ; preds = %24095
  %24097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24097, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24098 = call ptr @__errno_location() #12
  store i32 0, ptr %24098, align 4, !tbaa !5
  br label %24099

24099:                                            ; preds = %24096
  br label %24100

24100:                                            ; preds = %24099
  br label %24101

24101:                                            ; preds = %24100
  br label %24102

24102:                                            ; preds = %24101
  br label %24103

24103:                                            ; preds = %24102
  %24104 = load i32, ptr @test_count, align 4, !tbaa !5
  %24105 = add nsw i32 %24104, 1
  store i32 %24105, ptr @test_count, align 4, !tbaa !5
  %24106 = load ptr, ptr %477, align 8, !tbaa !9
  %24107 = getelementptr inbounds %struct.s2n_connection, ptr %24106, i32 0, i32 32
  %24108 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %24107, i32 0, i32 2
  %24109 = getelementptr inbounds %struct.s2n_blob, ptr %24108, i32 0, i32 1
  %24110 = load i32, ptr %24109, align 8, !tbaa !83
  %24111 = icmp eq i32 %24110, 0
  br i1 %24111, label %24165, label %24112

24112:                                            ; preds = %24103
  br label %24113

24113:                                            ; preds = %24112
  br label %24114

24114:                                            ; preds = %24113
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %24115 = call ptr @__errno_location() #12
  %24116 = load i32, ptr %24115, align 4, !tbaa !5
  store i32 %24116, ptr %482, align 4, !tbaa !5
  %24117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24118 = call i32 @s2n_print_stacktrace(ptr noundef %24117)
  %24119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24120 = trunc i8 %24119 to i1
  br i1 %24120, label %24121, label %24143

24121:                                            ; preds = %24114
  %24122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24123 = call i32 @fileno(ptr noundef %24122) #11
  %24124 = call i32 @isatty(i32 noundef %24123) #11
  %24125 = icmp ne i32 %24124, 0
  br i1 %24125, label %24126, label %24143

24126:                                            ; preds = %24121
  %24127 = load i32, ptr %482, align 4, !tbaa !5
  %24128 = call ptr @__errno_location() #12
  store i32 %24127, ptr %24128, align 4, !tbaa !5
  %24129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24130 = load i32, ptr @test_count, align 4, !tbaa !5
  %24131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24132 = load i32, ptr %24131, align 4, !tbaa !5
  %24133 = call ptr @s2n_strerror(i32 noundef %24132, ptr noundef @.str.4)
  %24134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24135 = load i32, ptr %24134, align 4, !tbaa !5
  %24136 = call ptr @s2n_strerror_debug(i32 noundef %24135, ptr noundef @.str.4)
  %24137 = call ptr @__errno_location() #12
  %24138 = load i32, ptr %24137, align 4, !tbaa !5
  %24139 = call ptr @strerror(i32 noundef %24138) #11
  %24140 = call ptr @__errno_location() #12
  %24141 = load i32, ptr %24140, align 4, !tbaa !5
  %24142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24129, ptr noundef @.str.2, i32 noundef %24130, ptr noundef @.str.261, ptr noundef @.str.1, i32 noundef 928, ptr noundef %24133, ptr noundef %24136, ptr noundef %24139, i32 noundef %24141) #11
  br label %24160

24143:                                            ; preds = %24121, %24114
  %24144 = load i32, ptr %482, align 4, !tbaa !5
  %24145 = call ptr @__errno_location() #12
  store i32 %24144, ptr %24145, align 4, !tbaa !5
  %24146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24147 = load i32, ptr @test_count, align 4, !tbaa !5
  %24148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24149 = load i32, ptr %24148, align 4, !tbaa !5
  %24150 = call ptr @s2n_strerror(i32 noundef %24149, ptr noundef @.str.4)
  %24151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24152 = load i32, ptr %24151, align 4, !tbaa !5
  %24153 = call ptr @s2n_strerror_debug(i32 noundef %24152, ptr noundef @.str.4)
  %24154 = call ptr @__errno_location() #12
  %24155 = load i32, ptr %24154, align 4, !tbaa !5
  %24156 = call ptr @strerror(i32 noundef %24155) #11
  %24157 = call ptr @__errno_location() #12
  %24158 = load i32, ptr %24157, align 4, !tbaa !5
  %24159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24146, ptr noundef @.str.5, i32 noundef %24147, ptr noundef @.str.261, ptr noundef @.str.1, i32 noundef 928, ptr noundef %24150, ptr noundef %24153, ptr noundef %24156, i32 noundef %24158) #11
  br label %24160

24160:                                            ; preds = %24143, %24126
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %24161

24161:                                            ; preds = %24160
  br label %24162

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

24163:                                            ; No predecessors!
  br label %24164

24164:                                            ; preds = %24163
  br label %24165

24165:                                            ; preds = %24164, %24103
  br label %24166

24166:                                            ; preds = %24165
  br label %24167

24167:                                            ; preds = %24166
  br label %24168

24168:                                            ; preds = %24167
  %24169 = load i32, ptr @test_count, align 4, !tbaa !5
  %24170 = add nsw i32 %24169, 1
  store i32 %24170, ptr @test_count, align 4, !tbaa !5
  %24171 = load ptr, ptr %477, align 8, !tbaa !9
  %24172 = getelementptr inbounds %struct.s2n_connection, ptr %24171, i32 0, i32 32
  %24173 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %24172, i32 0, i32 2
  %24174 = getelementptr inbounds %struct.s2n_blob, ptr %24173, i32 0, i32 0
  %24175 = load ptr, ptr %24174, align 8, !tbaa !82
  %24176 = icmp eq ptr %24175, null
  br i1 %24176, label %24230, label %24177

24177:                                            ; preds = %24168
  br label %24178

24178:                                            ; preds = %24177
  br label %24179

24179:                                            ; preds = %24178
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %24180 = call ptr @__errno_location() #12
  %24181 = load i32, ptr %24180, align 4, !tbaa !5
  store i32 %24181, ptr %483, align 4, !tbaa !5
  %24182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24183 = call i32 @s2n_print_stacktrace(ptr noundef %24182)
  %24184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24185 = trunc i8 %24184 to i1
  br i1 %24185, label %24186, label %24208

24186:                                            ; preds = %24179
  %24187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24188 = call i32 @fileno(ptr noundef %24187) #11
  %24189 = call i32 @isatty(i32 noundef %24188) #11
  %24190 = icmp ne i32 %24189, 0
  br i1 %24190, label %24191, label %24208

24191:                                            ; preds = %24186
  %24192 = load i32, ptr %483, align 4, !tbaa !5
  %24193 = call ptr @__errno_location() #12
  store i32 %24192, ptr %24193, align 4, !tbaa !5
  %24194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24195 = load i32, ptr @test_count, align 4, !tbaa !5
  %24196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24197 = load i32, ptr %24196, align 4, !tbaa !5
  %24198 = call ptr @s2n_strerror(i32 noundef %24197, ptr noundef @.str.4)
  %24199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24200 = load i32, ptr %24199, align 4, !tbaa !5
  %24201 = call ptr @s2n_strerror_debug(i32 noundef %24200, ptr noundef @.str.4)
  %24202 = call ptr @__errno_location() #12
  %24203 = load i32, ptr %24202, align 4, !tbaa !5
  %24204 = call ptr @strerror(i32 noundef %24203) #11
  %24205 = call ptr @__errno_location() #12
  %24206 = load i32, ptr %24205, align 4, !tbaa !5
  %24207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24194, ptr noundef @.str.2, i32 noundef %24195, ptr noundef @.str.262, ptr noundef @.str.1, i32 noundef 929, ptr noundef %24198, ptr noundef %24201, ptr noundef %24204, i32 noundef %24206) #11
  br label %24225

24208:                                            ; preds = %24186, %24179
  %24209 = load i32, ptr %483, align 4, !tbaa !5
  %24210 = call ptr @__errno_location() #12
  store i32 %24209, ptr %24210, align 4, !tbaa !5
  %24211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24212 = load i32, ptr @test_count, align 4, !tbaa !5
  %24213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24214 = load i32, ptr %24213, align 4, !tbaa !5
  %24215 = call ptr @s2n_strerror(i32 noundef %24214, ptr noundef @.str.4)
  %24216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24217 = load i32, ptr %24216, align 4, !tbaa !5
  %24218 = call ptr @s2n_strerror_debug(i32 noundef %24217, ptr noundef @.str.4)
  %24219 = call ptr @__errno_location() #12
  %24220 = load i32, ptr %24219, align 4, !tbaa !5
  %24221 = call ptr @strerror(i32 noundef %24220) #11
  %24222 = call ptr @__errno_location() #12
  %24223 = load i32, ptr %24222, align 4, !tbaa !5
  %24224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24211, ptr noundef @.str.5, i32 noundef %24212, ptr noundef @.str.262, ptr noundef @.str.1, i32 noundef 929, ptr noundef %24215, ptr noundef %24218, ptr noundef %24221, i32 noundef %24223) #11
  br label %24225

24225:                                            ; preds = %24208, %24191
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %24226

24226:                                            ; preds = %24225
  br label %24227

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

24228:                                            ; No predecessors!
  br label %24229

24229:                                            ; preds = %24228
  br label %24230

24230:                                            ; preds = %24229, %24168
  br label %24231

24231:                                            ; preds = %24230
  br label %24232

24232:                                            ; preds = %24231
  %24233 = call i32 @s2n_connection_ptr_free(ptr noundef %477)
  %24234 = getelementptr inbounds %struct.s2n_result, ptr %484, i32 0, i32 0
  store i32 %24233, ptr %24234, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %477) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %453) #11
  %24235 = call i32 @s2n_stuffer_free(ptr noundef %450)
  call void @llvm.lifetime.end.p0(i64 40, ptr %450) #11
  %24236 = call i32 @s2n_connection_ptr_free(ptr noundef %340)
  %24237 = getelementptr inbounds %struct.s2n_result, ptr %485, i32 0, i32 0
  store i32 %24236, ptr %24237, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %340) #11
  %24238 = call i32 @s2n_connection_ptr_free(ptr noundef %339)
  %24239 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  store i32 %24238, ptr %24239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %339) #11
  %24240 = call i32 @s2n_connection_ptr_free(ptr noundef %338)
  %24241 = getelementptr inbounds %struct.s2n_result, ptr %487, i32 0, i32 0
  store i32 %24240, ptr %24241, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #11
  %24242 = call i32 @s2n_connection_ptr_free(ptr noundef %337)
  %24243 = getelementptr inbounds %struct.s2n_result, ptr %488, i32 0, i32 0
  store i32 %24242, ptr %24243, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  %24244 = call i32 @s2n_config_ptr_free(ptr noundef %332)
  %24245 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  store i32 %24244, ptr %24245, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #11
  call void @llvm.lifetime.start.p0(i64 15, ptr %490) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %490, ptr align 1 @__const.main.more_ocsp_data, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %491) #11
  store ptr null, ptr %491, align 8, !tbaa !9
  br label %24246

24246:                                            ; preds = %24232
  %24247 = load i32, ptr @test_count, align 4, !tbaa !5
  %24248 = add nsw i32 %24247, 1
  store i32 %24248, ptr @test_count, align 4, !tbaa !5
  %24249 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %491, ptr noundef @.str.8, ptr noundef @.str.9)
  %24250 = icmp eq i32 %24249, -1
  br i1 %24250, label %24251, label %24304

24251:                                            ; preds = %24246
  br label %24252

24252:                                            ; preds = %24251
  br label %24253

24253:                                            ; preds = %24252
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %24254 = call ptr @__errno_location() #12
  %24255 = load i32, ptr %24254, align 4, !tbaa !5
  store i32 %24255, ptr %492, align 4, !tbaa !5
  %24256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24257 = call i32 @s2n_print_stacktrace(ptr noundef %24256)
  %24258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24259 = trunc i8 %24258 to i1
  br i1 %24259, label %24260, label %24282

24260:                                            ; preds = %24253
  %24261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24262 = call i32 @fileno(ptr noundef %24261) #11
  %24263 = call i32 @isatty(i32 noundef %24262) #11
  %24264 = icmp ne i32 %24263, 0
  br i1 %24264, label %24265, label %24282

24265:                                            ; preds = %24260
  %24266 = load i32, ptr %492, align 4, !tbaa !5
  %24267 = call ptr @__errno_location() #12
  store i32 %24266, ptr %24267, align 4, !tbaa !5
  %24268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24269 = load i32, ptr @test_count, align 4, !tbaa !5
  %24270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call ptr @s2n_strerror(i32 noundef %24271, ptr noundef @.str.4)
  %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_debug(i32 noundef %24274, ptr noundef @.str.4)
  %24276 = call ptr @__errno_location() #12
  %24277 = load i32, ptr %24276, align 4, !tbaa !5
  %24278 = call ptr @strerror(i32 noundef %24277) #11
  %24279 = call ptr @__errno_location() #12
  %24280 = load i32, ptr %24279, align 4, !tbaa !5
  %24281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24268, ptr noundef @.str.2, i32 noundef %24269, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 940, ptr noundef %24272, ptr noundef %24275, ptr noundef %24278, i32 noundef %24280) #11
  br label %24299

24282:                                            ; preds = %24260, %24253
  %24283 = load i32, ptr %492, align 4, !tbaa !5
  %24284 = call ptr @__errno_location() #12
  store i32 %24283, ptr %24284, align 4, !tbaa !5
  %24285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24286 = load i32, ptr @test_count, align 4, !tbaa !5
  %24287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24288 = load i32, ptr %24287, align 4, !tbaa !5
  %24289 = call ptr @s2n_strerror(i32 noundef %24288, ptr noundef @.str.4)
  %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_debug(i32 noundef %24291, ptr noundef @.str.4)
  %24293 = call ptr @__errno_location() #12
  %24294 = load i32, ptr %24293, align 4, !tbaa !5
  %24295 = call ptr @strerror(i32 noundef %24294) #11
  %24296 = call ptr @__errno_location() #12
  %24297 = load i32, ptr %24296, align 4, !tbaa !5
  %24298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24285, ptr noundef @.str.5, i32 noundef %24286, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 940, ptr noundef %24289, ptr noundef %24292, ptr noundef %24295, i32 noundef %24297) #11
  br label %24299

24299:                                            ; preds = %24282, %24265
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %24300

24300:                                            ; preds = %24299
  br label %24301

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

24302:                                            ; No predecessors!
  br label %24303

24303:                                            ; preds = %24302
  br label %24304

24304:                                            ; preds = %24303, %24246
  br label %24305

24305:                                            ; preds = %24304
  br label %24306

24306:                                            ; preds = %24305
  br label %24307

24307:                                            ; preds = %24306
  br label %24308

24308:                                            ; preds = %24307
  %24309 = load i32, ptr @test_count, align 4, !tbaa !5
  %24310 = add nsw i32 %24309, 1
  store i32 %24310, ptr @test_count, align 4, !tbaa !5
  %24311 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %24312 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef null, ptr noundef %24311, i32 noundef 10)
  %24313 = icmp eq i32 %24312, -1
  br i1 %24313, label %24367, label %24314

24314:                                            ; preds = %24308
  br label %24315

24315:                                            ; preds = %24314
  br label %24316

24316:                                            ; preds = %24315
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %24317 = call ptr @__errno_location() #12
  %24318 = load i32, ptr %24317, align 4, !tbaa !5
  store i32 %24318, ptr %493, align 4, !tbaa !5
  %24319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24320 = call i32 @s2n_print_stacktrace(ptr noundef %24319)
  %24321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24322 = trunc i8 %24321 to i1
  br i1 %24322, label %24323, label %24345

24323:                                            ; preds = %24316
  %24324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24325 = call i32 @fileno(ptr noundef %24324) #11
  %24326 = call i32 @isatty(i32 noundef %24325) #11
  %24327 = icmp ne i32 %24326, 0
  br i1 %24327, label %24328, label %24345

24328:                                            ; preds = %24323
  %24329 = load i32, ptr %493, align 4, !tbaa !5
  %24330 = call ptr @__errno_location() #12
  store i32 %24329, ptr %24330, align 4, !tbaa !5
  %24331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24332 = load i32, ptr @test_count, align 4, !tbaa !5
  %24333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24334 = load i32, ptr %24333, align 4, !tbaa !5
  %24335 = call ptr @s2n_strerror(i32 noundef %24334, ptr noundef @.str.4)
  %24336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24337 = load i32, ptr %24336, align 4, !tbaa !5
  %24338 = call ptr @s2n_strerror_debug(i32 noundef %24337, ptr noundef @.str.4)
  %24339 = call ptr @__errno_location() #12
  %24340 = load i32, ptr %24339, align 4, !tbaa !5
  %24341 = call ptr @strerror(i32 noundef %24340) #11
  %24342 = call ptr @__errno_location() #12
  %24343 = load i32, ptr %24342, align 4, !tbaa !5
  %24344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24331, ptr noundef @.str.2, i32 noundef %24332, ptr noundef @.str.264, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24335, ptr noundef %24338, ptr noundef %24341, i32 noundef %24343) #11
  br label %24362

24345:                                            ; preds = %24323, %24316
  %24346 = load i32, ptr %493, align 4, !tbaa !5
  %24347 = call ptr @__errno_location() #12
  store i32 %24346, ptr %24347, align 4, !tbaa !5
  %24348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24349 = load i32, ptr @test_count, align 4, !tbaa !5
  %24350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24351 = load i32, ptr %24350, align 4, !tbaa !5
  %24352 = call ptr @s2n_strerror(i32 noundef %24351, ptr noundef @.str.4)
  %24353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24354 = load i32, ptr %24353, align 4, !tbaa !5
  %24355 = call ptr @s2n_strerror_debug(i32 noundef %24354, ptr noundef @.str.4)
  %24356 = call ptr @__errno_location() #12
  %24357 = load i32, ptr %24356, align 4, !tbaa !5
  %24358 = call ptr @strerror(i32 noundef %24357) #11
  %24359 = call ptr @__errno_location() #12
  %24360 = load i32, ptr %24359, align 4, !tbaa !5
  %24361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24348, ptr noundef @.str.5, i32 noundef %24349, ptr noundef @.str.264, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24352, ptr noundef %24355, ptr noundef %24358, i32 noundef %24360) #11
  br label %24362

24362:                                            ; preds = %24345, %24328
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %24363

24363:                                            ; preds = %24362
  br label %24364

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

24365:                                            ; No predecessors!
  br label %24366

24366:                                            ; preds = %24365
  br label %24367

24367:                                            ; preds = %24366, %24308
  br label %24368

24368:                                            ; preds = %24367
  br label %24369

24369:                                            ; preds = %24368
  br label %24370

24370:                                            ; preds = %24369
  %24371 = load i32, ptr @test_count, align 4, !tbaa !5
  %24372 = add nsw i32 %24371, 1
  store i32 %24372, ptr @test_count, align 4, !tbaa !5
  %24373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24374 = load i32, ptr %24373, align 4, !tbaa !5
  %24375 = icmp eq i32 %24374, 0
  br i1 %24375, label %24376, label %24429

24376:                                            ; preds = %24370
  br label %24377

24377:                                            ; preds = %24376
  br label %24378

24378:                                            ; preds = %24377
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %24379 = call ptr @__errno_location() #12
  %24380 = load i32, ptr %24379, align 4, !tbaa !5
  store i32 %24380, ptr %494, align 4, !tbaa !5
  %24381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24382 = call i32 @s2n_print_stacktrace(ptr noundef %24381)
  %24383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24384 = trunc i8 %24383 to i1
  br i1 %24384, label %24385, label %24407

24385:                                            ; preds = %24378
  %24386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24387 = call i32 @fileno(ptr noundef %24386) #11
  %24388 = call i32 @isatty(i32 noundef %24387) #11
  %24389 = icmp ne i32 %24388, 0
  br i1 %24389, label %24390, label %24407

24390:                                            ; preds = %24385
  %24391 = load i32, ptr %494, align 4, !tbaa !5
  %24392 = call ptr @__errno_location() #12
  store i32 %24391, ptr %24392, align 4, !tbaa !5
  %24393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24394 = load i32, ptr @test_count, align 4, !tbaa !5
  %24395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24396 = load i32, ptr %24395, align 4, !tbaa !5
  %24397 = call ptr @s2n_strerror(i32 noundef %24396, ptr noundef @.str.4)
  %24398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24399 = load i32, ptr %24398, align 4, !tbaa !5
  %24400 = call ptr @s2n_strerror_debug(i32 noundef %24399, ptr noundef @.str.4)
  %24401 = call ptr @__errno_location() #12
  %24402 = load i32, ptr %24401, align 4, !tbaa !5
  %24403 = call ptr @strerror(i32 noundef %24402) #11
  %24404 = call ptr @__errno_location() #12
  %24405 = load i32, ptr %24404, align 4, !tbaa !5
  %24406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24393, ptr noundef @.str.2, i32 noundef %24394, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24397, ptr noundef %24400, ptr noundef %24403, i32 noundef %24405) #11
  br label %24424

24407:                                            ; preds = %24385, %24378
  %24408 = load i32, ptr %494, align 4, !tbaa !5
  %24409 = call ptr @__errno_location() #12
  store i32 %24408, ptr %24409, align 4, !tbaa !5
  %24410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24411 = load i32, ptr @test_count, align 4, !tbaa !5
  %24412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24413 = load i32, ptr %24412, align 4, !tbaa !5
  %24414 = call ptr @s2n_strerror(i32 noundef %24413, ptr noundef @.str.4)
  %24415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24416 = load i32, ptr %24415, align 4, !tbaa !5
  %24417 = call ptr @s2n_strerror_debug(i32 noundef %24416, ptr noundef @.str.4)
  %24418 = call ptr @__errno_location() #12
  %24419 = load i32, ptr %24418, align 4, !tbaa !5
  %24420 = call ptr @strerror(i32 noundef %24419) #11
  %24421 = call ptr @__errno_location() #12
  %24422 = load i32, ptr %24421, align 4, !tbaa !5
  %24423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24410, ptr noundef @.str.5, i32 noundef %24411, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24414, ptr noundef %24417, ptr noundef %24420, i32 noundef %24422) #11
  br label %24424

24424:                                            ; preds = %24407, %24390
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %24425

24425:                                            ; preds = %24424
  br label %24426

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

24427:                                            ; No predecessors!
  br label %24428

24428:                                            ; preds = %24427
  br label %24429

24429:                                            ; preds = %24428, %24370
  br label %24430

24430:                                            ; preds = %24429
  br label %24431

24431:                                            ; preds = %24430
  br label %24432

24432:                                            ; preds = %24431
  %24433 = load i32, ptr @test_count, align 4, !tbaa !5
  %24434 = add nsw i32 %24433, 1
  store i32 %24434, ptr @test_count, align 4, !tbaa !5
  %24435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24436 = load i32, ptr %24435, align 4, !tbaa !5
  %24437 = call ptr @s2n_strerror_debug(i32 noundef %24436, ptr noundef @.str.4)
  %24438 = icmp eq ptr %24437, null
  br i1 %24438, label %24439, label %24492

24439:                                            ; preds = %24432
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %24442 = call ptr @__errno_location() #12
  %24443 = load i32, ptr %24442, align 4, !tbaa !5
  store i32 %24443, ptr %495, align 4, !tbaa !5
  %24444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24445 = call i32 @s2n_print_stacktrace(ptr noundef %24444)
  %24446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24447 = trunc i8 %24446 to i1
  br i1 %24447, label %24448, label %24470

24448:                                            ; preds = %24441
  %24449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24450 = call i32 @fileno(ptr noundef %24449) #11
  %24451 = call i32 @isatty(i32 noundef %24450) #11
  %24452 = icmp ne i32 %24451, 0
  br i1 %24452, label %24453, label %24470

24453:                                            ; preds = %24448
  %24454 = load i32, ptr %495, align 4, !tbaa !5
  %24455 = call ptr @__errno_location() #12
  store i32 %24454, ptr %24455, align 4, !tbaa !5
  %24456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24457 = load i32, ptr @test_count, align 4, !tbaa !5
  %24458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24459 = load i32, ptr %24458, align 4, !tbaa !5
  %24460 = call ptr @s2n_strerror(i32 noundef %24459, ptr noundef @.str.4)
  %24461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24462 = load i32, ptr %24461, align 4, !tbaa !5
  %24463 = call ptr @s2n_strerror_debug(i32 noundef %24462, ptr noundef @.str.4)
  %24464 = call ptr @__errno_location() #12
  %24465 = load i32, ptr %24464, align 4, !tbaa !5
  %24466 = call ptr @strerror(i32 noundef %24465) #11
  %24467 = call ptr @__errno_location() #12
  %24468 = load i32, ptr %24467, align 4, !tbaa !5
  %24469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24456, ptr noundef @.str.2, i32 noundef %24457, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24460, ptr noundef %24463, ptr noundef %24466, i32 noundef %24468) #11
  br label %24487

24470:                                            ; preds = %24448, %24441
  %24471 = load i32, ptr %495, align 4, !tbaa !5
  %24472 = call ptr @__errno_location() #12
  store i32 %24471, ptr %24472, align 4, !tbaa !5
  %24473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24474 = load i32, ptr @test_count, align 4, !tbaa !5
  %24475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24476 = load i32, ptr %24475, align 4, !tbaa !5
  %24477 = call ptr @s2n_strerror(i32 noundef %24476, ptr noundef @.str.4)
  %24478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24479 = load i32, ptr %24478, align 4, !tbaa !5
  %24480 = call ptr @s2n_strerror_debug(i32 noundef %24479, ptr noundef @.str.4)
  %24481 = call ptr @__errno_location() #12
  %24482 = load i32, ptr %24481, align 4, !tbaa !5
  %24483 = call ptr @strerror(i32 noundef %24482) #11
  %24484 = call ptr @__errno_location() #12
  %24485 = load i32, ptr %24484, align 4, !tbaa !5
  %24486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24473, ptr noundef @.str.5, i32 noundef %24474, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 943, ptr noundef %24477, ptr noundef %24480, ptr noundef %24483, i32 noundef %24485) #11
  br label %24487

24487:                                            ; preds = %24470, %24453
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %24488

24488:                                            ; preds = %24487
  br label %24489

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

24490:                                            ; No predecessors!
  br label %24491

24491:                                            ; preds = %24490
  br label %24492

24492:                                            ; preds = %24491, %24432
  br label %24493

24493:                                            ; preds = %24492
  br label %24494

24494:                                            ; preds = %24493
  br label %24495

24495:                                            ; preds = %24494
  %24496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24496, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24497 = call ptr @__errno_location() #12
  store i32 0, ptr %24497, align 4, !tbaa !5
  br label %24498

24498:                                            ; preds = %24495
  br label %24499

24499:                                            ; preds = %24498
  br label %24500

24500:                                            ; preds = %24499
  br label %24501

24501:                                            ; preds = %24500
  br label %24502

24502:                                            ; preds = %24501
  %24503 = load i32, ptr @test_count, align 4, !tbaa !5
  %24504 = add nsw i32 %24503, 1
  store i32 %24504, ptr @test_count, align 4, !tbaa !5
  %24505 = load ptr, ptr %491, align 8, !tbaa !9
  %24506 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %24507 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %24505, ptr noundef %24506, i32 noundef 10)
  %24508 = icmp eq i32 %24507, -1
  br i1 %24508, label %24509, label %24562

24509:                                            ; preds = %24502
  br label %24510

24510:                                            ; preds = %24509
  br label %24511

24511:                                            ; preds = %24510
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %24512 = call ptr @__errno_location() #12
  %24513 = load i32, ptr %24512, align 4, !tbaa !5
  store i32 %24513, ptr %496, align 4, !tbaa !5
  %24514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24515 = call i32 @s2n_print_stacktrace(ptr noundef %24514)
  %24516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24517 = trunc i8 %24516 to i1
  br i1 %24517, label %24518, label %24540

24518:                                            ; preds = %24511
  %24519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24520 = call i32 @fileno(ptr noundef %24519) #11
  %24521 = call i32 @isatty(i32 noundef %24520) #11
  %24522 = icmp ne i32 %24521, 0
  br i1 %24522, label %24523, label %24540

24523:                                            ; preds = %24518
  %24524 = load i32, ptr %496, align 4, !tbaa !5
  %24525 = call ptr @__errno_location() #12
  store i32 %24524, ptr %24525, align 4, !tbaa !5
  %24526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24527 = load i32, ptr @test_count, align 4, !tbaa !5
  %24528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24529 = load i32, ptr %24528, align 4, !tbaa !5
  %24530 = call ptr @s2n_strerror(i32 noundef %24529, ptr noundef @.str.4)
  %24531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24532 = load i32, ptr %24531, align 4, !tbaa !5
  %24533 = call ptr @s2n_strerror_debug(i32 noundef %24532, ptr noundef @.str.4)
  %24534 = call ptr @__errno_location() #12
  %24535 = load i32, ptr %24534, align 4, !tbaa !5
  %24536 = call ptr @strerror(i32 noundef %24535) #11
  %24537 = call ptr @__errno_location() #12
  %24538 = load i32, ptr %24537, align 4, !tbaa !5
  %24539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24526, ptr noundef @.str.2, i32 noundef %24527, ptr noundef @.str.265, ptr noundef @.str.1, i32 noundef 946, ptr noundef %24530, ptr noundef %24533, ptr noundef %24536, i32 noundef %24538) #11
  br label %24557

24540:                                            ; preds = %24518, %24511
  %24541 = load i32, ptr %496, align 4, !tbaa !5
  %24542 = call ptr @__errno_location() #12
  store i32 %24541, ptr %24542, align 4, !tbaa !5
  %24543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24544 = load i32, ptr @test_count, align 4, !tbaa !5
  %24545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24546 = load i32, ptr %24545, align 4, !tbaa !5
  %24547 = call ptr @s2n_strerror(i32 noundef %24546, ptr noundef @.str.4)
  %24548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24549 = load i32, ptr %24548, align 4, !tbaa !5
  %24550 = call ptr @s2n_strerror_debug(i32 noundef %24549, ptr noundef @.str.4)
  %24551 = call ptr @__errno_location() #12
  %24552 = load i32, ptr %24551, align 4, !tbaa !5
  %24553 = call ptr @strerror(i32 noundef %24552) #11
  %24554 = call ptr @__errno_location() #12
  %24555 = load i32, ptr %24554, align 4, !tbaa !5
  %24556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24543, ptr noundef @.str.5, i32 noundef %24544, ptr noundef @.str.265, ptr noundef @.str.1, i32 noundef 946, ptr noundef %24547, ptr noundef %24550, ptr noundef %24553, i32 noundef %24555) #11
  br label %24557

24557:                                            ; preds = %24540, %24523
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %24558

24558:                                            ; preds = %24557
  br label %24559

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

24560:                                            ; No predecessors!
  br label %24561

24561:                                            ; preds = %24560
  br label %24562

24562:                                            ; preds = %24561, %24502
  br label %24563

24563:                                            ; preds = %24562
  br label %24564

24564:                                            ; preds = %24563
  br label %24565

24565:                                            ; preds = %24564
  %24566 = load i32, ptr @test_count, align 4, !tbaa !5
  %24567 = add nsw i32 %24566, 1
  store i32 %24567, ptr @test_count, align 4, !tbaa !5
  %24568 = load ptr, ptr %491, align 8, !tbaa !9
  %24569 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %24568, i32 0, i32 2
  %24570 = getelementptr inbounds %struct.s2n_blob, ptr %24569, i32 0, i32 1
  %24571 = load i32, ptr %24570, align 8, !tbaa !86
  %24572 = zext i32 %24571 to i64
  %24573 = icmp eq i64 %24572, 10
  br i1 %24573, label %24627, label %24574

24574:                                            ; preds = %24565
  br label %24575

24575:                                            ; preds = %24574
  br label %24576

24576:                                            ; preds = %24575
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %24577 = call ptr @__errno_location() #12
  %24578 = load i32, ptr %24577, align 4, !tbaa !5
  store i32 %24578, ptr %497, align 4, !tbaa !5
  %24579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24580 = call i32 @s2n_print_stacktrace(ptr noundef %24579)
  %24581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24582 = trunc i8 %24581 to i1
  br i1 %24582, label %24583, label %24605

24583:                                            ; preds = %24576
  %24584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24585 = call i32 @fileno(ptr noundef %24584) #11
  %24586 = call i32 @isatty(i32 noundef %24585) #11
  %24587 = icmp ne i32 %24586, 0
  br i1 %24587, label %24588, label %24605

24588:                                            ; preds = %24583
  %24589 = load i32, ptr %497, align 4, !tbaa !5
  %24590 = call ptr @__errno_location() #12
  store i32 %24589, ptr %24590, align 4, !tbaa !5
  %24591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24592 = load i32, ptr @test_count, align 4, !tbaa !5
  %24593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24594 = load i32, ptr %24593, align 4, !tbaa !5
  %24595 = call ptr @s2n_strerror(i32 noundef %24594, ptr noundef @.str.4)
  %24596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24597 = load i32, ptr %24596, align 4, !tbaa !5
  %24598 = call ptr @s2n_strerror_debug(i32 noundef %24597, ptr noundef @.str.4)
  %24599 = call ptr @__errno_location() #12
  %24600 = load i32, ptr %24599, align 4, !tbaa !5
  %24601 = call ptr @strerror(i32 noundef %24600) #11
  %24602 = call ptr @__errno_location() #12
  %24603 = load i32, ptr %24602, align 4, !tbaa !5
  %24604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24591, ptr noundef @.str.2, i32 noundef %24592, ptr noundef @.str.266, ptr noundef @.str.1, i32 noundef 947, ptr noundef %24595, ptr noundef %24598, ptr noundef %24601, i32 noundef %24603) #11
  br label %24622

24605:                                            ; preds = %24583, %24576
  %24606 = load i32, ptr %497, align 4, !tbaa !5
  %24607 = call ptr @__errno_location() #12
  store i32 %24606, ptr %24607, align 4, !tbaa !5
  %24608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24609 = load i32, ptr @test_count, align 4, !tbaa !5
  %24610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24611 = load i32, ptr %24610, align 4, !tbaa !5
  %24612 = call ptr @s2n_strerror(i32 noundef %24611, ptr noundef @.str.4)
  %24613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24614 = load i32, ptr %24613, align 4, !tbaa !5
  %24615 = call ptr @s2n_strerror_debug(i32 noundef %24614, ptr noundef @.str.4)
  %24616 = call ptr @__errno_location() #12
  %24617 = load i32, ptr %24616, align 4, !tbaa !5
  %24618 = call ptr @strerror(i32 noundef %24617) #11
  %24619 = call ptr @__errno_location() #12
  %24620 = load i32, ptr %24619, align 4, !tbaa !5
  %24621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24608, ptr noundef @.str.5, i32 noundef %24609, ptr noundef @.str.266, ptr noundef @.str.1, i32 noundef 947, ptr noundef %24612, ptr noundef %24615, ptr noundef %24618, i32 noundef %24620) #11
  br label %24622

24622:                                            ; preds = %24605, %24588
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %24623

24623:                                            ; preds = %24622
  br label %24624

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

24625:                                            ; No predecessors!
  br label %24626

24626:                                            ; preds = %24625
  br label %24627

24627:                                            ; preds = %24626, %24565
  br label %24628

24628:                                            ; preds = %24627
  br label %24629

24629:                                            ; preds = %24628
  br label %24630

24630:                                            ; preds = %24629
  br label %24631

24631:                                            ; preds = %24630
  %24632 = load i32, ptr @test_count, align 4, !tbaa !5
  %24633 = add nsw i32 %24632, 1
  store i32 %24633, ptr @test_count, align 4, !tbaa !5
  %24634 = load ptr, ptr %491, align 8, !tbaa !9
  %24635 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %24634, i32 0, i32 2
  %24636 = getelementptr inbounds %struct.s2n_blob, ptr %24635, i32 0, i32 0
  %24637 = load ptr, ptr %24636, align 8, !tbaa !87
  %24638 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %24639 = call i32 @memcmp(ptr noundef %24637, ptr noundef %24638, i64 noundef 10) #14
  %24640 = icmp eq i32 %24639, 0
  br i1 %24640, label %24694, label %24641

24641:                                            ; preds = %24631
  br label %24642

24642:                                            ; preds = %24641
  br label %24643

24643:                                            ; preds = %24642
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %24644 = call ptr @__errno_location() #12
  %24645 = load i32, ptr %24644, align 4, !tbaa !5
  store i32 %24645, ptr %498, align 4, !tbaa !5
  %24646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24647 = call i32 @s2n_print_stacktrace(ptr noundef %24646)
  %24648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24649 = trunc i8 %24648 to i1
  br i1 %24649, label %24650, label %24672

24650:                                            ; preds = %24643
  %24651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24652 = call i32 @fileno(ptr noundef %24651) #11
  %24653 = call i32 @isatty(i32 noundef %24652) #11
  %24654 = icmp ne i32 %24653, 0
  br i1 %24654, label %24655, label %24672

24655:                                            ; preds = %24650
  %24656 = load i32, ptr %498, align 4, !tbaa !5
  %24657 = call ptr @__errno_location() #12
  store i32 %24656, ptr %24657, align 4, !tbaa !5
  %24658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24659 = load i32, ptr @test_count, align 4, !tbaa !5
  %24660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24661 = load i32, ptr %24660, align 4, !tbaa !5
  %24662 = call ptr @s2n_strerror(i32 noundef %24661, ptr noundef @.str.4)
  %24663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24664 = load i32, ptr %24663, align 4, !tbaa !5
  %24665 = call ptr @s2n_strerror_debug(i32 noundef %24664, ptr noundef @.str.4)
  %24666 = call ptr @__errno_location() #12
  %24667 = load i32, ptr %24666, align 4, !tbaa !5
  %24668 = call ptr @strerror(i32 noundef %24667) #11
  %24669 = call ptr @__errno_location() #12
  %24670 = load i32, ptr %24669, align 4, !tbaa !5
  %24671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24658, ptr noundef @.str.2, i32 noundef %24659, ptr noundef @.str.267, ptr noundef @.str.1, i32 noundef 948, ptr noundef %24662, ptr noundef %24665, ptr noundef %24668, i32 noundef %24670) #11
  br label %24689

24672:                                            ; preds = %24650, %24643
  %24673 = load i32, ptr %498, align 4, !tbaa !5
  %24674 = call ptr @__errno_location() #12
  store i32 %24673, ptr %24674, align 4, !tbaa !5
  %24675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24676 = load i32, ptr @test_count, align 4, !tbaa !5
  %24677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24678 = load i32, ptr %24677, align 4, !tbaa !5
  %24679 = call ptr @s2n_strerror(i32 noundef %24678, ptr noundef @.str.4)
  %24680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24681 = load i32, ptr %24680, align 4, !tbaa !5
  %24682 = call ptr @s2n_strerror_debug(i32 noundef %24681, ptr noundef @.str.4)
  %24683 = call ptr @__errno_location() #12
  %24684 = load i32, ptr %24683, align 4, !tbaa !5
  %24685 = call ptr @strerror(i32 noundef %24684) #11
  %24686 = call ptr @__errno_location() #12
  %24687 = load i32, ptr %24686, align 4, !tbaa !5
  %24688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24675, ptr noundef @.str.5, i32 noundef %24676, ptr noundef @.str.267, ptr noundef @.str.1, i32 noundef 948, ptr noundef %24679, ptr noundef %24682, ptr noundef %24685, i32 noundef %24687) #11
  br label %24689

24689:                                            ; preds = %24672, %24655
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %24690

24690:                                            ; preds = %24689
  br label %24691

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

24692:                                            ; No predecessors!
  br label %24693

24693:                                            ; preds = %24692
  br label %24694

24694:                                            ; preds = %24693, %24631
  br label %24695

24695:                                            ; preds = %24694
  br label %24696

24696:                                            ; preds = %24695
  br label %24697

24697:                                            ; preds = %24696
  br label %24698

24698:                                            ; preds = %24697
  br label %24699

24699:                                            ; preds = %24698
  %24700 = load i32, ptr @test_count, align 4, !tbaa !5
  %24701 = add nsw i32 %24700, 1
  store i32 %24701, ptr @test_count, align 4, !tbaa !5
  %24702 = load ptr, ptr %491, align 8, !tbaa !9
  %24703 = getelementptr inbounds [15 x i8], ptr %490, i64 0, i64 0
  %24704 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %24702, ptr noundef %24703, i32 noundef 15)
  %24705 = icmp eq i32 %24704, -1
  br i1 %24705, label %24706, label %24759

24706:                                            ; preds = %24699
  br label %24707

24707:                                            ; preds = %24706
  br label %24708

24708:                                            ; preds = %24707
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %24709 = call ptr @__errno_location() #12
  %24710 = load i32, ptr %24709, align 4, !tbaa !5
  store i32 %24710, ptr %499, align 4, !tbaa !5
  %24711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24712 = call i32 @s2n_print_stacktrace(ptr noundef %24711)
  %24713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24714 = trunc i8 %24713 to i1
  br i1 %24714, label %24715, label %24737

24715:                                            ; preds = %24708
  %24716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24717 = call i32 @fileno(ptr noundef %24716) #11
  %24718 = call i32 @isatty(i32 noundef %24717) #11
  %24719 = icmp ne i32 %24718, 0
  br i1 %24719, label %24720, label %24737

24720:                                            ; preds = %24715
  %24721 = load i32, ptr %499, align 4, !tbaa !5
  %24722 = call ptr @__errno_location() #12
  store i32 %24721, ptr %24722, align 4, !tbaa !5
  %24723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24724 = load i32, ptr @test_count, align 4, !tbaa !5
  %24725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24726 = load i32, ptr %24725, align 4, !tbaa !5
  %24727 = call ptr @s2n_strerror(i32 noundef %24726, ptr noundef @.str.4)
  %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_debug(i32 noundef %24729, ptr noundef @.str.4)
  %24731 = call ptr @__errno_location() #12
  %24732 = load i32, ptr %24731, align 4, !tbaa !5
  %24733 = call ptr @strerror(i32 noundef %24732) #11
  %24734 = call ptr @__errno_location() #12
  %24735 = load i32, ptr %24734, align 4, !tbaa !5
  %24736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24723, ptr noundef @.str.2, i32 noundef %24724, ptr noundef @.str.268, ptr noundef @.str.1, i32 noundef 951, ptr noundef %24727, ptr noundef %24730, ptr noundef %24733, i32 noundef %24735) #11
  br label %24754

24737:                                            ; preds = %24715, %24708
  %24738 = load i32, ptr %499, align 4, !tbaa !5
  %24739 = call ptr @__errno_location() #12
  store i32 %24738, ptr %24739, align 4, !tbaa !5
  %24740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24741 = load i32, ptr @test_count, align 4, !tbaa !5
  %24742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24743 = load i32, ptr %24742, align 4, !tbaa !5
  %24744 = call ptr @s2n_strerror(i32 noundef %24743, ptr noundef @.str.4)
  %24745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24746 = load i32, ptr %24745, align 4, !tbaa !5
  %24747 = call ptr @s2n_strerror_debug(i32 noundef %24746, ptr noundef @.str.4)
  %24748 = call ptr @__errno_location() #12
  %24749 = load i32, ptr %24748, align 4, !tbaa !5
  %24750 = call ptr @strerror(i32 noundef %24749) #11
  %24751 = call ptr @__errno_location() #12
  %24752 = load i32, ptr %24751, align 4, !tbaa !5
  %24753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24740, ptr noundef @.str.5, i32 noundef %24741, ptr noundef @.str.268, ptr noundef @.str.1, i32 noundef 951, ptr noundef %24744, ptr noundef %24747, ptr noundef %24750, i32 noundef %24752) #11
  br label %24754

24754:                                            ; preds = %24737, %24720
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %24755

24755:                                            ; preds = %24754
  br label %24756

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

24757:                                            ; No predecessors!
  br label %24758

24758:                                            ; preds = %24757
  br label %24759

24759:                                            ; preds = %24758, %24699
  br label %24760

24760:                                            ; preds = %24759
  br label %24761

24761:                                            ; preds = %24760
  br label %24762

24762:                                            ; preds = %24761
  %24763 = load i32, ptr @test_count, align 4, !tbaa !5
  %24764 = add nsw i32 %24763, 1
  store i32 %24764, ptr @test_count, align 4, !tbaa !5
  %24765 = load ptr, ptr %491, align 8, !tbaa !9
  %24766 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %24765, i32 0, i32 2
  %24767 = getelementptr inbounds %struct.s2n_blob, ptr %24766, i32 0, i32 1
  %24768 = load i32, ptr %24767, align 8, !tbaa !86
  %24769 = zext i32 %24768 to i64
  %24770 = icmp eq i64 %24769, 15
  br i1 %24770, label %24824, label %24771

24771:                                            ; preds = %24762
  br label %24772

24772:                                            ; preds = %24771
  br label %24773

24773:                                            ; preds = %24772
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %24774 = call ptr @__errno_location() #12
  %24775 = load i32, ptr %24774, align 4, !tbaa !5
  store i32 %24775, ptr %500, align 4, !tbaa !5
  %24776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24777 = call i32 @s2n_print_stacktrace(ptr noundef %24776)
  %24778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24779 = trunc i8 %24778 to i1
  br i1 %24779, label %24780, label %24802

24780:                                            ; preds = %24773
  %24781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24782 = call i32 @fileno(ptr noundef %24781) #11
  %24783 = call i32 @isatty(i32 noundef %24782) #11
  %24784 = icmp ne i32 %24783, 0
  br i1 %24784, label %24785, label %24802

24785:                                            ; preds = %24780
  %24786 = load i32, ptr %500, 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.4)
  %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.4)
  %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.2, i32 noundef %24789, ptr noundef @.str.269, ptr noundef @.str.1, i32 noundef 952, ptr noundef %24792, ptr noundef %24795, ptr noundef %24798, i32 noundef %24800) #11
  br label %24819

24802:                                            ; preds = %24780, %24773
  %24803 = load i32, ptr %500, align 4, !tbaa !5
  %24804 = call ptr @__errno_location() #12
  store i32 %24803, ptr %24804, align 4, !tbaa !5
  %24805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24806 = load i32, ptr @test_count, align 4, !tbaa !5
  %24807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call ptr @s2n_strerror(i32 noundef %24808, ptr noundef @.str.4)
  %24810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24811 = load i32, ptr %24810, align 4, !tbaa !5
  %24812 = call ptr @s2n_strerror_debug(i32 noundef %24811, ptr noundef @.str.4)
  %24813 = call ptr @__errno_location() #12
  %24814 = load i32, ptr %24813, align 4, !tbaa !5
  %24815 = call ptr @strerror(i32 noundef %24814) #11
  %24816 = call ptr @__errno_location() #12
  %24817 = load i32, ptr %24816, align 4, !tbaa !5
  %24818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24805, ptr noundef @.str.5, i32 noundef %24806, ptr noundef @.str.269, ptr noundef @.str.1, i32 noundef 952, ptr noundef %24809, ptr noundef %24812, ptr noundef %24815, i32 noundef %24817) #11
  br label %24819

24819:                                            ; preds = %24802, %24785
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %24820

24820:                                            ; preds = %24819
  br label %24821

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

24822:                                            ; No predecessors!
  br label %24823

24823:                                            ; preds = %24822
  br label %24824

24824:                                            ; preds = %24823, %24762
  br label %24825

24825:                                            ; preds = %24824
  br label %24826

24826:                                            ; preds = %24825
  br label %24827

24827:                                            ; preds = %24826
  br label %24828

24828:                                            ; preds = %24827
  %24829 = load i32, ptr @test_count, align 4, !tbaa !5
  %24830 = add nsw i32 %24829, 1
  store i32 %24830, ptr @test_count, align 4, !tbaa !5
  %24831 = load ptr, ptr %491, align 8, !tbaa !9
  %24832 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %24831, i32 0, i32 2
  %24833 = getelementptr inbounds %struct.s2n_blob, ptr %24832, i32 0, i32 0
  %24834 = load ptr, ptr %24833, align 8, !tbaa !87
  %24835 = getelementptr inbounds [15 x i8], ptr %490, i64 0, i64 0
  %24836 = call i32 @memcmp(ptr noundef %24834, ptr noundef %24835, i64 noundef 15) #14
  %24837 = icmp eq i32 %24836, 0
  br i1 %24837, label %24891, label %24838

24838:                                            ; preds = %24828
  br label %24839

24839:                                            ; preds = %24838
  br label %24840

24840:                                            ; preds = %24839
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %24841 = call ptr @__errno_location() #12
  %24842 = load i32, ptr %24841, align 4, !tbaa !5
  store i32 %24842, ptr %501, align 4, !tbaa !5
  %24843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24844 = call i32 @s2n_print_stacktrace(ptr noundef %24843)
  %24845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24846 = trunc i8 %24845 to i1
  br i1 %24846, label %24847, label %24869

24847:                                            ; preds = %24840
  %24848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24849 = call i32 @fileno(ptr noundef %24848) #11
  %24850 = call i32 @isatty(i32 noundef %24849) #11
  %24851 = icmp ne i32 %24850, 0
  br i1 %24851, label %24852, label %24869

24852:                                            ; preds = %24847
  %24853 = load i32, ptr %501, align 4, !tbaa !5
  %24854 = call ptr @__errno_location() #12
  store i32 %24853, ptr %24854, align 4, !tbaa !5
  %24855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24856 = load i32, ptr @test_count, align 4, !tbaa !5
  %24857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24858 = load i32, ptr %24857, align 4, !tbaa !5
  %24859 = call ptr @s2n_strerror(i32 noundef %24858, ptr noundef @.str.4)
  %24860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24861 = load i32, ptr %24860, align 4, !tbaa !5
  %24862 = call ptr @s2n_strerror_debug(i32 noundef %24861, ptr noundef @.str.4)
  %24863 = call ptr @__errno_location() #12
  %24864 = load i32, ptr %24863, align 4, !tbaa !5
  %24865 = call ptr @strerror(i32 noundef %24864) #11
  %24866 = call ptr @__errno_location() #12
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  %24868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24855, ptr noundef @.str.2, i32 noundef %24856, ptr noundef @.str.270, ptr noundef @.str.1, i32 noundef 953, ptr noundef %24859, ptr noundef %24862, ptr noundef %24865, i32 noundef %24867) #11
  br label %24886

24869:                                            ; preds = %24847, %24840
  %24870 = load i32, ptr %501, align 4, !tbaa !5
  %24871 = call ptr @__errno_location() #12
  store i32 %24870, ptr %24871, align 4, !tbaa !5
  %24872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24873 = load i32, ptr @test_count, align 4, !tbaa !5
  %24874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24875 = load i32, ptr %24874, align 4, !tbaa !5
  %24876 = call ptr @s2n_strerror(i32 noundef %24875, ptr noundef @.str.4)
  %24877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24878 = load i32, ptr %24877, align 4, !tbaa !5
  %24879 = call ptr @s2n_strerror_debug(i32 noundef %24878, ptr noundef @.str.4)
  %24880 = call ptr @__errno_location() #12
  %24881 = load i32, ptr %24880, align 4, !tbaa !5
  %24882 = call ptr @strerror(i32 noundef %24881) #11
  %24883 = call ptr @__errno_location() #12
  %24884 = load i32, ptr %24883, align 4, !tbaa !5
  %24885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24872, ptr noundef @.str.5, i32 noundef %24873, ptr noundef @.str.270, ptr noundef @.str.1, i32 noundef 953, ptr noundef %24876, ptr noundef %24879, ptr noundef %24882, i32 noundef %24884) #11
  br label %24886

24886:                                            ; preds = %24869, %24852
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %24887

24887:                                            ; preds = %24886
  br label %24888

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

24889:                                            ; No predecessors!
  br label %24890

24890:                                            ; preds = %24889
  br label %24891

24891:                                            ; preds = %24890, %24828
  br label %24892

24892:                                            ; preds = %24891
  br label %24893

24893:                                            ; preds = %24892
  br label %24894

24894:                                            ; preds = %24893
  br label %24895

24895:                                            ; preds = %24894
  br label %24896

24896:                                            ; preds = %24895
  %24897 = load i32, ptr @test_count, align 4, !tbaa !5
  %24898 = add nsw i32 %24897, 1
  store i32 %24898, ptr @test_count, align 4, !tbaa !5
  %24899 = load ptr, ptr %491, align 8, !tbaa !9
  %24900 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %24899, ptr noundef null, i32 noundef 0)
  %24901 = icmp eq i32 %24900, -1
  br i1 %24901, label %24902, label %24955

24902:                                            ; preds = %24896
  br label %24903

24903:                                            ; preds = %24902
  br label %24904

24904:                                            ; preds = %24903
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %24905 = call ptr @__errno_location() #12
  %24906 = load i32, ptr %24905, align 4, !tbaa !5
  store i32 %24906, ptr %502, align 4, !tbaa !5
  %24907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24908 = call i32 @s2n_print_stacktrace(ptr noundef %24907)
  %24909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24910 = trunc i8 %24909 to i1
  br i1 %24910, label %24911, label %24933

24911:                                            ; preds = %24904
  %24912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24913 = call i32 @fileno(ptr noundef %24912) #11
  %24914 = call i32 @isatty(i32 noundef %24913) #11
  %24915 = icmp ne i32 %24914, 0
  br i1 %24915, label %24916, label %24933

24916:                                            ; preds = %24911
  %24917 = load i32, ptr %502, align 4, !tbaa !5
  %24918 = call ptr @__errno_location() #12
  store i32 %24917, ptr %24918, align 4, !tbaa !5
  %24919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24920 = load i32, ptr @test_count, align 4, !tbaa !5
  %24921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24922 = load i32, ptr %24921, align 4, !tbaa !5
  %24923 = call ptr @s2n_strerror(i32 noundef %24922, ptr noundef @.str.4)
  %24924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24925 = load i32, ptr %24924, align 4, !tbaa !5
  %24926 = call ptr @s2n_strerror_debug(i32 noundef %24925, ptr noundef @.str.4)
  %24927 = call ptr @__errno_location() #12
  %24928 = load i32, ptr %24927, align 4, !tbaa !5
  %24929 = call ptr @strerror(i32 noundef %24928) #11
  %24930 = call ptr @__errno_location() #12
  %24931 = load i32, ptr %24930, align 4, !tbaa !5
  %24932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24919, ptr noundef @.str.2, i32 noundef %24920, ptr noundef @.str.271, ptr noundef @.str.1, i32 noundef 956, ptr noundef %24923, ptr noundef %24926, ptr noundef %24929, i32 noundef %24931) #11
  br label %24950

24933:                                            ; preds = %24911, %24904
  %24934 = load i32, ptr %502, align 4, !tbaa !5
  %24935 = call ptr @__errno_location() #12
  store i32 %24934, ptr %24935, align 4, !tbaa !5
  %24936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24937 = load i32, ptr @test_count, align 4, !tbaa !5
  %24938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24939 = load i32, ptr %24938, align 4, !tbaa !5
  %24940 = call ptr @s2n_strerror(i32 noundef %24939, ptr noundef @.str.4)
  %24941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24942 = load i32, ptr %24941, align 4, !tbaa !5
  %24943 = call ptr @s2n_strerror_debug(i32 noundef %24942, ptr noundef @.str.4)
  %24944 = call ptr @__errno_location() #12
  %24945 = load i32, ptr %24944, align 4, !tbaa !5
  %24946 = call ptr @strerror(i32 noundef %24945) #11
  %24947 = call ptr @__errno_location() #12
  %24948 = load i32, ptr %24947, align 4, !tbaa !5
  %24949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24936, ptr noundef @.str.5, i32 noundef %24937, ptr noundef @.str.271, ptr noundef @.str.1, i32 noundef 956, ptr noundef %24940, ptr noundef %24943, ptr noundef %24946, i32 noundef %24948) #11
  br label %24950

24950:                                            ; preds = %24933, %24916
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %24951

24951:                                            ; preds = %24950
  br label %24952

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

24953:                                            ; No predecessors!
  br label %24954

24954:                                            ; preds = %24953
  br label %24955

24955:                                            ; preds = %24954, %24896
  br label %24956

24956:                                            ; preds = %24955
  br label %24957

24957:                                            ; preds = %24956
  br label %24958

24958:                                            ; preds = %24957
  %24959 = load i32, ptr @test_count, align 4, !tbaa !5
  %24960 = add nsw i32 %24959, 1
  store i32 %24960, ptr @test_count, align 4, !tbaa !5
  %24961 = load ptr, ptr %491, align 8, !tbaa !9
  %24962 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %24961, i32 0, i32 2
  %24963 = getelementptr inbounds %struct.s2n_blob, ptr %24962, i32 0, i32 1
  %24964 = load i32, ptr %24963, align 8, !tbaa !86
  %24965 = icmp eq i32 %24964, 0
  br i1 %24965, label %25019, label %24966

24966:                                            ; preds = %24958
  br label %24967

24967:                                            ; preds = %24966
  br label %24968

24968:                                            ; preds = %24967
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %24969 = call ptr @__errno_location() #12
  %24970 = load i32, ptr %24969, align 4, !tbaa !5
  store i32 %24970, ptr %503, align 4, !tbaa !5
  %24971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24972 = call i32 @s2n_print_stacktrace(ptr noundef %24971)
  %24973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24974 = trunc i8 %24973 to i1
  br i1 %24974, label %24975, label %24997

24975:                                            ; preds = %24968
  %24976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24977 = call i32 @fileno(ptr noundef %24976) #11
  %24978 = call i32 @isatty(i32 noundef %24977) #11
  %24979 = icmp ne i32 %24978, 0
  br i1 %24979, label %24980, label %24997

24980:                                            ; preds = %24975
  %24981 = load i32, ptr %503, align 4, !tbaa !5
  %24982 = call ptr @__errno_location() #12
  store i32 %24981, ptr %24982, align 4, !tbaa !5
  %24983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24984 = load i32, ptr @test_count, align 4, !tbaa !5
  %24985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24986 = load i32, ptr %24985, align 4, !tbaa !5
  %24987 = call ptr @s2n_strerror(i32 noundef %24986, ptr noundef @.str.4)
  %24988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24989 = load i32, ptr %24988, align 4, !tbaa !5
  %24990 = call ptr @s2n_strerror_debug(i32 noundef %24989, ptr noundef @.str.4)
  %24991 = call ptr @__errno_location() #12
  %24992 = load i32, ptr %24991, align 4, !tbaa !5
  %24993 = call ptr @strerror(i32 noundef %24992) #11
  %24994 = call ptr @__errno_location() #12
  %24995 = load i32, ptr %24994, align 4, !tbaa !5
  %24996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24983, ptr noundef @.str.2, i32 noundef %24984, ptr noundef @.str.272, ptr noundef @.str.1, i32 noundef 957, ptr noundef %24987, ptr noundef %24990, ptr noundef %24993, i32 noundef %24995) #11
  br label %25014

24997:                                            ; preds = %24975, %24968
  %24998 = load i32, ptr %503, align 4, !tbaa !5
  %24999 = call ptr @__errno_location() #12
  store i32 %24998, ptr %24999, align 4, !tbaa !5
  %25000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25001 = load i32, ptr @test_count, align 4, !tbaa !5
  %25002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25003 = load i32, ptr %25002, align 4, !tbaa !5
  %25004 = call ptr @s2n_strerror(i32 noundef %25003, ptr noundef @.str.4)
  %25005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25006 = load i32, ptr %25005, align 4, !tbaa !5
  %25007 = call ptr @s2n_strerror_debug(i32 noundef %25006, ptr noundef @.str.4)
  %25008 = call ptr @__errno_location() #12
  %25009 = load i32, ptr %25008, align 4, !tbaa !5
  %25010 = call ptr @strerror(i32 noundef %25009) #11
  %25011 = call ptr @__errno_location() #12
  %25012 = load i32, ptr %25011, align 4, !tbaa !5
  %25013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25000, ptr noundef @.str.5, i32 noundef %25001, ptr noundef @.str.272, ptr noundef @.str.1, i32 noundef 957, ptr noundef %25004, ptr noundef %25007, ptr noundef %25010, i32 noundef %25012) #11
  br label %25014

25014:                                            ; preds = %24997, %24980
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %25015

25015:                                            ; preds = %25014
  br label %25016

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

25017:                                            ; No predecessors!
  br label %25018

25018:                                            ; preds = %25017
  br label %25019

25019:                                            ; preds = %25018, %24958
  br label %25020

25020:                                            ; preds = %25019
  br label %25021

25021:                                            ; preds = %25020
  br label %25022

25022:                                            ; preds = %25021
  %25023 = load i32, ptr @test_count, align 4, !tbaa !5
  %25024 = add nsw i32 %25023, 1
  store i32 %25024, ptr @test_count, align 4, !tbaa !5
  %25025 = load ptr, ptr %491, align 8, !tbaa !9
  %25026 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %25027 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %25025, ptr noundef %25026, i32 noundef 10)
  %25028 = icmp eq i32 %25027, -1
  br i1 %25028, label %25029, label %25082

25029:                                            ; preds = %25022
  br label %25030

25030:                                            ; preds = %25029
  br label %25031

25031:                                            ; preds = %25030
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %25032 = call ptr @__errno_location() #12
  %25033 = load i32, ptr %25032, align 4, !tbaa !5
  store i32 %25033, ptr %504, align 4, !tbaa !5
  %25034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25035 = call i32 @s2n_print_stacktrace(ptr noundef %25034)
  %25036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25037 = trunc i8 %25036 to i1
  br i1 %25037, label %25038, label %25060

25038:                                            ; preds = %25031
  %25039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25040 = call i32 @fileno(ptr noundef %25039) #11
  %25041 = call i32 @isatty(i32 noundef %25040) #11
  %25042 = icmp ne i32 %25041, 0
  br i1 %25042, label %25043, label %25060

25043:                                            ; preds = %25038
  %25044 = load i32, ptr %504, align 4, !tbaa !5
  %25045 = call ptr @__errno_location() #12
  store i32 %25044, ptr %25045, align 4, !tbaa !5
  %25046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25047 = load i32, ptr @test_count, align 4, !tbaa !5
  %25048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25049 = load i32, ptr %25048, align 4, !tbaa !5
  %25050 = call ptr @s2n_strerror(i32 noundef %25049, ptr noundef @.str.4)
  %25051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25052 = load i32, ptr %25051, align 4, !tbaa !5
  %25053 = call ptr @s2n_strerror_debug(i32 noundef %25052, ptr noundef @.str.4)
  %25054 = call ptr @__errno_location() #12
  %25055 = load i32, ptr %25054, align 4, !tbaa !5
  %25056 = call ptr @strerror(i32 noundef %25055) #11
  %25057 = call ptr @__errno_location() #12
  %25058 = load i32, ptr %25057, align 4, !tbaa !5
  %25059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25046, ptr noundef @.str.2, i32 noundef %25047, ptr noundef @.str.265, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25050, ptr noundef %25053, ptr noundef %25056, i32 noundef %25058) #11
  br label %25077

25060:                                            ; preds = %25038, %25031
  %25061 = load i32, ptr %504, align 4, !tbaa !5
  %25062 = call ptr @__errno_location() #12
  store i32 %25061, ptr %25062, align 4, !tbaa !5
  %25063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25064 = load i32, ptr @test_count, align 4, !tbaa !5
  %25065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25066 = load i32, ptr %25065, align 4, !tbaa !5
  %25067 = call ptr @s2n_strerror(i32 noundef %25066, ptr noundef @.str.4)
  %25068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25069 = load i32, ptr %25068, align 4, !tbaa !5
  %25070 = call ptr @s2n_strerror_debug(i32 noundef %25069, ptr noundef @.str.4)
  %25071 = call ptr @__errno_location() #12
  %25072 = load i32, ptr %25071, align 4, !tbaa !5
  %25073 = call ptr @strerror(i32 noundef %25072) #11
  %25074 = call ptr @__errno_location() #12
  %25075 = load i32, ptr %25074, align 4, !tbaa !5
  %25076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25063, ptr noundef @.str.5, i32 noundef %25064, ptr noundef @.str.265, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25067, ptr noundef %25070, ptr noundef %25073, i32 noundef %25075) #11
  br label %25077

25077:                                            ; preds = %25060, %25043
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %25078

25078:                                            ; preds = %25077
  br label %25079

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

25080:                                            ; No predecessors!
  br label %25081

25081:                                            ; preds = %25080
  br label %25082

25082:                                            ; preds = %25081, %25022
  br label %25083

25083:                                            ; preds = %25082
  br label %25084

25084:                                            ; preds = %25083
  br label %25085

25085:                                            ; preds = %25084
  %25086 = load i32, ptr @test_count, align 4, !tbaa !5
  %25087 = add nsw i32 %25086, 1
  store i32 %25087, ptr @test_count, align 4, !tbaa !5
  %25088 = load ptr, ptr %491, align 8, !tbaa !9
  %25089 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25088, i32 0, i32 2
  %25090 = getelementptr inbounds %struct.s2n_blob, ptr %25089, i32 0, i32 1
  %25091 = load i32, ptr %25090, align 8, !tbaa !86
  %25092 = zext i32 %25091 to i64
  %25093 = icmp eq i64 %25092, 10
  br i1 %25093, label %25147, label %25094

25094:                                            ; preds = %25085
  br label %25095

25095:                                            ; preds = %25094
  br label %25096

25096:                                            ; preds = %25095
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #11
  %25097 = call ptr @__errno_location() #12
  %25098 = load i32, ptr %25097, align 4, !tbaa !5
  store i32 %25098, ptr %505, align 4, !tbaa !5
  %25099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25100 = call i32 @s2n_print_stacktrace(ptr noundef %25099)
  %25101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25102 = trunc i8 %25101 to i1
  br i1 %25102, label %25103, label %25125

25103:                                            ; preds = %25096
  %25104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25105 = call i32 @fileno(ptr noundef %25104) #11
  %25106 = call i32 @isatty(i32 noundef %25105) #11
  %25107 = icmp ne i32 %25106, 0
  br i1 %25107, label %25108, label %25125

25108:                                            ; preds = %25103
  %25109 = load i32, ptr %505, align 4, !tbaa !5
  %25110 = call ptr @__errno_location() #12
  store i32 %25109, ptr %25110, align 4, !tbaa !5
  %25111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25112 = load i32, ptr @test_count, align 4, !tbaa !5
  %25113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25114 = load i32, ptr %25113, align 4, !tbaa !5
  %25115 = call ptr @s2n_strerror(i32 noundef %25114, ptr noundef @.str.4)
  %25116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25117 = load i32, ptr %25116, align 4, !tbaa !5
  %25118 = call ptr @s2n_strerror_debug(i32 noundef %25117, ptr noundef @.str.4)
  %25119 = call ptr @__errno_location() #12
  %25120 = load i32, ptr %25119, align 4, !tbaa !5
  %25121 = call ptr @strerror(i32 noundef %25120) #11
  %25122 = call ptr @__errno_location() #12
  %25123 = load i32, ptr %25122, align 4, !tbaa !5
  %25124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25111, ptr noundef @.str.2, i32 noundef %25112, ptr noundef @.str.266, ptr noundef @.str.1, i32 noundef 961, ptr noundef %25115, ptr noundef %25118, ptr noundef %25121, i32 noundef %25123) #11
  br label %25142

25125:                                            ; preds = %25103, %25096
  %25126 = load i32, ptr %505, align 4, !tbaa !5
  %25127 = call ptr @__errno_location() #12
  store i32 %25126, ptr %25127, align 4, !tbaa !5
  %25128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25129 = load i32, ptr @test_count, align 4, !tbaa !5
  %25130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25131 = load i32, ptr %25130, align 4, !tbaa !5
  %25132 = call ptr @s2n_strerror(i32 noundef %25131, ptr noundef @.str.4)
  %25133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25134 = load i32, ptr %25133, align 4, !tbaa !5
  %25135 = call ptr @s2n_strerror_debug(i32 noundef %25134, ptr noundef @.str.4)
  %25136 = call ptr @__errno_location() #12
  %25137 = load i32, ptr %25136, align 4, !tbaa !5
  %25138 = call ptr @strerror(i32 noundef %25137) #11
  %25139 = call ptr @__errno_location() #12
  %25140 = load i32, ptr %25139, align 4, !tbaa !5
  %25141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25128, ptr noundef @.str.5, i32 noundef %25129, ptr noundef @.str.266, ptr noundef @.str.1, i32 noundef 961, ptr noundef %25132, ptr noundef %25135, ptr noundef %25138, i32 noundef %25140) #11
  br label %25142

25142:                                            ; preds = %25125, %25108
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #11
  br label %25143

25143:                                            ; preds = %25142
  br label %25144

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

25145:                                            ; No predecessors!
  br label %25146

25146:                                            ; preds = %25145
  br label %25147

25147:                                            ; preds = %25146, %25085
  br label %25148

25148:                                            ; preds = %25147
  br label %25149

25149:                                            ; preds = %25148
  br label %25150

25150:                                            ; preds = %25149
  br label %25151

25151:                                            ; preds = %25150
  %25152 = load i32, ptr @test_count, align 4, !tbaa !5
  %25153 = add nsw i32 %25152, 1
  store i32 %25153, ptr @test_count, align 4, !tbaa !5
  %25154 = load ptr, ptr %491, align 8, !tbaa !9
  %25155 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25154, i32 0, i32 2
  %25156 = getelementptr inbounds %struct.s2n_blob, ptr %25155, i32 0, i32 0
  %25157 = load ptr, ptr %25156, align 8, !tbaa !87
  %25158 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %25159 = call i32 @memcmp(ptr noundef %25157, ptr noundef %25158, i64 noundef 10) #14
  %25160 = icmp eq i32 %25159, 0
  br i1 %25160, label %25214, label %25161

25161:                                            ; preds = %25151
  br label %25162

25162:                                            ; preds = %25161
  br label %25163

25163:                                            ; preds = %25162
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %25164 = call ptr @__errno_location() #12
  %25165 = load i32, ptr %25164, align 4, !tbaa !5
  store i32 %25165, ptr %506, align 4, !tbaa !5
  %25166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25167 = call i32 @s2n_print_stacktrace(ptr noundef %25166)
  %25168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25169 = trunc i8 %25168 to i1
  br i1 %25169, label %25170, label %25192

25170:                                            ; preds = %25163
  %25171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25172 = call i32 @fileno(ptr noundef %25171) #11
  %25173 = call i32 @isatty(i32 noundef %25172) #11
  %25174 = icmp ne i32 %25173, 0
  br i1 %25174, label %25175, label %25192

25175:                                            ; preds = %25170
  %25176 = load i32, ptr %506, align 4, !tbaa !5
  %25177 = call ptr @__errno_location() #12
  store i32 %25176, ptr %25177, align 4, !tbaa !5
  %25178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25179 = load i32, ptr @test_count, align 4, !tbaa !5
  %25180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25181 = load i32, ptr %25180, align 4, !tbaa !5
  %25182 = call ptr @s2n_strerror(i32 noundef %25181, ptr noundef @.str.4)
  %25183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25184 = load i32, ptr %25183, align 4, !tbaa !5
  %25185 = call ptr @s2n_strerror_debug(i32 noundef %25184, ptr noundef @.str.4)
  %25186 = call ptr @__errno_location() #12
  %25187 = load i32, ptr %25186, align 4, !tbaa !5
  %25188 = call ptr @strerror(i32 noundef %25187) #11
  %25189 = call ptr @__errno_location() #12
  %25190 = load i32, ptr %25189, align 4, !tbaa !5
  %25191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25178, ptr noundef @.str.2, i32 noundef %25179, ptr noundef @.str.267, ptr noundef @.str.1, i32 noundef 962, ptr noundef %25182, ptr noundef %25185, ptr noundef %25188, i32 noundef %25190) #11
  br label %25209

25192:                                            ; preds = %25170, %25163
  %25193 = load i32, ptr %506, align 4, !tbaa !5
  %25194 = call ptr @__errno_location() #12
  store i32 %25193, ptr %25194, align 4, !tbaa !5
  %25195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25196 = load i32, ptr @test_count, align 4, !tbaa !5
  %25197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25198 = load i32, ptr %25197, align 4, !tbaa !5
  %25199 = call ptr @s2n_strerror(i32 noundef %25198, ptr noundef @.str.4)
  %25200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25201 = load i32, ptr %25200, align 4, !tbaa !5
  %25202 = call ptr @s2n_strerror_debug(i32 noundef %25201, ptr noundef @.str.4)
  %25203 = call ptr @__errno_location() #12
  %25204 = load i32, ptr %25203, align 4, !tbaa !5
  %25205 = call ptr @strerror(i32 noundef %25204) #11
  %25206 = call ptr @__errno_location() #12
  %25207 = load i32, ptr %25206, align 4, !tbaa !5
  %25208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25195, ptr noundef @.str.5, i32 noundef %25196, ptr noundef @.str.267, ptr noundef @.str.1, i32 noundef 962, ptr noundef %25199, ptr noundef %25202, ptr noundef %25205, i32 noundef %25207) #11
  br label %25209

25209:                                            ; preds = %25192, %25175
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %25210

25210:                                            ; preds = %25209
  br label %25211

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

25212:                                            ; No predecessors!
  br label %25213

25213:                                            ; preds = %25212
  br label %25214

25214:                                            ; preds = %25213, %25151
  br label %25215

25215:                                            ; preds = %25214
  br label %25216

25216:                                            ; preds = %25215
  br label %25217

25217:                                            ; preds = %25216
  br label %25218

25218:                                            ; preds = %25217
  %25219 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %491)
  %25220 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  store i32 %25219, ptr %25220, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %491) #11
  call void @llvm.lifetime.end.p0(i64 15, ptr %490) #11
  call void @llvm.lifetime.start.p0(i64 9, ptr %508) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %508, ptr align 1 @__const.main.sct_list, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 15, ptr %509) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %509, ptr align 1 @__const.main.other_sct_list, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #11
  store ptr null, ptr %510, align 8, !tbaa !9
  br label %25221

25221:                                            ; preds = %25218
  %25222 = load i32, ptr @test_count, align 4, !tbaa !5
  %25223 = add nsw i32 %25222, 1
  store i32 %25223, ptr @test_count, align 4, !tbaa !5
  %25224 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %510, ptr noundef @.str.8, ptr noundef @.str.9)
  %25225 = icmp eq i32 %25224, -1
  br i1 %25225, label %25226, label %25279

25226:                                            ; preds = %25221
  br label %25227

25227:                                            ; preds = %25226
  br label %25228

25228:                                            ; preds = %25227
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %25229 = call ptr @__errno_location() #12
  %25230 = load i32, ptr %25229, align 4, !tbaa !5
  store i32 %25230, ptr %511, align 4, !tbaa !5
  %25231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25232 = call i32 @s2n_print_stacktrace(ptr noundef %25231)
  %25233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25234 = trunc i8 %25233 to i1
  br i1 %25234, label %25235, label %25257

25235:                                            ; preds = %25228
  %25236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25237 = call i32 @fileno(ptr noundef %25236) #11
  %25238 = call i32 @isatty(i32 noundef %25237) #11
  %25239 = icmp ne i32 %25238, 0
  br i1 %25239, label %25240, label %25257

25240:                                            ; preds = %25235
  %25241 = load i32, ptr %511, align 4, !tbaa !5
  %25242 = call ptr @__errno_location() #12
  store i32 %25241, ptr %25242, align 4, !tbaa !5
  %25243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25244 = load i32, ptr @test_count, align 4, !tbaa !5
  %25245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25246 = load i32, ptr %25245, align 4, !tbaa !5
  %25247 = call ptr @s2n_strerror(i32 noundef %25246, ptr noundef @.str.4)
  %25248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25249 = load i32, ptr %25248, align 4, !tbaa !5
  %25250 = call ptr @s2n_strerror_debug(i32 noundef %25249, ptr noundef @.str.4)
  %25251 = call ptr @__errno_location() #12
  %25252 = load i32, ptr %25251, align 4, !tbaa !5
  %25253 = call ptr @strerror(i32 noundef %25252) #11
  %25254 = call ptr @__errno_location() #12
  %25255 = load i32, ptr %25254, align 4, !tbaa !5
  %25256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25243, ptr noundef @.str.2, i32 noundef %25244, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 973, ptr noundef %25247, ptr noundef %25250, ptr noundef %25253, i32 noundef %25255) #11
  br label %25274

25257:                                            ; preds = %25235, %25228
  %25258 = load i32, ptr %511, align 4, !tbaa !5
  %25259 = call ptr @__errno_location() #12
  store i32 %25258, ptr %25259, align 4, !tbaa !5
  %25260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25261 = load i32, ptr @test_count, align 4, !tbaa !5
  %25262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25263 = load i32, ptr %25262, align 4, !tbaa !5
  %25264 = call ptr @s2n_strerror(i32 noundef %25263, ptr noundef @.str.4)
  %25265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25266 = load i32, ptr %25265, align 4, !tbaa !5
  %25267 = call ptr @s2n_strerror_debug(i32 noundef %25266, ptr noundef @.str.4)
  %25268 = call ptr @__errno_location() #12
  %25269 = load i32, ptr %25268, align 4, !tbaa !5
  %25270 = call ptr @strerror(i32 noundef %25269) #11
  %25271 = call ptr @__errno_location() #12
  %25272 = load i32, ptr %25271, align 4, !tbaa !5
  %25273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25260, ptr noundef @.str.5, i32 noundef %25261, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 973, ptr noundef %25264, ptr noundef %25267, ptr noundef %25270, i32 noundef %25272) #11
  br label %25274

25274:                                            ; preds = %25257, %25240
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %25275

25275:                                            ; preds = %25274
  br label %25276

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

25277:                                            ; No predecessors!
  br label %25278

25278:                                            ; preds = %25277
  br label %25279

25279:                                            ; preds = %25278, %25221
  br label %25280

25280:                                            ; preds = %25279
  br label %25281

25281:                                            ; preds = %25280
  br label %25282

25282:                                            ; preds = %25281
  br label %25283

25283:                                            ; preds = %25282
  %25284 = load i32, ptr @test_count, align 4, !tbaa !5
  %25285 = add nsw i32 %25284, 1
  store i32 %25285, ptr @test_count, align 4, !tbaa !5
  %25286 = getelementptr inbounds [9 x i8], ptr %508, i64 0, i64 0
  %25287 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef null, ptr noundef %25286, i32 noundef 9)
  %25288 = icmp eq i32 %25287, -1
  br i1 %25288, label %25342, label %25289

25289:                                            ; preds = %25283
  br label %25290

25290:                                            ; preds = %25289
  br label %25291

25291:                                            ; preds = %25290
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %25292 = call ptr @__errno_location() #12
  %25293 = load i32, ptr %25292, align 4, !tbaa !5
  store i32 %25293, ptr %512, align 4, !tbaa !5
  %25294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25295 = call i32 @s2n_print_stacktrace(ptr noundef %25294)
  %25296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25297 = trunc i8 %25296 to i1
  br i1 %25297, label %25298, label %25320

25298:                                            ; preds = %25291
  %25299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25300 = call i32 @fileno(ptr noundef %25299) #11
  %25301 = call i32 @isatty(i32 noundef %25300) #11
  %25302 = icmp ne i32 %25301, 0
  br i1 %25302, label %25303, label %25320

25303:                                            ; preds = %25298
  %25304 = load i32, ptr %512, align 4, !tbaa !5
  %25305 = call ptr @__errno_location() #12
  store i32 %25304, ptr %25305, align 4, !tbaa !5
  %25306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25307 = load i32, ptr @test_count, align 4, !tbaa !5
  %25308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25309 = load i32, ptr %25308, align 4, !tbaa !5
  %25310 = call ptr @s2n_strerror(i32 noundef %25309, ptr noundef @.str.4)
  %25311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25312 = load i32, ptr %25311, align 4, !tbaa !5
  %25313 = call ptr @s2n_strerror_debug(i32 noundef %25312, ptr noundef @.str.4)
  %25314 = call ptr @__errno_location() #12
  %25315 = load i32, ptr %25314, align 4, !tbaa !5
  %25316 = call ptr @strerror(i32 noundef %25315) #11
  %25317 = call ptr @__errno_location() #12
  %25318 = load i32, ptr %25317, align 4, !tbaa !5
  %25319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25306, ptr noundef @.str.2, i32 noundef %25307, ptr noundef @.str.273, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25310, ptr noundef %25313, ptr noundef %25316, i32 noundef %25318) #11
  br label %25337

25320:                                            ; preds = %25298, %25291
  %25321 = load i32, ptr %512, align 4, !tbaa !5
  %25322 = call ptr @__errno_location() #12
  store i32 %25321, ptr %25322, align 4, !tbaa !5
  %25323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25324 = load i32, ptr @test_count, align 4, !tbaa !5
  %25325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25326 = load i32, ptr %25325, align 4, !tbaa !5
  %25327 = call ptr @s2n_strerror(i32 noundef %25326, ptr noundef @.str.4)
  %25328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25329 = load i32, ptr %25328, align 4, !tbaa !5
  %25330 = call ptr @s2n_strerror_debug(i32 noundef %25329, ptr noundef @.str.4)
  %25331 = call ptr @__errno_location() #12
  %25332 = load i32, ptr %25331, align 4, !tbaa !5
  %25333 = call ptr @strerror(i32 noundef %25332) #11
  %25334 = call ptr @__errno_location() #12
  %25335 = load i32, ptr %25334, align 4, !tbaa !5
  %25336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25323, ptr noundef @.str.5, i32 noundef %25324, ptr noundef @.str.273, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25327, ptr noundef %25330, ptr noundef %25333, i32 noundef %25335) #11
  br label %25337

25337:                                            ; preds = %25320, %25303
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %25338

25338:                                            ; preds = %25337
  br label %25339

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

25340:                                            ; No predecessors!
  br label %25341

25341:                                            ; preds = %25340
  br label %25342

25342:                                            ; preds = %25341, %25283
  br label %25343

25343:                                            ; preds = %25342
  br label %25344

25344:                                            ; preds = %25343
  br label %25345

25345:                                            ; preds = %25344
  %25346 = load i32, ptr @test_count, align 4, !tbaa !5
  %25347 = add nsw i32 %25346, 1
  store i32 %25347, ptr @test_count, align 4, !tbaa !5
  %25348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25349 = load i32, ptr %25348, align 4, !tbaa !5
  %25350 = icmp eq i32 %25349, 0
  br i1 %25350, label %25351, label %25404

25351:                                            ; preds = %25345
  br label %25352

25352:                                            ; preds = %25351
  br label %25353

25353:                                            ; preds = %25352
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %25354 = call ptr @__errno_location() #12
  %25355 = load i32, ptr %25354, align 4, !tbaa !5
  store i32 %25355, ptr %513, align 4, !tbaa !5
  %25356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25357 = call i32 @s2n_print_stacktrace(ptr noundef %25356)
  %25358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25359 = trunc i8 %25358 to i1
  br i1 %25359, label %25360, label %25382

25360:                                            ; preds = %25353
  %25361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25362 = call i32 @fileno(ptr noundef %25361) #11
  %25363 = call i32 @isatty(i32 noundef %25362) #11
  %25364 = icmp ne i32 %25363, 0
  br i1 %25364, label %25365, label %25382

25365:                                            ; preds = %25360
  %25366 = load i32, ptr %513, align 4, !tbaa !5
  %25367 = call ptr @__errno_location() #12
  store i32 %25366, ptr %25367, align 4, !tbaa !5
  %25368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25369 = load i32, ptr @test_count, align 4, !tbaa !5
  %25370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25371 = load i32, ptr %25370, align 4, !tbaa !5
  %25372 = call ptr @s2n_strerror(i32 noundef %25371, ptr noundef @.str.4)
  %25373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25374 = load i32, ptr %25373, align 4, !tbaa !5
  %25375 = call ptr @s2n_strerror_debug(i32 noundef %25374, ptr noundef @.str.4)
  %25376 = call ptr @__errno_location() #12
  %25377 = load i32, ptr %25376, align 4, !tbaa !5
  %25378 = call ptr @strerror(i32 noundef %25377) #11
  %25379 = call ptr @__errno_location() #12
  %25380 = load i32, ptr %25379, align 4, !tbaa !5
  %25381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25368, ptr noundef @.str.2, i32 noundef %25369, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25372, ptr noundef %25375, ptr noundef %25378, i32 noundef %25380) #11
  br label %25399

25382:                                            ; preds = %25360, %25353
  %25383 = load i32, ptr %513, align 4, !tbaa !5
  %25384 = call ptr @__errno_location() #12
  store i32 %25383, ptr %25384, align 4, !tbaa !5
  %25385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25386 = load i32, ptr @test_count, align 4, !tbaa !5
  %25387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25388 = load i32, ptr %25387, align 4, !tbaa !5
  %25389 = call ptr @s2n_strerror(i32 noundef %25388, ptr noundef @.str.4)
  %25390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25391 = load i32, ptr %25390, align 4, !tbaa !5
  %25392 = call ptr @s2n_strerror_debug(i32 noundef %25391, ptr noundef @.str.4)
  %25393 = call ptr @__errno_location() #12
  %25394 = load i32, ptr %25393, align 4, !tbaa !5
  %25395 = call ptr @strerror(i32 noundef %25394) #11
  %25396 = call ptr @__errno_location() #12
  %25397 = load i32, ptr %25396, align 4, !tbaa !5
  %25398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25385, ptr noundef @.str.5, i32 noundef %25386, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25389, ptr noundef %25392, ptr noundef %25395, i32 noundef %25397) #11
  br label %25399

25399:                                            ; preds = %25382, %25365
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %25400

25400:                                            ; preds = %25399
  br label %25401

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

25402:                                            ; No predecessors!
  br label %25403

25403:                                            ; preds = %25402
  br label %25404

25404:                                            ; preds = %25403, %25345
  br label %25405

25405:                                            ; preds = %25404
  br label %25406

25406:                                            ; preds = %25405
  br label %25407

25407:                                            ; preds = %25406
  %25408 = load i32, ptr @test_count, align 4, !tbaa !5
  %25409 = add nsw i32 %25408, 1
  store i32 %25409, ptr @test_count, align 4, !tbaa !5
  %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.4)
  %25413 = icmp eq ptr %25412, null
  br i1 %25413, label %25414, label %25467

25414:                                            ; preds = %25407
  br label %25415

25415:                                            ; preds = %25414
  br label %25416

25416:                                            ; preds = %25415
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %25417 = call ptr @__errno_location() #12
  %25418 = load i32, ptr %25417, align 4, !tbaa !5
  store i32 %25418, ptr %514, align 4, !tbaa !5
  %25419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25420 = call i32 @s2n_print_stacktrace(ptr noundef %25419)
  %25421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25422 = trunc i8 %25421 to i1
  br i1 %25422, label %25423, label %25445

25423:                                            ; preds = %25416
  %25424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25425 = call i32 @fileno(ptr noundef %25424) #11
  %25426 = call i32 @isatty(i32 noundef %25425) #11
  %25427 = icmp ne i32 %25426, 0
  br i1 %25427, label %25428, label %25445

25428:                                            ; preds = %25423
  %25429 = load i32, ptr %514, align 4, !tbaa !5
  %25430 = call ptr @__errno_location() #12
  store i32 %25429, ptr %25430, align 4, !tbaa !5
  %25431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25432 = load i32, ptr @test_count, align 4, !tbaa !5
  %25433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25434 = load i32, ptr %25433, align 4, !tbaa !5
  %25435 = call ptr @s2n_strerror(i32 noundef %25434, ptr noundef @.str.4)
  %25436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25437 = load i32, ptr %25436, align 4, !tbaa !5
  %25438 = call ptr @s2n_strerror_debug(i32 noundef %25437, ptr noundef @.str.4)
  %25439 = call ptr @__errno_location() #12
  %25440 = load i32, ptr %25439, align 4, !tbaa !5
  %25441 = call ptr @strerror(i32 noundef %25440) #11
  %25442 = call ptr @__errno_location() #12
  %25443 = load i32, ptr %25442, align 4, !tbaa !5
  %25444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25431, ptr noundef @.str.2, i32 noundef %25432, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25435, ptr noundef %25438, ptr noundef %25441, i32 noundef %25443) #11
  br label %25462

25445:                                            ; preds = %25423, %25416
  %25446 = load i32, ptr %514, align 4, !tbaa !5
  %25447 = call ptr @__errno_location() #12
  store i32 %25446, ptr %25447, align 4, !tbaa !5
  %25448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25449 = load i32, ptr @test_count, align 4, !tbaa !5
  %25450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25451 = load i32, ptr %25450, align 4, !tbaa !5
  %25452 = call ptr @s2n_strerror(i32 noundef %25451, ptr noundef @.str.4)
  %25453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25454 = load i32, ptr %25453, align 4, !tbaa !5
  %25455 = call ptr @s2n_strerror_debug(i32 noundef %25454, ptr noundef @.str.4)
  %25456 = call ptr @__errno_location() #12
  %25457 = load i32, ptr %25456, align 4, !tbaa !5
  %25458 = call ptr @strerror(i32 noundef %25457) #11
  %25459 = call ptr @__errno_location() #12
  %25460 = load i32, ptr %25459, align 4, !tbaa !5
  %25461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25448, ptr noundef @.str.5, i32 noundef %25449, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 976, ptr noundef %25452, ptr noundef %25455, ptr noundef %25458, i32 noundef %25460) #11
  br label %25462

25462:                                            ; preds = %25445, %25428
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %25463

25463:                                            ; preds = %25462
  br label %25464

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

25465:                                            ; No predecessors!
  br label %25466

25466:                                            ; preds = %25465
  br label %25467

25467:                                            ; preds = %25466, %25407
  br label %25468

25468:                                            ; preds = %25467
  br label %25469

25469:                                            ; preds = %25468
  br label %25470

25470:                                            ; preds = %25469
  %25471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25471, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25472 = call ptr @__errno_location() #12
  store i32 0, ptr %25472, align 4, !tbaa !5
  br label %25473

25473:                                            ; preds = %25470
  br label %25474

25474:                                            ; preds = %25473
  br label %25475

25475:                                            ; preds = %25474
  br label %25476

25476:                                            ; preds = %25475
  br label %25477

25477:                                            ; preds = %25476
  %25478 = load i32, ptr @test_count, align 4, !tbaa !5
  %25479 = add nsw i32 %25478, 1
  store i32 %25479, ptr @test_count, align 4, !tbaa !5
  %25480 = load ptr, ptr %510, align 8, !tbaa !9
  %25481 = getelementptr inbounds [9 x i8], ptr %508, i64 0, i64 0
  %25482 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef %25480, ptr noundef %25481, i32 noundef 9)
  %25483 = icmp eq i32 %25482, -1
  br i1 %25483, label %25484, label %25537

25484:                                            ; preds = %25477
  br label %25485

25485:                                            ; preds = %25484
  br label %25486

25486:                                            ; preds = %25485
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %25487 = call ptr @__errno_location() #12
  %25488 = load i32, ptr %25487, align 4, !tbaa !5
  store i32 %25488, ptr %515, align 4, !tbaa !5
  %25489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25490 = call i32 @s2n_print_stacktrace(ptr noundef %25489)
  %25491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25492 = trunc i8 %25491 to i1
  br i1 %25492, label %25493, label %25515

25493:                                            ; preds = %25486
  %25494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25495 = call i32 @fileno(ptr noundef %25494) #11
  %25496 = call i32 @isatty(i32 noundef %25495) #11
  %25497 = icmp ne i32 %25496, 0
  br i1 %25497, label %25498, label %25515

25498:                                            ; preds = %25493
  %25499 = load i32, ptr %515, align 4, !tbaa !5
  %25500 = call ptr @__errno_location() #12
  store i32 %25499, ptr %25500, align 4, !tbaa !5
  %25501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25502 = load i32, ptr @test_count, align 4, !tbaa !5
  %25503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25504 = load i32, ptr %25503, align 4, !tbaa !5
  %25505 = call ptr @s2n_strerror(i32 noundef %25504, ptr noundef @.str.4)
  %25506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25507 = load i32, ptr %25506, align 4, !tbaa !5
  %25508 = call ptr @s2n_strerror_debug(i32 noundef %25507, ptr noundef @.str.4)
  %25509 = call ptr @__errno_location() #12
  %25510 = load i32, ptr %25509, align 4, !tbaa !5
  %25511 = call ptr @strerror(i32 noundef %25510) #11
  %25512 = call ptr @__errno_location() #12
  %25513 = load i32, ptr %25512, align 4, !tbaa !5
  %25514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25501, ptr noundef @.str.2, i32 noundef %25502, ptr noundef @.str.274, ptr noundef @.str.1, i32 noundef 979, ptr noundef %25505, ptr noundef %25508, ptr noundef %25511, i32 noundef %25513) #11
  br label %25532

25515:                                            ; preds = %25493, %25486
  %25516 = load i32, ptr %515, align 4, !tbaa !5
  %25517 = call ptr @__errno_location() #12
  store i32 %25516, ptr %25517, align 4, !tbaa !5
  %25518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25519 = load i32, ptr @test_count, align 4, !tbaa !5
  %25520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25521 = load i32, ptr %25520, align 4, !tbaa !5
  %25522 = call ptr @s2n_strerror(i32 noundef %25521, ptr noundef @.str.4)
  %25523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25524 = load i32, ptr %25523, align 4, !tbaa !5
  %25525 = call ptr @s2n_strerror_debug(i32 noundef %25524, ptr noundef @.str.4)
  %25526 = call ptr @__errno_location() #12
  %25527 = load i32, ptr %25526, align 4, !tbaa !5
  %25528 = call ptr @strerror(i32 noundef %25527) #11
  %25529 = call ptr @__errno_location() #12
  %25530 = load i32, ptr %25529, align 4, !tbaa !5
  %25531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25518, ptr noundef @.str.5, i32 noundef %25519, ptr noundef @.str.274, ptr noundef @.str.1, i32 noundef 979, ptr noundef %25522, ptr noundef %25525, ptr noundef %25528, i32 noundef %25530) #11
  br label %25532

25532:                                            ; preds = %25515, %25498
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %25533

25533:                                            ; preds = %25532
  br label %25534

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

25535:                                            ; No predecessors!
  br label %25536

25536:                                            ; preds = %25535
  br label %25537

25537:                                            ; preds = %25536, %25477
  br label %25538

25538:                                            ; preds = %25537
  br label %25539

25539:                                            ; preds = %25538
  br label %25540

25540:                                            ; preds = %25539
  %25541 = load i32, ptr @test_count, align 4, !tbaa !5
  %25542 = add nsw i32 %25541, 1
  store i32 %25542, ptr @test_count, align 4, !tbaa !5
  %25543 = load ptr, ptr %510, align 8, !tbaa !9
  %25544 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25543, i32 0, i32 3
  %25545 = getelementptr inbounds %struct.s2n_blob, ptr %25544, i32 0, i32 1
  %25546 = load i32, ptr %25545, align 8, !tbaa !88
  %25547 = zext i32 %25546 to i64
  %25548 = icmp eq i64 %25547, 9
  br i1 %25548, label %25602, label %25549

25549:                                            ; preds = %25540
  br label %25550

25550:                                            ; preds = %25549
  br label %25551

25551:                                            ; preds = %25550
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %25552 = call ptr @__errno_location() #12
  %25553 = load i32, ptr %25552, align 4, !tbaa !5
  store i32 %25553, ptr %516, align 4, !tbaa !5
  %25554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25555 = call i32 @s2n_print_stacktrace(ptr noundef %25554)
  %25556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25557 = trunc i8 %25556 to i1
  br i1 %25557, label %25558, label %25580

25558:                                            ; preds = %25551
  %25559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25560 = call i32 @fileno(ptr noundef %25559) #11
  %25561 = call i32 @isatty(i32 noundef %25560) #11
  %25562 = icmp ne i32 %25561, 0
  br i1 %25562, label %25563, label %25580

25563:                                            ; preds = %25558
  %25564 = load i32, ptr %516, align 4, !tbaa !5
  %25565 = call ptr @__errno_location() #12
  store i32 %25564, ptr %25565, align 4, !tbaa !5
  %25566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25567 = load i32, ptr @test_count, align 4, !tbaa !5
  %25568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25569 = load i32, ptr %25568, align 4, !tbaa !5
  %25570 = call ptr @s2n_strerror(i32 noundef %25569, ptr noundef @.str.4)
  %25571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25572 = load i32, ptr %25571, align 4, !tbaa !5
  %25573 = call ptr @s2n_strerror_debug(i32 noundef %25572, ptr noundef @.str.4)
  %25574 = call ptr @__errno_location() #12
  %25575 = load i32, ptr %25574, align 4, !tbaa !5
  %25576 = call ptr @strerror(i32 noundef %25575) #11
  %25577 = call ptr @__errno_location() #12
  %25578 = load i32, ptr %25577, align 4, !tbaa !5
  %25579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25566, ptr noundef @.str.2, i32 noundef %25567, ptr noundef @.str.275, ptr noundef @.str.1, i32 noundef 980, ptr noundef %25570, ptr noundef %25573, ptr noundef %25576, i32 noundef %25578) #11
  br label %25597

25580:                                            ; preds = %25558, %25551
  %25581 = load i32, ptr %516, align 4, !tbaa !5
  %25582 = call ptr @__errno_location() #12
  store i32 %25581, ptr %25582, align 4, !tbaa !5
  %25583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25584 = load i32, ptr @test_count, align 4, !tbaa !5
  %25585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25586 = load i32, ptr %25585, align 4, !tbaa !5
  %25587 = call ptr @s2n_strerror(i32 noundef %25586, ptr noundef @.str.4)
  %25588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25589 = load i32, ptr %25588, align 4, !tbaa !5
  %25590 = call ptr @s2n_strerror_debug(i32 noundef %25589, ptr noundef @.str.4)
  %25591 = call ptr @__errno_location() #12
  %25592 = load i32, ptr %25591, align 4, !tbaa !5
  %25593 = call ptr @strerror(i32 noundef %25592) #11
  %25594 = call ptr @__errno_location() #12
  %25595 = load i32, ptr %25594, align 4, !tbaa !5
  %25596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25583, ptr noundef @.str.5, i32 noundef %25584, ptr noundef @.str.275, ptr noundef @.str.1, i32 noundef 980, ptr noundef %25587, ptr noundef %25590, ptr noundef %25593, i32 noundef %25595) #11
  br label %25597

25597:                                            ; preds = %25580, %25563
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %25598

25598:                                            ; preds = %25597
  br label %25599

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

25600:                                            ; No predecessors!
  br label %25601

25601:                                            ; preds = %25600
  br label %25602

25602:                                            ; preds = %25601, %25540
  br label %25603

25603:                                            ; preds = %25602
  br label %25604

25604:                                            ; preds = %25603
  br label %25605

25605:                                            ; preds = %25604
  br label %25606

25606:                                            ; preds = %25605
  %25607 = load i32, ptr @test_count, align 4, !tbaa !5
  %25608 = add nsw i32 %25607, 1
  store i32 %25608, ptr @test_count, align 4, !tbaa !5
  %25609 = load ptr, ptr %510, align 8, !tbaa !9
  %25610 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25609, i32 0, i32 3
  %25611 = getelementptr inbounds %struct.s2n_blob, ptr %25610, i32 0, i32 0
  %25612 = load ptr, ptr %25611, align 8, !tbaa !89
  %25613 = getelementptr inbounds [9 x i8], ptr %508, i64 0, i64 0
  %25614 = call i32 @memcmp(ptr noundef %25612, ptr noundef %25613, i64 noundef 9) #14
  %25615 = icmp eq i32 %25614, 0
  br i1 %25615, label %25669, label %25616

25616:                                            ; preds = %25606
  br label %25617

25617:                                            ; preds = %25616
  br label %25618

25618:                                            ; preds = %25617
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %25619 = call ptr @__errno_location() #12
  %25620 = load i32, ptr %25619, align 4, !tbaa !5
  store i32 %25620, ptr %517, align 4, !tbaa !5
  %25621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25622 = call i32 @s2n_print_stacktrace(ptr noundef %25621)
  %25623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25624 = trunc i8 %25623 to i1
  br i1 %25624, label %25625, label %25647

25625:                                            ; preds = %25618
  %25626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25627 = call i32 @fileno(ptr noundef %25626) #11
  %25628 = call i32 @isatty(i32 noundef %25627) #11
  %25629 = icmp ne i32 %25628, 0
  br i1 %25629, label %25630, label %25647

25630:                                            ; preds = %25625
  %25631 = load i32, ptr %517, align 4, !tbaa !5
  %25632 = call ptr @__errno_location() #12
  store i32 %25631, ptr %25632, align 4, !tbaa !5
  %25633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25634 = load i32, ptr @test_count, align 4, !tbaa !5
  %25635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25636 = load i32, ptr %25635, align 4, !tbaa !5
  %25637 = call ptr @s2n_strerror(i32 noundef %25636, ptr noundef @.str.4)
  %25638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25639 = load i32, ptr %25638, align 4, !tbaa !5
  %25640 = call ptr @s2n_strerror_debug(i32 noundef %25639, ptr noundef @.str.4)
  %25641 = call ptr @__errno_location() #12
  %25642 = load i32, ptr %25641, align 4, !tbaa !5
  %25643 = call ptr @strerror(i32 noundef %25642) #11
  %25644 = call ptr @__errno_location() #12
  %25645 = load i32, ptr %25644, align 4, !tbaa !5
  %25646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25633, ptr noundef @.str.2, i32 noundef %25634, ptr noundef @.str.276, ptr noundef @.str.1, i32 noundef 981, ptr noundef %25637, ptr noundef %25640, ptr noundef %25643, i32 noundef %25645) #11
  br label %25664

25647:                                            ; preds = %25625, %25618
  %25648 = load i32, ptr %517, align 4, !tbaa !5
  %25649 = call ptr @__errno_location() #12
  store i32 %25648, ptr %25649, align 4, !tbaa !5
  %25650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25651 = load i32, ptr @test_count, align 4, !tbaa !5
  %25652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call ptr @s2n_strerror(i32 noundef %25653, ptr noundef @.str.4)
  %25655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  %25657 = call ptr @s2n_strerror_debug(i32 noundef %25656, ptr noundef @.str.4)
  %25658 = call ptr @__errno_location() #12
  %25659 = load i32, ptr %25658, align 4, !tbaa !5
  %25660 = call ptr @strerror(i32 noundef %25659) #11
  %25661 = call ptr @__errno_location() #12
  %25662 = load i32, ptr %25661, align 4, !tbaa !5
  %25663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25650, ptr noundef @.str.5, i32 noundef %25651, ptr noundef @.str.276, ptr noundef @.str.1, i32 noundef 981, ptr noundef %25654, ptr noundef %25657, ptr noundef %25660, i32 noundef %25662) #11
  br label %25664

25664:                                            ; preds = %25647, %25630
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %25665

25665:                                            ; preds = %25664
  br label %25666

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

25667:                                            ; No predecessors!
  br label %25668

25668:                                            ; preds = %25667
  br label %25669

25669:                                            ; preds = %25668, %25606
  br label %25670

25670:                                            ; preds = %25669
  br label %25671

25671:                                            ; preds = %25670
  br label %25672

25672:                                            ; preds = %25671
  br label %25673

25673:                                            ; preds = %25672
  br label %25674

25674:                                            ; preds = %25673
  %25675 = load i32, ptr @test_count, align 4, !tbaa !5
  %25676 = add nsw i32 %25675, 1
  store i32 %25676, ptr @test_count, align 4, !tbaa !5
  %25677 = load ptr, ptr %510, align 8, !tbaa !9
  %25678 = getelementptr inbounds [15 x i8], ptr %509, i64 0, i64 0
  %25679 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef %25677, ptr noundef %25678, i32 noundef 15)
  %25680 = icmp eq i32 %25679, -1
  br i1 %25680, label %25681, label %25734

25681:                                            ; preds = %25674
  br label %25682

25682:                                            ; preds = %25681
  br label %25683

25683:                                            ; preds = %25682
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %25684 = call ptr @__errno_location() #12
  %25685 = load i32, ptr %25684, align 4, !tbaa !5
  store i32 %25685, ptr %518, align 4, !tbaa !5
  %25686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25687 = call i32 @s2n_print_stacktrace(ptr noundef %25686)
  %25688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25689 = trunc i8 %25688 to i1
  br i1 %25689, label %25690, label %25712

25690:                                            ; preds = %25683
  %25691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25692 = call i32 @fileno(ptr noundef %25691) #11
  %25693 = call i32 @isatty(i32 noundef %25692) #11
  %25694 = icmp ne i32 %25693, 0
  br i1 %25694, label %25695, label %25712

25695:                                            ; preds = %25690
  %25696 = load i32, ptr %518, align 4, !tbaa !5
  %25697 = call ptr @__errno_location() #12
  store i32 %25696, ptr %25697, align 4, !tbaa !5
  %25698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25699 = load i32, ptr @test_count, align 4, !tbaa !5
  %25700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25701 = load i32, ptr %25700, align 4, !tbaa !5
  %25702 = call ptr @s2n_strerror(i32 noundef %25701, ptr noundef @.str.4)
  %25703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25704 = load i32, ptr %25703, align 4, !tbaa !5
  %25705 = call ptr @s2n_strerror_debug(i32 noundef %25704, ptr noundef @.str.4)
  %25706 = call ptr @__errno_location() #12
  %25707 = load i32, ptr %25706, align 4, !tbaa !5
  %25708 = call ptr @strerror(i32 noundef %25707) #11
  %25709 = call ptr @__errno_location() #12
  %25710 = load i32, ptr %25709, align 4, !tbaa !5
  %25711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25698, ptr noundef @.str.2, i32 noundef %25699, ptr noundef @.str.277, ptr noundef @.str.1, i32 noundef 984, ptr noundef %25702, ptr noundef %25705, ptr noundef %25708, i32 noundef %25710) #11
  br label %25729

25712:                                            ; preds = %25690, %25683
  %25713 = load i32, ptr %518, align 4, !tbaa !5
  %25714 = call ptr @__errno_location() #12
  store i32 %25713, ptr %25714, align 4, !tbaa !5
  %25715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25716 = load i32, ptr @test_count, align 4, !tbaa !5
  %25717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25718 = load i32, ptr %25717, align 4, !tbaa !5
  %25719 = call ptr @s2n_strerror(i32 noundef %25718, ptr noundef @.str.4)
  %25720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25721 = load i32, ptr %25720, align 4, !tbaa !5
  %25722 = call ptr @s2n_strerror_debug(i32 noundef %25721, ptr noundef @.str.4)
  %25723 = call ptr @__errno_location() #12
  %25724 = load i32, ptr %25723, align 4, !tbaa !5
  %25725 = call ptr @strerror(i32 noundef %25724) #11
  %25726 = call ptr @__errno_location() #12
  %25727 = load i32, ptr %25726, align 4, !tbaa !5
  %25728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25715, ptr noundef @.str.5, i32 noundef %25716, ptr noundef @.str.277, ptr noundef @.str.1, i32 noundef 984, ptr noundef %25719, ptr noundef %25722, ptr noundef %25725, i32 noundef %25727) #11
  br label %25729

25729:                                            ; preds = %25712, %25695
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %25730

25730:                                            ; preds = %25729
  br label %25731

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

25732:                                            ; No predecessors!
  br label %25733

25733:                                            ; preds = %25732
  br label %25734

25734:                                            ; preds = %25733, %25674
  br label %25735

25735:                                            ; preds = %25734
  br label %25736

25736:                                            ; preds = %25735
  br label %25737

25737:                                            ; preds = %25736
  %25738 = load i32, ptr @test_count, align 4, !tbaa !5
  %25739 = add nsw i32 %25738, 1
  store i32 %25739, ptr @test_count, align 4, !tbaa !5
  %25740 = load ptr, ptr %510, align 8, !tbaa !9
  %25741 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25740, i32 0, i32 3
  %25742 = getelementptr inbounds %struct.s2n_blob, ptr %25741, i32 0, i32 1
  %25743 = load i32, ptr %25742, align 8, !tbaa !88
  %25744 = zext i32 %25743 to i64
  %25745 = icmp eq i64 %25744, 15
  br i1 %25745, label %25799, label %25746

25746:                                            ; preds = %25737
  br label %25747

25747:                                            ; preds = %25746
  br label %25748

25748:                                            ; preds = %25747
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %25749 = call ptr @__errno_location() #12
  %25750 = load i32, ptr %25749, align 4, !tbaa !5
  store i32 %25750, ptr %519, align 4, !tbaa !5
  %25751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25752 = call i32 @s2n_print_stacktrace(ptr noundef %25751)
  %25753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25754 = trunc i8 %25753 to i1
  br i1 %25754, label %25755, label %25777

25755:                                            ; preds = %25748
  %25756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25757 = call i32 @fileno(ptr noundef %25756) #11
  %25758 = call i32 @isatty(i32 noundef %25757) #11
  %25759 = icmp ne i32 %25758, 0
  br i1 %25759, label %25760, label %25777

25760:                                            ; preds = %25755
  %25761 = load i32, ptr %519, align 4, !tbaa !5
  %25762 = call ptr @__errno_location() #12
  store i32 %25761, ptr %25762, align 4, !tbaa !5
  %25763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25764 = load i32, ptr @test_count, align 4, !tbaa !5
  %25765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25766 = load i32, ptr %25765, align 4, !tbaa !5
  %25767 = call ptr @s2n_strerror(i32 noundef %25766, ptr noundef @.str.4)
  %25768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25769 = load i32, ptr %25768, align 4, !tbaa !5
  %25770 = call ptr @s2n_strerror_debug(i32 noundef %25769, ptr noundef @.str.4)
  %25771 = call ptr @__errno_location() #12
  %25772 = load i32, ptr %25771, align 4, !tbaa !5
  %25773 = call ptr @strerror(i32 noundef %25772) #11
  %25774 = call ptr @__errno_location() #12
  %25775 = load i32, ptr %25774, align 4, !tbaa !5
  %25776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25763, ptr noundef @.str.2, i32 noundef %25764, ptr noundef @.str.278, ptr noundef @.str.1, i32 noundef 985, ptr noundef %25767, ptr noundef %25770, ptr noundef %25773, i32 noundef %25775) #11
  br label %25794

25777:                                            ; preds = %25755, %25748
  %25778 = load i32, ptr %519, align 4, !tbaa !5
  %25779 = call ptr @__errno_location() #12
  store i32 %25778, ptr %25779, align 4, !tbaa !5
  %25780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25781 = load i32, ptr @test_count, align 4, !tbaa !5
  %25782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25783 = load i32, ptr %25782, align 4, !tbaa !5
  %25784 = call ptr @s2n_strerror(i32 noundef %25783, ptr noundef @.str.4)
  %25785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25786 = load i32, ptr %25785, align 4, !tbaa !5
  %25787 = call ptr @s2n_strerror_debug(i32 noundef %25786, ptr noundef @.str.4)
  %25788 = call ptr @__errno_location() #12
  %25789 = load i32, ptr %25788, align 4, !tbaa !5
  %25790 = call ptr @strerror(i32 noundef %25789) #11
  %25791 = call ptr @__errno_location() #12
  %25792 = load i32, ptr %25791, align 4, !tbaa !5
  %25793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25780, ptr noundef @.str.5, i32 noundef %25781, ptr noundef @.str.278, ptr noundef @.str.1, i32 noundef 985, ptr noundef %25784, ptr noundef %25787, ptr noundef %25790, i32 noundef %25792) #11
  br label %25794

25794:                                            ; preds = %25777, %25760
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %25795

25795:                                            ; preds = %25794
  br label %25796

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

25797:                                            ; No predecessors!
  br label %25798

25798:                                            ; preds = %25797
  br label %25799

25799:                                            ; preds = %25798, %25737
  br label %25800

25800:                                            ; preds = %25799
  br label %25801

25801:                                            ; preds = %25800
  br label %25802

25802:                                            ; preds = %25801
  br label %25803

25803:                                            ; preds = %25802
  %25804 = load i32, ptr @test_count, align 4, !tbaa !5
  %25805 = add nsw i32 %25804, 1
  store i32 %25805, ptr @test_count, align 4, !tbaa !5
  %25806 = load ptr, ptr %510, align 8, !tbaa !9
  %25807 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25806, i32 0, i32 3
  %25808 = getelementptr inbounds %struct.s2n_blob, ptr %25807, i32 0, i32 0
  %25809 = load ptr, ptr %25808, align 8, !tbaa !89
  %25810 = getelementptr inbounds [15 x i8], ptr %509, i64 0, i64 0
  %25811 = call i32 @memcmp(ptr noundef %25809, ptr noundef %25810, i64 noundef 15) #14
  %25812 = icmp eq i32 %25811, 0
  br i1 %25812, label %25866, label %25813

25813:                                            ; preds = %25803
  br label %25814

25814:                                            ; preds = %25813
  br label %25815

25815:                                            ; preds = %25814
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %25816 = call ptr @__errno_location() #12
  %25817 = load i32, ptr %25816, align 4, !tbaa !5
  store i32 %25817, ptr %520, align 4, !tbaa !5
  %25818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25819 = call i32 @s2n_print_stacktrace(ptr noundef %25818)
  %25820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25821 = trunc i8 %25820 to i1
  br i1 %25821, label %25822, label %25844

25822:                                            ; preds = %25815
  %25823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25824 = call i32 @fileno(ptr noundef %25823) #11
  %25825 = call i32 @isatty(i32 noundef %25824) #11
  %25826 = icmp ne i32 %25825, 0
  br i1 %25826, label %25827, label %25844

25827:                                            ; preds = %25822
  %25828 = load i32, ptr %520, align 4, !tbaa !5
  %25829 = call ptr @__errno_location() #12
  store i32 %25828, ptr %25829, align 4, !tbaa !5
  %25830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25831 = load i32, ptr @test_count, align 4, !tbaa !5
  %25832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25833 = load i32, ptr %25832, align 4, !tbaa !5
  %25834 = call ptr @s2n_strerror(i32 noundef %25833, ptr noundef @.str.4)
  %25835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25836 = load i32, ptr %25835, align 4, !tbaa !5
  %25837 = call ptr @s2n_strerror_debug(i32 noundef %25836, ptr noundef @.str.4)
  %25838 = call ptr @__errno_location() #12
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call ptr @strerror(i32 noundef %25839) #11
  %25841 = call ptr @__errno_location() #12
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25830, ptr noundef @.str.2, i32 noundef %25831, ptr noundef @.str.279, ptr noundef @.str.1, i32 noundef 986, ptr noundef %25834, ptr noundef %25837, ptr noundef %25840, i32 noundef %25842) #11
  br label %25861

25844:                                            ; preds = %25822, %25815
  %25845 = load i32, ptr %520, align 4, !tbaa !5
  %25846 = call ptr @__errno_location() #12
  store i32 %25845, ptr %25846, align 4, !tbaa !5
  %25847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25848 = load i32, ptr @test_count, align 4, !tbaa !5
  %25849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25850 = load i32, ptr %25849, align 4, !tbaa !5
  %25851 = call ptr @s2n_strerror(i32 noundef %25850, ptr noundef @.str.4)
  %25852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25853 = load i32, ptr %25852, align 4, !tbaa !5
  %25854 = call ptr @s2n_strerror_debug(i32 noundef %25853, ptr noundef @.str.4)
  %25855 = call ptr @__errno_location() #12
  %25856 = load i32, ptr %25855, align 4, !tbaa !5
  %25857 = call ptr @strerror(i32 noundef %25856) #11
  %25858 = call ptr @__errno_location() #12
  %25859 = load i32, ptr %25858, align 4, !tbaa !5
  %25860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25847, ptr noundef @.str.5, i32 noundef %25848, ptr noundef @.str.279, ptr noundef @.str.1, i32 noundef 986, ptr noundef %25851, ptr noundef %25854, ptr noundef %25857, i32 noundef %25859) #11
  br label %25861

25861:                                            ; preds = %25844, %25827
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %25862

25862:                                            ; preds = %25861
  br label %25863

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

25864:                                            ; No predecessors!
  br label %25865

25865:                                            ; preds = %25864
  br label %25866

25866:                                            ; preds = %25865, %25803
  br label %25867

25867:                                            ; preds = %25866
  br label %25868

25868:                                            ; preds = %25867
  br label %25869

25869:                                            ; preds = %25868
  br label %25870

25870:                                            ; preds = %25869
  br label %25871

25871:                                            ; preds = %25870
  %25872 = load i32, ptr @test_count, align 4, !tbaa !5
  %25873 = add nsw i32 %25872, 1
  store i32 %25873, ptr @test_count, align 4, !tbaa !5
  %25874 = load ptr, ptr %510, align 8, !tbaa !9
  %25875 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef %25874, ptr noundef null, i32 noundef 0)
  %25876 = icmp eq i32 %25875, -1
  br i1 %25876, label %25877, label %25930

25877:                                            ; preds = %25871
  br label %25878

25878:                                            ; preds = %25877
  br label %25879

25879:                                            ; preds = %25878
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %25880 = call ptr @__errno_location() #12
  %25881 = load i32, ptr %25880, align 4, !tbaa !5
  store i32 %25881, ptr %521, align 4, !tbaa !5
  %25882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25883 = call i32 @s2n_print_stacktrace(ptr noundef %25882)
  %25884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25885 = trunc i8 %25884 to i1
  br i1 %25885, label %25886, label %25908

25886:                                            ; preds = %25879
  %25887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25888 = call i32 @fileno(ptr noundef %25887) #11
  %25889 = call i32 @isatty(i32 noundef %25888) #11
  %25890 = icmp ne i32 %25889, 0
  br i1 %25890, label %25891, label %25908

25891:                                            ; preds = %25886
  %25892 = load i32, ptr %521, align 4, !tbaa !5
  %25893 = call ptr @__errno_location() #12
  store i32 %25892, ptr %25893, align 4, !tbaa !5
  %25894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25895 = load i32, ptr @test_count, align 4, !tbaa !5
  %25896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25897 = load i32, ptr %25896, align 4, !tbaa !5
  %25898 = call ptr @s2n_strerror(i32 noundef %25897, ptr noundef @.str.4)
  %25899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25900 = load i32, ptr %25899, align 4, !tbaa !5
  %25901 = call ptr @s2n_strerror_debug(i32 noundef %25900, ptr noundef @.str.4)
  %25902 = call ptr @__errno_location() #12
  %25903 = load i32, ptr %25902, align 4, !tbaa !5
  %25904 = call ptr @strerror(i32 noundef %25903) #11
  %25905 = call ptr @__errno_location() #12
  %25906 = load i32, ptr %25905, align 4, !tbaa !5
  %25907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25894, ptr noundef @.str.2, i32 noundef %25895, ptr noundef @.str.280, ptr noundef @.str.1, i32 noundef 989, ptr noundef %25898, ptr noundef %25901, ptr noundef %25904, i32 noundef %25906) #11
  br label %25925

25908:                                            ; preds = %25886, %25879
  %25909 = load i32, ptr %521, align 4, !tbaa !5
  %25910 = call ptr @__errno_location() #12
  store i32 %25909, ptr %25910, align 4, !tbaa !5
  %25911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25912 = load i32, ptr @test_count, align 4, !tbaa !5
  %25913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25914 = load i32, ptr %25913, align 4, !tbaa !5
  %25915 = call ptr @s2n_strerror(i32 noundef %25914, ptr noundef @.str.4)
  %25916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25917 = load i32, ptr %25916, align 4, !tbaa !5
  %25918 = call ptr @s2n_strerror_debug(i32 noundef %25917, ptr noundef @.str.4)
  %25919 = call ptr @__errno_location() #12
  %25920 = load i32, ptr %25919, align 4, !tbaa !5
  %25921 = call ptr @strerror(i32 noundef %25920) #11
  %25922 = call ptr @__errno_location() #12
  %25923 = load i32, ptr %25922, align 4, !tbaa !5
  %25924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25911, ptr noundef @.str.5, i32 noundef %25912, ptr noundef @.str.280, ptr noundef @.str.1, i32 noundef 989, ptr noundef %25915, ptr noundef %25918, ptr noundef %25921, i32 noundef %25923) #11
  br label %25925

25925:                                            ; preds = %25908, %25891
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %25926

25926:                                            ; preds = %25925
  br label %25927

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

25928:                                            ; No predecessors!
  br label %25929

25929:                                            ; preds = %25928
  br label %25930

25930:                                            ; preds = %25929, %25871
  br label %25931

25931:                                            ; preds = %25930
  br label %25932

25932:                                            ; preds = %25931
  br label %25933

25933:                                            ; preds = %25932
  %25934 = load i32, ptr @test_count, align 4, !tbaa !5
  %25935 = add nsw i32 %25934, 1
  store i32 %25935, ptr @test_count, align 4, !tbaa !5
  %25936 = load ptr, ptr %510, align 8, !tbaa !9
  %25937 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %25936, i32 0, i32 3
  %25938 = getelementptr inbounds %struct.s2n_blob, ptr %25937, i32 0, i32 1
  %25939 = load i32, ptr %25938, align 8, !tbaa !88
  %25940 = icmp eq i32 %25939, 0
  br i1 %25940, label %25994, label %25941

25941:                                            ; preds = %25933
  br label %25942

25942:                                            ; preds = %25941
  br label %25943

25943:                                            ; preds = %25942
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %25944 = call ptr @__errno_location() #12
  %25945 = load i32, ptr %25944, align 4, !tbaa !5
  store i32 %25945, ptr %522, align 4, !tbaa !5
  %25946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25947 = call i32 @s2n_print_stacktrace(ptr noundef %25946)
  %25948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25949 = trunc i8 %25948 to i1
  br i1 %25949, label %25950, label %25972

25950:                                            ; preds = %25943
  %25951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25952 = call i32 @fileno(ptr noundef %25951) #11
  %25953 = call i32 @isatty(i32 noundef %25952) #11
  %25954 = icmp ne i32 %25953, 0
  br i1 %25954, label %25955, label %25972

25955:                                            ; preds = %25950
  %25956 = load i32, ptr %522, align 4, !tbaa !5
  %25957 = call ptr @__errno_location() #12
  store i32 %25956, ptr %25957, align 4, !tbaa !5
  %25958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25959 = load i32, ptr @test_count, align 4, !tbaa !5
  %25960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25961 = load i32, ptr %25960, align 4, !tbaa !5
  %25962 = call ptr @s2n_strerror(i32 noundef %25961, ptr noundef @.str.4)
  %25963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25964 = load i32, ptr %25963, align 4, !tbaa !5
  %25965 = call ptr @s2n_strerror_debug(i32 noundef %25964, ptr noundef @.str.4)
  %25966 = call ptr @__errno_location() #12
  %25967 = load i32, ptr %25966, align 4, !tbaa !5
  %25968 = call ptr @strerror(i32 noundef %25967) #11
  %25969 = call ptr @__errno_location() #12
  %25970 = load i32, ptr %25969, align 4, !tbaa !5
  %25971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25958, ptr noundef @.str.2, i32 noundef %25959, ptr noundef @.str.281, ptr noundef @.str.1, i32 noundef 990, ptr noundef %25962, ptr noundef %25965, ptr noundef %25968, i32 noundef %25970) #11
  br label %25989

25972:                                            ; preds = %25950, %25943
  %25973 = load i32, ptr %522, align 4, !tbaa !5
  %25974 = call ptr @__errno_location() #12
  store i32 %25973, ptr %25974, align 4, !tbaa !5
  %25975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25976 = load i32, ptr @test_count, align 4, !tbaa !5
  %25977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25978 = load i32, ptr %25977, align 4, !tbaa !5
  %25979 = call ptr @s2n_strerror(i32 noundef %25978, ptr noundef @.str.4)
  %25980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25981 = load i32, ptr %25980, align 4, !tbaa !5
  %25982 = call ptr @s2n_strerror_debug(i32 noundef %25981, ptr noundef @.str.4)
  %25983 = call ptr @__errno_location() #12
  %25984 = load i32, ptr %25983, align 4, !tbaa !5
  %25985 = call ptr @strerror(i32 noundef %25984) #11
  %25986 = call ptr @__errno_location() #12
  %25987 = load i32, ptr %25986, align 4, !tbaa !5
  %25988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25975, ptr noundef @.str.5, i32 noundef %25976, ptr noundef @.str.281, ptr noundef @.str.1, i32 noundef 990, ptr noundef %25979, ptr noundef %25982, ptr noundef %25985, i32 noundef %25987) #11
  br label %25989

25989:                                            ; preds = %25972, %25955
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %25990

25990:                                            ; preds = %25989
  br label %25991

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

25992:                                            ; No predecessors!
  br label %25993

25993:                                            ; preds = %25992
  br label %25994

25994:                                            ; preds = %25993, %25933
  br label %25995

25995:                                            ; preds = %25994
  br label %25996

25996:                                            ; preds = %25995
  br label %25997

25997:                                            ; preds = %25996
  %25998 = load i32, ptr @test_count, align 4, !tbaa !5
  %25999 = add nsw i32 %25998, 1
  store i32 %25999, ptr @test_count, align 4, !tbaa !5
  %26000 = load ptr, ptr %510, align 8, !tbaa !9
  %26001 = getelementptr inbounds [9 x i8], ptr %508, i64 0, i64 0
  %26002 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef %26000, ptr noundef %26001, i32 noundef 9)
  %26003 = icmp eq i32 %26002, -1
  br i1 %26003, label %26004, label %26057

26004:                                            ; preds = %25997
  br label %26005

26005:                                            ; preds = %26004
  br label %26006

26006:                                            ; preds = %26005
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %26007 = call ptr @__errno_location() #12
  %26008 = load i32, ptr %26007, align 4, !tbaa !5
  store i32 %26008, ptr %523, align 4, !tbaa !5
  %26009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26010 = call i32 @s2n_print_stacktrace(ptr noundef %26009)
  %26011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26012 = trunc i8 %26011 to i1
  br i1 %26012, label %26013, label %26035

26013:                                            ; preds = %26006
  %26014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26015 = call i32 @fileno(ptr noundef %26014) #11
  %26016 = call i32 @isatty(i32 noundef %26015) #11
  %26017 = icmp ne i32 %26016, 0
  br i1 %26017, label %26018, label %26035

26018:                                            ; preds = %26013
  %26019 = load i32, ptr %523, align 4, !tbaa !5
  %26020 = call ptr @__errno_location() #12
  store i32 %26019, ptr %26020, align 4, !tbaa !5
  %26021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26022 = load i32, ptr @test_count, align 4, !tbaa !5
  %26023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26024 = load i32, ptr %26023, align 4, !tbaa !5
  %26025 = call ptr @s2n_strerror(i32 noundef %26024, ptr noundef @.str.4)
  %26026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26027 = load i32, ptr %26026, align 4, !tbaa !5
  %26028 = call ptr @s2n_strerror_debug(i32 noundef %26027, ptr noundef @.str.4)
  %26029 = call ptr @__errno_location() #12
  %26030 = load i32, ptr %26029, align 4, !tbaa !5
  %26031 = call ptr @strerror(i32 noundef %26030) #11
  %26032 = call ptr @__errno_location() #12
  %26033 = load i32, ptr %26032, align 4, !tbaa !5
  %26034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26021, ptr noundef @.str.2, i32 noundef %26022, ptr noundef @.str.274, ptr noundef @.str.1, i32 noundef 993, ptr noundef %26025, ptr noundef %26028, ptr noundef %26031, i32 noundef %26033) #11
  br label %26052

26035:                                            ; preds = %26013, %26006
  %26036 = load i32, ptr %523, align 4, !tbaa !5
  %26037 = call ptr @__errno_location() #12
  store i32 %26036, ptr %26037, align 4, !tbaa !5
  %26038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26039 = load i32, ptr @test_count, align 4, !tbaa !5
  %26040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26041 = load i32, ptr %26040, align 4, !tbaa !5
  %26042 = call ptr @s2n_strerror(i32 noundef %26041, ptr noundef @.str.4)
  %26043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26044 = load i32, ptr %26043, align 4, !tbaa !5
  %26045 = call ptr @s2n_strerror_debug(i32 noundef %26044, ptr noundef @.str.4)
  %26046 = call ptr @__errno_location() #12
  %26047 = load i32, ptr %26046, align 4, !tbaa !5
  %26048 = call ptr @strerror(i32 noundef %26047) #11
  %26049 = call ptr @__errno_location() #12
  %26050 = load i32, ptr %26049, align 4, !tbaa !5
  %26051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26038, ptr noundef @.str.5, i32 noundef %26039, ptr noundef @.str.274, ptr noundef @.str.1, i32 noundef 993, ptr noundef %26042, ptr noundef %26045, ptr noundef %26048, i32 noundef %26050) #11
  br label %26052

26052:                                            ; preds = %26035, %26018
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %26053

26053:                                            ; preds = %26052
  br label %26054

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

26055:                                            ; No predecessors!
  br label %26056

26056:                                            ; preds = %26055
  br label %26057

26057:                                            ; preds = %26056, %25997
  br label %26058

26058:                                            ; preds = %26057
  br label %26059

26059:                                            ; preds = %26058
  br label %26060

26060:                                            ; preds = %26059
  %26061 = load i32, ptr @test_count, align 4, !tbaa !5
  %26062 = add nsw i32 %26061, 1
  store i32 %26062, ptr @test_count, align 4, !tbaa !5
  %26063 = load ptr, ptr %510, align 8, !tbaa !9
  %26064 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26063, i32 0, i32 3
  %26065 = getelementptr inbounds %struct.s2n_blob, ptr %26064, i32 0, i32 1
  %26066 = load i32, ptr %26065, align 8, !tbaa !88
  %26067 = zext i32 %26066 to i64
  %26068 = icmp eq i64 %26067, 9
  br i1 %26068, label %26122, label %26069

26069:                                            ; preds = %26060
  br label %26070

26070:                                            ; preds = %26069
  br label %26071

26071:                                            ; preds = %26070
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %26072 = call ptr @__errno_location() #12
  %26073 = load i32, ptr %26072, align 4, !tbaa !5
  store i32 %26073, ptr %524, align 4, !tbaa !5
  %26074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26075 = call i32 @s2n_print_stacktrace(ptr noundef %26074)
  %26076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26077 = trunc i8 %26076 to i1
  br i1 %26077, label %26078, label %26100

26078:                                            ; preds = %26071
  %26079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26080 = call i32 @fileno(ptr noundef %26079) #11
  %26081 = call i32 @isatty(i32 noundef %26080) #11
  %26082 = icmp ne i32 %26081, 0
  br i1 %26082, label %26083, label %26100

26083:                                            ; preds = %26078
  %26084 = load i32, ptr %524, align 4, !tbaa !5
  %26085 = call ptr @__errno_location() #12
  store i32 %26084, ptr %26085, align 4, !tbaa !5
  %26086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26087 = load i32, ptr @test_count, align 4, !tbaa !5
  %26088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26089 = load i32, ptr %26088, align 4, !tbaa !5
  %26090 = call ptr @s2n_strerror(i32 noundef %26089, ptr noundef @.str.4)
  %26091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26092 = load i32, ptr %26091, align 4, !tbaa !5
  %26093 = call ptr @s2n_strerror_debug(i32 noundef %26092, ptr noundef @.str.4)
  %26094 = call ptr @__errno_location() #12
  %26095 = load i32, ptr %26094, align 4, !tbaa !5
  %26096 = call ptr @strerror(i32 noundef %26095) #11
  %26097 = call ptr @__errno_location() #12
  %26098 = load i32, ptr %26097, align 4, !tbaa !5
  %26099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26086, ptr noundef @.str.2, i32 noundef %26087, ptr noundef @.str.275, ptr noundef @.str.1, i32 noundef 994, ptr noundef %26090, ptr noundef %26093, ptr noundef %26096, i32 noundef %26098) #11
  br label %26117

26100:                                            ; preds = %26078, %26071
  %26101 = load i32, ptr %524, align 4, !tbaa !5
  %26102 = call ptr @__errno_location() #12
  store i32 %26101, ptr %26102, align 4, !tbaa !5
  %26103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26104 = load i32, ptr @test_count, align 4, !tbaa !5
  %26105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26106 = load i32, ptr %26105, align 4, !tbaa !5
  %26107 = call ptr @s2n_strerror(i32 noundef %26106, ptr noundef @.str.4)
  %26108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26109 = load i32, ptr %26108, align 4, !tbaa !5
  %26110 = call ptr @s2n_strerror_debug(i32 noundef %26109, ptr noundef @.str.4)
  %26111 = call ptr @__errno_location() #12
  %26112 = load i32, ptr %26111, align 4, !tbaa !5
  %26113 = call ptr @strerror(i32 noundef %26112) #11
  %26114 = call ptr @__errno_location() #12
  %26115 = load i32, ptr %26114, align 4, !tbaa !5
  %26116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26103, ptr noundef @.str.5, i32 noundef %26104, ptr noundef @.str.275, ptr noundef @.str.1, i32 noundef 994, ptr noundef %26107, ptr noundef %26110, ptr noundef %26113, i32 noundef %26115) #11
  br label %26117

26117:                                            ; preds = %26100, %26083
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %26118

26118:                                            ; preds = %26117
  br label %26119

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

26120:                                            ; No predecessors!
  br label %26121

26121:                                            ; preds = %26120
  br label %26122

26122:                                            ; preds = %26121, %26060
  br label %26123

26123:                                            ; preds = %26122
  br label %26124

26124:                                            ; preds = %26123
  br label %26125

26125:                                            ; preds = %26124
  br label %26126

26126:                                            ; preds = %26125
  %26127 = load i32, ptr @test_count, align 4, !tbaa !5
  %26128 = add nsw i32 %26127, 1
  store i32 %26128, ptr @test_count, align 4, !tbaa !5
  %26129 = load ptr, ptr %510, align 8, !tbaa !9
  %26130 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26129, i32 0, i32 3
  %26131 = getelementptr inbounds %struct.s2n_blob, ptr %26130, i32 0, i32 0
  %26132 = load ptr, ptr %26131, align 8, !tbaa !89
  %26133 = getelementptr inbounds [9 x i8], ptr %508, i64 0, i64 0
  %26134 = call i32 @memcmp(ptr noundef %26132, ptr noundef %26133, i64 noundef 9) #14
  %26135 = icmp eq i32 %26134, 0
  br i1 %26135, label %26189, label %26136

26136:                                            ; preds = %26126
  br label %26137

26137:                                            ; preds = %26136
  br label %26138

26138:                                            ; preds = %26137
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %26139 = call ptr @__errno_location() #12
  %26140 = load i32, ptr %26139, align 4, !tbaa !5
  store i32 %26140, ptr %525, align 4, !tbaa !5
  %26141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26142 = call i32 @s2n_print_stacktrace(ptr noundef %26141)
  %26143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26144 = trunc i8 %26143 to i1
  br i1 %26144, label %26145, label %26167

26145:                                            ; preds = %26138
  %26146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26147 = call i32 @fileno(ptr noundef %26146) #11
  %26148 = call i32 @isatty(i32 noundef %26147) #11
  %26149 = icmp ne i32 %26148, 0
  br i1 %26149, label %26150, label %26167

26150:                                            ; preds = %26145
  %26151 = load i32, ptr %525, align 4, !tbaa !5
  %26152 = call ptr @__errno_location() #12
  store i32 %26151, ptr %26152, align 4, !tbaa !5
  %26153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26154 = load i32, ptr @test_count, align 4, !tbaa !5
  %26155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26156 = load i32, ptr %26155, align 4, !tbaa !5
  %26157 = call ptr @s2n_strerror(i32 noundef %26156, ptr noundef @.str.4)
  %26158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26159 = load i32, ptr %26158, align 4, !tbaa !5
  %26160 = call ptr @s2n_strerror_debug(i32 noundef %26159, ptr noundef @.str.4)
  %26161 = call ptr @__errno_location() #12
  %26162 = load i32, ptr %26161, align 4, !tbaa !5
  %26163 = call ptr @strerror(i32 noundef %26162) #11
  %26164 = call ptr @__errno_location() #12
  %26165 = load i32, ptr %26164, align 4, !tbaa !5
  %26166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26153, ptr noundef @.str.2, i32 noundef %26154, ptr noundef @.str.276, ptr noundef @.str.1, i32 noundef 995, ptr noundef %26157, ptr noundef %26160, ptr noundef %26163, i32 noundef %26165) #11
  br label %26184

26167:                                            ; preds = %26145, %26138
  %26168 = load i32, ptr %525, align 4, !tbaa !5
  %26169 = call ptr @__errno_location() #12
  store i32 %26168, ptr %26169, align 4, !tbaa !5
  %26170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26171 = load i32, ptr @test_count, align 4, !tbaa !5
  %26172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26173 = load i32, ptr %26172, align 4, !tbaa !5
  %26174 = call ptr @s2n_strerror(i32 noundef %26173, ptr noundef @.str.4)
  %26175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26176 = load i32, ptr %26175, align 4, !tbaa !5
  %26177 = call ptr @s2n_strerror_debug(i32 noundef %26176, ptr noundef @.str.4)
  %26178 = call ptr @__errno_location() #12
  %26179 = load i32, ptr %26178, align 4, !tbaa !5
  %26180 = call ptr @strerror(i32 noundef %26179) #11
  %26181 = call ptr @__errno_location() #12
  %26182 = load i32, ptr %26181, align 4, !tbaa !5
  %26183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26170, ptr noundef @.str.5, i32 noundef %26171, ptr noundef @.str.276, ptr noundef @.str.1, i32 noundef 995, ptr noundef %26174, ptr noundef %26177, ptr noundef %26180, i32 noundef %26182) #11
  br label %26184

26184:                                            ; preds = %26167, %26150
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %26185

26185:                                            ; preds = %26184
  br label %26186

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

26187:                                            ; No predecessors!
  br label %26188

26188:                                            ; preds = %26187
  br label %26189

26189:                                            ; preds = %26188, %26126
  br label %26190

26190:                                            ; preds = %26189
  br label %26191

26191:                                            ; preds = %26190
  br label %26192

26192:                                            ; preds = %26191
  br label %26193

26193:                                            ; preds = %26192
  %26194 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %510)
  %26195 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  store i32 %26194, ptr %26195, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #11
  call void @llvm.lifetime.end.p0(i64 15, ptr %509) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %508) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %527) #11
  store ptr null, ptr %527, align 8, !tbaa !9
  br label %26196

26196:                                            ; preds = %26193
  %26197 = load i32, ptr @test_count, align 4, !tbaa !5
  %26198 = add nsw i32 %26197, 1
  store i32 %26198, ptr @test_count, align 4, !tbaa !5
  %26199 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %527, ptr noundef @.str.8, ptr noundef @.str.9)
  %26200 = icmp eq i32 %26199, -1
  br i1 %26200, label %26201, label %26254

26201:                                            ; preds = %26196
  br label %26202

26202:                                            ; preds = %26201
  br label %26203

26203:                                            ; preds = %26202
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %26204 = call ptr @__errno_location() #12
  %26205 = load i32, ptr %26204, align 4, !tbaa !5
  store i32 %26205, ptr %528, align 4, !tbaa !5
  %26206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26207 = call i32 @s2n_print_stacktrace(ptr noundef %26206)
  %26208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26209 = trunc i8 %26208 to i1
  br i1 %26209, label %26210, label %26232

26210:                                            ; preds = %26203
  %26211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26212 = call i32 @fileno(ptr noundef %26211) #11
  %26213 = call i32 @isatty(i32 noundef %26212) #11
  %26214 = icmp ne i32 %26213, 0
  br i1 %26214, label %26215, label %26232

26215:                                            ; preds = %26210
  %26216 = load i32, ptr %528, align 4, !tbaa !5
  %26217 = call ptr @__errno_location() #12
  store i32 %26216, ptr %26217, align 4, !tbaa !5
  %26218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26219 = load i32, ptr @test_count, align 4, !tbaa !5
  %26220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26221 = load i32, ptr %26220, align 4, !tbaa !5
  %26222 = call ptr @s2n_strerror(i32 noundef %26221, ptr noundef @.str.4)
  %26223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26224 = load i32, ptr %26223, align 4, !tbaa !5
  %26225 = call ptr @s2n_strerror_debug(i32 noundef %26224, ptr noundef @.str.4)
  %26226 = call ptr @__errno_location() #12
  %26227 = load i32, ptr %26226, align 4, !tbaa !5
  %26228 = call ptr @strerror(i32 noundef %26227) #11
  %26229 = call ptr @__errno_location() #12
  %26230 = load i32, ptr %26229, align 4, !tbaa !5
  %26231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26218, ptr noundef @.str.2, i32 noundef %26219, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %26222, ptr noundef %26225, ptr noundef %26228, i32 noundef %26230) #11
  br label %26249

26232:                                            ; preds = %26210, %26203
  %26233 = load i32, ptr %528, align 4, !tbaa !5
  %26234 = call ptr @__errno_location() #12
  store i32 %26233, ptr %26234, align 4, !tbaa !5
  %26235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26236 = load i32, ptr @test_count, align 4, !tbaa !5
  %26237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26238 = load i32, ptr %26237, align 4, !tbaa !5
  %26239 = call ptr @s2n_strerror(i32 noundef %26238, ptr noundef @.str.4)
  %26240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26241 = load i32, ptr %26240, align 4, !tbaa !5
  %26242 = call ptr @s2n_strerror_debug(i32 noundef %26241, ptr noundef @.str.4)
  %26243 = call ptr @__errno_location() #12
  %26244 = load i32, ptr %26243, align 4, !tbaa !5
  %26245 = call ptr @strerror(i32 noundef %26244) #11
  %26246 = call ptr @__errno_location() #12
  %26247 = load i32, ptr %26246, align 4, !tbaa !5
  %26248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26235, ptr noundef @.str.5, i32 noundef %26236, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %26239, ptr noundef %26242, ptr noundef %26245, i32 noundef %26247) #11
  br label %26249

26249:                                            ; preds = %26232, %26215
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %26250

26250:                                            ; preds = %26249
  br label %26251

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

26252:                                            ; No predecessors!
  br label %26253

26253:                                            ; preds = %26252
  br label %26254

26254:                                            ; preds = %26253, %26196
  br label %26255

26255:                                            ; preds = %26254
  br label %26256

26256:                                            ; preds = %26255
  br label %26257

26257:                                            ; preds = %26256
  %26258 = load ptr, ptr %527, align 8, !tbaa !9
  %26259 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26258, i32 0, i32 0
  %26260 = load ptr, ptr %26259, align 8, !tbaa !15
  %26261 = icmp ne ptr %26260, null
  br i1 %26261, label %26295, label %26262

26262:                                            ; preds = %26257
  br label %26263

26263:                                            ; preds = %26262
  br label %26264

26264:                                            ; preds = %26263
  %26265 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26266 = getelementptr inbounds %struct.s2n_debug_info, ptr %26265, i32 0, i32 0
  store ptr @.str.282, ptr %26266, align 8, !tbaa !90
  %26267 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26268 = getelementptr inbounds %struct.s2n_debug_info, ptr %26267, i32 0, i32 0
  %26269 = load ptr, ptr %26268, align 8, !tbaa !90
  %26270 = getelementptr inbounds i8, ptr %26269, i64 21
  %26271 = call ptr @strrchr(ptr noundef %26270, i32 noundef 47) #14
  %26272 = icmp ne ptr %26271, null
  br i1 %26272, label %26273, label %26280

26273:                                            ; preds = %26264
  %26274 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26275 = getelementptr inbounds %struct.s2n_debug_info, ptr %26274, i32 0, i32 0
  %26276 = load ptr, ptr %26275, align 8, !tbaa !90
  %26277 = getelementptr inbounds i8, ptr %26276, i64 21
  %26278 = call ptr @strrchr(ptr noundef %26277, i32 noundef 47) #14
  %26279 = getelementptr inbounds i8, ptr %26278, i64 1
  br label %26285

26280:                                            ; preds = %26264
  %26281 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26282 = getelementptr inbounds %struct.s2n_debug_info, ptr %26281, i32 0, i32 0
  %26283 = load ptr, ptr %26282, align 8, !tbaa !90
  %26284 = getelementptr inbounds i8, ptr %26283, i64 21
  br label %26285

26285:                                            ; preds = %26280, %26273
  %26286 = phi ptr [ %26279, %26273 ], [ %26284, %26280 ]
  %26287 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26288 = getelementptr inbounds %struct.s2n_debug_info, ptr %26287, i32 0, i32 1
  store ptr %26286, ptr %26288, align 8, !tbaa !92
  %26289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %26289, align 4, !tbaa !5
  %26290 = call i32 @s2n_calculate_stacktrace()
  br label %26291

26291:                                            ; preds = %26285
  br label %26292

26292:                                            ; preds = %26291
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %27613

26293:                                            ; No predecessors!
  br label %26294

26294:                                            ; preds = %26293
  br label %26295

26295:                                            ; preds = %26294, %26257
  br label %26296

26296:                                            ; preds = %26295
  br label %26297

26297:                                            ; preds = %26296
  call void @llvm.lifetime.start.p0(i64 8, ptr %529) #11
  %26298 = load ptr, ptr %527, align 8, !tbaa !9
  %26299 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26298, i32 0, i32 0
  %26300 = load ptr, ptr %26299, align 8, !tbaa !15
  %26301 = getelementptr inbounds %struct.s2n_cert_chain, ptr %26300, i32 0, i32 1
  %26302 = load ptr, ptr %26301, align 8, !tbaa !23
  store ptr %26302, ptr %529, align 8, !tbaa !9
  br label %26303

26303:                                            ; preds = %26297
  %26304 = load ptr, ptr %529, align 8, !tbaa !9
  %26305 = icmp ne ptr %26304, null
  br i1 %26305, label %26339, label %26306

26306:                                            ; preds = %26303
  br label %26307

26307:                                            ; preds = %26306
  br label %26308

26308:                                            ; preds = %26307
  %26309 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26310 = getelementptr inbounds %struct.s2n_debug_info, ptr %26309, i32 0, i32 0
  store ptr @.str.283, ptr %26310, align 8, !tbaa !90
  %26311 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26312 = getelementptr inbounds %struct.s2n_debug_info, ptr %26311, i32 0, i32 0
  %26313 = load ptr, ptr %26312, align 8, !tbaa !90
  %26314 = getelementptr inbounds i8, ptr %26313, i64 21
  %26315 = call ptr @strrchr(ptr noundef %26314, i32 noundef 47) #14
  %26316 = icmp ne ptr %26315, null
  br i1 %26316, label %26317, label %26324

26317:                                            ; preds = %26308
  %26318 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26319 = getelementptr inbounds %struct.s2n_debug_info, ptr %26318, i32 0, i32 0
  %26320 = load ptr, ptr %26319, align 8, !tbaa !90
  %26321 = getelementptr inbounds i8, ptr %26320, i64 21
  %26322 = call ptr @strrchr(ptr noundef %26321, i32 noundef 47) #14
  %26323 = getelementptr inbounds i8, ptr %26322, i64 1
  br label %26329

26324:                                            ; preds = %26308
  %26325 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26326 = getelementptr inbounds %struct.s2n_debug_info, ptr %26325, i32 0, i32 0
  %26327 = load ptr, ptr %26326, align 8, !tbaa !90
  %26328 = getelementptr inbounds i8, ptr %26327, i64 21
  br label %26329

26329:                                            ; preds = %26324, %26317
  %26330 = phi ptr [ %26323, %26317 ], [ %26328, %26324 ]
  %26331 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %26332 = getelementptr inbounds %struct.s2n_debug_info, ptr %26331, i32 0, i32 1
  store ptr %26330, ptr %26332, align 8, !tbaa !92
  %26333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %26333, align 4, !tbaa !5
  %26334 = call i32 @s2n_calculate_stacktrace()
  br label %26335

26335:                                            ; preds = %26329
  br label %26336

26336:                                            ; preds = %26335
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %27612

26337:                                            ; No predecessors!
  br label %26338

26338:                                            ; preds = %26337
  br label %26339

26339:                                            ; preds = %26338, %26303
  br label %26340

26340:                                            ; preds = %26339
  br label %26341

26341:                                            ; preds = %26340
  call void @llvm.lifetime.start.p0(i64 8, ptr %530) #11
  %26342 = load ptr, ptr %529, align 8, !tbaa !9
  %26343 = getelementptr inbounds %struct.s2n_cert, ptr %26342, i32 0, i32 3
  store ptr %26343, ptr %530, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %531) #11
  %26344 = load ptr, ptr %530, align 8, !tbaa !9
  %26345 = getelementptr inbounds %struct.s2n_blob, ptr %26344, i32 0, i32 0
  %26346 = load ptr, ptr %26345, align 8, !tbaa !73
  store ptr %26346, ptr %531, align 8, !tbaa !9
  br label %26347

26347:                                            ; preds = %26341
  %26348 = load i32, ptr @test_count, align 4, !tbaa !5
  %26349 = add nsw i32 %26348, 1
  store i32 %26349, ptr @test_count, align 4, !tbaa !5
  %26350 = load ptr, ptr %531, align 8, !tbaa !9
  %26351 = icmp eq ptr %26350, null
  br i1 %26351, label %26352, label %26405

26352:                                            ; preds = %26347
  br label %26353

26353:                                            ; preds = %26352
  br label %26354

26354:                                            ; preds = %26353
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %26355 = call ptr @__errno_location() #12
  %26356 = load i32, ptr %26355, align 4, !tbaa !5
  store i32 %26356, ptr %532, align 4, !tbaa !5
  %26357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26358 = call i32 @s2n_print_stacktrace(ptr noundef %26357)
  %26359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26360 = trunc i8 %26359 to i1
  br i1 %26360, label %26361, label %26383

26361:                                            ; preds = %26354
  %26362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26363 = call i32 @fileno(ptr noundef %26362) #11
  %26364 = call i32 @isatty(i32 noundef %26363) #11
  %26365 = icmp ne i32 %26364, 0
  br i1 %26365, label %26366, label %26383

26366:                                            ; preds = %26361
  %26367 = load i32, ptr %532, align 4, !tbaa !5
  %26368 = call ptr @__errno_location() #12
  store i32 %26367, ptr %26368, align 4, !tbaa !5
  %26369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26370 = load i32, ptr @test_count, align 4, !tbaa !5
  %26371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26372 = load i32, ptr %26371, align 4, !tbaa !5
  %26373 = call ptr @s2n_strerror(i32 noundef %26372, ptr noundef @.str.4)
  %26374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26375 = load i32, ptr %26374, align 4, !tbaa !5
  %26376 = call ptr @s2n_strerror_debug(i32 noundef %26375, ptr noundef @.str.4)
  %26377 = call ptr @__errno_location() #12
  %26378 = load i32, ptr %26377, align 4, !tbaa !5
  %26379 = call ptr @strerror(i32 noundef %26378) #11
  %26380 = call ptr @__errno_location() #12
  %26381 = load i32, ptr %26380, align 4, !tbaa !5
  %26382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26369, ptr noundef @.str.2, i32 noundef %26370, ptr noundef @.str.284, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %26373, ptr noundef %26376, ptr noundef %26379, i32 noundef %26381) #11
  br label %26400

26383:                                            ; preds = %26361, %26354
  %26384 = load i32, ptr %532, align 4, !tbaa !5
  %26385 = call ptr @__errno_location() #12
  store i32 %26384, ptr %26385, align 4, !tbaa !5
  %26386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26387 = load i32, ptr @test_count, align 4, !tbaa !5
  %26388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26389 = load i32, ptr %26388, align 4, !tbaa !5
  %26390 = call ptr @s2n_strerror(i32 noundef %26389, ptr noundef @.str.4)
  %26391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26392 = load i32, ptr %26391, align 4, !tbaa !5
  %26393 = call ptr @s2n_strerror_debug(i32 noundef %26392, ptr noundef @.str.4)
  %26394 = call ptr @__errno_location() #12
  %26395 = load i32, ptr %26394, align 4, !tbaa !5
  %26396 = call ptr @strerror(i32 noundef %26395) #11
  %26397 = call ptr @__errno_location() #12
  %26398 = load i32, ptr %26397, align 4, !tbaa !5
  %26399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26386, ptr noundef @.str.5, i32 noundef %26387, ptr noundef @.str.284, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %26390, ptr noundef %26393, ptr noundef %26396, i32 noundef %26398) #11
  br label %26400

26400:                                            ; preds = %26383, %26366
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %26401

26401:                                            ; preds = %26400
  br label %26402

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

26403:                                            ; No predecessors!
  br label %26404

26404:                                            ; preds = %26403
  br label %26405

26405:                                            ; preds = %26404, %26347
  br label %26406

26406:                                            ; preds = %26405
  br label %26407

26407:                                            ; preds = %26406
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #11
  store ptr null, ptr %533, align 8, !tbaa !9
  %26408 = load ptr, ptr %530, align 8, !tbaa !9
  %26409 = getelementptr inbounds %struct.s2n_blob, ptr %26408, i32 0, i32 1
  %26410 = load i32, ptr %26409, align 8, !tbaa !93
  %26411 = zext i32 %26410 to i64
  %26412 = call ptr @d2i_X509(ptr noundef null, ptr noundef %531, i64 noundef %26411)
  store ptr %26412, ptr %533, align 8, !tbaa !9
  br label %26413

26413:                                            ; preds = %26407
  %26414 = load i32, ptr @test_count, align 4, !tbaa !5
  %26415 = add nsw i32 %26414, 1
  store i32 %26415, ptr @test_count, align 4, !tbaa !5
  %26416 = load ptr, ptr %533, align 8, !tbaa !9
  %26417 = icmp eq ptr %26416, null
  br i1 %26417, label %26418, label %26471

26418:                                            ; preds = %26413
  br label %26419

26419:                                            ; preds = %26418
  br label %26420

26420:                                            ; preds = %26419
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %26421 = call ptr @__errno_location() #12
  %26422 = load i32, ptr %26421, align 4, !tbaa !5
  store i32 %26422, ptr %534, align 4, !tbaa !5
  %26423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26424 = call i32 @s2n_print_stacktrace(ptr noundef %26423)
  %26425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26426 = trunc i8 %26425 to i1
  br i1 %26426, label %26427, label %26449

26427:                                            ; preds = %26420
  %26428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26429 = call i32 @fileno(ptr noundef %26428) #11
  %26430 = call i32 @isatty(i32 noundef %26429) #11
  %26431 = icmp ne i32 %26430, 0
  br i1 %26431, label %26432, label %26449

26432:                                            ; preds = %26427
  %26433 = load i32, ptr %534, align 4, !tbaa !5
  %26434 = call ptr @__errno_location() #12
  store i32 %26433, ptr %26434, align 4, !tbaa !5
  %26435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26436 = load i32, ptr @test_count, align 4, !tbaa !5
  %26437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26438 = load i32, ptr %26437, align 4, !tbaa !5
  %26439 = call ptr @s2n_strerror(i32 noundef %26438, ptr noundef @.str.4)
  %26440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26441 = load i32, ptr %26440, align 4, !tbaa !5
  %26442 = call ptr @s2n_strerror_debug(i32 noundef %26441, ptr noundef @.str.4)
  %26443 = call ptr @__errno_location() #12
  %26444 = load i32, ptr %26443, align 4, !tbaa !5
  %26445 = call ptr @strerror(i32 noundef %26444) #11
  %26446 = call ptr @__errno_location() #12
  %26447 = load i32, ptr %26446, align 4, !tbaa !5
  %26448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26435, ptr noundef @.str.2, i32 noundef %26436, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 1016, ptr noundef %26439, ptr noundef %26442, ptr noundef %26445, i32 noundef %26447) #11
  br label %26466

26449:                                            ; preds = %26427, %26420
  %26450 = load i32, ptr %534, align 4, !tbaa !5
  %26451 = call ptr @__errno_location() #12
  store i32 %26450, ptr %26451, align 4, !tbaa !5
  %26452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26453 = load i32, ptr @test_count, align 4, !tbaa !5
  %26454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26455 = load i32, ptr %26454, align 4, !tbaa !5
  %26456 = call ptr @s2n_strerror(i32 noundef %26455, ptr noundef @.str.4)
  %26457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26458 = load i32, ptr %26457, align 4, !tbaa !5
  %26459 = call ptr @s2n_strerror_debug(i32 noundef %26458, ptr noundef @.str.4)
  %26460 = call ptr @__errno_location() #12
  %26461 = load i32, ptr %26460, align 4, !tbaa !5
  %26462 = call ptr @strerror(i32 noundef %26461) #11
  %26463 = call ptr @__errno_location() #12
  %26464 = load i32, ptr %26463, align 4, !tbaa !5
  %26465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26452, ptr noundef @.str.5, i32 noundef %26453, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 1016, ptr noundef %26456, ptr noundef %26459, ptr noundef %26462, i32 noundef %26464) #11
  br label %26466

26466:                                            ; preds = %26449, %26432
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %26467

26467:                                            ; preds = %26466
  br label %26468

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

26469:                                            ; No predecessors!
  br label %26470

26470:                                            ; preds = %26469
  br label %26471

26471:                                            ; preds = %26470, %26413
  br label %26472

26472:                                            ; preds = %26471
  br label %26473

26473:                                            ; preds = %26472
  call void @llvm.lifetime.start.p0(i64 8, ptr %535) #11
  store ptr null, ptr %535, align 8, !tbaa !9
  %26474 = call ptr @X509_NAME_new()
  store ptr %26474, ptr %535, align 8, !tbaa !9
  br label %26475

26475:                                            ; preds = %26473
  %26476 = load i32, ptr @test_count, align 4, !tbaa !5
  %26477 = add nsw i32 %26476, 1
  store i32 %26477, ptr @test_count, align 4, !tbaa !5
  %26478 = load ptr, ptr %535, align 8, !tbaa !9
  %26479 = icmp eq ptr %26478, null
  br i1 %26479, label %26480, label %26533

26480:                                            ; preds = %26475
  br label %26481

26481:                                            ; preds = %26480
  br label %26482

26482:                                            ; preds = %26481
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #11
  %26483 = call ptr @__errno_location() #12
  %26484 = load i32, ptr %26483, align 4, !tbaa !5
  store i32 %26484, ptr %536, align 4, !tbaa !5
  %26485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26486 = call i32 @s2n_print_stacktrace(ptr noundef %26485)
  %26487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26488 = trunc i8 %26487 to i1
  br i1 %26488, label %26489, label %26511

26489:                                            ; preds = %26482
  %26490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26491 = call i32 @fileno(ptr noundef %26490) #11
  %26492 = call i32 @isatty(i32 noundef %26491) #11
  %26493 = icmp ne i32 %26492, 0
  br i1 %26493, label %26494, label %26511

26494:                                            ; preds = %26489
  %26495 = load i32, ptr %536, align 4, !tbaa !5
  %26496 = call ptr @__errno_location() #12
  store i32 %26495, ptr %26496, align 4, !tbaa !5
  %26497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26498 = load i32, ptr @test_count, align 4, !tbaa !5
  %26499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26500 = load i32, ptr %26499, align 4, !tbaa !5
  %26501 = call ptr @s2n_strerror(i32 noundef %26500, ptr noundef @.str.4)
  %26502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26503 = load i32, ptr %26502, align 4, !tbaa !5
  %26504 = call ptr @s2n_strerror_debug(i32 noundef %26503, ptr noundef @.str.4)
  %26505 = call ptr @__errno_location() #12
  %26506 = load i32, ptr %26505, align 4, !tbaa !5
  %26507 = call ptr @strerror(i32 noundef %26506) #11
  %26508 = call ptr @__errno_location() #12
  %26509 = load i32, ptr %26508, align 4, !tbaa !5
  %26510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26497, ptr noundef @.str.2, i32 noundef %26498, ptr noundef @.str.285, ptr noundef @.str.1, i32 noundef 1020, ptr noundef %26501, ptr noundef %26504, ptr noundef %26507, i32 noundef %26509) #11
  br label %26528

26511:                                            ; preds = %26489, %26482
  %26512 = load i32, ptr %536, align 4, !tbaa !5
  %26513 = call ptr @__errno_location() #12
  store i32 %26512, ptr %26513, align 4, !tbaa !5
  %26514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26515 = load i32, ptr @test_count, align 4, !tbaa !5
  %26516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26517 = load i32, ptr %26516, align 4, !tbaa !5
  %26518 = call ptr @s2n_strerror(i32 noundef %26517, ptr noundef @.str.4)
  %26519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26520 = load i32, ptr %26519, align 4, !tbaa !5
  %26521 = call ptr @s2n_strerror_debug(i32 noundef %26520, ptr noundef @.str.4)
  %26522 = call ptr @__errno_location() #12
  %26523 = load i32, ptr %26522, align 4, !tbaa !5
  %26524 = call ptr @strerror(i32 noundef %26523) #11
  %26525 = call ptr @__errno_location() #12
  %26526 = load i32, ptr %26525, align 4, !tbaa !5
  %26527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26514, ptr noundef @.str.5, i32 noundef %26515, ptr noundef @.str.285, ptr noundef @.str.1, i32 noundef 1020, ptr noundef %26518, ptr noundef %26521, ptr noundef %26524, i32 noundef %26526) #11
  br label %26528

26528:                                            ; preds = %26511, %26494
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #11
  br label %26529

26529:                                            ; preds = %26528
  br label %26530

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

26531:                                            ; No predecessors!
  br label %26532

26532:                                            ; preds = %26531
  br label %26533

26533:                                            ; preds = %26532, %26475
  br label %26534

26534:                                            ; preds = %26533
  br label %26535

26535:                                            ; preds = %26534
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  store i32 0, ptr %537, align 4, !tbaa !5
  br label %26536

26536:                                            ; preds = %26535
  %26537 = load i32, ptr @test_count, align 4, !tbaa !5
  %26538 = add nsw i32 %26537, 1
  store i32 %26538, ptr @test_count, align 4, !tbaa !5
  %26539 = load ptr, ptr %527, align 8, !tbaa !9
  %26540 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26539, i32 0, i32 5
  %26541 = load ptr, ptr %26540, align 8, !tbaa !19
  %26542 = call i32 @s2n_array_num_elements(ptr noundef %26541, ptr noundef %537)
  %26543 = getelementptr inbounds %struct.s2n_result, ptr %538, i32 0, i32 0
  store i32 %26542, ptr %26543, align 4
  %26544 = getelementptr inbounds %struct.s2n_result, ptr %538, i32 0, i32 0
  %26545 = load i32, ptr %26544, align 4
  %26546 = call zeroext i1 @s2n_result_is_ok(i32 %26545)
  br i1 %26546, label %26600, label %26547

26547:                                            ; preds = %26536
  br label %26548

26548:                                            ; preds = %26547
  br label %26549

26549:                                            ; preds = %26548
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %26550 = call ptr @__errno_location() #12
  %26551 = load i32, ptr %26550, align 4, !tbaa !5
  store i32 %26551, ptr %539, align 4, !tbaa !5
  %26552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26553 = call i32 @s2n_print_stacktrace(ptr noundef %26552)
  %26554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26555 = trunc i8 %26554 to i1
  br i1 %26555, label %26556, label %26578

26556:                                            ; preds = %26549
  %26557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26558 = call i32 @fileno(ptr noundef %26557) #11
  %26559 = call i32 @isatty(i32 noundef %26558) #11
  %26560 = icmp ne i32 %26559, 0
  br i1 %26560, label %26561, label %26578

26561:                                            ; preds = %26556
  %26562 = load i32, ptr %539, align 4, !tbaa !5
  %26563 = call ptr @__errno_location() #12
  store i32 %26562, ptr %26563, align 4, !tbaa !5
  %26564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26565 = load i32, ptr @test_count, align 4, !tbaa !5
  %26566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26567 = load i32, ptr %26566, align 4, !tbaa !5
  %26568 = call ptr @s2n_strerror(i32 noundef %26567, ptr noundef @.str.4)
  %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_debug(i32 noundef %26570, ptr noundef @.str.4)
  %26572 = call ptr @__errno_location() #12
  %26573 = load i32, ptr %26572, align 4, !tbaa !5
  %26574 = call ptr @strerror(i32 noundef %26573) #11
  %26575 = call ptr @__errno_location() #12
  %26576 = load i32, ptr %26575, align 4, !tbaa !5
  %26577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26564, ptr noundef @.str.2, i32 noundef %26565, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1024, ptr noundef %26568, ptr noundef %26571, ptr noundef %26574, i32 noundef %26576) #11
  br label %26595

26578:                                            ; preds = %26556, %26549
  %26579 = load i32, ptr %539, align 4, !tbaa !5
  %26580 = call ptr @__errno_location() #12
  store i32 %26579, ptr %26580, align 4, !tbaa !5
  %26581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26582 = load i32, ptr @test_count, align 4, !tbaa !5
  %26583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26584 = load i32, ptr %26583, align 4, !tbaa !5
  %26585 = call ptr @s2n_strerror(i32 noundef %26584, ptr noundef @.str.4)
  %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_debug(i32 noundef %26587, ptr noundef @.str.4)
  %26589 = call ptr @__errno_location() #12
  %26590 = load i32, ptr %26589, align 4, !tbaa !5
  %26591 = call ptr @strerror(i32 noundef %26590) #11
  %26592 = call ptr @__errno_location() #12
  %26593 = load i32, ptr %26592, align 4, !tbaa !5
  %26594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26581, ptr noundef @.str.5, i32 noundef %26582, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1024, ptr noundef %26585, ptr noundef %26588, ptr noundef %26591, i32 noundef %26593) #11
  br label %26595

26595:                                            ; preds = %26578, %26561
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %26596

26596:                                            ; preds = %26595
  br label %26597

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

26598:                                            ; No predecessors!
  br label %26599

26599:                                            ; preds = %26598
  br label %26600

26600:                                            ; preds = %26599, %26536
  br label %26601

26601:                                            ; preds = %26600
  br label %26602

26602:                                            ; preds = %26601
  br label %26603

26603:                                            ; preds = %26602
  %26604 = load i32, ptr @test_count, align 4, !tbaa !5
  %26605 = add nsw i32 %26604, 1
  store i32 %26605, ptr @test_count, align 4, !tbaa !5
  %26606 = load i32, ptr %537, align 4, !tbaa !5
  %26607 = icmp eq i32 %26606, 1
  br i1 %26607, label %26661, label %26608

26608:                                            ; preds = %26603
  br label %26609

26609:                                            ; preds = %26608
  br label %26610

26610:                                            ; preds = %26609
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %26611 = call ptr @__errno_location() #12
  %26612 = load i32, ptr %26611, align 4, !tbaa !5
  store i32 %26612, ptr %540, align 4, !tbaa !5
  %26613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26614 = call i32 @s2n_print_stacktrace(ptr noundef %26613)
  %26615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26616 = trunc i8 %26615 to i1
  br i1 %26616, label %26617, label %26639

26617:                                            ; preds = %26610
  %26618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26619 = call i32 @fileno(ptr noundef %26618) #11
  %26620 = call i32 @isatty(i32 noundef %26619) #11
  %26621 = icmp ne i32 %26620, 0
  br i1 %26621, label %26622, label %26639

26622:                                            ; preds = %26617
  %26623 = load i32, ptr %540, align 4, !tbaa !5
  %26624 = call ptr @__errno_location() #12
  store i32 %26623, ptr %26624, align 4, !tbaa !5
  %26625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26626 = load i32, ptr @test_count, align 4, !tbaa !5
  %26627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26628 = load i32, ptr %26627, align 4, !tbaa !5
  %26629 = call ptr @s2n_strerror(i32 noundef %26628, ptr noundef @.str.4)
  %26630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26631 = load i32, ptr %26630, align 4, !tbaa !5
  %26632 = call ptr @s2n_strerror_debug(i32 noundef %26631, ptr noundef @.str.4)
  %26633 = call ptr @__errno_location() #12
  %26634 = load i32, ptr %26633, align 4, !tbaa !5
  %26635 = call ptr @strerror(i32 noundef %26634) #11
  %26636 = call ptr @__errno_location() #12
  %26637 = load i32, ptr %26636, align 4, !tbaa !5
  %26638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26625, ptr noundef @.str.2, i32 noundef %26626, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %26629, ptr noundef %26632, ptr noundef %26635, i32 noundef %26637) #11
  br label %26656

26639:                                            ; preds = %26617, %26610
  %26640 = load i32, ptr %540, align 4, !tbaa !5
  %26641 = call ptr @__errno_location() #12
  store i32 %26640, ptr %26641, align 4, !tbaa !5
  %26642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26643 = load i32, ptr @test_count, align 4, !tbaa !5
  %26644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26645 = load i32, ptr %26644, align 4, !tbaa !5
  %26646 = call ptr @s2n_strerror(i32 noundef %26645, ptr noundef @.str.4)
  %26647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26648 = load i32, ptr %26647, align 4, !tbaa !5
  %26649 = call ptr @s2n_strerror_debug(i32 noundef %26648, ptr noundef @.str.4)
  %26650 = call ptr @__errno_location() #12
  %26651 = load i32, ptr %26650, align 4, !tbaa !5
  %26652 = call ptr @strerror(i32 noundef %26651) #11
  %26653 = call ptr @__errno_location() #12
  %26654 = load i32, ptr %26653, align 4, !tbaa !5
  %26655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26642, ptr noundef @.str.5, i32 noundef %26643, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %26646, ptr noundef %26649, ptr noundef %26652, i32 noundef %26654) #11
  br label %26656

26656:                                            ; preds = %26639, %26622
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %26657

26657:                                            ; preds = %26656
  br label %26658

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

26659:                                            ; No predecessors!
  br label %26660

26660:                                            ; preds = %26659
  br label %26661

26661:                                            ; preds = %26660, %26603
  br label %26662

26662:                                            ; preds = %26661
  br label %26663

26663:                                            ; preds = %26662
  br label %26664

26664:                                            ; preds = %26663
  %26665 = load i32, ptr @test_count, align 4, !tbaa !5
  %26666 = add nsw i32 %26665, 1
  store i32 %26666, ptr @test_count, align 4, !tbaa !5
  %26667 = load ptr, ptr %535, align 8, !tbaa !9
  %26668 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef %26667, i32 noundef 13, i32 noundef 22, ptr noundef @.str.288, i32 noundef -1, i32 noundef -1, i32 noundef 1)
  %26669 = icmp eq i32 %26668, -1
  br i1 %26669, label %26670, label %26723

26670:                                            ; preds = %26664
  br label %26671

26671:                                            ; preds = %26670
  br label %26672

26672:                                            ; preds = %26671
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %26673 = call ptr @__errno_location() #12
  %26674 = load i32, ptr %26673, align 4, !tbaa !5
  store i32 %26674, ptr %541, align 4, !tbaa !5
  %26675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26676 = call i32 @s2n_print_stacktrace(ptr noundef %26675)
  %26677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26678 = trunc i8 %26677 to i1
  br i1 %26678, label %26679, label %26701

26679:                                            ; preds = %26672
  %26680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26681 = call i32 @fileno(ptr noundef %26680) #11
  %26682 = call i32 @isatty(i32 noundef %26681) #11
  %26683 = icmp ne i32 %26682, 0
  br i1 %26683, label %26684, label %26701

26684:                                            ; preds = %26679
  %26685 = load i32, ptr %541, align 4, !tbaa !5
  %26686 = call ptr @__errno_location() #12
  store i32 %26685, ptr %26686, align 4, !tbaa !5
  %26687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26688 = load i32, ptr @test_count, align 4, !tbaa !5
  %26689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26690 = load i32, ptr %26689, align 4, !tbaa !5
  %26691 = call ptr @s2n_strerror(i32 noundef %26690, ptr noundef @.str.4)
  %26692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26693 = load i32, ptr %26692, align 4, !tbaa !5
  %26694 = call ptr @s2n_strerror_debug(i32 noundef %26693, ptr noundef @.str.4)
  %26695 = call ptr @__errno_location() #12
  %26696 = load i32, ptr %26695, align 4, !tbaa !5
  %26697 = call ptr @strerror(i32 noundef %26696) #11
  %26698 = call ptr @__errno_location() #12
  %26699 = load i32, ptr %26698, align 4, !tbaa !5
  %26700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26687, ptr noundef @.str.2, i32 noundef %26688, ptr noundef @.str.289, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %26691, ptr noundef %26694, ptr noundef %26697, i32 noundef %26699) #11
  br label %26718

26701:                                            ; preds = %26679, %26672
  %26702 = load i32, ptr %541, align 4, !tbaa !5
  %26703 = call ptr @__errno_location() #12
  store i32 %26702, ptr %26703, align 4, !tbaa !5
  %26704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26705 = load i32, ptr @test_count, align 4, !tbaa !5
  %26706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26707 = load i32, ptr %26706, align 4, !tbaa !5
  %26708 = call ptr @s2n_strerror(i32 noundef %26707, ptr noundef @.str.4)
  %26709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26710 = load i32, ptr %26709, align 4, !tbaa !5
  %26711 = call ptr @s2n_strerror_debug(i32 noundef %26710, ptr noundef @.str.4)
  %26712 = call ptr @__errno_location() #12
  %26713 = load i32, ptr %26712, align 4, !tbaa !5
  %26714 = call ptr @strerror(i32 noundef %26713) #11
  %26715 = call ptr @__errno_location() #12
  %26716 = load i32, ptr %26715, align 4, !tbaa !5
  %26717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26704, ptr noundef @.str.5, i32 noundef %26705, ptr noundef @.str.289, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %26708, ptr noundef %26711, ptr noundef %26714, i32 noundef %26716) #11
  br label %26718

26718:                                            ; preds = %26701, %26684
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %26719

26719:                                            ; preds = %26718
  br label %26720

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

26721:                                            ; No predecessors!
  br label %26722

26722:                                            ; preds = %26721
  br label %26723

26723:                                            ; preds = %26722, %26664
  br label %26724

26724:                                            ; preds = %26723
  br label %26725

26725:                                            ; preds = %26724
  br label %26726

26726:                                            ; preds = %26725
  %26727 = load i32, ptr @test_count, align 4, !tbaa !5
  %26728 = add nsw i32 %26727, 1
  store i32 %26728, ptr @test_count, align 4, !tbaa !5
  %26729 = load ptr, ptr %533, align 8, !tbaa !9
  %26730 = load ptr, ptr %535, align 8, !tbaa !9
  %26731 = call i32 @X509_set_subject_name(ptr noundef %26729, ptr noundef %26730)
  %26732 = icmp eq i32 %26731, 1
  br i1 %26732, label %26786, label %26733

26733:                                            ; preds = %26726
  br label %26734

26734:                                            ; preds = %26733
  br label %26735

26735:                                            ; preds = %26734
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %26736 = call ptr @__errno_location() #12
  %26737 = load i32, ptr %26736, align 4, !tbaa !5
  store i32 %26737, ptr %542, align 4, !tbaa !5
  %26738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26739 = call i32 @s2n_print_stacktrace(ptr noundef %26738)
  %26740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26741 = trunc i8 %26740 to i1
  br i1 %26741, label %26742, label %26764

26742:                                            ; preds = %26735
  %26743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26744 = call i32 @fileno(ptr noundef %26743) #11
  %26745 = call i32 @isatty(i32 noundef %26744) #11
  %26746 = icmp ne i32 %26745, 0
  br i1 %26746, label %26747, label %26764

26747:                                            ; preds = %26742
  %26748 = load i32, ptr %542, align 4, !tbaa !5
  %26749 = call ptr @__errno_location() #12
  store i32 %26748, ptr %26749, align 4, !tbaa !5
  %26750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26751 = load i32, ptr @test_count, align 4, !tbaa !5
  %26752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26753 = load i32, ptr %26752, align 4, !tbaa !5
  %26754 = call ptr @s2n_strerror(i32 noundef %26753, ptr noundef @.str.4)
  %26755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26756 = load i32, ptr %26755, align 4, !tbaa !5
  %26757 = call ptr @s2n_strerror_debug(i32 noundef %26756, ptr noundef @.str.4)
  %26758 = call ptr @__errno_location() #12
  %26759 = load i32, ptr %26758, align 4, !tbaa !5
  %26760 = call ptr @strerror(i32 noundef %26759) #11
  %26761 = call ptr @__errno_location() #12
  %26762 = load i32, ptr %26761, align 4, !tbaa !5
  %26763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26750, ptr noundef @.str.2, i32 noundef %26751, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1030, ptr noundef %26754, ptr noundef %26757, ptr noundef %26760, i32 noundef %26762) #11
  br label %26781

26764:                                            ; preds = %26742, %26735
  %26765 = load i32, ptr %542, align 4, !tbaa !5
  %26766 = call ptr @__errno_location() #12
  store i32 %26765, ptr %26766, align 4, !tbaa !5
  %26767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26768 = load i32, ptr @test_count, align 4, !tbaa !5
  %26769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26770 = load i32, ptr %26769, align 4, !tbaa !5
  %26771 = call ptr @s2n_strerror(i32 noundef %26770, ptr noundef @.str.4)
  %26772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26773 = load i32, ptr %26772, align 4, !tbaa !5
  %26774 = call ptr @s2n_strerror_debug(i32 noundef %26773, ptr noundef @.str.4)
  %26775 = call ptr @__errno_location() #12
  %26776 = load i32, ptr %26775, align 4, !tbaa !5
  %26777 = call ptr @strerror(i32 noundef %26776) #11
  %26778 = call ptr @__errno_location() #12
  %26779 = load i32, ptr %26778, align 4, !tbaa !5
  %26780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26767, ptr noundef @.str.5, i32 noundef %26768, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1030, ptr noundef %26771, ptr noundef %26774, ptr noundef %26777, i32 noundef %26779) #11
  br label %26781

26781:                                            ; preds = %26764, %26747
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %26782

26782:                                            ; preds = %26781
  br label %26783

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

26784:                                            ; No predecessors!
  br label %26785

26785:                                            ; preds = %26784
  br label %26786

26786:                                            ; preds = %26785, %26726
  br label %26787

26787:                                            ; preds = %26786
  br label %26788

26788:                                            ; preds = %26787
  br label %26789

26789:                                            ; preds = %26788
  %26790 = load i32, ptr @test_count, align 4, !tbaa !5
  %26791 = add nsw i32 %26790, 1
  store i32 %26791, ptr @test_count, align 4, !tbaa !5
  %26792 = load ptr, ptr %527, align 8, !tbaa !9
  %26793 = load ptr, ptr %533, align 8, !tbaa !9
  %26794 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %26792, ptr noundef %26793)
  %26795 = icmp eq i32 %26794, -1
  br i1 %26795, label %26796, label %26849

26796:                                            ; preds = %26789
  br label %26797

26797:                                            ; preds = %26796
  br label %26798

26798:                                            ; preds = %26797
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #11
  %26799 = call ptr @__errno_location() #12
  %26800 = load i32, ptr %26799, align 4, !tbaa !5
  store i32 %26800, ptr %543, align 4, !tbaa !5
  %26801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26802 = call i32 @s2n_print_stacktrace(ptr noundef %26801)
  %26803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26804 = trunc i8 %26803 to i1
  br i1 %26804, label %26805, label %26827

26805:                                            ; preds = %26798
  %26806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26807 = call i32 @fileno(ptr noundef %26806) #11
  %26808 = call i32 @isatty(i32 noundef %26807) #11
  %26809 = icmp ne i32 %26808, 0
  br i1 %26809, label %26810, label %26827

26810:                                            ; preds = %26805
  %26811 = load i32, ptr %543, align 4, !tbaa !5
  %26812 = call ptr @__errno_location() #12
  store i32 %26811, ptr %26812, align 4, !tbaa !5
  %26813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26814 = load i32, ptr @test_count, align 4, !tbaa !5
  %26815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26816 = load i32, ptr %26815, align 4, !tbaa !5
  %26817 = call ptr @s2n_strerror(i32 noundef %26816, ptr noundef @.str.4)
  %26818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26819 = load i32, ptr %26818, align 4, !tbaa !5
  %26820 = call ptr @s2n_strerror_debug(i32 noundef %26819, ptr noundef @.str.4)
  %26821 = call ptr @__errno_location() #12
  %26822 = load i32, ptr %26821, align 4, !tbaa !5
  %26823 = call ptr @strerror(i32 noundef %26822) #11
  %26824 = call ptr @__errno_location() #12
  %26825 = load i32, ptr %26824, align 4, !tbaa !5
  %26826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26813, ptr noundef @.str.2, i32 noundef %26814, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1031, ptr noundef %26817, ptr noundef %26820, ptr noundef %26823, i32 noundef %26825) #11
  br label %26844

26827:                                            ; preds = %26805, %26798
  %26828 = load i32, ptr %543, align 4, !tbaa !5
  %26829 = call ptr @__errno_location() #12
  store i32 %26828, ptr %26829, align 4, !tbaa !5
  %26830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26831 = load i32, ptr @test_count, align 4, !tbaa !5
  %26832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26833 = load i32, ptr %26832, align 4, !tbaa !5
  %26834 = call ptr @s2n_strerror(i32 noundef %26833, ptr noundef @.str.4)
  %26835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26836 = load i32, ptr %26835, align 4, !tbaa !5
  %26837 = call ptr @s2n_strerror_debug(i32 noundef %26836, ptr noundef @.str.4)
  %26838 = call ptr @__errno_location() #12
  %26839 = load i32, ptr %26838, align 4, !tbaa !5
  %26840 = call ptr @strerror(i32 noundef %26839) #11
  %26841 = call ptr @__errno_location() #12
  %26842 = load i32, ptr %26841, align 4, !tbaa !5
  %26843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26830, ptr noundef @.str.5, i32 noundef %26831, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1031, ptr noundef %26834, ptr noundef %26837, ptr noundef %26840, i32 noundef %26842) #11
  br label %26844

26844:                                            ; preds = %26827, %26810
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #11
  br label %26845

26845:                                            ; preds = %26844
  br label %26846

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

26847:                                            ; No predecessors!
  br label %26848

26848:                                            ; preds = %26847
  br label %26849

26849:                                            ; preds = %26848, %26789
  br label %26850

26850:                                            ; preds = %26849
  br label %26851

26851:                                            ; preds = %26850
  br label %26852

26852:                                            ; preds = %26851
  %26853 = load i32, ptr @test_count, align 4, !tbaa !5
  %26854 = add nsw i32 %26853, 1
  store i32 %26854, ptr @test_count, align 4, !tbaa !5
  %26855 = load ptr, ptr %527, align 8, !tbaa !9
  %26856 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %26855, i32 0, i32 5
  %26857 = load ptr, ptr %26856, align 8, !tbaa !19
  %26858 = call i32 @s2n_array_num_elements(ptr noundef %26857, ptr noundef %537)
  %26859 = getelementptr inbounds %struct.s2n_result, ptr %544, i32 0, i32 0
  store i32 %26858, ptr %26859, align 4
  %26860 = getelementptr inbounds %struct.s2n_result, ptr %544, i32 0, i32 0
  %26861 = load i32, ptr %26860, align 4
  %26862 = call zeroext i1 @s2n_result_is_ok(i32 %26861)
  br i1 %26862, label %26916, label %26863

26863:                                            ; preds = %26852
  br label %26864

26864:                                            ; preds = %26863
  br label %26865

26865:                                            ; preds = %26864
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %26866 = call ptr @__errno_location() #12
  %26867 = load i32, ptr %26866, align 4, !tbaa !5
  store i32 %26867, ptr %545, align 4, !tbaa !5
  %26868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26869 = call i32 @s2n_print_stacktrace(ptr noundef %26868)
  %26870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26871 = trunc i8 %26870 to i1
  br i1 %26871, label %26872, label %26894

26872:                                            ; preds = %26865
  %26873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26874 = call i32 @fileno(ptr noundef %26873) #11
  %26875 = call i32 @isatty(i32 noundef %26874) #11
  %26876 = icmp ne i32 %26875, 0
  br i1 %26876, label %26877, label %26894

26877:                                            ; preds = %26872
  %26878 = load i32, ptr %545, align 4, !tbaa !5
  %26879 = call ptr @__errno_location() #12
  store i32 %26878, ptr %26879, align 4, !tbaa !5
  %26880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26881 = load i32, ptr @test_count, align 4, !tbaa !5
  %26882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26883 = load i32, ptr %26882, align 4, !tbaa !5
  %26884 = call ptr @s2n_strerror(i32 noundef %26883, ptr noundef @.str.4)
  %26885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26886 = load i32, ptr %26885, align 4, !tbaa !5
  %26887 = call ptr @s2n_strerror_debug(i32 noundef %26886, ptr noundef @.str.4)
  %26888 = call ptr @__errno_location() #12
  %26889 = load i32, ptr %26888, align 4, !tbaa !5
  %26890 = call ptr @strerror(i32 noundef %26889) #11
  %26891 = call ptr @__errno_location() #12
  %26892 = load i32, ptr %26891, align 4, !tbaa !5
  %26893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26880, ptr noundef @.str.2, i32 noundef %26881, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1034, ptr noundef %26884, ptr noundef %26887, ptr noundef %26890, i32 noundef %26892) #11
  br label %26911

26894:                                            ; preds = %26872, %26865
  %26895 = load i32, ptr %545, align 4, !tbaa !5
  %26896 = call ptr @__errno_location() #12
  store i32 %26895, ptr %26896, align 4, !tbaa !5
  %26897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26898 = load i32, ptr @test_count, align 4, !tbaa !5
  %26899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26900 = load i32, ptr %26899, align 4, !tbaa !5
  %26901 = call ptr @s2n_strerror(i32 noundef %26900, ptr noundef @.str.4)
  %26902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26903 = load i32, ptr %26902, align 4, !tbaa !5
  %26904 = call ptr @s2n_strerror_debug(i32 noundef %26903, ptr noundef @.str.4)
  %26905 = call ptr @__errno_location() #12
  %26906 = load i32, ptr %26905, align 4, !tbaa !5
  %26907 = call ptr @strerror(i32 noundef %26906) #11
  %26908 = call ptr @__errno_location() #12
  %26909 = load i32, ptr %26908, align 4, !tbaa !5
  %26910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26897, ptr noundef @.str.5, i32 noundef %26898, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1034, ptr noundef %26901, ptr noundef %26904, ptr noundef %26907, i32 noundef %26909) #11
  br label %26911

26911:                                            ; preds = %26894, %26877
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %26912

26912:                                            ; preds = %26911
  br label %26913

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

26914:                                            ; No predecessors!
  br label %26915

26915:                                            ; preds = %26914
  br label %26916

26916:                                            ; preds = %26915, %26852
  br label %26917

26917:                                            ; preds = %26916
  br label %26918

26918:                                            ; preds = %26917
  br label %26919

26919:                                            ; preds = %26918
  %26920 = load i32, ptr @test_count, align 4, !tbaa !5
  %26921 = add nsw i32 %26920, 1
  store i32 %26921, ptr @test_count, align 4, !tbaa !5
  %26922 = load i32, ptr %537, align 4, !tbaa !5
  %26923 = icmp eq i32 %26922, 1
  br i1 %26923, label %26977, label %26924

26924:                                            ; preds = %26919
  br label %26925

26925:                                            ; preds = %26924
  br label %26926

26926:                                            ; preds = %26925
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %26927 = call ptr @__errno_location() #12
  %26928 = load i32, ptr %26927, align 4, !tbaa !5
  store i32 %26928, ptr %546, align 4, !tbaa !5
  %26929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26930 = call i32 @s2n_print_stacktrace(ptr noundef %26929)
  %26931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26932 = trunc i8 %26931 to i1
  br i1 %26932, label %26933, label %26955

26933:                                            ; preds = %26926
  %26934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26935 = call i32 @fileno(ptr noundef %26934) #11
  %26936 = call i32 @isatty(i32 noundef %26935) #11
  %26937 = icmp ne i32 %26936, 0
  br i1 %26937, label %26938, label %26955

26938:                                            ; preds = %26933
  %26939 = load i32, ptr %546, align 4, !tbaa !5
  %26940 = call ptr @__errno_location() #12
  store i32 %26939, ptr %26940, align 4, !tbaa !5
  %26941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26942 = load i32, ptr @test_count, align 4, !tbaa !5
  %26943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26944 = load i32, ptr %26943, align 4, !tbaa !5
  %26945 = call ptr @s2n_strerror(i32 noundef %26944, ptr noundef @.str.4)
  %26946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26947 = load i32, ptr %26946, align 4, !tbaa !5
  %26948 = call ptr @s2n_strerror_debug(i32 noundef %26947, ptr noundef @.str.4)
  %26949 = call ptr @__errno_location() #12
  %26950 = load i32, ptr %26949, align 4, !tbaa !5
  %26951 = call ptr @strerror(i32 noundef %26950) #11
  %26952 = call ptr @__errno_location() #12
  %26953 = load i32, ptr %26952, align 4, !tbaa !5
  %26954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26941, ptr noundef @.str.2, i32 noundef %26942, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %26945, ptr noundef %26948, ptr noundef %26951, i32 noundef %26953) #11
  br label %26972

26955:                                            ; preds = %26933, %26926
  %26956 = load i32, ptr %546, align 4, !tbaa !5
  %26957 = call ptr @__errno_location() #12
  store i32 %26956, ptr %26957, align 4, !tbaa !5
  %26958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26959 = load i32, ptr @test_count, align 4, !tbaa !5
  %26960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26961 = load i32, ptr %26960, align 4, !tbaa !5
  %26962 = call ptr @s2n_strerror(i32 noundef %26961, ptr noundef @.str.4)
  %26963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26964 = load i32, ptr %26963, align 4, !tbaa !5
  %26965 = call ptr @s2n_strerror_debug(i32 noundef %26964, ptr noundef @.str.4)
  %26966 = call ptr @__errno_location() #12
  %26967 = load i32, ptr %26966, align 4, !tbaa !5
  %26968 = call ptr @strerror(i32 noundef %26967) #11
  %26969 = call ptr @__errno_location() #12
  %26970 = load i32, ptr %26969, align 4, !tbaa !5
  %26971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26958, ptr noundef @.str.5, i32 noundef %26959, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %26962, ptr noundef %26965, ptr noundef %26968, i32 noundef %26970) #11
  br label %26972

26972:                                            ; preds = %26955, %26938
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %26973

26973:                                            ; preds = %26972
  br label %26974

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

26975:                                            ; No predecessors!
  br label %26976

26976:                                            ; preds = %26975
  br label %26977

26977:                                            ; preds = %26976, %26919
  br label %26978

26978:                                            ; preds = %26977
  br label %26979

26979:                                            ; preds = %26978
  br label %26980

26980:                                            ; preds = %26979
  %26981 = load i32, ptr @test_count, align 4, !tbaa !5
  %26982 = add nsw i32 %26981, 1
  store i32 %26982, ptr @test_count, align 4, !tbaa !5
  %26983 = load ptr, ptr %535, align 8, !tbaa !9
  %26984 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef %26983, i32 noundef 13, i32 noundef 29, ptr noundef @.str.292, i32 noundef -1, i32 noundef -1, i32 noundef 1)
  %26985 = icmp eq i32 %26984, -1
  br i1 %26985, label %26986, label %27039

26986:                                            ; preds = %26980
  br label %26987

26987:                                            ; preds = %26986
  br label %26988

26988:                                            ; preds = %26987
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %26989 = call ptr @__errno_location() #12
  %26990 = load i32, ptr %26989, align 4, !tbaa !5
  store i32 %26990, ptr %547, align 4, !tbaa !5
  %26991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26992 = call i32 @s2n_print_stacktrace(ptr noundef %26991)
  %26993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26994 = trunc i8 %26993 to i1
  br i1 %26994, label %26995, label %27017

26995:                                            ; preds = %26988
  %26996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26997 = call i32 @fileno(ptr noundef %26996) #11
  %26998 = call i32 @isatty(i32 noundef %26997) #11
  %26999 = icmp ne i32 %26998, 0
  br i1 %26999, label %27000, label %27017

27000:                                            ; preds = %26995
  %27001 = load i32, ptr %547, align 4, !tbaa !5
  %27002 = call ptr @__errno_location() #12
  store i32 %27001, ptr %27002, align 4, !tbaa !5
  %27003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27004 = load i32, ptr @test_count, align 4, !tbaa !5
  %27005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27006 = load i32, ptr %27005, align 4, !tbaa !5
  %27007 = call ptr @s2n_strerror(i32 noundef %27006, ptr noundef @.str.4)
  %27008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27009 = load i32, ptr %27008, align 4, !tbaa !5
  %27010 = call ptr @s2n_strerror_debug(i32 noundef %27009, ptr noundef @.str.4)
  %27011 = call ptr @__errno_location() #12
  %27012 = load i32, ptr %27011, align 4, !tbaa !5
  %27013 = call ptr @strerror(i32 noundef %27012) #11
  %27014 = call ptr @__errno_location() #12
  %27015 = load i32, ptr %27014, align 4, !tbaa !5
  %27016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27003, ptr noundef @.str.2, i32 noundef %27004, ptr noundef @.str.293, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %27007, ptr noundef %27010, ptr noundef %27013, i32 noundef %27015) #11
  br label %27034

27017:                                            ; preds = %26995, %26988
  %27018 = load i32, ptr %547, align 4, !tbaa !5
  %27019 = call ptr @__errno_location() #12
  store i32 %27018, ptr %27019, align 4, !tbaa !5
  %27020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27021 = load i32, ptr @test_count, align 4, !tbaa !5
  %27022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27023 = load i32, ptr %27022, align 4, !tbaa !5
  %27024 = call ptr @s2n_strerror(i32 noundef %27023, ptr noundef @.str.4)
  %27025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27026 = load i32, ptr %27025, align 4, !tbaa !5
  %27027 = call ptr @s2n_strerror_debug(i32 noundef %27026, ptr noundef @.str.4)
  %27028 = call ptr @__errno_location() #12
  %27029 = load i32, ptr %27028, align 4, !tbaa !5
  %27030 = call ptr @strerror(i32 noundef %27029) #11
  %27031 = call ptr @__errno_location() #12
  %27032 = load i32, ptr %27031, align 4, !tbaa !5
  %27033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27020, ptr noundef @.str.5, i32 noundef %27021, ptr noundef @.str.293, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %27024, ptr noundef %27027, ptr noundef %27030, i32 noundef %27032) #11
  br label %27034

27034:                                            ; preds = %27017, %27000
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %27035

27035:                                            ; preds = %27034
  br label %27036

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

27037:                                            ; No predecessors!
  br label %27038

27038:                                            ; preds = %27037
  br label %27039

27039:                                            ; preds = %27038, %26980
  br label %27040

27040:                                            ; preds = %27039
  br label %27041

27041:                                            ; preds = %27040
  br label %27042

27042:                                            ; preds = %27041
  %27043 = load i32, ptr @test_count, align 4, !tbaa !5
  %27044 = add nsw i32 %27043, 1
  store i32 %27044, ptr @test_count, align 4, !tbaa !5
  %27045 = load ptr, ptr %533, align 8, !tbaa !9
  %27046 = load ptr, ptr %535, align 8, !tbaa !9
  %27047 = call i32 @X509_set_subject_name(ptr noundef %27045, ptr noundef %27046)
  %27048 = icmp eq i32 %27047, 1
  br i1 %27048, label %27102, label %27049

27049:                                            ; preds = %27042
  br label %27050

27050:                                            ; preds = %27049
  br label %27051

27051:                                            ; preds = %27050
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %27052 = call ptr @__errno_location() #12
  %27053 = load i32, ptr %27052, align 4, !tbaa !5
  store i32 %27053, ptr %548, align 4, !tbaa !5
  %27054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27055 = call i32 @s2n_print_stacktrace(ptr noundef %27054)
  %27056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27057 = trunc i8 %27056 to i1
  br i1 %27057, label %27058, label %27080

27058:                                            ; preds = %27051
  %27059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27060 = call i32 @fileno(ptr noundef %27059) #11
  %27061 = call i32 @isatty(i32 noundef %27060) #11
  %27062 = icmp ne i32 %27061, 0
  br i1 %27062, label %27063, label %27080

27063:                                            ; preds = %27058
  %27064 = load i32, ptr %548, align 4, !tbaa !5
  %27065 = call ptr @__errno_location() #12
  store i32 %27064, ptr %27065, align 4, !tbaa !5
  %27066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27067 = load i32, ptr @test_count, align 4, !tbaa !5
  %27068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27069 = load i32, ptr %27068, align 4, !tbaa !5
  %27070 = call ptr @s2n_strerror(i32 noundef %27069, ptr noundef @.str.4)
  %27071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27072 = load i32, ptr %27071, align 4, !tbaa !5
  %27073 = call ptr @s2n_strerror_debug(i32 noundef %27072, ptr noundef @.str.4)
  %27074 = call ptr @__errno_location() #12
  %27075 = load i32, ptr %27074, align 4, !tbaa !5
  %27076 = call ptr @strerror(i32 noundef %27075) #11
  %27077 = call ptr @__errno_location() #12
  %27078 = load i32, ptr %27077, align 4, !tbaa !5
  %27079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27066, ptr noundef @.str.2, i32 noundef %27067, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %27070, ptr noundef %27073, ptr noundef %27076, i32 noundef %27078) #11
  br label %27097

27080:                                            ; preds = %27058, %27051
  %27081 = load i32, ptr %548, align 4, !tbaa !5
  %27082 = call ptr @__errno_location() #12
  store i32 %27081, ptr %27082, align 4, !tbaa !5
  %27083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27084 = load i32, ptr @test_count, align 4, !tbaa !5
  %27085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27086 = load i32, ptr %27085, align 4, !tbaa !5
  %27087 = call ptr @s2n_strerror(i32 noundef %27086, ptr noundef @.str.4)
  %27088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27089 = load i32, ptr %27088, align 4, !tbaa !5
  %27090 = call ptr @s2n_strerror_debug(i32 noundef %27089, ptr noundef @.str.4)
  %27091 = call ptr @__errno_location() #12
  %27092 = load i32, ptr %27091, align 4, !tbaa !5
  %27093 = call ptr @strerror(i32 noundef %27092) #11
  %27094 = call ptr @__errno_location() #12
  %27095 = load i32, ptr %27094, align 4, !tbaa !5
  %27096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27083, ptr noundef @.str.5, i32 noundef %27084, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %27087, ptr noundef %27090, ptr noundef %27093, i32 noundef %27095) #11
  br label %27097

27097:                                            ; preds = %27080, %27063
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %27098

27098:                                            ; preds = %27097
  br label %27099

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

27100:                                            ; No predecessors!
  br label %27101

27101:                                            ; preds = %27100
  br label %27102

27102:                                            ; preds = %27101, %27042
  br label %27103

27103:                                            ; preds = %27102
  br label %27104

27104:                                            ; preds = %27103
  br label %27105

27105:                                            ; preds = %27104
  %27106 = load i32, ptr @test_count, align 4, !tbaa !5
  %27107 = add nsw i32 %27106, 1
  store i32 %27107, ptr @test_count, align 4, !tbaa !5
  %27108 = load ptr, ptr %527, align 8, !tbaa !9
  %27109 = load ptr, ptr %533, align 8, !tbaa !9
  %27110 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %27108, ptr noundef %27109)
  %27111 = icmp eq i32 %27110, -1
  br i1 %27111, label %27112, label %27165

27112:                                            ; preds = %27105
  br label %27113

27113:                                            ; preds = %27112
  br label %27114

27114:                                            ; preds = %27113
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #11
  %27115 = call ptr @__errno_location() #12
  %27116 = load i32, ptr %27115, align 4, !tbaa !5
  store i32 %27116, ptr %549, align 4, !tbaa !5
  %27117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27118 = call i32 @s2n_print_stacktrace(ptr noundef %27117)
  %27119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27120 = trunc i8 %27119 to i1
  br i1 %27120, label %27121, label %27143

27121:                                            ; preds = %27114
  %27122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27123 = call i32 @fileno(ptr noundef %27122) #11
  %27124 = call i32 @isatty(i32 noundef %27123) #11
  %27125 = icmp ne i32 %27124, 0
  br i1 %27125, label %27126, label %27143

27126:                                            ; preds = %27121
  %27127 = load i32, ptr %549, align 4, !tbaa !5
  %27128 = call ptr @__errno_location() #12
  store i32 %27127, ptr %27128, align 4, !tbaa !5
  %27129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27130 = load i32, ptr @test_count, align 4, !tbaa !5
  %27131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27132 = load i32, ptr %27131, align 4, !tbaa !5
  %27133 = call ptr @s2n_strerror(i32 noundef %27132, ptr noundef @.str.4)
  %27134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27135 = load i32, ptr %27134, align 4, !tbaa !5
  %27136 = call ptr @s2n_strerror_debug(i32 noundef %27135, ptr noundef @.str.4)
  %27137 = call ptr @__errno_location() #12
  %27138 = load i32, ptr %27137, align 4, !tbaa !5
  %27139 = call ptr @strerror(i32 noundef %27138) #11
  %27140 = call ptr @__errno_location() #12
  %27141 = load i32, ptr %27140, align 4, !tbaa !5
  %27142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27129, ptr noundef @.str.2, i32 noundef %27130, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1041, ptr noundef %27133, ptr noundef %27136, ptr noundef %27139, i32 noundef %27141) #11
  br label %27160

27143:                                            ; preds = %27121, %27114
  %27144 = load i32, ptr %549, 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.4)
  %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.4)
  %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.5, i32 noundef %27147, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1041, ptr noundef %27150, ptr noundef %27153, ptr noundef %27156, i32 noundef %27158) #11
  br label %27160

27160:                                            ; preds = %27143, %27126
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #11
  br label %27161

27161:                                            ; preds = %27160
  br label %27162

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

27163:                                            ; No predecessors!
  br label %27164

27164:                                            ; preds = %27163
  br label %27165

27165:                                            ; preds = %27164, %27105
  br label %27166

27166:                                            ; preds = %27165
  br label %27167

27167:                                            ; preds = %27166
  br label %27168

27168:                                            ; preds = %27167
  %27169 = load i32, ptr @test_count, align 4, !tbaa !5
  %27170 = add nsw i32 %27169, 1
  store i32 %27170, ptr @test_count, align 4, !tbaa !5
  %27171 = load ptr, ptr %527, align 8, !tbaa !9
  %27172 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %27171, i32 0, i32 5
  %27173 = load ptr, ptr %27172, align 8, !tbaa !19
  %27174 = call i32 @s2n_array_num_elements(ptr noundef %27173, ptr noundef %537)
  %27175 = getelementptr inbounds %struct.s2n_result, ptr %550, i32 0, i32 0
  store i32 %27174, ptr %27175, align 4
  %27176 = getelementptr inbounds %struct.s2n_result, ptr %550, i32 0, i32 0
  %27177 = load i32, ptr %27176, align 4
  %27178 = call zeroext i1 @s2n_result_is_ok(i32 %27177)
  br i1 %27178, label %27232, label %27179

27179:                                            ; preds = %27168
  br label %27180

27180:                                            ; preds = %27179
  br label %27181

27181:                                            ; preds = %27180
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %27182 = call ptr @__errno_location() #12
  %27183 = load i32, ptr %27182, align 4, !tbaa !5
  store i32 %27183, ptr %551, align 4, !tbaa !5
  %27184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27185 = call i32 @s2n_print_stacktrace(ptr noundef %27184)
  %27186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27187 = trunc i8 %27186 to i1
  br i1 %27187, label %27188, label %27210

27188:                                            ; preds = %27181
  %27189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27190 = call i32 @fileno(ptr noundef %27189) #11
  %27191 = call i32 @isatty(i32 noundef %27190) #11
  %27192 = icmp ne i32 %27191, 0
  br i1 %27192, label %27193, label %27210

27193:                                            ; preds = %27188
  %27194 = load i32, ptr %551, align 4, !tbaa !5
  %27195 = call ptr @__errno_location() #12
  store i32 %27194, ptr %27195, align 4, !tbaa !5
  %27196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27197 = load i32, ptr @test_count, align 4, !tbaa !5
  %27198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27199 = load i32, ptr %27198, align 4, !tbaa !5
  %27200 = call ptr @s2n_strerror(i32 noundef %27199, ptr noundef @.str.4)
  %27201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27202 = load i32, ptr %27201, align 4, !tbaa !5
  %27203 = call ptr @s2n_strerror_debug(i32 noundef %27202, ptr noundef @.str.4)
  %27204 = call ptr @__errno_location() #12
  %27205 = load i32, ptr %27204, align 4, !tbaa !5
  %27206 = call ptr @strerror(i32 noundef %27205) #11
  %27207 = call ptr @__errno_location() #12
  %27208 = load i32, ptr %27207, align 4, !tbaa !5
  %27209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27196, ptr noundef @.str.2, i32 noundef %27197, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1044, ptr noundef %27200, ptr noundef %27203, ptr noundef %27206, i32 noundef %27208) #11
  br label %27227

27210:                                            ; preds = %27188, %27181
  %27211 = load i32, ptr %551, align 4, !tbaa !5
  %27212 = call ptr @__errno_location() #12
  store i32 %27211, ptr %27212, align 4, !tbaa !5
  %27213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27214 = load i32, ptr @test_count, align 4, !tbaa !5
  %27215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27216 = load i32, ptr %27215, align 4, !tbaa !5
  %27217 = call ptr @s2n_strerror(i32 noundef %27216, ptr noundef @.str.4)
  %27218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27219 = load i32, ptr %27218, align 4, !tbaa !5
  %27220 = call ptr @s2n_strerror_debug(i32 noundef %27219, ptr noundef @.str.4)
  %27221 = call ptr @__errno_location() #12
  %27222 = load i32, ptr %27221, align 4, !tbaa !5
  %27223 = call ptr @strerror(i32 noundef %27222) #11
  %27224 = call ptr @__errno_location() #12
  %27225 = load i32, ptr %27224, align 4, !tbaa !5
  %27226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27213, ptr noundef @.str.5, i32 noundef %27214, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1044, ptr noundef %27217, ptr noundef %27220, ptr noundef %27223, i32 noundef %27225) #11
  br label %27227

27227:                                            ; preds = %27210, %27193
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %27228

27228:                                            ; preds = %27227
  br label %27229

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

27230:                                            ; No predecessors!
  br label %27231

27231:                                            ; preds = %27230
  br label %27232

27232:                                            ; preds = %27231, %27168
  br label %27233

27233:                                            ; preds = %27232
  br label %27234

27234:                                            ; preds = %27233
  br label %27235

27235:                                            ; preds = %27234
  %27236 = load i32, ptr @test_count, align 4, !tbaa !5
  %27237 = add nsw i32 %27236, 1
  store i32 %27237, ptr @test_count, align 4, !tbaa !5
  %27238 = load i32, ptr %537, align 4, !tbaa !5
  %27239 = icmp eq i32 %27238, 1
  br i1 %27239, label %27293, label %27240

27240:                                            ; preds = %27235
  br label %27241

27241:                                            ; preds = %27240
  br label %27242

27242:                                            ; preds = %27241
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #11
  %27243 = call ptr @__errno_location() #12
  %27244 = load i32, ptr %27243, align 4, !tbaa !5
  store i32 %27244, ptr %552, align 4, !tbaa !5
  %27245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27246 = call i32 @s2n_print_stacktrace(ptr noundef %27245)
  %27247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27248 = trunc i8 %27247 to i1
  br i1 %27248, label %27249, label %27271

27249:                                            ; preds = %27242
  %27250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27251 = call i32 @fileno(ptr noundef %27250) #11
  %27252 = call i32 @isatty(i32 noundef %27251) #11
  %27253 = icmp ne i32 %27252, 0
  br i1 %27253, label %27254, label %27271

27254:                                            ; preds = %27249
  %27255 = load i32, ptr %552, align 4, !tbaa !5
  %27256 = call ptr @__errno_location() #12
  store i32 %27255, ptr %27256, align 4, !tbaa !5
  %27257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27258 = load i32, ptr @test_count, align 4, !tbaa !5
  %27259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27260 = load i32, ptr %27259, align 4, !tbaa !5
  %27261 = call ptr @s2n_strerror(i32 noundef %27260, ptr noundef @.str.4)
  %27262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27263 = load i32, ptr %27262, align 4, !tbaa !5
  %27264 = call ptr @s2n_strerror_debug(i32 noundef %27263, ptr noundef @.str.4)
  %27265 = call ptr @__errno_location() #12
  %27266 = load i32, ptr %27265, align 4, !tbaa !5
  %27267 = call ptr @strerror(i32 noundef %27266) #11
  %27268 = call ptr @__errno_location() #12
  %27269 = load i32, ptr %27268, align 4, !tbaa !5
  %27270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27257, ptr noundef @.str.2, i32 noundef %27258, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %27261, ptr noundef %27264, ptr noundef %27267, i32 noundef %27269) #11
  br label %27288

27271:                                            ; preds = %27249, %27242
  %27272 = load i32, ptr %552, align 4, !tbaa !5
  %27273 = call ptr @__errno_location() #12
  store i32 %27272, ptr %27273, align 4, !tbaa !5
  %27274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27275 = load i32, ptr @test_count, align 4, !tbaa !5
  %27276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27277 = load i32, ptr %27276, align 4, !tbaa !5
  %27278 = call ptr @s2n_strerror(i32 noundef %27277, ptr noundef @.str.4)
  %27279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27280 = load i32, ptr %27279, align 4, !tbaa !5
  %27281 = call ptr @s2n_strerror_debug(i32 noundef %27280, ptr noundef @.str.4)
  %27282 = call ptr @__errno_location() #12
  %27283 = load i32, ptr %27282, align 4, !tbaa !5
  %27284 = call ptr @strerror(i32 noundef %27283) #11
  %27285 = call ptr @__errno_location() #12
  %27286 = load i32, ptr %27285, align 4, !tbaa !5
  %27287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27274, ptr noundef @.str.5, i32 noundef %27275, ptr noundef @.str.287, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %27278, ptr noundef %27281, ptr noundef %27284, i32 noundef %27286) #11
  br label %27288

27288:                                            ; preds = %27271, %27254
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #11
  br label %27289

27289:                                            ; preds = %27288
  br label %27290

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

27291:                                            ; No predecessors!
  br label %27292

27292:                                            ; preds = %27291
  br label %27293

27293:                                            ; preds = %27292, %27235
  br label %27294

27294:                                            ; preds = %27293
  br label %27295

27295:                                            ; preds = %27294
  br label %27296

27296:                                            ; preds = %27295
  %27297 = load i32, ptr @test_count, align 4, !tbaa !5
  %27298 = add nsw i32 %27297, 1
  store i32 %27298, ptr @test_count, align 4, !tbaa !5
  %27299 = load ptr, ptr %535, align 8, !tbaa !9
  %27300 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef %27299, i32 noundef 13, i32 noundef 22, ptr noundef @.str.294, i32 noundef -1, i32 noundef -1, i32 noundef 1)
  %27301 = icmp eq i32 %27300, -1
  br i1 %27301, label %27302, label %27355

27302:                                            ; preds = %27296
  br label %27303

27303:                                            ; preds = %27302
  br label %27304

27304:                                            ; preds = %27303
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #11
  %27305 = call ptr @__errno_location() #12
  %27306 = load i32, ptr %27305, align 4, !tbaa !5
  store i32 %27306, ptr %553, align 4, !tbaa !5
  %27307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27308 = call i32 @s2n_print_stacktrace(ptr noundef %27307)
  %27309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27310 = trunc i8 %27309 to i1
  br i1 %27310, label %27311, label %27333

27311:                                            ; preds = %27304
  %27312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27313 = call i32 @fileno(ptr noundef %27312) #11
  %27314 = call i32 @isatty(i32 noundef %27313) #11
  %27315 = icmp ne i32 %27314, 0
  br i1 %27315, label %27316, label %27333

27316:                                            ; preds = %27311
  %27317 = load i32, ptr %553, align 4, !tbaa !5
  %27318 = call ptr @__errno_location() #12
  store i32 %27317, ptr %27318, align 4, !tbaa !5
  %27319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27320 = load i32, ptr @test_count, align 4, !tbaa !5
  %27321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27322 = load i32, ptr %27321, align 4, !tbaa !5
  %27323 = call ptr @s2n_strerror(i32 noundef %27322, ptr noundef @.str.4)
  %27324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27325 = load i32, ptr %27324, align 4, !tbaa !5
  %27326 = call ptr @s2n_strerror_debug(i32 noundef %27325, ptr noundef @.str.4)
  %27327 = call ptr @__errno_location() #12
  %27328 = load i32, ptr %27327, align 4, !tbaa !5
  %27329 = call ptr @strerror(i32 noundef %27328) #11
  %27330 = call ptr @__errno_location() #12
  %27331 = load i32, ptr %27330, align 4, !tbaa !5
  %27332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27319, ptr noundef @.str.2, i32 noundef %27320, ptr noundef @.str.295, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %27323, ptr noundef %27326, ptr noundef %27329, i32 noundef %27331) #11
  br label %27350

27333:                                            ; preds = %27311, %27304
  %27334 = load i32, ptr %553, align 4, !tbaa !5
  %27335 = call ptr @__errno_location() #12
  store i32 %27334, ptr %27335, align 4, !tbaa !5
  %27336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27337 = load i32, ptr @test_count, align 4, !tbaa !5
  %27338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27339 = load i32, ptr %27338, align 4, !tbaa !5
  %27340 = call ptr @s2n_strerror(i32 noundef %27339, ptr noundef @.str.4)
  %27341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27342 = load i32, ptr %27341, align 4, !tbaa !5
  %27343 = call ptr @s2n_strerror_debug(i32 noundef %27342, ptr noundef @.str.4)
  %27344 = call ptr @__errno_location() #12
  %27345 = load i32, ptr %27344, align 4, !tbaa !5
  %27346 = call ptr @strerror(i32 noundef %27345) #11
  %27347 = call ptr @__errno_location() #12
  %27348 = load i32, ptr %27347, align 4, !tbaa !5
  %27349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27336, ptr noundef @.str.5, i32 noundef %27337, ptr noundef @.str.295, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %27340, ptr noundef %27343, ptr noundef %27346, i32 noundef %27348) #11
  br label %27350

27350:                                            ; preds = %27333, %27316
  call void @llvm.lifetime.end.p0(i64 4, ptr %553) #11
  br label %27351

27351:                                            ; preds = %27350
  br label %27352

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

27353:                                            ; No predecessors!
  br label %27354

27354:                                            ; preds = %27353
  br label %27355

27355:                                            ; preds = %27354, %27296
  br label %27356

27356:                                            ; preds = %27355
  br label %27357

27357:                                            ; preds = %27356
  br label %27358

27358:                                            ; preds = %27357
  %27359 = load i32, ptr @test_count, align 4, !tbaa !5
  %27360 = add nsw i32 %27359, 1
  store i32 %27360, ptr @test_count, align 4, !tbaa !5
  %27361 = load ptr, ptr %533, align 8, !tbaa !9
  %27362 = load ptr, ptr %535, align 8, !tbaa !9
  %27363 = call i32 @X509_set_subject_name(ptr noundef %27361, ptr noundef %27362)
  %27364 = icmp eq i32 %27363, 1
  br i1 %27364, label %27418, label %27365

27365:                                            ; preds = %27358
  br label %27366

27366:                                            ; preds = %27365
  br label %27367

27367:                                            ; preds = %27366
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %27368 = call ptr @__errno_location() #12
  %27369 = load i32, ptr %27368, align 4, !tbaa !5
  store i32 %27369, ptr %554, align 4, !tbaa !5
  %27370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27371 = call i32 @s2n_print_stacktrace(ptr noundef %27370)
  %27372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27373 = trunc i8 %27372 to i1
  br i1 %27373, label %27374, label %27396

27374:                                            ; preds = %27367
  %27375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27376 = call i32 @fileno(ptr noundef %27375) #11
  %27377 = call i32 @isatty(i32 noundef %27376) #11
  %27378 = icmp ne i32 %27377, 0
  br i1 %27378, label %27379, label %27396

27379:                                            ; preds = %27374
  %27380 = load i32, ptr %554, align 4, !tbaa !5
  %27381 = call ptr @__errno_location() #12
  store i32 %27380, ptr %27381, align 4, !tbaa !5
  %27382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27383 = load i32, ptr @test_count, align 4, !tbaa !5
  %27384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27385 = load i32, ptr %27384, align 4, !tbaa !5
  %27386 = call ptr @s2n_strerror(i32 noundef %27385, ptr noundef @.str.4)
  %27387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27388 = load i32, ptr %27387, align 4, !tbaa !5
  %27389 = call ptr @s2n_strerror_debug(i32 noundef %27388, ptr noundef @.str.4)
  %27390 = call ptr @__errno_location() #12
  %27391 = load i32, ptr %27390, align 4, !tbaa !5
  %27392 = call ptr @strerror(i32 noundef %27391) #11
  %27393 = call ptr @__errno_location() #12
  %27394 = load i32, ptr %27393, align 4, !tbaa !5
  %27395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27382, ptr noundef @.str.2, i32 noundef %27383, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %27386, ptr noundef %27389, ptr noundef %27392, i32 noundef %27394) #11
  br label %27413

27396:                                            ; preds = %27374, %27367
  %27397 = load i32, ptr %554, 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.4)
  %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.4)
  %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.5, i32 noundef %27400, ptr noundef @.str.290, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %27403, ptr noundef %27406, ptr noundef %27409, i32 noundef %27411) #11
  br label %27413

27413:                                            ; preds = %27396, %27379
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %27414

27414:                                            ; preds = %27413
  br label %27415

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

27416:                                            ; No predecessors!
  br label %27417

27417:                                            ; preds = %27416
  br label %27418

27418:                                            ; preds = %27417, %27358
  br label %27419

27419:                                            ; preds = %27418
  br label %27420

27420:                                            ; preds = %27419
  br label %27421

27421:                                            ; preds = %27420
  %27422 = load i32, ptr @test_count, align 4, !tbaa !5
  %27423 = add nsw i32 %27422, 1
  store i32 %27423, ptr @test_count, align 4, !tbaa !5
  %27424 = load ptr, ptr %527, align 8, !tbaa !9
  %27425 = load ptr, ptr %533, align 8, !tbaa !9
  %27426 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %27424, ptr noundef %27425)
  %27427 = icmp eq i32 %27426, -1
  br i1 %27427, label %27428, label %27481

27428:                                            ; preds = %27421
  br label %27429

27429:                                            ; preds = %27428
  br label %27430

27430:                                            ; preds = %27429
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %27431 = call ptr @__errno_location() #12
  %27432 = load i32, ptr %27431, align 4, !tbaa !5
  store i32 %27432, ptr %555, align 4, !tbaa !5
  %27433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27434 = call i32 @s2n_print_stacktrace(ptr noundef %27433)
  %27435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27436 = trunc i8 %27435 to i1
  br i1 %27436, label %27437, label %27459

27437:                                            ; preds = %27430
  %27438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27439 = call i32 @fileno(ptr noundef %27438) #11
  %27440 = call i32 @isatty(i32 noundef %27439) #11
  %27441 = icmp ne i32 %27440, 0
  br i1 %27441, label %27442, label %27459

27442:                                            ; preds = %27437
  %27443 = load i32, ptr %555, align 4, !tbaa !5
  %27444 = call ptr @__errno_location() #12
  store i32 %27443, ptr %27444, align 4, !tbaa !5
  %27445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27446 = load i32, ptr @test_count, align 4, !tbaa !5
  %27447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27448 = load i32, ptr %27447, align 4, !tbaa !5
  %27449 = call ptr @s2n_strerror(i32 noundef %27448, ptr noundef @.str.4)
  %27450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27451 = load i32, ptr %27450, align 4, !tbaa !5
  %27452 = call ptr @s2n_strerror_debug(i32 noundef %27451, ptr noundef @.str.4)
  %27453 = call ptr @__errno_location() #12
  %27454 = load i32, ptr %27453, align 4, !tbaa !5
  %27455 = call ptr @strerror(i32 noundef %27454) #11
  %27456 = call ptr @__errno_location() #12
  %27457 = load i32, ptr %27456, align 4, !tbaa !5
  %27458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27445, ptr noundef @.str.2, i32 noundef %27446, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %27449, ptr noundef %27452, ptr noundef %27455, i32 noundef %27457) #11
  br label %27476

27459:                                            ; preds = %27437, %27430
  %27460 = load i32, ptr %555, align 4, !tbaa !5
  %27461 = call ptr @__errno_location() #12
  store i32 %27460, ptr %27461, align 4, !tbaa !5
  %27462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27463 = load i32, ptr @test_count, align 4, !tbaa !5
  %27464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27465 = load i32, ptr %27464, align 4, !tbaa !5
  %27466 = call ptr @s2n_strerror(i32 noundef %27465, ptr noundef @.str.4)
  %27467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27468 = load i32, ptr %27467, align 4, !tbaa !5
  %27469 = call ptr @s2n_strerror_debug(i32 noundef %27468, ptr noundef @.str.4)
  %27470 = call ptr @__errno_location() #12
  %27471 = load i32, ptr %27470, align 4, !tbaa !5
  %27472 = call ptr @strerror(i32 noundef %27471) #11
  %27473 = call ptr @__errno_location() #12
  %27474 = load i32, ptr %27473, align 4, !tbaa !5
  %27475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27462, ptr noundef @.str.5, i32 noundef %27463, ptr noundef @.str.291, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %27466, ptr noundef %27469, ptr noundef %27472, i32 noundef %27474) #11
  br label %27476

27476:                                            ; preds = %27459, %27442
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %27477

27477:                                            ; preds = %27476
  br label %27478

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

27479:                                            ; No predecessors!
  br label %27480

27480:                                            ; preds = %27479
  br label %27481

27481:                                            ; preds = %27480, %27421
  br label %27482

27482:                                            ; preds = %27481
  br label %27483

27483:                                            ; preds = %27482
  br label %27484

27484:                                            ; preds = %27483
  %27485 = load i32, ptr @test_count, align 4, !tbaa !5
  %27486 = add nsw i32 %27485, 1
  store i32 %27486, ptr @test_count, align 4, !tbaa !5
  %27487 = load ptr, ptr %527, align 8, !tbaa !9
  %27488 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %27487, i32 0, i32 5
  %27489 = load ptr, ptr %27488, align 8, !tbaa !19
  %27490 = call i32 @s2n_array_num_elements(ptr noundef %27489, ptr noundef %537)
  %27491 = getelementptr inbounds %struct.s2n_result, ptr %556, i32 0, i32 0
  store i32 %27490, ptr %27491, align 4
  %27492 = getelementptr inbounds %struct.s2n_result, ptr %556, i32 0, i32 0
  %27493 = load i32, ptr %27492, align 4
  %27494 = call zeroext i1 @s2n_result_is_ok(i32 %27493)
  br i1 %27494, label %27548, label %27495

27495:                                            ; preds = %27484
  br label %27496

27496:                                            ; preds = %27495
  br label %27497

27497:                                            ; preds = %27496
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %27498 = call ptr @__errno_location() #12
  %27499 = load i32, ptr %27498, align 4, !tbaa !5
  store i32 %27499, ptr %557, align 4, !tbaa !5
  %27500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27501 = call i32 @s2n_print_stacktrace(ptr noundef %27500)
  %27502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27503 = trunc i8 %27502 to i1
  br i1 %27503, label %27504, label %27526

27504:                                            ; preds = %27497
  %27505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27506 = call i32 @fileno(ptr noundef %27505) #11
  %27507 = call i32 @isatty(i32 noundef %27506) #11
  %27508 = icmp ne i32 %27507, 0
  br i1 %27508, label %27509, label %27526

27509:                                            ; preds = %27504
  %27510 = load i32, ptr %557, align 4, !tbaa !5
  %27511 = call ptr @__errno_location() #12
  store i32 %27510, ptr %27511, align 4, !tbaa !5
  %27512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27513 = load i32, ptr @test_count, align 4, !tbaa !5
  %27514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27515 = load i32, ptr %27514, align 4, !tbaa !5
  %27516 = call ptr @s2n_strerror(i32 noundef %27515, ptr noundef @.str.4)
  %27517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27518 = load i32, ptr %27517, align 4, !tbaa !5
  %27519 = call ptr @s2n_strerror_debug(i32 noundef %27518, ptr noundef @.str.4)
  %27520 = call ptr @__errno_location() #12
  %27521 = load i32, ptr %27520, align 4, !tbaa !5
  %27522 = call ptr @strerror(i32 noundef %27521) #11
  %27523 = call ptr @__errno_location() #12
  %27524 = load i32, ptr %27523, align 4, !tbaa !5
  %27525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27512, ptr noundef @.str.2, i32 noundef %27513, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %27516, ptr noundef %27519, ptr noundef %27522, i32 noundef %27524) #11
  br label %27543

27526:                                            ; preds = %27504, %27497
  %27527 = load i32, ptr %557, 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.4)
  %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.4)
  %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.5, i32 noundef %27530, ptr noundef @.str.286, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %27533, ptr noundef %27536, ptr noundef %27539, i32 noundef %27541) #11
  br label %27543

27543:                                            ; preds = %27526, %27509
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %27544

27544:                                            ; preds = %27543
  br label %27545

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

27546:                                            ; No predecessors!
  br label %27547

27547:                                            ; preds = %27546
  br label %27548

27548:                                            ; preds = %27547, %27484
  br label %27549

27549:                                            ; preds = %27548
  br label %27550

27550:                                            ; preds = %27549
  br label %27551

27551:                                            ; preds = %27550
  %27552 = load i32, ptr @test_count, align 4, !tbaa !5
  %27553 = add nsw i32 %27552, 1
  store i32 %27553, ptr @test_count, align 4, !tbaa !5
  %27554 = load i32, ptr %537, align 4, !tbaa !5
  %27555 = icmp eq i32 %27554, 2
  br i1 %27555, label %27609, label %27556

27556:                                            ; preds = %27551
  br label %27557

27557:                                            ; preds = %27556
  br label %27558

27558:                                            ; preds = %27557
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %27559 = call ptr @__errno_location() #12
  %27560 = load i32, ptr %27559, align 4, !tbaa !5
  store i32 %27560, ptr %558, align 4, !tbaa !5
  %27561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27562 = call i32 @s2n_print_stacktrace(ptr noundef %27561)
  %27563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27564 = trunc i8 %27563 to i1
  br i1 %27564, label %27565, label %27587

27565:                                            ; preds = %27558
  %27566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27567 = call i32 @fileno(ptr noundef %27566) #11
  %27568 = call i32 @isatty(i32 noundef %27567) #11
  %27569 = icmp ne i32 %27568, 0
  br i1 %27569, label %27570, label %27587

27570:                                            ; preds = %27565
  %27571 = load i32, ptr %558, align 4, !tbaa !5
  %27572 = call ptr @__errno_location() #12
  store i32 %27571, ptr %27572, align 4, !tbaa !5
  %27573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27574 = load i32, ptr @test_count, align 4, !tbaa !5
  %27575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27576 = load i32, ptr %27575, align 4, !tbaa !5
  %27577 = call ptr @s2n_strerror(i32 noundef %27576, ptr noundef @.str.4)
  %27578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27579 = load i32, ptr %27578, align 4, !tbaa !5
  %27580 = call ptr @s2n_strerror_debug(i32 noundef %27579, ptr noundef @.str.4)
  %27581 = call ptr @__errno_location() #12
  %27582 = load i32, ptr %27581, align 4, !tbaa !5
  %27583 = call ptr @strerror(i32 noundef %27582) #11
  %27584 = call ptr @__errno_location() #12
  %27585 = load i32, ptr %27584, align 4, !tbaa !5
  %27586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27573, ptr noundef @.str.2, i32 noundef %27574, ptr noundef @.str.296, ptr noundef @.str.1, i32 noundef 1055, ptr noundef %27577, ptr noundef %27580, ptr noundef %27583, i32 noundef %27585) #11
  br label %27604

27587:                                            ; preds = %27565, %27558
  %27588 = load i32, ptr %558, 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.4)
  %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.4)
  %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.5, i32 noundef %27591, ptr noundef @.str.296, ptr noundef @.str.1, i32 noundef 1055, ptr noundef %27594, ptr noundef %27597, ptr noundef %27600, i32 noundef %27602) #11
  br label %27604

27604:                                            ; preds = %27587, %27570
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %27605

27605:                                            ; preds = %27604
  br label %27606

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

27607:                                            ; No predecessors!
  br label %27608

27608:                                            ; preds = %27607
  br label %27609

27609:                                            ; preds = %27608, %27551
  br label %27610

27610:                                            ; preds = %27609
  br label %27611

27611:                                            ; preds = %27610
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  call void @X509_NAME_free_pointer(ptr noundef %535)
  call void @llvm.lifetime.end.p0(i64 8, ptr %535) #11
  call void @X509_free_pointer(ptr noundef %533)
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %531) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %530) #11
  store i32 0, ptr %215, align 4
  br label %27612

27612:                                            ; preds = %27611, %26336
  call void @llvm.lifetime.end.p0(i64 8, ptr %529) #11
  br label %27613

27613:                                            ; preds = %27612, %26292
  %27614 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %527)
  %27615 = getelementptr inbounds %struct.s2n_result, ptr %559, i32 0, i32 0
  store i32 %27614, ptr %27615, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %527) #11
  %27616 = load i32, ptr %215, align 4
  switch i32 %27616, label %27777 [
    i32 0, label %27617
  ]

27617:                                            ; preds = %27613
  br label %27618

27618:                                            ; preds = %27617
  %27619 = load i32, ptr @test_count, align 4, !tbaa !5
  %27620 = add nsw i32 %27619, 1
  store i32 %27620, ptr @test_count, align 4, !tbaa !5
  br label %27621

27621:                                            ; preds = %27618
  br label %27622

27622:                                            ; preds = %27621
  br label %27623

27623:                                            ; preds = %27622
  br label %27624

27624:                                            ; preds = %27623
  %27625 = call i32 @s2n_cleanup()
  %27626 = icmp eq i32 %27625, -1
  br i1 %27626, label %27627, label %27680

27627:                                            ; preds = %27624
  br label %27628

27628:                                            ; preds = %27627
  br label %27629

27629:                                            ; preds = %27628
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %27630 = call ptr @__errno_location() #12
  %27631 = load i32, ptr %27630, align 4, !tbaa !5
  store i32 %27631, ptr %560, align 4, !tbaa !5
  %27632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27633 = call i32 @s2n_print_stacktrace(ptr noundef %27632)
  %27634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27635 = trunc i8 %27634 to i1
  br i1 %27635, label %27636, label %27658

27636:                                            ; preds = %27629
  %27637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27638 = call i32 @fileno(ptr noundef %27637) #11
  %27639 = call i32 @isatty(i32 noundef %27638) #11
  %27640 = icmp ne i32 %27639, 0
  br i1 %27640, label %27641, label %27658

27641:                                            ; preds = %27636
  %27642 = load i32, ptr %560, align 4, !tbaa !5
  %27643 = call ptr @__errno_location() #12
  store i32 %27642, ptr %27643, align 4, !tbaa !5
  %27644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27645 = load i32, ptr @test_count, align 4, !tbaa !5
  %27646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27647 = load i32, ptr %27646, align 4, !tbaa !5
  %27648 = call ptr @s2n_strerror(i32 noundef %27647, ptr noundef @.str.4)
  %27649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27650 = load i32, ptr %27649, align 4, !tbaa !5
  %27651 = call ptr @s2n_strerror_debug(i32 noundef %27650, ptr noundef @.str.4)
  %27652 = call ptr @__errno_location() #12
  %27653 = load i32, ptr %27652, align 4, !tbaa !5
  %27654 = call ptr @strerror(i32 noundef %27653) #11
  %27655 = call ptr @__errno_location() #12
  %27656 = load i32, ptr %27655, align 4, !tbaa !5
  %27657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27644, ptr noundef @.str.2, i32 noundef %27645, ptr noundef @.str.297, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %27648, ptr noundef %27651, ptr noundef %27654, i32 noundef %27656) #11
  br label %27675

27658:                                            ; preds = %27636, %27629
  %27659 = load i32, ptr %560, align 4, !tbaa !5
  %27660 = call ptr @__errno_location() #12
  store i32 %27659, ptr %27660, align 4, !tbaa !5
  %27661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27662 = load i32, ptr @test_count, align 4, !tbaa !5
  %27663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27664 = load i32, ptr %27663, align 4, !tbaa !5
  %27665 = call ptr @s2n_strerror(i32 noundef %27664, ptr noundef @.str.4)
  %27666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27667 = load i32, ptr %27666, align 4, !tbaa !5
  %27668 = call ptr @s2n_strerror_debug(i32 noundef %27667, ptr noundef @.str.4)
  %27669 = call ptr @__errno_location() #12
  %27670 = load i32, ptr %27669, align 4, !tbaa !5
  %27671 = call ptr @strerror(i32 noundef %27670) #11
  %27672 = call ptr @__errno_location() #12
  %27673 = load i32, ptr %27672, align 4, !tbaa !5
  %27674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27661, ptr noundef @.str.5, i32 noundef %27662, ptr noundef @.str.297, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %27665, ptr noundef %27668, ptr noundef %27671, i32 noundef %27673) #11
  br label %27675

27675:                                            ; preds = %27658, %27641
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %27676

27676:                                            ; preds = %27675
  br label %27677

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

27678:                                            ; No predecessors!
  br label %27679

27679:                                            ; preds = %27678
  br label %27680

27680:                                            ; preds = %27679, %27624
  br label %27681

27681:                                            ; preds = %27680
  br label %27682

27682:                                            ; preds = %27681
  br label %27683

27683:                                            ; preds = %27682
  br label %27684

27684:                                            ; preds = %27683
  %27685 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %27686 = icmp eq i32 %27685, -1
  br i1 %27686, label %27687, label %27740

27687:                                            ; preds = %27684
  br label %27688

27688:                                            ; preds = %27687
  br label %27689

27689:                                            ; preds = %27688
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %27690 = call ptr @__errno_location() #12
  %27691 = load i32, ptr %27690, align 4, !tbaa !5
  store i32 %27691, ptr %561, align 4, !tbaa !5
  %27692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27693 = call i32 @s2n_print_stacktrace(ptr noundef %27692)
  %27694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27695 = trunc i8 %27694 to i1
  br i1 %27695, label %27696, label %27718

27696:                                            ; preds = %27689
  %27697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27698 = call i32 @fileno(ptr noundef %27697) #11
  %27699 = call i32 @isatty(i32 noundef %27698) #11
  %27700 = icmp ne i32 %27699, 0
  br i1 %27700, label %27701, label %27718

27701:                                            ; preds = %27696
  %27702 = load i32, ptr %561, align 4, !tbaa !5
  %27703 = call ptr @__errno_location() #12
  store i32 %27702, ptr %27703, align 4, !tbaa !5
  %27704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27705 = load i32, ptr @test_count, align 4, !tbaa !5
  %27706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27707 = load i32, ptr %27706, align 4, !tbaa !5
  %27708 = call ptr @s2n_strerror(i32 noundef %27707, ptr noundef @.str.4)
  %27709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27710 = load i32, ptr %27709, align 4, !tbaa !5
  %27711 = call ptr @s2n_strerror_debug(i32 noundef %27710, ptr noundef @.str.4)
  %27712 = call ptr @__errno_location() #12
  %27713 = load i32, ptr %27712, align 4, !tbaa !5
  %27714 = call ptr @strerror(i32 noundef %27713) #11
  %27715 = call ptr @__errno_location() #12
  %27716 = load i32, ptr %27715, align 4, !tbaa !5
  %27717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27704, ptr noundef @.str.2, i32 noundef %27705, ptr noundef @.str.298, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %27708, ptr noundef %27711, ptr noundef %27714, i32 noundef %27716) #11
  br label %27735

27718:                                            ; preds = %27696, %27689
  %27719 = load i32, ptr %561, align 4, !tbaa !5
  %27720 = call ptr @__errno_location() #12
  store i32 %27719, ptr %27720, align 4, !tbaa !5
  %27721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27722 = load i32, ptr @test_count, align 4, !tbaa !5
  %27723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27724 = load i32, ptr %27723, align 4, !tbaa !5
  %27725 = call ptr @s2n_strerror(i32 noundef %27724, ptr noundef @.str.4)
  %27726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27727 = load i32, ptr %27726, align 4, !tbaa !5
  %27728 = call ptr @s2n_strerror_debug(i32 noundef %27727, ptr noundef @.str.4)
  %27729 = call ptr @__errno_location() #12
  %27730 = load i32, ptr %27729, align 4, !tbaa !5
  %27731 = call ptr @strerror(i32 noundef %27730) #11
  %27732 = call ptr @__errno_location() #12
  %27733 = load i32, ptr %27732, align 4, !tbaa !5
  %27734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27721, ptr noundef @.str.5, i32 noundef %27722, ptr noundef @.str.298, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %27725, ptr noundef %27728, ptr noundef %27731, i32 noundef %27733) #11
  br label %27735

27735:                                            ; preds = %27718, %27701
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %27736

27736:                                            ; preds = %27735
  br label %27737

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

27738:                                            ; No predecessors!
  br label %27739

27739:                                            ; preds = %27738
  br label %27740

27740:                                            ; preds = %27739, %27684
  br label %27741

27741:                                            ; preds = %27740
  br label %27742

27742:                                            ; preds = %27741
  %27743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27744 = trunc i8 %27743 to i1
  br i1 %27744, label %27745, label %27761

27745:                                            ; preds = %27742
  %27746 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27747 = call i32 @fileno(ptr noundef %27746) #11
  %27748 = call i32 @isatty(i32 noundef %27747) #11
  %27749 = icmp ne i32 %27748, 0
  br i1 %27749, label %27750, label %27761

27750:                                            ; preds = %27745
  %27751 = load i32, ptr @test_count, align 4, !tbaa !5
  %27752 = icmp ne i32 %27751, 0
  br i1 %27752, label %27753, label %27757

27753:                                            ; preds = %27750
  %27754 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27755 = load i32, ptr @test_count, align 4, !tbaa !5
  %27756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27754, ptr noundef @.str.299, i32 noundef %27755) #11
  br label %27760

27757:                                            ; preds = %27750
  %27758 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27758, ptr noundef @.str.300) #11
  br label %27760

27760:                                            ; preds = %27757, %27753
  br label %27772

27761:                                            ; preds = %27745, %27742
  %27762 = load i32, ptr @test_count, align 4, !tbaa !5
  %27763 = icmp ne i32 %27762, 0
  br i1 %27763, label %27764, label %27768

27764:                                            ; preds = %27761
  %27765 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27766 = load i32, ptr @test_count, align 4, !tbaa !5
  %27767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27765, ptr noundef @.str.301, i32 noundef %27766) #11
  br label %27771

27768:                                            ; preds = %27761
  %27769 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27769, ptr noundef @.str.302) #11
  br label %27771

27771:                                            ; preds = %27768, %27764
  br label %27772

27772:                                            ; preds = %27771, %27760
  store i32 0, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %27777

27773:                                            ; No predecessors!
  br label %27774

27774:                                            ; preds = %27773
  br label %27775

27775:                                            ; preds = %27774
  br label %27776

27776:                                            ; preds = %27775
  store i32 0, ptr %215, align 4
  br label %27777

27777:                                            ; preds = %27776, %27772, %27613, %17194
  %27778 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %12)
  %27779 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  store i32 %27778, ptr %27779, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #11
  %27780 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %10)
  %27781 = getelementptr inbounds %struct.s2n_result, ptr %563, i32 0, i32 0
  store i32 %27780, ptr %27781, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %9) #11
  %27782 = load i32, ptr %215, align 4
  switch i32 %27782, label %27785 [
    i32 0, label %27783
    i32 1, label %27783
  ]

27783:                                            ; preds = %27777, %27777
  %27784 = load i32, ptr %3, align 4
  ret i32 %27784

27785:                                            ; preds = %27777
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

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

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

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

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

declare ptr @s2n_cert_chain_and_key_new() #2

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #2

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

declare i32 @s2n_pkey_check_key_exists(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare ptr @s2n_config_new() #2

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

declare ptr @s2n_connection_new(i32 noundef) #2

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

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

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

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

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

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

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

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

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #2

declare i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef, i8 noundef zeroext) #2

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

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

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

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @verify_host_fn(ptr noundef, i64 noundef, ptr noundef) #0

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

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

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

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

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

declare i32 @s2n_connection_wipe(ptr noundef) #2

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

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

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() #2

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

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_free(ptr noundef) #2

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

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #9

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

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

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

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

declare i32 @s2n_config_ptr_free(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @always_verify_host_fn(ptr noundef, i64 noundef, ptr noundef) #0

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

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

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

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

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

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

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

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

declare i32 @s2n_client_cert_recv(ptr noundef) #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #2

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) #2

declare i32 @s2n_stuffer_reread(ptr noundef) #2

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

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

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

declare i32 @s2n_calculate_stacktrace() #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @X509_free_pointer(ptr noundef) #10

declare ptr @d2i_X509(ptr noundef, ptr noundef, i64 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @X509_NAME_free_pointer(ptr noundef) #10

declare ptr @X509_NAME_new() #2

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

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

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

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

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { 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 #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { 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 #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { 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 #10 = { 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 #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, !10, i64 0}
!16 = !{!"s2n_cert_chain_and_key", !10, i64 0, !10, i64 8, !17, i64 16, !17, i64 40, !10, i64 64, !10, i64 72, !10, i64 80}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !10, i64 8}
!19 = !{!16, !10, i64 72}
!20 = !{!16, !10, i64 64}
!21 = !{!22, !6, i64 0}
!22 = !{!"s2n_cert_chain", !6, i64 0, !10, i64 8}
!23 = !{!22, !10, i64 8}
!24 = !{!25, !10, i64 0}
!25 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!26 = !{!25, !10, i64 16}
!27 = !{!16, !10, i64 80}
!28 = !{!29, !29, i64 0}
!29 = !{!"long", !7, i64 0}
!30 = !{!31, !10, i64 104}
!31 = !{!"s2n_cert", !6, i64 0, !25, i64 8, !32, i64 56, !17, i64 80, !10, i64 104}
!32 = !{!"s2n_cert_info", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !12, i64 16}
!33 = distinct !{!33, !34}
!34 = !{!"llvm.loop.mustprogress"}
!35 = !{!31, !6, i64 88}
!36 = !{!31, !10, i64 80}
!37 = !{!38, !7, i64 3720}
!38 = !{!"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, !39, i64 160, !29, i64 168, !29, 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, !40, i64 240, !10, i64 632, !10, i64 640, !41, i64 648, !46, i64 1144, !48, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !51, i64 1776, !51, i64 1816, !51, i64 1856, !51, i64 1896, !6, i64 1936, !29, i64 1944, !7, i64 1952, !51, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !52, i64 2004, !52, i64 2008, !53, i64 2016, !50, i64 2208, !6, i64 2212, !50, i64 2216, !29, i64 2224, !7, i64 2232, !29, i64 2240, !29, i64 2248, !29, i64 2256, !52, i64 2264, !52, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !55, i64 2896, !57, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !59, i64 3816, !7, i64 3848, !51, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !50, i64 4084, !50, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !60, i64 4128, !52, i64 4176, !7, i64 4180, !7, i64 4181}
!39 = !{!"s2n_timer", !29, i64 0}
!40 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!41 = !{!"s2n_kex_parameters", !42, i64 0, !43, i64 8, !7, i64 24, !43, i64 56, !44, i64 72, !44, i64 184, !7, i64 296, !45, i64 360, !17, i64 448, !17, i64 472}
!42 = !{!"s2n_dh_params", !10, i64 0}
!43 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!44 = !{!"s2n_kem_group_params", !10, i64 0, !45, i64 8, !43, i64 96}
!45 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!46 = !{!"s2n_handshake_parameters", !25, i64 0, !25, i64 48, !17, i64 96, !6, i64 120, !47, 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}
!47 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!48 = !{!"s2n_psk_parameters", !6, i64 0, !49, i64 8, !50, i64 40, !50, i64 42, !10, i64 48, !6, i64 56}
!49 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!50 = !{!"short", !7, i64 0}
!51 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!52 = !{!"", !6, i64 0}
!53 = !{!"s2n_handshake", !51, 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, !54, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!54 = !{!"s2n_offered_early_data", !10, i64 0}
!55 = !{!"s2n_client_hello", !17, i64 0, !56, i64 24, !17, i64 728, !17, i64 752, !17, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!56 = !{!"", !7, i64 0, !17, i64 672, !50, i64 696}
!57 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !50, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !58, i64 48, !12, i64 52}
!58 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!59 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!60 = !{!"s2n_post_handshake", !51, i64 0, !7, i64 40}
!61 = !{!38, !6, i64 3736}
!62 = !{!31, !6, i64 0}
!63 = !{!64, !10, i64 0}
!64 = !{!"", !10, i64 0, !6, i64 8, !10, i64 16, !6, i64 24, !17, i64 32, !17, i64 56, !12, i64 80}
!65 = !{!64, !6, i64 8}
!66 = !{!64, !10, i64 16}
!67 = !{!64, !6, i64 24}
!68 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !69}
!69 = !{!7, !7, i64 0}
!70 = !{!64, !12, i64 80}
!71 = !{!64, !6, i64 40}
!72 = distinct !{!72, !34}
!73 = !{!17, !10, i64 0}
!74 = !{!64, !10, i64 56}
!75 = !{!64, !10, i64 32}
!76 = distinct !{!76, !34}
!77 = !{!64, !6, i64 64}
!78 = distinct !{!78, !34}
!79 = distinct !{!79, !34}
!80 = distinct !{!80, !34}
!81 = !{!38, !7, i64 220}
!82 = !{!38, !10, i64 1240}
!83 = !{!38, !6, i64 1248}
!84 = !{!51, !6, i64 28}
!85 = !{!51, !6, i64 24}
!86 = !{!16, !6, i64 24}
!87 = !{!16, !10, i64 16}
!88 = !{!16, !6, i64 48}
!89 = !{!16, !10, i64 40}
!90 = !{!91, !10, i64 0}
!91 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!92 = !{!91, !10, i64 8}
!93 = !{!17, !6, i64 8}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.host_verify_data = type { i8, i8 }
%struct.s2n_debug_info = type { ptr, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.anon = type { ptr, i32, ptr, i32, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_stuffer_reservation = type { ptr, i32, i8 }

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

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [10 x i8], align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca [2048 x i8], align 16
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %struct.s2n_test_io_pair, align 8
  %14 = alloca ptr, align 8
  %15 = alloca %struct.host_verify_data, align 2
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca %struct.s2n_blob, align 8
  %20 = alloca %struct.s2n_blob, align 8
  %21 = alloca i8, align 1
  %22 = alloca ptr, align 8
  %23 = alloca %struct.s2n_blob, align 8
  %24 = alloca %struct.s2n_blob, align 8
  %25 = alloca %struct.s2n_blob, align 8
  %26 = alloca %struct.s2n_blob, align 8
  %27 = alloca %struct.s2n_blob, align 8
  %28 = alloca %struct.s2n_blob, align 8
  %29 = alloca %struct.s2n_blob, align 8
  %30 = alloca [8 x %struct.anon], align 16
  %31 = alloca [27 x i8], align 16
  %32 = alloca i32, align 4
  %33 = alloca [27 x i8], align 16
  %34 = alloca [33 x i8], align 16
  %35 = alloca i32, align 4
  %36 = alloca [33 x i8], align 16
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca i32, align 4
  %44 = alloca %struct.s2n_test_io_pair, align 8
  %45 = alloca %struct.s2n_test_io_pair, align 8
  %46 = alloca ptr, align 8
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca i32, align 4
  %50 = alloca ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca %struct.s2n_test_io_pair, align 8
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca ptr, align 8
  %60 = alloca %struct.s2n_test_io_pair, align 8
  %61 = alloca %struct.s2n_stuffer, align 8
  %62 = alloca ptr, align 8
  %63 = alloca %struct.s2n_stuffer, align 8
  %64 = alloca %struct.s2n_stuffer_reservation, align 8
  %65 = alloca ptr, align 8
  %66 = alloca ptr, align 8
  %67 = alloca [15 x i8], align 1
  %68 = alloca ptr, align 8
  %69 = alloca [9 x i8], align 1
  %70 = alloca [15 x i8], align 1
  %71 = alloca ptr, align 8
  %72 = alloca ptr, align 8
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca ptr, align 8
  %76 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %77 = load ptr, ptr @stdout, align 8, !tbaa !9
  %78 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %77, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #13
  %79 = load ptr, ptr @stdout, align 8, !tbaa !9
  %80 = tail call i32 @fflush(ptr noundef %79)
  %81 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #13
  %82 = icmp eq i32 %81, -1
  br i1 %82, label %83, label %107

83:                                               ; preds = %2
  %84 = tail call ptr @__errno_location() #14
  %85 = load i32, ptr %84, align 4, !tbaa !5
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = tail call i32 @s2n_print_stacktrace(ptr noundef %86) #13
  %88 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %89 = trunc nuw i8 %88 to i1
  br i1 %89, label %90, label %94

90:                                               ; preds = %83
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = tail call i32 @fileno(ptr noundef %91) #13
  %93 = tail call i32 @isatty(i32 noundef %92) #13
  %.not1547 = icmp eq i32 %93, 0
  br i1 %.not1547, label %94, label %95

94:                                               ; preds = %90, %83
  br label %95

95:                                               ; preds = %90, %94
  %.str.5.sink = phi ptr [ @.str.5, %94 ], [ @.str.2, %90 ]
  store i32 %85, ptr %84, align 4, !tbaa !5
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = load i32, ptr @test_count, align 4, !tbaa !5
  %98 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %99 = load i32, ptr %98, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror(i32 noundef %99, ptr noundef nonnull @.str.4) #13
  %101 = load i32, ptr %98, align 4, !tbaa !5
  %102 = tail call ptr @s2n_strerror_debug(i32 noundef %101, ptr noundef nonnull @.str.4) #13
  %103 = load i32, ptr %84, align 4, !tbaa !5
  %104 = tail call ptr @strerror(i32 noundef %103) #13
  %105 = load i32, ptr %84, align 4, !tbaa !5
  %106 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %96, ptr noundef nonnull %.str.5.sink, i32 noundef %97, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %100, ptr noundef %102, ptr noundef %104, i32 noundef %105) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

107:                                              ; preds = %2
  %108 = load i32, ptr @test_count, align 4, !tbaa !5
  %109 = add nsw i32 %108, 1
  store i32 %109, ptr @test_count, align 4, !tbaa !5
  %110 = tail call i32 @s2n_enable_atexit() #13
  %111 = icmp eq i32 %110, -1
  br i1 %111, label %112, label %136

112:                                              ; preds = %107
  %113 = tail call ptr @__errno_location() #14
  %114 = load i32, ptr %113, align 4, !tbaa !5
  %115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %116 = tail call i32 @s2n_print_stacktrace(ptr noundef %115) #13
  %117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %118 = trunc nuw i8 %117 to i1
  br i1 %118, label %119, label %123

119:                                              ; preds = %112
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = tail call i32 @fileno(ptr noundef %120) #13
  %122 = tail call i32 @isatty(i32 noundef %121) #13
  %.not1546 = icmp eq i32 %122, 0
  br i1 %.not1546, label %123, label %124

123:                                              ; preds = %119, %112
  br label %124

124:                                              ; preds = %119, %123
  %.str.5.sink1638 = phi ptr [ @.str.5, %123 ], [ @.str.2, %119 ]
  store i32 %114, ptr %113, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = load i32, ptr @test_count, align 4, !tbaa !5
  %127 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %128 = load i32, ptr %127, align 4, !tbaa !5
  %129 = tail call ptr @s2n_strerror(i32 noundef %128, ptr noundef nonnull @.str.4) #13
  %130 = load i32, ptr %127, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror_debug(i32 noundef %130, ptr noundef nonnull @.str.4) #13
  %132 = load i32, ptr %113, align 4, !tbaa !5
  %133 = tail call ptr @strerror(i32 noundef %132) #13
  %134 = load i32, ptr %113, align 4, !tbaa !5
  %135 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef nonnull %.str.5.sink1638, i32 noundef %126, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %129, ptr noundef %131, ptr noundef %133, i32 noundef %134) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

136:                                              ; preds = %107
  %137 = tail call i32 @s2n_init() #13
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %163

139:                                              ; preds = %136
  %140 = tail call ptr @__errno_location() #14
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = tail call i32 @s2n_print_stacktrace(ptr noundef %142) #13
  %144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %146, label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = tail call i32 @fileno(ptr noundef %147) #13
  %149 = tail call i32 @isatty(i32 noundef %148) #13
  %.not1545 = icmp eq i32 %149, 0
  br i1 %.not1545, label %150, label %151

150:                                              ; preds = %146, %139
  br label %151

151:                                              ; preds = %146, %150
  %.str.5.sink1649 = phi ptr [ @.str.5, %150 ], [ @.str.2, %146 ]
  store i32 %141, ptr %140, align 4, !tbaa !5
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = tail call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #13
  %157 = load i32, ptr %154, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #13
  %159 = load i32, ptr %140, align 4, !tbaa !5
  %160 = tail call ptr @strerror(i32 noundef %159) #13
  %161 = load i32, ptr %140, align 4, !tbaa !5
  %162 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef nonnull %.str.5.sink1649, i32 noundef %153, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

163:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %3) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %3, ptr noundef nonnull align 1 dereferenceable(10) @__const.main.ocsp_data, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #13
  store ptr null, ptr %4, align 8, !tbaa !9
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @test_count, align 4, !tbaa !5
  %166 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %4, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #13
  %167 = icmp eq i32 %166, -1
  br i1 %167, label %168, label %192

168:                                              ; preds = %163
  %169 = tail call ptr @__errno_location() #14
  %170 = load i32, ptr %169, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = call i32 @s2n_print_stacktrace(ptr noundef %171) #13
  %173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %175, label %179

175:                                              ; preds = %168
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = call i32 @fileno(ptr noundef %176) #13
  %178 = call i32 @isatty(i32 noundef %177) #13
  %.not1544 = icmp eq i32 %178, 0
  br i1 %.not1544, label %179, label %180

179:                                              ; preds = %175, %168
  br label %180

180:                                              ; preds = %175, %179
  %.str.5.sink1660 = phi ptr [ @.str.5, %179 ], [ @.str.2, %175 ]
  store i32 %170, ptr %169, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = call ptr @s2n_strerror(i32 noundef %184, ptr noundef nonnull @.str.4) #13
  %186 = load i32, ptr %183, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef nonnull @.str.4) #13
  %188 = load i32, ptr %169, align 4, !tbaa !5
  %189 = call ptr @strerror(i32 noundef %188) #13
  %190 = load i32, ptr %169, align 4, !tbaa !5
  %191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull %.str.5.sink1660, i32 noundef %182, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %185, ptr noundef %187, ptr noundef %189, i32 noundef %190) #15
  call void @exit(i32 noundef 1) #16
  unreachable

192:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #13
  store ptr null, ptr %5, align 8, !tbaa !9
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr @test_count, align 4, !tbaa !5
  %195 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %5, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12) #13
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %221

197:                                              ; preds = %192
  %198 = tail call ptr @__errno_location() #14
  %199 = load i32, ptr %198, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = call i32 @s2n_print_stacktrace(ptr noundef %200) #13
  %202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %208

204:                                              ; preds = %197
  %205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %206 = call i32 @fileno(ptr noundef %205) #13
  %207 = call i32 @isatty(i32 noundef %206) #13
  %.not1543 = icmp eq i32 %207, 0
  br i1 %.not1543, label %208, label %209

208:                                              ; preds = %204, %197
  br label %209

209:                                              ; preds = %204, %208
  %.str.5.sink1671 = phi ptr [ @.str.5, %208 ], [ @.str.2, %204 ]
  store i32 %199, ptr %198, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.4) #13
  %215 = load i32, ptr %212, align 4, !tbaa !5
  %216 = call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.4) #13
  %217 = load i32, ptr %198, align 4, !tbaa !5
  %218 = call ptr @strerror(i32 noundef %217) #13
  %219 = load i32, ptr %198, align 4, !tbaa !5
  %220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %210, ptr noundef nonnull %.str.5.sink1671, i32 noundef %211, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #15
  call void @exit(i32 noundef 1) #16
  unreachable

221:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #13
  %222 = call ptr @s2n_cert_chain_and_key_new() #13
  store ptr %222, ptr %6, align 8, !tbaa !9
  %223 = load i32, ptr @test_count, align 4, !tbaa !5
  %224 = add nsw i32 %223, 1
  store i32 %224, ptr @test_count, align 4, !tbaa !5
  %225 = icmp eq ptr %222, null
  br i1 %225, label %226, label %250

226:                                              ; preds = %221
  %227 = tail call ptr @__errno_location() #14
  %228 = load i32, ptr %227, align 4, !tbaa !5
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = call i32 @s2n_print_stacktrace(ptr noundef %229) #13
  %231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %232 = trunc nuw i8 %231 to i1
  br i1 %232, label %233, label %237

233:                                              ; preds = %226
  %234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %235 = call i32 @fileno(ptr noundef %234) #13
  %236 = call i32 @isatty(i32 noundef %235) #13
  %.not1542 = icmp eq i32 %236, 0
  br i1 %.not1542, label %237, label %238

237:                                              ; preds = %233, %226
  br label %238

238:                                              ; preds = %233, %237
  %.str.5.sink1682 = phi ptr [ @.str.5, %237 ], [ @.str.2, %233 ]
  store i32 %228, ptr %227, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror(i32 noundef %242, ptr noundef nonnull @.str.4) #13
  %244 = load i32, ptr %241, align 4, !tbaa !5
  %245 = call ptr @s2n_strerror_debug(i32 noundef %244, ptr noundef nonnull @.str.4) #13
  %246 = load i32, ptr %227, align 4, !tbaa !5
  %247 = call ptr @strerror(i32 noundef %246) #13
  %248 = load i32, ptr %227, align 4, !tbaa !5
  %249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef nonnull %.str.5.sink1682, i32 noundef %240, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %243, ptr noundef %245, ptr noundef %247, i32 noundef %248) #15
  call void @exit(i32 noundef 1) #16
  unreachable

250:                                              ; preds = %221
  %251 = add nsw i32 %223, 2
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = load ptr, ptr %222, align 8, !tbaa !15
  %253 = icmp eq ptr %252, null
  br i1 %253, label %254, label %278

254:                                              ; preds = %250
  %255 = tail call ptr @__errno_location() #14
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = call i32 @s2n_print_stacktrace(ptr noundef %257) #13
  %259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %260 = trunc nuw i8 %259 to i1
  br i1 %260, label %261, label %265

261:                                              ; preds = %254
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = call i32 @fileno(ptr noundef %262) #13
  %264 = call i32 @isatty(i32 noundef %263) #13
  %.not1541 = icmp eq i32 %264, 0
  br i1 %.not1541, label %265, label %266

265:                                              ; preds = %261, %254
  br label %266

266:                                              ; preds = %261, %265
  %.str.5.sink1693 = phi ptr [ @.str.5, %265 ], [ @.str.2, %261 ]
  store i32 %256, ptr %255, align 4, !tbaa !5
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = load i32, ptr @test_count, align 4, !tbaa !5
  %269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror(i32 noundef %270, ptr noundef nonnull @.str.4) #13
  %272 = load i32, ptr %269, align 4, !tbaa !5
  %273 = call ptr @s2n_strerror_debug(i32 noundef %272, ptr noundef nonnull @.str.4) #13
  %274 = load i32, ptr %255, align 4, !tbaa !5
  %275 = call ptr @strerror(i32 noundef %274) #13
  %276 = load i32, ptr %255, align 4, !tbaa !5
  %277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %267, ptr noundef nonnull %.str.5.sink1693, i32 noundef %268, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %271, ptr noundef %273, ptr noundef %275, i32 noundef %276) #15
  call void @exit(i32 noundef 1) #16
  unreachable

278:                                              ; preds = %250
  %279 = add nsw i32 %223, 3
  store i32 %279, ptr @test_count, align 4, !tbaa !5
  %280 = getelementptr inbounds i8, ptr %222, i64 8
  %281 = load ptr, ptr %280, align 8, !tbaa !18
  %282 = icmp eq ptr %281, null
  br i1 %282, label %283, label %307

283:                                              ; preds = %278
  %284 = tail call ptr @__errno_location() #14
  %285 = load i32, ptr %284, align 4, !tbaa !5
  %286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %287 = call i32 @s2n_print_stacktrace(ptr noundef %286) #13
  %288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %289 = trunc nuw i8 %288 to i1
  br i1 %289, label %290, label %294

290:                                              ; preds = %283
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = call i32 @fileno(ptr noundef %291) #13
  %293 = call i32 @isatty(i32 noundef %292) #13
  %.not1540 = icmp eq i32 %293, 0
  br i1 %.not1540, label %294, label %295

294:                                              ; preds = %290, %283
  br label %295

295:                                              ; preds = %290, %294
  %.str.5.sink1704 = phi ptr [ @.str.5, %294 ], [ @.str.2, %290 ]
  store i32 %285, ptr %284, align 4, !tbaa !5
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = call ptr @s2n_strerror(i32 noundef %299, ptr noundef nonnull @.str.4) #13
  %301 = load i32, ptr %298, align 4, !tbaa !5
  %302 = call ptr @s2n_strerror_debug(i32 noundef %301, ptr noundef nonnull @.str.4) #13
  %303 = load i32, ptr %284, align 4, !tbaa !5
  %304 = call ptr @strerror(i32 noundef %303) #13
  %305 = load i32, ptr %284, align 4, !tbaa !5
  %306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %296, ptr noundef nonnull %.str.5.sink1704, i32 noundef %297, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %300, ptr noundef %302, ptr noundef %304, i32 noundef %305) #15
  call void @exit(i32 noundef 1) #16
  unreachable

307:                                              ; preds = %278
  %308 = add nsw i32 %223, 4
  store i32 %308, ptr @test_count, align 4, !tbaa !5
  %309 = getelementptr inbounds i8, ptr %222, i64 72
  %310 = load ptr, ptr %309, align 8, !tbaa !19
  %311 = icmp eq ptr %310, null
  br i1 %311, label %312, label %336

312:                                              ; preds = %307
  %313 = tail call ptr @__errno_location() #14
  %314 = load i32, ptr %313, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @s2n_print_stacktrace(ptr noundef %315) #13
  %317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %318 = trunc nuw i8 %317 to i1
  br i1 %318, label %319, label %323

319:                                              ; preds = %312
  %320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %321 = call i32 @fileno(ptr noundef %320) #13
  %322 = call i32 @isatty(i32 noundef %321) #13
  %.not1539 = icmp eq i32 %322, 0
  br i1 %.not1539, label %323, label %324

323:                                              ; preds = %319, %312
  br label %324

324:                                              ; preds = %319, %323
  %.str.5.sink1715 = phi ptr [ @.str.5, %323 ], [ @.str.2, %319 ]
  store i32 %314, ptr %313, align 4, !tbaa !5
  %325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %326 = load i32, ptr @test_count, align 4, !tbaa !5
  %327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror(i32 noundef %328, ptr noundef nonnull @.str.4) #13
  %330 = load i32, ptr %327, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror_debug(i32 noundef %330, ptr noundef nonnull @.str.4) #13
  %332 = load i32, ptr %313, align 4, !tbaa !5
  %333 = call ptr @strerror(i32 noundef %332) #13
  %334 = load i32, ptr %313, align 4, !tbaa !5
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %325, ptr noundef nonnull %.str.5.sink1715, i32 noundef %326, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %329, ptr noundef %331, ptr noundef %333, i32 noundef %334) #15
  call void @exit(i32 noundef 1) #16
  unreachable

336:                                              ; preds = %307
  %337 = add nsw i32 %223, 5
  store i32 %337, ptr @test_count, align 4, !tbaa !5
  %338 = getelementptr inbounds i8, ptr %222, i64 64
  %339 = load ptr, ptr %338, align 8, !tbaa !20
  %340 = icmp eq ptr %339, null
  br i1 %340, label %341, label %365

341:                                              ; preds = %336
  %342 = tail call ptr @__errno_location() #14
  %343 = load i32, ptr %342, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @s2n_print_stacktrace(ptr noundef %344) #13
  %346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %347 = trunc nuw i8 %346 to i1
  br i1 %347, label %348, label %352

348:                                              ; preds = %341
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @fileno(ptr noundef %349) #13
  %351 = call i32 @isatty(i32 noundef %350) #13
  %.not1538 = icmp eq i32 %351, 0
  br i1 %.not1538, label %352, label %353

352:                                              ; preds = %348, %341
  br label %353

353:                                              ; preds = %348, %352
  %.str.5.sink1726 = phi ptr [ @.str.5, %352 ], [ @.str.2, %348 ]
  store i32 %343, ptr %342, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror(i32 noundef %357, ptr noundef nonnull @.str.4) #13
  %359 = load i32, ptr %356, align 4, !tbaa !5
  %360 = call ptr @s2n_strerror_debug(i32 noundef %359, ptr noundef nonnull @.str.4) #13
  %361 = load i32, ptr %342, align 4, !tbaa !5
  %362 = call ptr @strerror(i32 noundef %361) #13
  %363 = load i32, ptr %342, align 4, !tbaa !5
  %364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef nonnull %.str.5.sink1726, i32 noundef %355, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %358, ptr noundef %360, ptr noundef %362, i32 noundef %363) #15
  call void @exit(i32 noundef 1) #16
  unreachable

365:                                              ; preds = %336
  %366 = add nsw i32 %223, 6
  store i32 %366, ptr @test_count, align 4, !tbaa !5
  %367 = load i32, ptr %252, align 8, !tbaa !21
  %368 = icmp eq i32 %367, 0
  br i1 %368, label %393, label %369

369:                                              ; preds = %365
  %370 = tail call ptr @__errno_location() #14
  %371 = load i32, ptr %370, align 4, !tbaa !5
  %372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %373 = call i32 @s2n_print_stacktrace(ptr noundef %372) #13
  %374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %375 = trunc nuw i8 %374 to i1
  br i1 %375, label %376, label %380

376:                                              ; preds = %369
  %377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %378 = call i32 @fileno(ptr noundef %377) #13
  %379 = call i32 @isatty(i32 noundef %378) #13
  %.not = icmp eq i32 %379, 0
  br i1 %.not, label %380, label %381

380:                                              ; preds = %376, %369
  br label %381

381:                                              ; preds = %376, %380
  %.str.5.sink1737 = phi ptr [ @.str.5, %380 ], [ @.str.2, %376 ]
  store i32 %371, ptr %370, align 4, !tbaa !5
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = load i32, ptr @test_count, align 4, !tbaa !5
  %384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %385 = load i32, ptr %384, align 4, !tbaa !5
  %386 = call ptr @s2n_strerror(i32 noundef %385, ptr noundef nonnull @.str.4) #13
  %387 = load i32, ptr %384, align 4, !tbaa !5
  %388 = call ptr @s2n_strerror_debug(i32 noundef %387, ptr noundef nonnull @.str.4) #13
  %389 = load i32, ptr %370, align 4, !tbaa !5
  %390 = call ptr @strerror(i32 noundef %389) #13
  %391 = load i32, ptr %370, align 4, !tbaa !5
  %392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %382, ptr noundef nonnull %.str.5.sink1737, i32 noundef %383, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %386, ptr noundef %388, ptr noundef %390, i32 noundef %391) #15
  call void @exit(i32 noundef 1) #16
  unreachable

393:                                              ; preds = %365
  %394 = add nsw i32 %223, 7
  store i32 %394, ptr @test_count, align 4, !tbaa !5
  %395 = getelementptr inbounds i8, ptr %252, i64 8
  %396 = load ptr, ptr %395, align 8, !tbaa !23
  %397 = icmp eq ptr %396, null
  br i1 %397, label %422, label %398

398:                                              ; preds = %393
  %399 = tail call ptr @__errno_location() #14
  %400 = load i32, ptr %399, align 4, !tbaa !5
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = call i32 @s2n_print_stacktrace(ptr noundef %401) #13
  %403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %404 = trunc nuw i8 %403 to i1
  br i1 %404, label %405, label %409

405:                                              ; preds = %398
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = call i32 @fileno(ptr noundef %406) #13
  %408 = call i32 @isatty(i32 noundef %407) #13
  %.not1113 = icmp eq i32 %408, 0
  br i1 %.not1113, label %409, label %410

409:                                              ; preds = %405, %398
  br label %410

410:                                              ; preds = %405, %409
  %.str.5.sink1748 = phi ptr [ @.str.5, %409 ], [ @.str.2, %405 ]
  store i32 %400, ptr %399, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = load i32, ptr @test_count, align 4, !tbaa !5
  %413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror(i32 noundef %414, ptr noundef nonnull @.str.4) #13
  %416 = load i32, ptr %413, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror_debug(i32 noundef %416, ptr noundef nonnull @.str.4) #13
  %418 = load i32, ptr %399, align 4, !tbaa !5
  %419 = call ptr @strerror(i32 noundef %418) #13
  %420 = load i32, ptr %399, align 4, !tbaa !5
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %411, ptr noundef nonnull %.str.5.sink1748, i32 noundef %412, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %415, ptr noundef %417, ptr noundef %419, i32 noundef %420) #15
  call void @exit(i32 noundef 1) #16
  unreachable

422:                                              ; preds = %393
  %423 = add nsw i32 %223, 8
  store i32 %423, ptr @test_count, align 4, !tbaa !5
  %424 = load ptr, ptr %281, align 8, !tbaa !24
  %425 = icmp eq ptr %424, null
  br i1 %425, label %450, label %426

426:                                              ; preds = %422
  %427 = tail call ptr @__errno_location() #14
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %430 = call i32 @s2n_print_stacktrace(ptr noundef %429) #13
  %431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %432 = trunc nuw i8 %431 to i1
  br i1 %432, label %433, label %437

433:                                              ; preds = %426
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @fileno(ptr noundef %434) #13
  %436 = call i32 @isatty(i32 noundef %435) #13
  %.not1114 = icmp eq i32 %436, 0
  br i1 %.not1114, label %437, label %438

437:                                              ; preds = %433, %426
  br label %438

438:                                              ; preds = %433, %437
  %.str.5.sink1759 = phi ptr [ @.str.5, %437 ], [ @.str.2, %433 ]
  store i32 %428, ptr %427, align 4, !tbaa !5
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = load i32, ptr @test_count, align 4, !tbaa !5
  %441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %442 = load i32, ptr %441, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror(i32 noundef %442, ptr noundef nonnull @.str.4) #13
  %444 = load i32, ptr %441, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror_debug(i32 noundef %444, ptr noundef nonnull @.str.4) #13
  %446 = load i32, ptr %427, align 4, !tbaa !5
  %447 = call ptr @strerror(i32 noundef %446) #13
  %448 = load i32, ptr %427, align 4, !tbaa !5
  %449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %439, ptr noundef nonnull %.str.5.sink1759, i32 noundef %440, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %443, ptr noundef %445, ptr noundef %447, i32 noundef %448) #15
  call void @exit(i32 noundef 1) #16
  unreachable

450:                                              ; preds = %422
  %451 = add nsw i32 %223, 9
  store i32 %451, ptr @test_count, align 4, !tbaa !5
  %452 = getelementptr inbounds i8, ptr %281, i64 16
  %453 = load ptr, ptr %452, align 8, !tbaa !26
  %454 = icmp eq ptr %453, null
  br i1 %454, label %479, label %455

455:                                              ; preds = %450
  %456 = tail call ptr @__errno_location() #14
  %457 = load i32, ptr %456, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = call i32 @s2n_print_stacktrace(ptr noundef %458) #13
  %460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %461 = trunc nuw i8 %460 to i1
  br i1 %461, label %462, label %466

462:                                              ; preds = %455
  %463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %464 = call i32 @fileno(ptr noundef %463) #13
  %465 = call i32 @isatty(i32 noundef %464) #13
  %.not1115 = icmp eq i32 %465, 0
  br i1 %.not1115, label %466, label %467

466:                                              ; preds = %462, %455
  br label %467

467:                                              ; preds = %462, %466
  %.str.5.sink1770 = phi ptr [ @.str.5, %466 ], [ @.str.2, %462 ]
  store i32 %457, ptr %456, align 4, !tbaa !5
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = load i32, ptr @test_count, align 4, !tbaa !5
  %470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror(i32 noundef %471, ptr noundef nonnull @.str.4) #13
  %473 = load i32, ptr %470, align 4, !tbaa !5
  %474 = call ptr @s2n_strerror_debug(i32 noundef %473, ptr noundef nonnull @.str.4) #13
  %475 = load i32, ptr %456, align 4, !tbaa !5
  %476 = call ptr @strerror(i32 noundef %475) #13
  %477 = load i32, ptr %456, align 4, !tbaa !5
  %478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %468, ptr noundef nonnull %.str.5.sink1770, i32 noundef %469, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %472, ptr noundef %474, ptr noundef %476, i32 noundef %477) #15
  call void @exit(i32 noundef 1) #16
  unreachable

479:                                              ; preds = %450
  %480 = add nsw i32 %223, 10
  store i32 %480, ptr @test_count, align 4, !tbaa !5
  %481 = getelementptr inbounds i8, ptr %222, i64 80
  %482 = load ptr, ptr %481, align 8, !tbaa !27
  %483 = icmp eq ptr %482, null
  br i1 %483, label %508, label %484

484:                                              ; preds = %479
  %485 = tail call ptr @__errno_location() #14
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = call i32 @s2n_print_stacktrace(ptr noundef %487) #13
  %489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %490 = trunc nuw i8 %489 to i1
  br i1 %490, label %491, label %495

491:                                              ; preds = %484
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = call i32 @fileno(ptr noundef %492) #13
  %494 = call i32 @isatty(i32 noundef %493) #13
  %.not1116 = icmp eq i32 %494, 0
  br i1 %.not1116, label %495, label %496

495:                                              ; preds = %491, %484
  br label %496

496:                                              ; preds = %491, %495
  %.str.5.sink1781 = phi ptr [ @.str.5, %495 ], [ @.str.2, %491 ]
  store i32 %486, ptr %485, align 4, !tbaa !5
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = load i32, ptr @test_count, align 4, !tbaa !5
  %499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %500 = load i32, ptr %499, align 4, !tbaa !5
  %501 = call ptr @s2n_strerror(i32 noundef %500, ptr noundef nonnull @.str.4) #13
  %502 = load i32, ptr %499, align 4, !tbaa !5
  %503 = call ptr @s2n_strerror_debug(i32 noundef %502, ptr noundef nonnull @.str.4) #13
  %504 = load i32, ptr %485, align 4, !tbaa !5
  %505 = call ptr @strerror(i32 noundef %504) #13
  %506 = load i32, ptr %485, align 4, !tbaa !5
  %507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %497, ptr noundef nonnull %.str.5.sink1781, i32 noundef %498, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %501, ptr noundef %503, ptr noundef %505, i32 noundef %506) #15
  call void @exit(i32 noundef 1) #16
  unreachable

508:                                              ; preds = %479
  %509 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #13
  store i32 0, ptr %7, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 2048, ptr nonnull %8) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(2048) %8, i8 0, i64 2048, i1 false)
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  store i32 %511, ptr @test_count, align 4, !tbaa !5
  %512 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.11, ptr noundef nonnull %8, ptr noundef nonnull %7, i64 noundef 2048) #13
  %513 = icmp eq i32 %512, -1
  br i1 %513, label %514, label %538

514:                                              ; preds = %508
  %515 = tail call ptr @__errno_location() #14
  %516 = load i32, ptr %515, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = call i32 @s2n_print_stacktrace(ptr noundef %517) #13
  %519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %520 = trunc nuw i8 %519 to i1
  br i1 %520, label %521, label %525

521:                                              ; preds = %514
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 @fileno(ptr noundef %522) #13
  %524 = call i32 @isatty(i32 noundef %523) #13
  %.not1537 = icmp eq i32 %524, 0
  br i1 %.not1537, label %525, label %526

525:                                              ; preds = %521, %514
  br label %526

526:                                              ; preds = %521, %525
  %.str.5.sink1792 = phi ptr [ @.str.5, %525 ], [ @.str.2, %521 ]
  store i32 %516, ptr %515, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = load i32, ptr @test_count, align 4, !tbaa !5
  %529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror(i32 noundef %530, ptr noundef nonnull @.str.4) #13
  %532 = load i32, ptr %529, align 4, !tbaa !5
  %533 = call ptr @s2n_strerror_debug(i32 noundef %532, ptr noundef nonnull @.str.4) #13
  %534 = load i32, ptr %515, align 4, !tbaa !5
  %535 = call ptr @strerror(i32 noundef %534) #13
  %536 = load i32, ptr %515, align 4, !tbaa !5
  %537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %527, ptr noundef nonnull %.str.5.sink1792, i32 noundef %528, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %531, ptr noundef %533, ptr noundef %535, i32 noundef %536) #15
  call void @exit(i32 noundef 1) #16
  unreachable

538:                                              ; preds = %508
  %539 = call ptr @s2n_cert_chain_and_key_new() #13
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr @test_count, align 4, !tbaa !5
  %542 = icmp eq ptr %539, null
  br i1 %542, label %543, label %567

543:                                              ; preds = %538
  %544 = tail call ptr @__errno_location() #14
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = call i32 @s2n_print_stacktrace(ptr noundef %546) #13
  %548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %549 = trunc nuw i8 %548 to i1
  br i1 %549, label %550, label %554

550:                                              ; preds = %543
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @fileno(ptr noundef %551) #13
  %553 = call i32 @isatty(i32 noundef %552) #13
  %.not1536 = icmp eq i32 %553, 0
  br i1 %.not1536, label %554, label %555

554:                                              ; preds = %550, %543
  br label %555

555:                                              ; preds = %550, %554
  %.str.5.sink1803 = phi ptr [ @.str.5, %554 ], [ @.str.2, %550 ]
  store i32 %545, ptr %544, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror(i32 noundef %559, ptr noundef nonnull @.str.4) #13
  %561 = load i32, ptr %558, align 4, !tbaa !5
  %562 = call ptr @s2n_strerror_debug(i32 noundef %561, ptr noundef nonnull @.str.4) #13
  %563 = load i32, ptr %544, align 4, !tbaa !5
  %564 = call ptr @strerror(i32 noundef %563) #13
  %565 = load i32, ptr %544, align 4, !tbaa !5
  %566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %556, ptr noundef nonnull %.str.5.sink1803, i32 noundef %557, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %560, ptr noundef %562, ptr noundef %564, i32 noundef %565) #15
  call void @exit(i32 noundef 1) #16
  unreachable

567:                                              ; preds = %538
  %568 = add nsw i32 %540, 2
  store i32 %568, ptr @test_count, align 4, !tbaa !5
  %569 = load i32, ptr %7, align 4, !tbaa !5
  %570 = call i32 @s2n_cert_chain_and_key_load_public_pem_bytes(ptr noundef nonnull %539, ptr noundef nonnull %8, i32 noundef %569) #13
  %571 = icmp eq i32 %570, -1
  br i1 %571, label %572, label %596

572:                                              ; preds = %567
  %573 = tail call ptr @__errno_location() #14
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %576 = call i32 @s2n_print_stacktrace(ptr noundef %575) #13
  %577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %578 = trunc nuw i8 %577 to i1
  br i1 %578, label %579, label %583

579:                                              ; preds = %572
  %580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %581 = call i32 @fileno(ptr noundef %580) #13
  %582 = call i32 @isatty(i32 noundef %581) #13
  %.not1535 = icmp eq i32 %582, 0
  br i1 %.not1535, label %583, label %584

583:                                              ; preds = %579, %572
  br label %584

584:                                              ; preds = %579, %583
  %.str.5.sink1814 = phi ptr [ @.str.5, %583 ], [ @.str.2, %579 ]
  store i32 %574, ptr %573, align 4, !tbaa !5
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = load i32, ptr @test_count, align 4, !tbaa !5
  %587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = call ptr @s2n_strerror(i32 noundef %588, ptr noundef nonnull @.str.4) #13
  %590 = load i32, ptr %587, align 4, !tbaa !5
  %591 = call ptr @s2n_strerror_debug(i32 noundef %590, ptr noundef nonnull @.str.4) #13
  %592 = load i32, ptr %573, align 4, !tbaa !5
  %593 = call ptr @strerror(i32 noundef %592) #13
  %594 = load i32, ptr %573, align 4, !tbaa !5
  %595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %585, ptr noundef nonnull %.str.5.sink1814, i32 noundef %586, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %589, ptr noundef %591, ptr noundef %593, i32 noundef %594) #15
  call void @exit(i32 noundef 1) #16
  unreachable

596:                                              ; preds = %567
  %597 = load i32, ptr @test_count, align 4, !tbaa !5
  %598 = add nsw i32 %597, 1
  store i32 %598, ptr @test_count, align 4, !tbaa !5
  %599 = getelementptr inbounds i8, ptr %539, i64 8
  %600 = load ptr, ptr %599, align 8, !tbaa !18
  %601 = call i32 @s2n_pkey_check_key_exists(ptr noundef %600) #13
  %602 = icmp eq i32 %601, -1
  br i1 %602, label %627, label %603

603:                                              ; preds = %596
  %604 = tail call ptr @__errno_location() #14
  %605 = load i32, ptr %604, align 4, !tbaa !5
  %606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %607 = call i32 @s2n_print_stacktrace(ptr noundef %606) #13
  %608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %609 = trunc nuw i8 %608 to i1
  br i1 %609, label %610, label %614

610:                                              ; preds = %603
  %611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %612 = call i32 @fileno(ptr noundef %611) #13
  %613 = call i32 @isatty(i32 noundef %612) #13
  %.not1117 = icmp eq i32 %613, 0
  br i1 %.not1117, label %614, label %615

614:                                              ; preds = %610, %603
  br label %615

615:                                              ; preds = %610, %614
  %.str.5.sink1825 = phi ptr [ @.str.5, %614 ], [ @.str.2, %610 ]
  store i32 %605, ptr %604, align 4, !tbaa !5
  %616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %617 = load i32, ptr @test_count, align 4, !tbaa !5
  %618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %619 = load i32, ptr %618, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror(i32 noundef %619, ptr noundef nonnull @.str.4) #13
  %621 = load i32, ptr %618, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror_debug(i32 noundef %621, ptr noundef nonnull @.str.4) #13
  %623 = load i32, ptr %604, align 4, !tbaa !5
  %624 = call ptr @strerror(i32 noundef %623) #13
  %625 = load i32, ptr %604, align 4, !tbaa !5
  %626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %616, ptr noundef nonnull %.str.5.sink1825, i32 noundef %617, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %620, ptr noundef %622, ptr noundef %624, i32 noundef %625) #15
  call void @exit(i32 noundef 1) #16
  unreachable

627:                                              ; preds = %596
  %628 = load i32, ptr @test_count, align 4, !tbaa !5
  %629 = add nsw i32 %628, 1
  store i32 %629, ptr @test_count, align 4, !tbaa !5
  %630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = icmp eq i32 %631, 0
  br i1 %632, label %633, label %656

633:                                              ; preds = %627
  %634 = tail call ptr @__errno_location() #14
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 @s2n_print_stacktrace(ptr noundef %636) #13
  %638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %639 = trunc nuw i8 %638 to i1
  br i1 %639, label %640, label %644

640:                                              ; preds = %633
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = call i32 @fileno(ptr noundef %641) #13
  %643 = call i32 @isatty(i32 noundef %642) #13
  %.not1534 = icmp eq i32 %643, 0
  br i1 %.not1534, label %644, label %645

644:                                              ; preds = %640, %633
  br label %645

645:                                              ; preds = %640, %644
  %.str.5.sink1836 = phi ptr [ @.str.5, %644 ], [ @.str.2, %640 ]
  store i32 %635, ptr %634, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = load i32, ptr @test_count, align 4, !tbaa !5
  %648 = load i32, ptr %630, align 4, !tbaa !5
  %649 = call ptr @s2n_strerror(i32 noundef %648, ptr noundef nonnull @.str.4) #13
  %650 = load i32, ptr %630, align 4, !tbaa !5
  %651 = call ptr @s2n_strerror_debug(i32 noundef %650, ptr noundef nonnull @.str.4) #13
  %652 = load i32, ptr %634, align 4, !tbaa !5
  %653 = call ptr @strerror(i32 noundef %652) #13
  %654 = load i32, ptr %634, align 4, !tbaa !5
  %655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef nonnull %.str.5.sink1836, i32 noundef %647, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %649, ptr noundef %651, ptr noundef %653, i32 noundef %654) #15
  call void @exit(i32 noundef 1) #16
  unreachable

656:                                              ; preds = %627
  %657 = add nsw i32 %628, 2
  store i32 %657, ptr @test_count, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror_debug(i32 noundef %631, ptr noundef nonnull @.str.4) #13
  %659 = icmp eq ptr %658, null
  br i1 %659, label %660, label %683

660:                                              ; preds = %656
  %661 = tail call ptr @__errno_location() #14
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = call i32 @s2n_print_stacktrace(ptr noundef %663) #13
  %665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %666 = trunc nuw i8 %665 to i1
  br i1 %666, label %667, label %671

667:                                              ; preds = %660
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = call i32 @fileno(ptr noundef %668) #13
  %670 = call i32 @isatty(i32 noundef %669) #13
  %.not1533 = icmp eq i32 %670, 0
  br i1 %.not1533, label %671, label %672

671:                                              ; preds = %667, %660
  br label %672

672:                                              ; preds = %667, %671
  %.str.5.sink1845 = phi ptr [ @.str.5, %671 ], [ @.str.2, %667 ]
  store i32 %662, ptr %661, align 4, !tbaa !5
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = load i32, ptr @test_count, align 4, !tbaa !5
  %675 = load i32, ptr %630, align 4, !tbaa !5
  %676 = call ptr @s2n_strerror(i32 noundef %675, ptr noundef nonnull @.str.4) #13
  %677 = load i32, ptr %630, align 4, !tbaa !5
  %678 = call ptr @s2n_strerror_debug(i32 noundef %677, ptr noundef nonnull @.str.4) #13
  %679 = load i32, ptr %661, align 4, !tbaa !5
  %680 = call ptr @strerror(i32 noundef %679) #13
  %681 = load i32, ptr %661, align 4, !tbaa !5
  %682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %673, ptr noundef nonnull %.str.5.sink1845, i32 noundef %674, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %676, ptr noundef %678, ptr noundef %680, i32 noundef %681) #15
  call void @exit(i32 noundef 1) #16
  unreachable

683:                                              ; preds = %656
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  %684 = tail call ptr @__errno_location() #14
  store i32 0, ptr %684, align 4, !tbaa !5
  %685 = call ptr @s2n_config_new() #13
  %686 = load i32, ptr @test_count, align 4, !tbaa !5
  %687 = add nsw i32 %686, 1
  store i32 %687, ptr @test_count, align 4, !tbaa !5
  %688 = load i32, ptr %685, align 8
  %689 = and i32 %688, 2048
  %.not1118 = icmp eq i32 %689, 0
  br i1 %.not1118, label %712, label %690

690:                                              ; preds = %683
  %691 = load i32, ptr %684, align 4, !tbaa !5
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @s2n_print_stacktrace(ptr noundef %692) #13
  %694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %695 = trunc nuw i8 %694 to i1
  br i1 %695, label %696, label %700

696:                                              ; preds = %690
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = call i32 @fileno(ptr noundef %697) #13
  %699 = call i32 @isatty(i32 noundef %698) #13
  %.not1532 = icmp eq i32 %699, 0
  br i1 %.not1532, label %700, label %701

700:                                              ; preds = %696, %690
  br label %701

701:                                              ; preds = %696, %700
  %.str.5.sink1854 = phi ptr [ @.str.5, %700 ], [ @.str.2, %696 ]
  store i32 %691, ptr %684, align 4, !tbaa !5
  %702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %703 = load i32, ptr @test_count, align 4, !tbaa !5
  %704 = load i32, ptr %630, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef nonnull @.str.4) #13
  %706 = load i32, ptr %630, align 4, !tbaa !5
  %707 = call ptr @s2n_strerror_debug(i32 noundef %706, ptr noundef nonnull @.str.4) #13
  %708 = load i32, ptr %684, align 4, !tbaa !5
  %709 = call ptr @strerror(i32 noundef %708) #13
  %710 = load i32, ptr %684, align 4, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %702, ptr noundef nonnull %.str.5.sink1854, i32 noundef %703, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %705, ptr noundef %707, ptr noundef %709, i32 noundef %710) #15
  call void @exit(i32 noundef 1) #16
  unreachable

712:                                              ; preds = %683
  %713 = add nsw i32 %686, 2
  store i32 %713, ptr @test_count, align 4, !tbaa !5
  %714 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %685, ptr noundef nonnull %539) #13
  %715 = icmp eq i32 %714, -1
  br i1 %715, label %716, label %738

716:                                              ; preds = %712
  %717 = load i32, ptr %684, align 4, !tbaa !5
  %718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %719 = call i32 @s2n_print_stacktrace(ptr noundef %718) #13
  %720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %721 = trunc nuw i8 %720 to i1
  br i1 %721, label %722, label %726

722:                                              ; preds = %716
  %723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %724 = call i32 @fileno(ptr noundef %723) #13
  %725 = call i32 @isatty(i32 noundef %724) #13
  %.not1531 = icmp eq i32 %725, 0
  br i1 %.not1531, label %726, label %727

726:                                              ; preds = %722, %716
  br label %727

727:                                              ; preds = %722, %726
  %.str.5.sink1863 = phi ptr [ @.str.5, %726 ], [ @.str.2, %722 ]
  store i32 %717, ptr %684, align 4, !tbaa !5
  %728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %729 = load i32, ptr @test_count, align 4, !tbaa !5
  %730 = load i32, ptr %630, align 4, !tbaa !5
  %731 = call ptr @s2n_strerror(i32 noundef %730, ptr noundef nonnull @.str.4) #13
  %732 = load i32, ptr %630, align 4, !tbaa !5
  %733 = call ptr @s2n_strerror_debug(i32 noundef %732, ptr noundef nonnull @.str.4) #13
  %734 = load i32, ptr %684, align 4, !tbaa !5
  %735 = call ptr @strerror(i32 noundef %734) #13
  %736 = load i32, ptr %684, align 4, !tbaa !5
  %737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %728, ptr noundef nonnull %.str.5.sink1863, i32 noundef %729, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %731, ptr noundef %733, ptr noundef %735, i32 noundef %736) #15
  call void @exit(i32 noundef 1) #16
  unreachable

738:                                              ; preds = %712
  %739 = load i32, ptr @test_count, align 4, !tbaa !5
  %740 = add nsw i32 %739, 1
  store i32 %740, ptr @test_count, align 4, !tbaa !5
  %741 = load i32, ptr %685, align 8
  %742 = and i32 %741, 2048
  %.not1119 = icmp eq i32 %742, 0
  br i1 %.not1119, label %743, label %765

743:                                              ; preds = %738
  %744 = load i32, ptr %684, align 4, !tbaa !5
  %745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %746 = call i32 @s2n_print_stacktrace(ptr noundef %745) #13
  %747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %748 = trunc nuw i8 %747 to i1
  br i1 %748, label %749, label %753

749:                                              ; preds = %743
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = call i32 @fileno(ptr noundef %750) #13
  %752 = call i32 @isatty(i32 noundef %751) #13
  %.not1120 = icmp eq i32 %752, 0
  br i1 %.not1120, label %753, label %754

753:                                              ; preds = %749, %743
  br label %754

754:                                              ; preds = %749, %753
  %.str.5.sink1872 = phi ptr [ @.str.5, %753 ], [ @.str.2, %749 ]
  store i32 %744, ptr %684, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = load i32, ptr @test_count, align 4, !tbaa !5
  %757 = load i32, ptr %630, align 4, !tbaa !5
  %758 = call ptr @s2n_strerror(i32 noundef %757, ptr noundef nonnull @.str.4) #13
  %759 = load i32, ptr %630, align 4, !tbaa !5
  %760 = call ptr @s2n_strerror_debug(i32 noundef %759, ptr noundef nonnull @.str.4) #13
  %761 = load i32, ptr %684, align 4, !tbaa !5
  %762 = call ptr @strerror(i32 noundef %761) #13
  %763 = load i32, ptr %684, align 4, !tbaa !5
  %764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %755, ptr noundef nonnull %.str.5.sink1872, i32 noundef %756, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %758, ptr noundef %760, ptr noundef %762, i32 noundef %763) #15
  call void @exit(i32 noundef 1) #16
  unreachable

765:                                              ; preds = %738
  %766 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr @test_count, align 4, !tbaa !5
  %769 = call i32 @s2n_connection_set_config(ptr noundef %766, ptr noundef nonnull %685) #13
  %770 = icmp eq i32 %769, -1
  br i1 %770, label %793, label %771

771:                                              ; preds = %765
  %772 = load i32, ptr %684, align 4, !tbaa !5
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = call i32 @s2n_print_stacktrace(ptr noundef %773) #13
  %775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %776 = trunc nuw i8 %775 to i1
  br i1 %776, label %777, label %781

777:                                              ; preds = %771
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @fileno(ptr noundef %778) #13
  %780 = call i32 @isatty(i32 noundef %779) #13
  %.not1121 = icmp eq i32 %780, 0
  br i1 %.not1121, label %781, label %782

781:                                              ; preds = %777, %771
  br label %782

782:                                              ; preds = %777, %781
  %.str.5.sink1881 = phi ptr [ @.str.5, %781 ], [ @.str.2, %777 ]
  store i32 %772, ptr %684, align 4, !tbaa !5
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = load i32, ptr @test_count, align 4, !tbaa !5
  %785 = load i32, ptr %630, align 4, !tbaa !5
  %786 = call ptr @s2n_strerror(i32 noundef %785, ptr noundef nonnull @.str.4) #13
  %787 = load i32, ptr %630, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror_debug(i32 noundef %787, ptr noundef nonnull @.str.4) #13
  %789 = load i32, ptr %684, align 4, !tbaa !5
  %790 = call ptr @strerror(i32 noundef %789) #13
  %791 = load i32, ptr %684, align 4, !tbaa !5
  %792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %783, ptr noundef nonnull %.str.5.sink1881, i32 noundef %784, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %786, ptr noundef %788, ptr noundef %790, i32 noundef %791) #15
  call void @exit(i32 noundef 1) #16
  unreachable

793:                                              ; preds = %765
  %794 = load i32, ptr @test_count, align 4, !tbaa !5
  %795 = add nsw i32 %794, 1
  store i32 %795, ptr @test_count, align 4, !tbaa !5
  %796 = load i32, ptr %630, align 4, !tbaa !5
  %797 = icmp eq i32 %796, 469762116
  br i1 %797, label %820, label %798

798:                                              ; preds = %793
  %799 = load i32, ptr %684, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = call i32 @s2n_print_stacktrace(ptr noundef %800) #13
  %802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %803 = trunc nuw i8 %802 to i1
  br i1 %803, label %804, label %808

804:                                              ; preds = %798
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @fileno(ptr noundef %805) #13
  %807 = call i32 @isatty(i32 noundef %806) #13
  %.not1122 = icmp eq i32 %807, 0
  br i1 %.not1122, label %808, label %809

808:                                              ; preds = %804, %798
  br label %809

809:                                              ; preds = %804, %808
  %.str.5.sink1890 = phi ptr [ @.str.5, %808 ], [ @.str.2, %804 ]
  store i32 %799, ptr %684, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = load i32, ptr %630, align 4, !tbaa !5
  %813 = call ptr @s2n_strerror(i32 noundef %812, ptr noundef nonnull @.str.4) #13
  %814 = load i32, ptr %630, align 4, !tbaa !5
  %815 = call ptr @s2n_strerror_debug(i32 noundef %814, ptr noundef nonnull @.str.4) #13
  %816 = load i32, ptr %684, align 4, !tbaa !5
  %817 = call ptr @strerror(i32 noundef %816) #13
  %818 = load i32, ptr %684, align 4, !tbaa !5
  %819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %810, ptr noundef nonnull %.str.5.sink1890, i32 noundef %811, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %813, ptr noundef %815, ptr noundef %817, i32 noundef %818) #15
  call void @exit(i32 noundef 1) #16
  unreachable

820:                                              ; preds = %793
  %821 = add nsw i32 %794, 2
  store i32 %821, ptr @test_count, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror_debug(i32 noundef 469762116, ptr noundef nonnull @.str.4) #13
  %823 = icmp eq ptr %822, null
  br i1 %823, label %824, label %846

824:                                              ; preds = %820
  %825 = load i32, ptr %684, align 4, !tbaa !5
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = call i32 @s2n_print_stacktrace(ptr noundef %826) #13
  %828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %829 = trunc nuw i8 %828 to i1
  br i1 %829, label %830, label %834

830:                                              ; preds = %824
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = call i32 @fileno(ptr noundef %831) #13
  %833 = call i32 @isatty(i32 noundef %832) #13
  %.not1530 = icmp eq i32 %833, 0
  br i1 %.not1530, label %834, label %835

834:                                              ; preds = %830, %824
  br label %835

835:                                              ; preds = %830, %834
  %.str.5.sink1899 = phi ptr [ @.str.5, %834 ], [ @.str.2, %830 ]
  store i32 %825, ptr %684, align 4, !tbaa !5
  %836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %837 = load i32, ptr @test_count, align 4, !tbaa !5
  %838 = load i32, ptr %630, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror(i32 noundef %838, ptr noundef nonnull @.str.4) #13
  %840 = load i32, ptr %630, align 4, !tbaa !5
  %841 = call ptr @s2n_strerror_debug(i32 noundef %840, ptr noundef nonnull @.str.4) #13
  %842 = load i32, ptr %684, align 4, !tbaa !5
  %843 = call ptr @strerror(i32 noundef %842) #13
  %844 = load i32, ptr %684, align 4, !tbaa !5
  %845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %836, ptr noundef nonnull %.str.5.sink1899, i32 noundef %837, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %839, ptr noundef %841, ptr noundef %843, i32 noundef %844) #15
  call void @exit(i32 noundef 1) #16
  unreachable

846:                                              ; preds = %820
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %847 = load i32, ptr @test_count, align 4, !tbaa !5
  %848 = add nsw i32 %847, 1
  store i32 %848, ptr @test_count, align 4, !tbaa !5
  %849 = call i32 @s2n_config_set_async_pkey_callback(ptr noundef nonnull %685, ptr noundef nonnull @s2n_noop_async_pkey_fn) #13
  %850 = icmp eq i32 %849, -1
  br i1 %850, label %851, label %873

851:                                              ; preds = %846
  %852 = load i32, ptr %684, align 4, !tbaa !5
  %853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %854 = call i32 @s2n_print_stacktrace(ptr noundef %853) #13
  %855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %856 = trunc nuw i8 %855 to i1
  br i1 %856, label %857, label %861

857:                                              ; preds = %851
  %858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %859 = call i32 @fileno(ptr noundef %858) #13
  %860 = call i32 @isatty(i32 noundef %859) #13
  %.not1529 = icmp eq i32 %860, 0
  br i1 %.not1529, label %861, label %862

861:                                              ; preds = %857, %851
  br label %862

862:                                              ; preds = %857, %861
  %.str.5.sink1908 = phi ptr [ @.str.5, %861 ], [ @.str.2, %857 ]
  store i32 %852, ptr %684, align 4, !tbaa !5
  %863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %864 = load i32, ptr @test_count, align 4, !tbaa !5
  %865 = load i32, ptr %630, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror(i32 noundef %865, ptr noundef nonnull @.str.4) #13
  %867 = load i32, ptr %630, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror_debug(i32 noundef %867, ptr noundef nonnull @.str.4) #13
  %869 = load i32, ptr %684, align 4, !tbaa !5
  %870 = call ptr @strerror(i32 noundef %869) #13
  %871 = load i32, ptr %684, align 4, !tbaa !5
  %872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %863, ptr noundef nonnull %.str.5.sink1908, i32 noundef %864, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %866, ptr noundef %868, ptr noundef %870, i32 noundef %871) #15
  call void @exit(i32 noundef 1) #16
  unreachable

873:                                              ; preds = %846
  %874 = load i32, ptr @test_count, align 4, !tbaa !5
  %875 = add nsw i32 %874, 1
  store i32 %875, ptr @test_count, align 4, !tbaa !5
  %876 = call i32 @s2n_connection_set_config(ptr noundef %766, ptr noundef nonnull %685) #13
  %877 = icmp eq i32 %876, -1
  br i1 %877, label %878, label %900

878:                                              ; preds = %873
  %879 = load i32, ptr %684, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 @s2n_print_stacktrace(ptr noundef %880) #13
  %882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %883 = trunc nuw i8 %882 to i1
  br i1 %883, label %884, label %888

884:                                              ; preds = %878
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @fileno(ptr noundef %885) #13
  %887 = call i32 @isatty(i32 noundef %886) #13
  %.not1528 = icmp eq i32 %887, 0
  br i1 %.not1528, label %888, label %889

888:                                              ; preds = %884, %878
  br label %889

889:                                              ; preds = %884, %888
  %.str.5.sink1917 = phi ptr [ @.str.5, %888 ], [ @.str.2, %884 ]
  store i32 %879, ptr %684, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = load i32, ptr @test_count, align 4, !tbaa !5
  %892 = load i32, ptr %630, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror(i32 noundef %892, ptr noundef nonnull @.str.4) #13
  %894 = load i32, ptr %630, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror_debug(i32 noundef %894, ptr noundef nonnull @.str.4) #13
  %896 = load i32, ptr %684, align 4, !tbaa !5
  %897 = call ptr @strerror(i32 noundef %896) #13
  %898 = load i32, ptr %684, align 4, !tbaa !5
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %890, ptr noundef nonnull %.str.5.sink1917, i32 noundef %891, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %893, ptr noundef %895, ptr noundef %897, i32 noundef %898) #15
  call void @exit(i32 noundef 1) #16
  unreachable

900:                                              ; preds = %873
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @test_count, align 4, !tbaa !5
  %903 = call i32 @s2n_connection_free(ptr noundef %766) #13
  %904 = icmp eq i32 %903, -1
  br i1 %904, label %905, label %927

905:                                              ; preds = %900
  %906 = load i32, ptr %684, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @s2n_print_stacktrace(ptr noundef %907) #13
  %909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %910 = trunc nuw i8 %909 to i1
  br i1 %910, label %911, label %915

911:                                              ; preds = %905
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @fileno(ptr noundef %912) #13
  %914 = call i32 @isatty(i32 noundef %913) #13
  %.not1527 = icmp eq i32 %914, 0
  br i1 %.not1527, label %915, label %916

915:                                              ; preds = %911, %905
  br label %916

916:                                              ; preds = %911, %915
  %.str.5.sink1926 = phi ptr [ @.str.5, %915 ], [ @.str.2, %911 ]
  store i32 %906, ptr %684, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = load i32, ptr %630, align 4, !tbaa !5
  %920 = call ptr @s2n_strerror(i32 noundef %919, ptr noundef nonnull @.str.4) #13
  %921 = load i32, ptr %630, align 4, !tbaa !5
  %922 = call ptr @s2n_strerror_debug(i32 noundef %921, ptr noundef nonnull @.str.4) #13
  %923 = load i32, ptr %684, align 4, !tbaa !5
  %924 = call ptr @strerror(i32 noundef %923) #13
  %925 = load i32, ptr %684, align 4, !tbaa !5
  %926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef nonnull %.str.5.sink1926, i32 noundef %918, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %920, ptr noundef %922, ptr noundef %924, i32 noundef %925) #15
  call void @exit(i32 noundef 1) #16
  unreachable

927:                                              ; preds = %900
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr @test_count, align 4, !tbaa !5
  %930 = call i32 @s2n_config_free(ptr noundef nonnull %685) #13
  %931 = icmp eq i32 %930, -1
  br i1 %931, label %932, label %954

932:                                              ; preds = %927
  %933 = load i32, ptr %684, align 4, !tbaa !5
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = call i32 @s2n_print_stacktrace(ptr noundef %934) #13
  %936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %937 = trunc nuw i8 %936 to i1
  br i1 %937, label %938, label %942

938:                                              ; preds = %932
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = call i32 @fileno(ptr noundef %939) #13
  %941 = call i32 @isatty(i32 noundef %940) #13
  %.not1526 = icmp eq i32 %941, 0
  br i1 %.not1526, label %942, label %943

942:                                              ; preds = %938, %932
  br label %943

943:                                              ; preds = %938, %942
  %.str.5.sink1935 = phi ptr [ @.str.5, %942 ], [ @.str.2, %938 ]
  store i32 %933, ptr %684, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = load i32, ptr %630, align 4, !tbaa !5
  %947 = call ptr @s2n_strerror(i32 noundef %946, ptr noundef nonnull @.str.4) #13
  %948 = load i32, ptr %630, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror_debug(i32 noundef %948, ptr noundef nonnull @.str.4) #13
  %950 = load i32, ptr %684, align 4, !tbaa !5
  %951 = call ptr @strerror(i32 noundef %950) #13
  %952 = load i32, ptr %684, align 4, !tbaa !5
  %953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %944, ptr noundef nonnull %.str.5.sink1935, i32 noundef %945, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %947, ptr noundef %949, ptr noundef %951, i32 noundef %952) #15
  call void @exit(i32 noundef 1) #16
  unreachable

954:                                              ; preds = %927
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = add nsw i32 %955, 1
  store i32 %956, ptr @test_count, align 4, !tbaa !5
  %957 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %539) #13
  %958 = icmp eq i32 %957, -1
  br i1 %958, label %959, label %981

959:                                              ; preds = %954
  %960 = load i32, ptr %684, align 4, !tbaa !5
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = call i32 @s2n_print_stacktrace(ptr noundef %961) #13
  %963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %964 = trunc nuw i8 %963 to i1
  br i1 %964, label %965, label %969

965:                                              ; preds = %959
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = call i32 @fileno(ptr noundef %966) #13
  %968 = call i32 @isatty(i32 noundef %967) #13
  %.not1525 = icmp eq i32 %968, 0
  br i1 %.not1525, label %969, label %970

969:                                              ; preds = %965, %959
  br label %970

970:                                              ; preds = %965, %969
  %.str.5.sink1944 = phi ptr [ @.str.5, %969 ], [ @.str.2, %965 ]
  store i32 %960, ptr %684, align 4, !tbaa !5
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = load i32, ptr @test_count, align 4, !tbaa !5
  %973 = load i32, ptr %630, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror(i32 noundef %973, ptr noundef nonnull @.str.4) #13
  %975 = load i32, ptr %630, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror_debug(i32 noundef %975, ptr noundef nonnull @.str.4) #13
  %977 = load i32, ptr %684, align 4, !tbaa !5
  %978 = call ptr @strerror(i32 noundef %977) #13
  %979 = load i32, ptr %684, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %971, ptr noundef nonnull %.str.5.sink1944, i32 noundef %972, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %974, ptr noundef %976, ptr noundef %978, i32 noundef %979) #15
  call void @exit(i32 noundef 1) #16
  unreachable

981:                                              ; preds = %954
  call void @llvm.lifetime.end.p0(i64 2048, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #13
  store i32 0, ptr %9, align 4, !tbaa !5
  %982 = load i32, ptr @test_count, align 4, !tbaa !5
  %983 = add nsw i32 %982, 1
  store i32 %983, ptr @test_count, align 4, !tbaa !5
  %984 = call i32 @s2n_cert_chain_get_length(ptr noundef null, ptr noundef nonnull %9) #13
  %985 = icmp eq i32 %984, -1
  br i1 %985, label %1008, label %986

986:                                              ; preds = %981
  %987 = load i32, ptr %684, align 4, !tbaa !5
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = call i32 @s2n_print_stacktrace(ptr noundef %988) #13
  %990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %991 = trunc nuw i8 %990 to i1
  br i1 %991, label %992, label %996

992:                                              ; preds = %986
  %993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %994 = call i32 @fileno(ptr noundef %993) #13
  %995 = call i32 @isatty(i32 noundef %994) #13
  %.not1123 = icmp eq i32 %995, 0
  br i1 %.not1123, label %996, label %997

996:                                              ; preds = %992, %986
  br label %997

997:                                              ; preds = %992, %996
  %.str.5.sink1953 = phi ptr [ @.str.5, %996 ], [ @.str.2, %992 ]
  store i32 %987, ptr %684, align 4, !tbaa !5
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = load i32, ptr @test_count, align 4, !tbaa !5
  %1000 = load i32, ptr %630, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror(i32 noundef %1000, ptr noundef nonnull @.str.4) #13
  %1002 = load i32, ptr %630, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef nonnull @.str.4) #13
  %1004 = load i32, ptr %684, align 4, !tbaa !5
  %1005 = call ptr @strerror(i32 noundef %1004) #13
  %1006 = load i32, ptr %684, align 4, !tbaa !5
  %1007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %998, ptr noundef nonnull %.str.5.sink1953, i32 noundef %999, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1001, ptr noundef %1003, ptr noundef %1005, i32 noundef %1006) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1008:                                             ; preds = %981
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = add nsw i32 %1009, 1
  store i32 %1010, ptr @test_count, align 4, !tbaa !5
  %1011 = load i32, ptr %630, align 4, !tbaa !5
  %1012 = icmp eq i32 %1011, 402653193
  br i1 %1012, label %1035, label %1013

1013:                                             ; preds = %1008
  %1014 = load i32, ptr %684, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = call i32 @s2n_print_stacktrace(ptr noundef %1015) #13
  %1017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1018 = trunc nuw i8 %1017 to i1
  br i1 %1018, label %1019, label %1023

1019:                                             ; preds = %1013
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 @fileno(ptr noundef %1020) #13
  %1022 = call i32 @isatty(i32 noundef %1021) #13
  %.not1124 = icmp eq i32 %1022, 0
  br i1 %.not1124, label %1023, label %1024

1023:                                             ; preds = %1019, %1013
  br label %1024

1024:                                             ; preds = %1019, %1023
  %.str.5.sink1962 = phi ptr [ @.str.5, %1023 ], [ @.str.2, %1019 ]
  store i32 %1014, ptr %684, align 4, !tbaa !5
  %1025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1026 = load i32, ptr @test_count, align 4, !tbaa !5
  %1027 = load i32, ptr %630, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror(i32 noundef %1027, ptr noundef nonnull @.str.4) #13
  %1029 = load i32, ptr %630, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror_debug(i32 noundef %1029, ptr noundef nonnull @.str.4) #13
  %1031 = load i32, ptr %684, align 4, !tbaa !5
  %1032 = call ptr @strerror(i32 noundef %1031) #13
  %1033 = load i32, ptr %684, align 4, !tbaa !5
  %1034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1025, ptr noundef nonnull %.str.5.sink1962, i32 noundef %1026, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1028, ptr noundef %1030, ptr noundef %1032, i32 noundef %1033) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1035:                                             ; preds = %1008
  %1036 = add nsw i32 %1009, 2
  store i32 %1036, ptr @test_count, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1038 = icmp eq ptr %1037, null
  br i1 %1038, label %1039, label %1061

1039:                                             ; preds = %1035
  %1040 = load i32, ptr %684, align 4, !tbaa !5
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1042 = call i32 @s2n_print_stacktrace(ptr noundef %1041) #13
  %1043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1044 = trunc nuw i8 %1043 to i1
  br i1 %1044, label %1045, label %1049

1045:                                             ; preds = %1039
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1047 = call i32 @fileno(ptr noundef %1046) #13
  %1048 = call i32 @isatty(i32 noundef %1047) #13
  %.not1524 = icmp eq i32 %1048, 0
  br i1 %.not1524, label %1049, label %1050

1049:                                             ; preds = %1045, %1039
  br label %1050

1050:                                             ; preds = %1045, %1049
  %.str.5.sink1971 = phi ptr [ @.str.5, %1049 ], [ @.str.2, %1045 ]
  store i32 %1040, ptr %684, align 4, !tbaa !5
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = load i32, ptr @test_count, align 4, !tbaa !5
  %1053 = load i32, ptr %630, align 4, !tbaa !5
  %1054 = call ptr @s2n_strerror(i32 noundef %1053, ptr noundef nonnull @.str.4) #13
  %1055 = load i32, ptr %630, align 4, !tbaa !5
  %1056 = call ptr @s2n_strerror_debug(i32 noundef %1055, ptr noundef nonnull @.str.4) #13
  %1057 = load i32, ptr %684, align 4, !tbaa !5
  %1058 = call ptr @strerror(i32 noundef %1057) #13
  %1059 = load i32, ptr %684, align 4, !tbaa !5
  %1060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1051, ptr noundef nonnull %.str.5.sink1971, i32 noundef %1052, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1054, ptr noundef %1056, ptr noundef %1058, i32 noundef %1059) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1061:                                             ; preds = %1035
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1062 = load i32, ptr @test_count, align 4, !tbaa !5
  %1063 = add nsw i32 %1062, 1
  store i32 %1063, ptr @test_count, align 4, !tbaa !5
  %1064 = load ptr, ptr %4, align 8, !tbaa !9
  %1065 = call i32 @s2n_cert_chain_get_length(ptr noundef %1064, ptr noundef null) #13
  %1066 = icmp eq i32 %1065, -1
  br i1 %1066, label %1089, label %1067

1067:                                             ; preds = %1061
  %1068 = load i32, ptr %684, align 4, !tbaa !5
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = call i32 @s2n_print_stacktrace(ptr noundef %1069) #13
  %1071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1072 = trunc nuw i8 %1071 to i1
  br i1 %1072, label %1073, label %1077

1073:                                             ; preds = %1067
  %1074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1075 = call i32 @fileno(ptr noundef %1074) #13
  %1076 = call i32 @isatty(i32 noundef %1075) #13
  %.not1125 = icmp eq i32 %1076, 0
  br i1 %.not1125, label %1077, label %1078

1077:                                             ; preds = %1073, %1067
  br label %1078

1078:                                             ; preds = %1073, %1077
  %.str.5.sink1980 = phi ptr [ @.str.5, %1077 ], [ @.str.2, %1073 ]
  store i32 %1068, ptr %684, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = load i32, ptr %630, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror(i32 noundef %1081, ptr noundef nonnull @.str.4) #13
  %1083 = load i32, ptr %630, align 4, !tbaa !5
  %1084 = call ptr @s2n_strerror_debug(i32 noundef %1083, ptr noundef nonnull @.str.4) #13
  %1085 = load i32, ptr %684, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #13
  %1087 = load i32, ptr %684, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1079, ptr noundef nonnull %.str.5.sink1980, i32 noundef %1080, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1082, ptr noundef %1084, ptr noundef %1086, i32 noundef %1087) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1089:                                             ; preds = %1061
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = add nsw i32 %1090, 1
  store i32 %1091, ptr @test_count, align 4, !tbaa !5
  %1092 = load i32, ptr %630, align 4, !tbaa !5
  %1093 = icmp eq i32 %1092, 402653193
  br i1 %1093, label %1116, label %1094

1094:                                             ; preds = %1089
  %1095 = load i32, ptr %684, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @s2n_print_stacktrace(ptr noundef %1096) #13
  %1098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1099 = trunc nuw i8 %1098 to i1
  br i1 %1099, label %1100, label %1104

1100:                                             ; preds = %1094
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @fileno(ptr noundef %1101) #13
  %1103 = call i32 @isatty(i32 noundef %1102) #13
  %.not1126 = icmp eq i32 %1103, 0
  br i1 %.not1126, label %1104, label %1105

1104:                                             ; preds = %1100, %1094
  br label %1105

1105:                                             ; preds = %1100, %1104
  %.str.5.sink1989 = phi ptr [ @.str.5, %1104 ], [ @.str.2, %1100 ]
  store i32 %1095, ptr %684, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = load i32, ptr %630, align 4, !tbaa !5
  %1109 = call ptr @s2n_strerror(i32 noundef %1108, ptr noundef nonnull @.str.4) #13
  %1110 = load i32, ptr %630, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror_debug(i32 noundef %1110, ptr noundef nonnull @.str.4) #13
  %1112 = load i32, ptr %684, align 4, !tbaa !5
  %1113 = call ptr @strerror(i32 noundef %1112) #13
  %1114 = load i32, ptr %684, align 4, !tbaa !5
  %1115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef nonnull %.str.5.sink1989, i32 noundef %1107, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1109, ptr noundef %1111, ptr noundef %1113, i32 noundef %1114) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1116:                                             ; preds = %1089
  %1117 = add nsw i32 %1090, 2
  store i32 %1117, ptr @test_count, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1119 = icmp eq ptr %1118, null
  br i1 %1119, label %1120, label %1142

1120:                                             ; preds = %1116
  %1121 = load i32, ptr %684, align 4, !tbaa !5
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 @s2n_print_stacktrace(ptr noundef %1122) #13
  %1124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1125 = trunc nuw i8 %1124 to i1
  br i1 %1125, label %1126, label %1130

1126:                                             ; preds = %1120
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @fileno(ptr noundef %1127) #13
  %1129 = call i32 @isatty(i32 noundef %1128) #13
  %.not1523 = icmp eq i32 %1129, 0
  br i1 %.not1523, label %1130, label %1131

1130:                                             ; preds = %1126, %1120
  br label %1131

1131:                                             ; preds = %1126, %1130
  %.str.5.sink1998 = phi ptr [ @.str.5, %1130 ], [ @.str.2, %1126 ]
  store i32 %1121, ptr %684, align 4, !tbaa !5
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = load i32, ptr @test_count, align 4, !tbaa !5
  %1134 = load i32, ptr %630, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror(i32 noundef %1134, ptr noundef nonnull @.str.4) #13
  %1136 = load i32, ptr %630, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror_debug(i32 noundef %1136, ptr noundef nonnull @.str.4) #13
  %1138 = load i32, ptr %684, align 4, !tbaa !5
  %1139 = call ptr @strerror(i32 noundef %1138) #13
  %1140 = load i32, ptr %684, align 4, !tbaa !5
  %1141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1132, ptr noundef nonnull %.str.5.sink1998, i32 noundef %1133, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1135, ptr noundef %1137, ptr noundef %1139, i32 noundef %1140) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1142:                                             ; preds = %1116
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = add nsw i32 %1143, 1
  store i32 %1144, ptr @test_count, align 4, !tbaa !5
  %1145 = load ptr, ptr %4, align 8, !tbaa !9
  %1146 = call i32 @s2n_cert_chain_get_length(ptr noundef %1145, ptr noundef nonnull %9) #13
  %1147 = icmp eq i32 %1146, -1
  br i1 %1147, label %1148, label %1170

1148:                                             ; preds = %1142
  %1149 = load i32, ptr %684, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @s2n_print_stacktrace(ptr noundef %1150) #13
  %1152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1153 = trunc nuw i8 %1152 to i1
  br i1 %1153, label %1154, label %1158

1154:                                             ; preds = %1148
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = call i32 @fileno(ptr noundef %1155) #13
  %1157 = call i32 @isatty(i32 noundef %1156) #13
  %.not1522 = icmp eq i32 %1157, 0
  br i1 %.not1522, label %1158, label %1159

1158:                                             ; preds = %1154, %1148
  br label %1159

1159:                                             ; preds = %1154, %1158
  %.str.5.sink2007 = phi ptr [ @.str.5, %1158 ], [ @.str.2, %1154 ]
  store i32 %1149, ptr %684, align 4, !tbaa !5
  %1160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %1162 = load i32, ptr %630, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror(i32 noundef %1162, ptr noundef nonnull @.str.4) #13
  %1164 = load i32, ptr %630, align 4, !tbaa !5
  %1165 = call ptr @s2n_strerror_debug(i32 noundef %1164, ptr noundef nonnull @.str.4) #13
  %1166 = load i32, ptr %684, align 4, !tbaa !5
  %1167 = call ptr @strerror(i32 noundef %1166) #13
  %1168 = load i32, ptr %684, align 4, !tbaa !5
  %1169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1160, ptr noundef nonnull %.str.5.sink2007, i32 noundef %1161, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1163, ptr noundef %1165, ptr noundef %1167, i32 noundef %1168) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1170:                                             ; preds = %1142
  %1171 = load i32, ptr @test_count, align 4, !tbaa !5
  %1172 = add nsw i32 %1171, 1
  store i32 %1172, ptr @test_count, align 4, !tbaa !5
  %1173 = load i32, ptr %9, align 4, !tbaa !5
  %1174 = icmp eq i32 %1173, 3
  br i1 %1174, label %1197, label %1175

1175:                                             ; preds = %1170
  %1176 = load i32, ptr %684, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @s2n_print_stacktrace(ptr noundef %1177) #13
  %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 = %1175
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = call i32 @fileno(ptr noundef %1182) #13
  %1184 = call i32 @isatty(i32 noundef %1183) #13
  %.not1127 = icmp eq i32 %1184, 0
  br i1 %.not1127, label %1185, label %1186

1185:                                             ; preds = %1181, %1175
  br label %1186

1186:                                             ; preds = %1181, %1185
  %.str.5.sink2016 = phi ptr [ @.str.5, %1185 ], [ @.str.2, %1181 ]
  store i32 %1176, ptr %684, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = load i32, ptr %630, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef nonnull @.str.4) #13
  %1191 = load i32, ptr %630, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror_debug(i32 noundef %1191, ptr noundef nonnull @.str.4) #13
  %1193 = load i32, ptr %684, align 4, !tbaa !5
  %1194 = call ptr @strerror(i32 noundef %1193) #13
  %1195 = load i32, ptr %684, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef nonnull %.str.5.sink2016, i32 noundef %1188, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1190, ptr noundef %1192, ptr noundef %1194, i32 noundef %1195) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1197:                                             ; preds = %1170
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #13
  store ptr null, ptr %10, align 8, !tbaa !9
  %1198 = add nsw i32 %1171, 2
  store i32 %1198, ptr @test_count, align 4, !tbaa !5
  %1199 = call i32 @s2n_cert_chain_get_cert(ptr noundef null, ptr noundef nonnull %10, i32 noundef 0) #13
  %1200 = icmp eq i32 %1199, -1
  br i1 %1200, label %1223, label %1201

1201:                                             ; preds = %1197
  %1202 = load i32, ptr %684, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @s2n_print_stacktrace(ptr noundef %1203) #13
  %1205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1206 = trunc nuw i8 %1205 to i1
  br i1 %1206, label %1207, label %1211

1207:                                             ; preds = %1201
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = call i32 @fileno(ptr noundef %1208) #13
  %1210 = call i32 @isatty(i32 noundef %1209) #13
  %.not1128 = icmp eq i32 %1210, 0
  br i1 %.not1128, label %1211, label %1212

1211:                                             ; preds = %1207, %1201
  br label %1212

1212:                                             ; preds = %1207, %1211
  %.str.5.sink2025 = phi ptr [ @.str.5, %1211 ], [ @.str.2, %1207 ]
  store i32 %1202, ptr %684, align 4, !tbaa !5
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = load i32, ptr @test_count, align 4, !tbaa !5
  %1215 = load i32, ptr %630, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef nonnull @.str.4) #13
  %1217 = load i32, ptr %630, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror_debug(i32 noundef %1217, ptr noundef nonnull @.str.4) #13
  %1219 = load i32, ptr %684, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #13
  %1221 = load i32, ptr %684, align 4, !tbaa !5
  %1222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1213, ptr noundef nonnull %.str.5.sink2025, i32 noundef %1214, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1216, ptr noundef %1218, ptr noundef %1220, i32 noundef %1221) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1223:                                             ; preds = %1197
  %1224 = load i32, ptr @test_count, align 4, !tbaa !5
  %1225 = add nsw i32 %1224, 1
  store i32 %1225, ptr @test_count, align 4, !tbaa !5
  %1226 = load i32, ptr %630, align 4, !tbaa !5
  %1227 = icmp eq i32 %1226, 402653193
  br i1 %1227, label %1250, label %1228

1228:                                             ; preds = %1223
  %1229 = load i32, ptr %684, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = call i32 @s2n_print_stacktrace(ptr noundef %1230) #13
  %1232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1233 = trunc nuw i8 %1232 to i1
  br i1 %1233, label %1234, label %1238

1234:                                             ; preds = %1228
  %1235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1236 = call i32 @fileno(ptr noundef %1235) #13
  %1237 = call i32 @isatty(i32 noundef %1236) #13
  %.not1129 = icmp eq i32 %1237, 0
  br i1 %.not1129, label %1238, label %1239

1238:                                             ; preds = %1234, %1228
  br label %1239

1239:                                             ; preds = %1234, %1238
  %.str.5.sink2034 = phi ptr [ @.str.5, %1238 ], [ @.str.2, %1234 ]
  store i32 %1229, ptr %684, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = load i32, ptr %630, align 4, !tbaa !5
  %1243 = call ptr @s2n_strerror(i32 noundef %1242, ptr noundef nonnull @.str.4) #13
  %1244 = load i32, ptr %630, align 4, !tbaa !5
  %1245 = call ptr @s2n_strerror_debug(i32 noundef %1244, ptr noundef nonnull @.str.4) #13
  %1246 = load i32, ptr %684, align 4, !tbaa !5
  %1247 = call ptr @strerror(i32 noundef %1246) #13
  %1248 = load i32, ptr %684, align 4, !tbaa !5
  %1249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1240, ptr noundef nonnull %.str.5.sink2034, i32 noundef %1241, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1243, ptr noundef %1245, ptr noundef %1247, i32 noundef %1248) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1250:                                             ; preds = %1223
  %1251 = add nsw i32 %1224, 2
  store i32 %1251, ptr @test_count, align 4, !tbaa !5
  %1252 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1253 = icmp eq ptr %1252, null
  br i1 %1253, label %1254, label %1276

1254:                                             ; preds = %1250
  %1255 = load i32, ptr %684, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = call i32 @s2n_print_stacktrace(ptr noundef %1256) #13
  %1258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1259 = trunc nuw i8 %1258 to i1
  br i1 %1259, label %1260, label %1264

1260:                                             ; preds = %1254
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @fileno(ptr noundef %1261) #13
  %1263 = call i32 @isatty(i32 noundef %1262) #13
  %.not1521 = icmp eq i32 %1263, 0
  br i1 %.not1521, label %1264, label %1265

1264:                                             ; preds = %1260, %1254
  br label %1265

1265:                                             ; preds = %1260, %1264
  %.str.5.sink2043 = phi ptr [ @.str.5, %1264 ], [ @.str.2, %1260 ]
  store i32 %1255, ptr %684, align 4, !tbaa !5
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = load i32, ptr %630, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror(i32 noundef %1268, ptr noundef nonnull @.str.4) #13
  %1270 = load i32, ptr %630, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror_debug(i32 noundef %1270, ptr noundef nonnull @.str.4) #13
  %1272 = load i32, ptr %684, align 4, !tbaa !5
  %1273 = call ptr @strerror(i32 noundef %1272) #13
  %1274 = load i32, ptr %684, align 4, !tbaa !5
  %1275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1266, ptr noundef nonnull %.str.5.sink2043, i32 noundef %1267, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1269, ptr noundef %1271, ptr noundef %1273, i32 noundef %1274) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1276:                                             ; preds = %1250
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1277 = load i32, ptr @test_count, align 4, !tbaa !5
  %1278 = add nsw i32 %1277, 1
  store i32 %1278, ptr @test_count, align 4, !tbaa !5
  %1279 = load ptr, ptr %4, align 8, !tbaa !9
  %1280 = call i32 @s2n_cert_chain_get_cert(ptr noundef %1279, ptr noundef null, i32 noundef 0) #13
  %1281 = icmp eq i32 %1280, -1
  br i1 %1281, label %1304, label %1282

1282:                                             ; preds = %1276
  %1283 = load i32, ptr %684, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = call i32 @s2n_print_stacktrace(ptr noundef %1284) #13
  %1286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1287 = trunc nuw i8 %1286 to i1
  br i1 %1287, label %1288, label %1292

1288:                                             ; preds = %1282
  %1289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1290 = call i32 @fileno(ptr noundef %1289) #13
  %1291 = call i32 @isatty(i32 noundef %1290) #13
  %.not1130 = icmp eq i32 %1291, 0
  br i1 %.not1130, label %1292, label %1293

1292:                                             ; preds = %1288, %1282
  br label %1293

1293:                                             ; preds = %1288, %1292
  %.str.5.sink2052 = phi ptr [ @.str.5, %1292 ], [ @.str.2, %1288 ]
  store i32 %1283, ptr %684, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = load i32, ptr %630, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror(i32 noundef %1296, ptr noundef nonnull @.str.4) #13
  %1298 = load i32, ptr %630, align 4, !tbaa !5
  %1299 = call ptr @s2n_strerror_debug(i32 noundef %1298, ptr noundef nonnull @.str.4) #13
  %1300 = load i32, ptr %684, align 4, !tbaa !5
  %1301 = call ptr @strerror(i32 noundef %1300) #13
  %1302 = load i32, ptr %684, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef nonnull %.str.5.sink2052, i32 noundef %1295, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1297, ptr noundef %1299, ptr noundef %1301, i32 noundef %1302) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1304:                                             ; preds = %1276
  %1305 = load i32, ptr @test_count, align 4, !tbaa !5
  %1306 = add nsw i32 %1305, 1
  store i32 %1306, ptr @test_count, align 4, !tbaa !5
  %1307 = load i32, ptr %630, align 4, !tbaa !5
  %1308 = icmp eq i32 %1307, 402653193
  br i1 %1308, label %1331, label %1309

1309:                                             ; preds = %1304
  %1310 = load i32, ptr %684, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @s2n_print_stacktrace(ptr noundef %1311) #13
  %1313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1314 = trunc nuw i8 %1313 to i1
  br i1 %1314, label %1315, label %1319

1315:                                             ; preds = %1309
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @fileno(ptr noundef %1316) #13
  %1318 = call i32 @isatty(i32 noundef %1317) #13
  %.not1131 = icmp eq i32 %1318, 0
  br i1 %.not1131, label %1319, label %1320

1319:                                             ; preds = %1315, %1309
  br label %1320

1320:                                             ; preds = %1315, %1319
  %.str.5.sink2061 = phi ptr [ @.str.5, %1319 ], [ @.str.2, %1315 ]
  store i32 %1310, ptr %684, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = load i32, ptr %630, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror(i32 noundef %1323, ptr noundef nonnull @.str.4) #13
  %1325 = load i32, ptr %630, align 4, !tbaa !5
  %1326 = call ptr @s2n_strerror_debug(i32 noundef %1325, ptr noundef nonnull @.str.4) #13
  %1327 = load i32, ptr %684, align 4, !tbaa !5
  %1328 = call ptr @strerror(i32 noundef %1327) #13
  %1329 = load i32, ptr %684, align 4, !tbaa !5
  %1330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1321, ptr noundef nonnull %.str.5.sink2061, i32 noundef %1322, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1324, ptr noundef %1326, ptr noundef %1328, i32 noundef %1329) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1331:                                             ; preds = %1304
  %1332 = add nsw i32 %1305, 2
  store i32 %1332, ptr @test_count, align 4, !tbaa !5
  %1333 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1334 = icmp eq ptr %1333, null
  br i1 %1334, label %1335, label %1357

1335:                                             ; preds = %1331
  %1336 = load i32, ptr %684, align 4, !tbaa !5
  %1337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1338 = call i32 @s2n_print_stacktrace(ptr noundef %1337) #13
  %1339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1340 = trunc nuw i8 %1339 to i1
  br i1 %1340, label %1341, label %1345

1341:                                             ; preds = %1335
  %1342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1343 = call i32 @fileno(ptr noundef %1342) #13
  %1344 = call i32 @isatty(i32 noundef %1343) #13
  %.not1520 = icmp eq i32 %1344, 0
  br i1 %.not1520, label %1345, label %1346

1345:                                             ; preds = %1341, %1335
  br label %1346

1346:                                             ; preds = %1341, %1345
  %.str.5.sink2070 = phi ptr [ @.str.5, %1345 ], [ @.str.2, %1341 ]
  store i32 %1336, ptr %684, align 4, !tbaa !5
  %1347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1348 = load i32, ptr @test_count, align 4, !tbaa !5
  %1349 = load i32, ptr %630, align 4, !tbaa !5
  %1350 = call ptr @s2n_strerror(i32 noundef %1349, ptr noundef nonnull @.str.4) #13
  %1351 = load i32, ptr %630, align 4, !tbaa !5
  %1352 = call ptr @s2n_strerror_debug(i32 noundef %1351, ptr noundef nonnull @.str.4) #13
  %1353 = load i32, ptr %684, align 4, !tbaa !5
  %1354 = call ptr @strerror(i32 noundef %1353) #13
  %1355 = load i32, ptr %684, align 4, !tbaa !5
  %1356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1347, ptr noundef nonnull %.str.5.sink2070, i32 noundef %1348, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1350, ptr noundef %1352, ptr noundef %1354, i32 noundef %1355) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1357:                                             ; preds = %1331
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1358 = load ptr, ptr %4, align 8, !tbaa !9
  %1359 = load ptr, ptr %1358, align 8, !tbaa !15
  %1360 = getelementptr inbounds i8, ptr %1359, i64 8
  %1361 = load ptr, ptr %1360, align 8, !tbaa !23
  %1362 = load i32, ptr @test_count, align 4, !tbaa !5
  %1363 = add nsw i32 %1362, 1
  store i32 %1363, ptr @test_count, align 4, !tbaa !5
  %1364 = call i32 @s2n_cert_chain_get_cert(ptr noundef nonnull %1358, ptr noundef nonnull %10, i32 noundef 3) #13
  %1365 = icmp eq i32 %1364, -1
  br i1 %1365, label %1388, label %1366

1366:                                             ; preds = %1357
  %1367 = load i32, ptr %684, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @s2n_print_stacktrace(ptr noundef %1368) #13
  %1370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1371 = trunc nuw i8 %1370 to i1
  br i1 %1371, label %1372, label %1376

1372:                                             ; preds = %1366
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = call i32 @fileno(ptr noundef %1373) #13
  %1375 = call i32 @isatty(i32 noundef %1374) #13
  %.not1132 = icmp eq i32 %1375, 0
  br i1 %.not1132, label %1376, label %1377

1376:                                             ; preds = %1372, %1366
  br label %1377

1377:                                             ; preds = %1372, %1376
  %.str.5.sink2079 = phi ptr [ @.str.5, %1376 ], [ @.str.2, %1372 ]
  store i32 %1367, ptr %684, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = load i32, ptr @test_count, align 4, !tbaa !5
  %1380 = load i32, ptr %630, align 4, !tbaa !5
  %1381 = call ptr @s2n_strerror(i32 noundef %1380, ptr noundef nonnull @.str.4) #13
  %1382 = load i32, ptr %630, align 4, !tbaa !5
  %1383 = call ptr @s2n_strerror_debug(i32 noundef %1382, ptr noundef nonnull @.str.4) #13
  %1384 = load i32, ptr %684, align 4, !tbaa !5
  %1385 = call ptr @strerror(i32 noundef %1384) #13
  %1386 = load i32, ptr %684, align 4, !tbaa !5
  %1387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1378, ptr noundef nonnull %.str.5.sink2079, i32 noundef %1379, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1381, ptr noundef %1383, ptr noundef %1385, i32 noundef %1386) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1388:                                             ; preds = %1357
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = add nsw i32 %1389, 1
  store i32 %1390, ptr @test_count, align 4, !tbaa !5
  %1391 = load i32, ptr %630, align 4, !tbaa !5
  %1392 = icmp eq i32 %1391, 469762114
  br i1 %1392, label %1415, label %1393

1393:                                             ; preds = %1388
  %1394 = load i32, ptr %684, align 4, !tbaa !5
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = call i32 @s2n_print_stacktrace(ptr noundef %1395) #13
  %1397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1398 = trunc nuw i8 %1397 to i1
  br i1 %1398, label %1399, label %1403

1399:                                             ; preds = %1393
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = call i32 @fileno(ptr noundef %1400) #13
  %1402 = call i32 @isatty(i32 noundef %1401) #13
  %.not1133 = icmp eq i32 %1402, 0
  br i1 %.not1133, label %1403, label %1404

1403:                                             ; preds = %1399, %1393
  br label %1404

1404:                                             ; preds = %1399, %1403
  %.str.5.sink2088 = phi ptr [ @.str.5, %1403 ], [ @.str.2, %1399 ]
  store i32 %1394, ptr %684, align 4, !tbaa !5
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = load i32, ptr @test_count, align 4, !tbaa !5
  %1407 = load i32, ptr %630, align 4, !tbaa !5
  %1408 = call ptr @s2n_strerror(i32 noundef %1407, ptr noundef nonnull @.str.4) #13
  %1409 = load i32, ptr %630, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror_debug(i32 noundef %1409, ptr noundef nonnull @.str.4) #13
  %1411 = load i32, ptr %684, align 4, !tbaa !5
  %1412 = call ptr @strerror(i32 noundef %1411) #13
  %1413 = load i32, ptr %684, align 4, !tbaa !5
  %1414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1405, ptr noundef nonnull %.str.5.sink2088, i32 noundef %1406, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1408, ptr noundef %1410, ptr noundef %1412, i32 noundef %1413) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1415:                                             ; preds = %1388
  %1416 = add nsw i32 %1389, 2
  store i32 %1416, ptr @test_count, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror_debug(i32 noundef 469762114, ptr noundef nonnull @.str.4) #13
  %1418 = icmp eq ptr %1417, null
  br i1 %1418, label %1419, label %1441

1419:                                             ; preds = %1415
  %1420 = load i32, ptr %684, align 4, !tbaa !5
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = call i32 @s2n_print_stacktrace(ptr noundef %1421) #13
  %1423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1424 = trunc nuw i8 %1423 to i1
  br i1 %1424, label %1425, label %1429

1425:                                             ; preds = %1419
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = call i32 @fileno(ptr noundef %1426) #13
  %1428 = call i32 @isatty(i32 noundef %1427) #13
  %.not1519 = icmp eq i32 %1428, 0
  br i1 %.not1519, label %1429, label %1430

1429:                                             ; preds = %1425, %1419
  br label %1430

1430:                                             ; preds = %1425, %1429
  %.str.5.sink2097 = phi ptr [ @.str.5, %1429 ], [ @.str.2, %1425 ]
  store i32 %1420, ptr %684, align 4, !tbaa !5
  %1431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1432 = load i32, ptr @test_count, align 4, !tbaa !5
  %1433 = load i32, ptr %630, align 4, !tbaa !5
  %1434 = call ptr @s2n_strerror(i32 noundef %1433, ptr noundef nonnull @.str.4) #13
  %1435 = load i32, ptr %630, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror_debug(i32 noundef %1435, ptr noundef nonnull @.str.4) #13
  %1437 = load i32, ptr %684, align 4, !tbaa !5
  %1438 = call ptr @strerror(i32 noundef %1437) #13
  %1439 = load i32, ptr %684, align 4, !tbaa !5
  %1440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1431, ptr noundef nonnull %.str.5.sink2097, i32 noundef %1432, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1434, ptr noundef %1436, ptr noundef %1438, i32 noundef %1439) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1441:                                             ; preds = %1415
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1442 = load i32, ptr @test_count, align 4, !tbaa !5
  %1443 = add nsw i32 %1442, 1
  store i32 %1443, ptr @test_count, align 4, !tbaa !5
  %1444 = load ptr, ptr %4, align 8, !tbaa !9
  %1445 = call i32 @s2n_cert_chain_get_cert(ptr noundef %1444, ptr noundef nonnull %10, i32 noundef 0) #13
  %1446 = icmp eq i32 %1445, -1
  br i1 %1446, label %1447, label %1469

1447:                                             ; preds = %1536, %1521, %1441
  %1448 = load i32, ptr %684, align 4, !tbaa !5
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = call i32 @s2n_print_stacktrace(ptr noundef %1449) #13
  %1451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1452 = trunc nuw i8 %1451 to i1
  br i1 %1452, label %1453, label %1457

1453:                                             ; preds = %1447
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = call i32 @fileno(ptr noundef %1454) #13
  %1456 = call i32 @isatty(i32 noundef %1455) #13
  %.not1518 = icmp eq i32 %1456, 0
  br i1 %.not1518, label %1457, label %1458

1457:                                             ; preds = %1453, %1447
  br label %1458

1458:                                             ; preds = %1453, %1457
  %.str.5.sink2106 = phi ptr [ @.str.5, %1457 ], [ @.str.2, %1453 ]
  store i32 %1448, ptr %684, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = load i32, ptr %630, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef nonnull @.str.4) #13
  %1463 = load i32, ptr %630, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror_debug(i32 noundef %1463, ptr noundef nonnull @.str.4) #13
  %1465 = load i32, ptr %684, align 4, !tbaa !5
  %1466 = call ptr @strerror(i32 noundef %1465) #13
  %1467 = load i32, ptr %684, align 4, !tbaa !5
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull %.str.5.sink2106, i32 noundef %1460, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1462, ptr noundef %1464, ptr noundef %1466, i32 noundef %1467) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1469:                                             ; preds = %1441
  %1470 = load i32, ptr @test_count, align 4, !tbaa !5
  %1471 = add nsw i32 %1470, 1
  store i32 %1471, ptr @test_count, align 4, !tbaa !5
  %1472 = icmp eq ptr %1361, null
  br i1 %1472, label %1473, label %1495

1473:                                             ; preds = %1543, %1528, %1469
  %1474 = load i32, ptr %684, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @s2n_print_stacktrace(ptr noundef %1475) #13
  %1477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1478 = trunc nuw i8 %1477 to i1
  br i1 %1478, label %1479, label %1483

1479:                                             ; preds = %1473
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = call i32 @fileno(ptr noundef %1480) #13
  %1482 = call i32 @isatty(i32 noundef %1481) #13
  %.not1517 = icmp eq i32 %1482, 0
  br i1 %.not1517, label %1483, label %1484

1483:                                             ; preds = %1479, %1473
  br label %1484

1484:                                             ; preds = %1479, %1483
  %.str.5.sink2115 = phi ptr [ @.str.5, %1483 ], [ @.str.2, %1479 ]
  store i32 %1474, ptr %684, align 4, !tbaa !5
  %1485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1486 = load i32, ptr @test_count, align 4, !tbaa !5
  %1487 = load i32, ptr %630, align 4, !tbaa !5
  %1488 = call ptr @s2n_strerror(i32 noundef %1487, ptr noundef nonnull @.str.4) #13
  %1489 = load i32, ptr %630, align 4, !tbaa !5
  %1490 = call ptr @s2n_strerror_debug(i32 noundef %1489, ptr noundef nonnull @.str.4) #13
  %1491 = load i32, ptr %684, align 4, !tbaa !5
  %1492 = call ptr @strerror(i32 noundef %1491) #13
  %1493 = load i32, ptr %684, align 4, !tbaa !5
  %1494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1485, ptr noundef nonnull %.str.5.sink2115, i32 noundef %1486, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %1488, ptr noundef %1490, ptr noundef %1492, i32 noundef %1493) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1495:                                             ; preds = %1469
  %1496 = add nsw i32 %1470, 2
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %1497 = load ptr, ptr %10, align 8, !tbaa !9
  %1498 = icmp eq ptr %1497, %1361
  br i1 %1498, label %1521, label %1499

1499:                                             ; preds = %1547, %1532, %1495
  %1500 = load i32, ptr %684, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = call i32 @s2n_print_stacktrace(ptr noundef %1501) #13
  %1503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1504 = trunc nuw i8 %1503 to i1
  br i1 %1504, label %1505, label %1509

1505:                                             ; preds = %1499
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = call i32 @fileno(ptr noundef %1506) #13
  %1508 = call i32 @isatty(i32 noundef %1507) #13
  %.not1516 = icmp eq i32 %1508, 0
  br i1 %.not1516, label %1509, label %1510

1509:                                             ; preds = %1505, %1499
  br label %1510

1510:                                             ; preds = %1505, %1509
  %.str.5.sink2124 = phi ptr [ @.str.5, %1509 ], [ @.str.2, %1505 ]
  store i32 %1500, ptr %684, align 4, !tbaa !5
  %1511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1512 = load i32, ptr @test_count, align 4, !tbaa !5
  %1513 = load i32, ptr %630, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror(i32 noundef %1513, ptr noundef nonnull @.str.4) #13
  %1515 = load i32, ptr %630, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror_debug(i32 noundef %1515, ptr noundef nonnull @.str.4) #13
  %1517 = load i32, ptr %684, align 4, !tbaa !5
  %1518 = call ptr @strerror(i32 noundef %1517) #13
  %1519 = load i32, ptr %684, align 4, !tbaa !5
  %1520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1511, ptr noundef nonnull %.str.5.sink2124, i32 noundef %1512, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %1514, ptr noundef %1516, ptr noundef %1518, i32 noundef %1519) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1521:                                             ; preds = %1495
  %1522 = getelementptr inbounds i8, ptr %1361, i64 104
  %1523 = load ptr, ptr %1522, align 8, !tbaa !28
  %1524 = add nsw i32 %1470, 3
  store i32 %1524, ptr @test_count, align 4, !tbaa !5
  %1525 = load ptr, ptr %4, align 8, !tbaa !9
  %1526 = call i32 @s2n_cert_chain_get_cert(ptr noundef %1525, ptr noundef nonnull %10, i32 noundef 1) #13
  %1527 = icmp eq i32 %1526, -1
  br i1 %1527, label %1447, label %1528

1528:                                             ; preds = %1521
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = add nsw i32 %1529, 1
  store i32 %1530, ptr @test_count, align 4, !tbaa !5
  %1531 = icmp eq ptr %1523, null
  br i1 %1531, label %1473, label %1532

1532:                                             ; preds = %1528
  %1533 = add nsw i32 %1529, 2
  store i32 %1533, ptr @test_count, align 4, !tbaa !5
  %1534 = load ptr, ptr %10, align 8, !tbaa !9
  %1535 = icmp eq ptr %1534, %1523
  br i1 %1535, label %1536, label %1499

1536:                                             ; preds = %1532
  %1537 = getelementptr inbounds i8, ptr %1523, i64 104
  %1538 = load ptr, ptr %1537, align 8, !tbaa !28
  %1539 = add nsw i32 %1529, 3
  store i32 %1539, ptr @test_count, align 4, !tbaa !5
  %1540 = load ptr, ptr %4, align 8, !tbaa !9
  %1541 = call i32 @s2n_cert_chain_get_cert(ptr noundef %1540, ptr noundef nonnull %10, i32 noundef 2) #13
  %1542 = icmp eq i32 %1541, -1
  br i1 %1542, label %1447, label %1543

1543:                                             ; preds = %1536
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = add nsw i32 %1544, 1
  store i32 %1545, ptr @test_count, align 4, !tbaa !5
  %1546 = icmp eq ptr %1538, null
  br i1 %1546, label %1473, label %1547

1547:                                             ; preds = %1543
  %1548 = add nsw i32 %1544, 2
  store i32 %1548, ptr @test_count, align 4, !tbaa !5
  %1549 = load ptr, ptr %10, align 8, !tbaa !9
  %1550 = icmp eq ptr %1549, %1538
  br i1 %1550, label %1551, label %1499

1551:                                             ; preds = %1547
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #13
  %1552 = load ptr, ptr %4, align 8, !tbaa !9
  %1553 = load ptr, ptr %1552, align 8, !tbaa !15
  %1554 = getelementptr inbounds i8, ptr %1553, i64 8
  %1555 = load ptr, ptr %1554, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #13
  store ptr null, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #13
  store i32 0, ptr %12, align 4, !tbaa !5
  %1556 = add nsw i32 %1544, 3
  store i32 %1556, ptr @test_count, align 4, !tbaa !5
  %1557 = call i32 @s2n_cert_get_der(ptr noundef null, ptr noundef nonnull %11, ptr noundef nonnull %12) #13
  %1558 = icmp eq i32 %1557, -1
  br i1 %1558, label %1581, label %1559

1559:                                             ; preds = %1551
  %1560 = load i32, ptr %684, align 4, !tbaa !5
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = call i32 @s2n_print_stacktrace(ptr noundef %1561) #13
  %1563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1564 = trunc nuw i8 %1563 to i1
  br i1 %1564, label %1565, label %1569

1565:                                             ; preds = %1559
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = call i32 @fileno(ptr noundef %1566) #13
  %1568 = call i32 @isatty(i32 noundef %1567) #13
  %.not1134 = icmp eq i32 %1568, 0
  br i1 %.not1134, label %1569, label %1570

1569:                                             ; preds = %1565, %1559
  br label %1570

1570:                                             ; preds = %1565, %1569
  %.str.5.sink2133 = phi ptr [ @.str.5, %1569 ], [ @.str.2, %1565 ]
  store i32 %1560, ptr %684, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = load i32, ptr @test_count, align 4, !tbaa !5
  %1573 = load i32, ptr %630, align 4, !tbaa !5
  %1574 = call ptr @s2n_strerror(i32 noundef %1573, ptr noundef nonnull @.str.4) #13
  %1575 = load i32, ptr %630, align 4, !tbaa !5
  %1576 = call ptr @s2n_strerror_debug(i32 noundef %1575, ptr noundef nonnull @.str.4) #13
  %1577 = load i32, ptr %684, align 4, !tbaa !5
  %1578 = call ptr @strerror(i32 noundef %1577) #13
  %1579 = load i32, ptr %684, align 4, !tbaa !5
  %1580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1571, ptr noundef nonnull %.str.5.sink2133, i32 noundef %1572, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %1574, ptr noundef %1576, ptr noundef %1578, i32 noundef %1579) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1581:                                             ; preds = %1551
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = add nsw i32 %1582, 1
  store i32 %1583, ptr @test_count, align 4, !tbaa !5
  %1584 = load i32, ptr %630, align 4, !tbaa !5
  %1585 = icmp eq i32 %1584, 402653193
  br i1 %1585, label %1608, label %1586

1586:                                             ; preds = %1581
  %1587 = load i32, ptr %684, align 4, !tbaa !5
  %1588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1589 = call i32 @s2n_print_stacktrace(ptr noundef %1588) #13
  %1590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1591 = trunc nuw i8 %1590 to i1
  br i1 %1591, label %1592, label %1596

1592:                                             ; preds = %1586
  %1593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1594 = call i32 @fileno(ptr noundef %1593) #13
  %1595 = call i32 @isatty(i32 noundef %1594) #13
  %.not1135 = icmp eq i32 %1595, 0
  br i1 %.not1135, label %1596, label %1597

1596:                                             ; preds = %1592, %1586
  br label %1597

1597:                                             ; preds = %1592, %1596
  %.str.5.sink2142 = phi ptr [ @.str.5, %1596 ], [ @.str.2, %1592 ]
  store i32 %1587, ptr %684, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = load i32, ptr @test_count, align 4, !tbaa !5
  %1600 = load i32, ptr %630, align 4, !tbaa !5
  %1601 = call ptr @s2n_strerror(i32 noundef %1600, ptr noundef nonnull @.str.4) #13
  %1602 = load i32, ptr %630, align 4, !tbaa !5
  %1603 = call ptr @s2n_strerror_debug(i32 noundef %1602, ptr noundef nonnull @.str.4) #13
  %1604 = load i32, ptr %684, align 4, !tbaa !5
  %1605 = call ptr @strerror(i32 noundef %1604) #13
  %1606 = load i32, ptr %684, align 4, !tbaa !5
  %1607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1598, ptr noundef nonnull %.str.5.sink2142, i32 noundef %1599, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %1601, ptr noundef %1603, ptr noundef %1605, i32 noundef %1606) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1608:                                             ; preds = %1581
  %1609 = add nsw i32 %1582, 2
  store i32 %1609, ptr @test_count, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1611 = icmp eq ptr %1610, null
  br i1 %1611, label %1612, label %1634

1612:                                             ; preds = %1608
  %1613 = load i32, ptr %684, align 4, !tbaa !5
  %1614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1615 = call i32 @s2n_print_stacktrace(ptr noundef %1614) #13
  %1616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1617 = trunc nuw i8 %1616 to i1
  br i1 %1617, label %1618, label %1622

1618:                                             ; preds = %1612
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = call i32 @fileno(ptr noundef %1619) #13
  %1621 = call i32 @isatty(i32 noundef %1620) #13
  %.not1515 = icmp eq i32 %1621, 0
  br i1 %.not1515, label %1622, label %1623

1622:                                             ; preds = %1618, %1612
  br label %1623

1623:                                             ; preds = %1618, %1622
  %.str.5.sink2151 = phi ptr [ @.str.5, %1622 ], [ @.str.2, %1618 ]
  store i32 %1613, ptr %684, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = load i32, ptr @test_count, align 4, !tbaa !5
  %1626 = load i32, ptr %630, align 4, !tbaa !5
  %1627 = call ptr @s2n_strerror(i32 noundef %1626, ptr noundef nonnull @.str.4) #13
  %1628 = load i32, ptr %630, align 4, !tbaa !5
  %1629 = call ptr @s2n_strerror_debug(i32 noundef %1628, ptr noundef nonnull @.str.4) #13
  %1630 = load i32, ptr %684, align 4, !tbaa !5
  %1631 = call ptr @strerror(i32 noundef %1630) #13
  %1632 = load i32, ptr %684, align 4, !tbaa !5
  %1633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1624, ptr noundef nonnull %.str.5.sink2151, i32 noundef %1625, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %1627, ptr noundef %1629, ptr noundef %1631, i32 noundef %1632) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1634:                                             ; preds = %1608
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = add nsw i32 %1635, 1
  store i32 %1636, ptr @test_count, align 4, !tbaa !5
  %1637 = call i32 @s2n_cert_get_der(ptr noundef %1555, ptr noundef null, ptr noundef nonnull %12) #13
  %1638 = icmp eq i32 %1637, -1
  br i1 %1638, label %1661, label %1639

1639:                                             ; preds = %1634
  %1640 = load i32, ptr %684, align 4, !tbaa !5
  %1641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1642 = call i32 @s2n_print_stacktrace(ptr noundef %1641) #13
  %1643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1644 = trunc nuw i8 %1643 to i1
  br i1 %1644, label %1645, label %1649

1645:                                             ; preds = %1639
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = call i32 @fileno(ptr noundef %1646) #13
  %1648 = call i32 @isatty(i32 noundef %1647) #13
  %.not1136 = icmp eq i32 %1648, 0
  br i1 %.not1136, label %1649, label %1650

1649:                                             ; preds = %1645, %1639
  br label %1650

1650:                                             ; preds = %1645, %1649
  %.str.5.sink2160 = phi ptr [ @.str.5, %1649 ], [ @.str.2, %1645 ]
  store i32 %1640, ptr %684, align 4, !tbaa !5
  %1651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1652 = load i32, ptr @test_count, align 4, !tbaa !5
  %1653 = load i32, ptr %630, align 4, !tbaa !5
  %1654 = call ptr @s2n_strerror(i32 noundef %1653, ptr noundef nonnull @.str.4) #13
  %1655 = load i32, ptr %630, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror_debug(i32 noundef %1655, ptr noundef nonnull @.str.4) #13
  %1657 = load i32, ptr %684, align 4, !tbaa !5
  %1658 = call ptr @strerror(i32 noundef %1657) #13
  %1659 = load i32, ptr %684, align 4, !tbaa !5
  %1660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1651, ptr noundef nonnull %.str.5.sink2160, i32 noundef %1652, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %1654, ptr noundef %1656, ptr noundef %1658, i32 noundef %1659) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1661:                                             ; preds = %1634
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = add nsw i32 %1662, 1
  store i32 %1663, ptr @test_count, align 4, !tbaa !5
  %1664 = load i32, ptr %630, align 4, !tbaa !5
  %1665 = icmp eq i32 %1664, 402653193
  br i1 %1665, label %1688, label %1666

1666:                                             ; preds = %1661
  %1667 = load i32, ptr %684, align 4, !tbaa !5
  %1668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1669 = call i32 @s2n_print_stacktrace(ptr noundef %1668) #13
  %1670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1671 = trunc nuw i8 %1670 to i1
  br i1 %1671, label %1672, label %1676

1672:                                             ; preds = %1666
  %1673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1674 = call i32 @fileno(ptr noundef %1673) #13
  %1675 = call i32 @isatty(i32 noundef %1674) #13
  %.not1137 = icmp eq i32 %1675, 0
  br i1 %.not1137, label %1676, label %1677

1676:                                             ; preds = %1672, %1666
  br label %1677

1677:                                             ; preds = %1672, %1676
  %.str.5.sink2169 = phi ptr [ @.str.5, %1676 ], [ @.str.2, %1672 ]
  store i32 %1667, ptr %684, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = load i32, ptr @test_count, align 4, !tbaa !5
  %1680 = load i32, ptr %630, align 4, !tbaa !5
  %1681 = call ptr @s2n_strerror(i32 noundef %1680, ptr noundef nonnull @.str.4) #13
  %1682 = load i32, ptr %630, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror_debug(i32 noundef %1682, ptr noundef nonnull @.str.4) #13
  %1684 = load i32, ptr %684, align 4, !tbaa !5
  %1685 = call ptr @strerror(i32 noundef %1684) #13
  %1686 = load i32, ptr %684, align 4, !tbaa !5
  %1687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1678, ptr noundef nonnull %.str.5.sink2169, i32 noundef %1679, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %1681, ptr noundef %1683, ptr noundef %1685, i32 noundef %1686) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1688:                                             ; preds = %1661
  %1689 = add nsw i32 %1662, 2
  store i32 %1689, ptr @test_count, align 4, !tbaa !5
  %1690 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1691 = icmp eq ptr %1690, null
  br i1 %1691, label %1692, label %1714

1692:                                             ; preds = %1688
  %1693 = load i32, ptr %684, align 4, !tbaa !5
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @s2n_print_stacktrace(ptr noundef %1694) #13
  %1696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1697 = trunc nuw i8 %1696 to i1
  br i1 %1697, label %1698, label %1702

1698:                                             ; preds = %1692
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = call i32 @fileno(ptr noundef %1699) #13
  %1701 = call i32 @isatty(i32 noundef %1700) #13
  %.not1514 = icmp eq i32 %1701, 0
  br i1 %.not1514, label %1702, label %1703

1702:                                             ; preds = %1698, %1692
  br label %1703

1703:                                             ; preds = %1698, %1702
  %.str.5.sink2178 = phi ptr [ @.str.5, %1702 ], [ @.str.2, %1698 ]
  store i32 %1693, ptr %684, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = load i32, ptr %630, align 4, !tbaa !5
  %1707 = call ptr @s2n_strerror(i32 noundef %1706, ptr noundef nonnull @.str.4) #13
  %1708 = load i32, ptr %630, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror_debug(i32 noundef %1708, ptr noundef nonnull @.str.4) #13
  %1710 = load i32, ptr %684, align 4, !tbaa !5
  %1711 = call ptr @strerror(i32 noundef %1710) #13
  %1712 = load i32, ptr %684, align 4, !tbaa !5
  %1713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1704, ptr noundef nonnull %.str.5.sink2178, i32 noundef %1705, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %1707, ptr noundef %1709, ptr noundef %1711, i32 noundef %1712) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1714:                                             ; preds = %1688
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = add nsw i32 %1715, 1
  store i32 %1716, ptr @test_count, align 4, !tbaa !5
  %1717 = call i32 @s2n_cert_get_der(ptr noundef %1555, ptr noundef nonnull %11, ptr noundef null) #13
  %1718 = icmp eq i32 %1717, -1
  br i1 %1718, label %1741, label %1719

1719:                                             ; preds = %1714
  %1720 = load i32, ptr %684, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @s2n_print_stacktrace(ptr noundef %1721) #13
  %1723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1724 = trunc nuw i8 %1723 to i1
  br i1 %1724, label %1725, label %1729

1725:                                             ; preds = %1719
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @fileno(ptr noundef %1726) #13
  %1728 = call i32 @isatty(i32 noundef %1727) #13
  %.not1138 = icmp eq i32 %1728, 0
  br i1 %.not1138, label %1729, label %1730

1729:                                             ; preds = %1725, %1719
  br label %1730

1730:                                             ; preds = %1725, %1729
  %.str.5.sink2187 = phi ptr [ @.str.5, %1729 ], [ @.str.2, %1725 ]
  store i32 %1720, ptr %684, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = load i32, ptr %630, align 4, !tbaa !5
  %1734 = call ptr @s2n_strerror(i32 noundef %1733, ptr noundef nonnull @.str.4) #13
  %1735 = load i32, ptr %630, align 4, !tbaa !5
  %1736 = call ptr @s2n_strerror_debug(i32 noundef %1735, ptr noundef nonnull @.str.4) #13
  %1737 = load i32, ptr %684, align 4, !tbaa !5
  %1738 = call ptr @strerror(i32 noundef %1737) #13
  %1739 = load i32, ptr %684, align 4, !tbaa !5
  %1740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef nonnull %.str.5.sink2187, i32 noundef %1732, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1734, ptr noundef %1736, ptr noundef %1738, i32 noundef %1739) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1741:                                             ; preds = %1714
  %1742 = load i32, ptr @test_count, align 4, !tbaa !5
  %1743 = add nsw i32 %1742, 1
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = load i32, ptr %630, align 4, !tbaa !5
  %1745 = icmp eq i32 %1744, 402653193
  br i1 %1745, label %1768, label %1746

1746:                                             ; preds = %1741
  %1747 = load i32, ptr %684, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @s2n_print_stacktrace(ptr noundef %1748) #13
  %1750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1751 = trunc nuw i8 %1750 to i1
  br i1 %1751, label %1752, label %1756

1752:                                             ; preds = %1746
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = call i32 @fileno(ptr noundef %1753) #13
  %1755 = call i32 @isatty(i32 noundef %1754) #13
  %.not1139 = icmp eq i32 %1755, 0
  br i1 %.not1139, label %1756, label %1757

1756:                                             ; preds = %1752, %1746
  br label %1757

1757:                                             ; preds = %1752, %1756
  %.str.5.sink2196 = phi ptr [ @.str.5, %1756 ], [ @.str.2, %1752 ]
  store i32 %1747, ptr %684, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = load i32, ptr %630, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror(i32 noundef %1760, ptr noundef nonnull @.str.4) #13
  %1762 = load i32, ptr %630, align 4, !tbaa !5
  %1763 = call ptr @s2n_strerror_debug(i32 noundef %1762, ptr noundef nonnull @.str.4) #13
  %1764 = load i32, ptr %684, align 4, !tbaa !5
  %1765 = call ptr @strerror(i32 noundef %1764) #13
  %1766 = load i32, ptr %684, align 4, !tbaa !5
  %1767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1758, ptr noundef nonnull %.str.5.sink2196, i32 noundef %1759, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1761, ptr noundef %1763, ptr noundef %1765, i32 noundef %1766) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1768:                                             ; preds = %1741
  %1769 = add nsw i32 %1742, 2
  store i32 %1769, ptr @test_count, align 4, !tbaa !5
  %1770 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %1771 = icmp eq ptr %1770, null
  br i1 %1771, label %1772, label %1794

1772:                                             ; preds = %1768
  %1773 = load i32, ptr %684, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = call i32 @s2n_print_stacktrace(ptr noundef %1774) #13
  %1776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1777 = trunc nuw i8 %1776 to i1
  br i1 %1777, label %1778, label %1782

1778:                                             ; preds = %1772
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = call i32 @fileno(ptr noundef %1779) #13
  %1781 = call i32 @isatty(i32 noundef %1780) #13
  %.not1513 = icmp eq i32 %1781, 0
  br i1 %.not1513, label %1782, label %1783

1782:                                             ; preds = %1778, %1772
  br label %1783

1783:                                             ; preds = %1778, %1782
  %.str.5.sink2205 = phi ptr [ @.str.5, %1782 ], [ @.str.2, %1778 ]
  store i32 %1773, ptr %684, align 4, !tbaa !5
  %1784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = load i32, ptr %630, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror(i32 noundef %1786, ptr noundef nonnull @.str.4) #13
  %1788 = load i32, ptr %630, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror_debug(i32 noundef %1788, ptr noundef nonnull @.str.4) #13
  %1790 = load i32, ptr %684, align 4, !tbaa !5
  %1791 = call ptr @strerror(i32 noundef %1790) #13
  %1792 = load i32, ptr %684, align 4, !tbaa !5
  %1793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1784, ptr noundef nonnull %.str.5.sink2205, i32 noundef %1785, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1787, ptr noundef %1789, ptr noundef %1791, i32 noundef %1792) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1794:                                             ; preds = %1768
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %1795 = load i32, ptr @test_count, align 4, !tbaa !5
  %1796 = add nsw i32 %1795, 1
  store i32 %1796, ptr @test_count, align 4, !tbaa !5
  %1797 = call i32 @s2n_cert_get_der(ptr noundef %1555, ptr noundef nonnull %11, ptr noundef nonnull %12) #13
  %1798 = icmp eq i32 %1797, -1
  br i1 %1798, label %1799, label %1821

1799:                                             ; preds = %1794
  %1800 = load i32, ptr %684, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = call i32 @s2n_print_stacktrace(ptr noundef %1801) #13
  %1803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1804 = trunc nuw i8 %1803 to i1
  br i1 %1804, label %1805, label %1809

1805:                                             ; preds = %1799
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @fileno(ptr noundef %1806) #13
  %1808 = call i32 @isatty(i32 noundef %1807) #13
  %.not1512 = icmp eq i32 %1808, 0
  br i1 %.not1512, label %1809, label %1810

1809:                                             ; preds = %1805, %1799
  br label %1810

1810:                                             ; preds = %1805, %1809
  %.str.5.sink2214 = phi ptr [ @.str.5, %1809 ], [ @.str.2, %1805 ]
  store i32 %1800, ptr %684, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = load i32, ptr %630, align 4, !tbaa !5
  %1814 = call ptr @s2n_strerror(i32 noundef %1813, ptr noundef nonnull @.str.4) #13
  %1815 = load i32, ptr %630, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror_debug(i32 noundef %1815, ptr noundef nonnull @.str.4) #13
  %1817 = load i32, ptr %684, align 4, !tbaa !5
  %1818 = call ptr @strerror(i32 noundef %1817) #13
  %1819 = load i32, ptr %684, align 4, !tbaa !5
  %1820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1811, ptr noundef nonnull %.str.5.sink2214, i32 noundef %1812, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %1814, ptr noundef %1816, ptr noundef %1818, i32 noundef %1819) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1821:                                             ; preds = %1794
  %1822 = load i32, ptr @test_count, align 4, !tbaa !5
  %1823 = add nsw i32 %1822, 1
  store i32 %1823, ptr @test_count, align 4, !tbaa !5
  %1824 = load i32, ptr %12, align 4, !tbaa !5
  %1825 = getelementptr inbounds i8, ptr %1555, i64 80
  %1826 = getelementptr inbounds i8, ptr %1555, i64 88
  %1827 = load i32, ptr %1826, align 8, !tbaa !31
  %1828 = icmp eq i32 %1824, %1827
  br i1 %1828, label %1851, label %1829

1829:                                             ; preds = %1821
  %1830 = load i32, ptr %684, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = call i32 @s2n_print_stacktrace(ptr noundef %1831) #13
  %1833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1834 = trunc nuw i8 %1833 to i1
  br i1 %1834, label %1835, label %1839

1835:                                             ; preds = %1829
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @fileno(ptr noundef %1836) #13
  %1838 = call i32 @isatty(i32 noundef %1837) #13
  %.not1140 = icmp eq i32 %1838, 0
  br i1 %.not1140, label %1839, label %1840

1839:                                             ; preds = %1835, %1829
  br label %1840

1840:                                             ; preds = %1835, %1839
  %.str.5.sink2223 = phi ptr [ @.str.5, %1839 ], [ @.str.2, %1835 ]
  store i32 %1830, ptr %684, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = load i32, ptr %630, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror(i32 noundef %1843, ptr noundef nonnull @.str.4) #13
  %1845 = load i32, ptr %630, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef nonnull @.str.4) #13
  %1847 = load i32, ptr %684, align 4, !tbaa !5
  %1848 = call ptr @strerror(i32 noundef %1847) #13
  %1849 = load i32, ptr %684, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef nonnull %.str.5.sink2223, i32 noundef %1842, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %1844, ptr noundef %1846, ptr noundef %1848, i32 noundef %1849) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1851:                                             ; preds = %1821
  %.not1141 = icmp eq i32 %1824, 0
  br i1 %.not1141, label %1880, label %1852

1852:                                             ; preds = %1851
  %1853 = add nsw i32 %1822, 2
  store i32 %1853, ptr @test_count, align 4, !tbaa !5
  %1854 = load ptr, ptr %11, align 8, !tbaa !9
  %1855 = load ptr, ptr %1825, align 8, !tbaa !32
  %1856 = zext i32 %1824 to i64
  %bcmp = call i32 @bcmp(ptr %1854, ptr %1855, i64 %1856)
  %1857 = icmp eq i32 %bcmp, 0
  br i1 %1857, label %1880, label %1858

1858:                                             ; preds = %1852
  %1859 = load i32, ptr %684, align 4, !tbaa !5
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @s2n_print_stacktrace(ptr noundef %1860) #13
  %1862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1863 = trunc nuw i8 %1862 to i1
  br i1 %1863, label %1864, label %1868

1864:                                             ; preds = %1858
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = call i32 @fileno(ptr noundef %1865) #13
  %1867 = call i32 @isatty(i32 noundef %1866) #13
  %.not1142 = icmp eq i32 %1867, 0
  br i1 %.not1142, label %1868, label %1869

1868:                                             ; preds = %1864, %1858
  br label %1869

1869:                                             ; preds = %1864, %1868
  %.str.5.sink2232 = phi ptr [ @.str.5, %1868 ], [ @.str.2, %1864 ]
  store i32 %1859, ptr %684, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = load i32, ptr %630, align 4, !tbaa !5
  %1873 = call ptr @s2n_strerror(i32 noundef %1872, ptr noundef nonnull @.str.4) #13
  %1874 = load i32, ptr %630, align 4, !tbaa !5
  %1875 = call ptr @s2n_strerror_debug(i32 noundef %1874, ptr noundef nonnull @.str.4) #13
  %1876 = load i32, ptr %684, align 4, !tbaa !5
  %1877 = call ptr @strerror(i32 noundef %1876) #13
  %1878 = load i32, ptr %684, align 4, !tbaa !5
  %1879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef nonnull %.str.5.sink2232, i32 noundef %1871, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %1873, ptr noundef %1875, ptr noundef %1877, i32 noundef %1878) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1880:                                             ; preds = %1852, %1851
  %1881 = phi i32 [ %1853, %1852 ], [ %1823, %1851 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #13
  %1882 = add nsw i32 %1881, 1
  store i32 %1882, ptr @test_count, align 4, !tbaa !5
  %1883 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %1884 = icmp eq ptr %1883, null
  br i1 %1884, label %1885, label %1907

1885:                                             ; preds = %1880
  %1886 = load i32, ptr %684, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = call i32 @s2n_print_stacktrace(ptr noundef %1887) #13
  %1889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1890 = trunc nuw i8 %1889 to i1
  br i1 %1890, label %1891, label %1895

1891:                                             ; preds = %1885
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = call i32 @fileno(ptr noundef %1892) #13
  %1894 = call i32 @isatty(i32 noundef %1893) #13
  %.not1511 = icmp eq i32 %1894, 0
  br i1 %.not1511, label %1895, label %1896

1895:                                             ; preds = %1891, %1885
  br label %1896

1896:                                             ; preds = %1891, %1895
  %.str.5.sink2241 = phi ptr [ @.str.5, %1895 ], [ @.str.2, %1891 ]
  store i32 %1886, ptr %684, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = load i32, ptr %630, align 4, !tbaa !5
  %1900 = call ptr @s2n_strerror(i32 noundef %1899, ptr noundef nonnull @.str.4) #13
  %1901 = load i32, ptr %630, align 4, !tbaa !5
  %1902 = call ptr @s2n_strerror_debug(i32 noundef %1901, ptr noundef nonnull @.str.4) #13
  %1903 = load i32, ptr %684, align 4, !tbaa !5
  %1904 = call ptr @strerror(i32 noundef %1903) #13
  %1905 = load i32, ptr %684, align 4, !tbaa !5
  %1906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1897, ptr noundef nonnull %.str.5.sink2241, i32 noundef %1898, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %1900, ptr noundef %1902, ptr noundef %1904, i32 noundef %1905) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1907:                                             ; preds = %1880
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = add nsw i32 %1908, 1
  store i32 %1909, ptr @test_count, align 4, !tbaa !5
  %1910 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %1911 = icmp eq ptr %1910, null
  br i1 %1911, label %1912, label %1934

1912:                                             ; preds = %1907
  %1913 = load i32, ptr %684, align 4, !tbaa !5
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = call i32 @s2n_print_stacktrace(ptr noundef %1914) #13
  %1916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1917 = trunc nuw i8 %1916 to i1
  br i1 %1917, label %1918, label %1922

1918:                                             ; preds = %1912
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = call i32 @fileno(ptr noundef %1919) #13
  %1921 = call i32 @isatty(i32 noundef %1920) #13
  %.not1510 = icmp eq i32 %1921, 0
  br i1 %.not1510, label %1922, label %1923

1922:                                             ; preds = %1918, %1912
  br label %1923

1923:                                             ; preds = %1918, %1922
  %.str.5.sink2250 = phi ptr [ @.str.5, %1922 ], [ @.str.2, %1918 ]
  store i32 %1913, ptr %684, align 4, !tbaa !5
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = load i32, ptr @test_count, align 4, !tbaa !5
  %1926 = load i32, ptr %630, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror(i32 noundef %1926, ptr noundef nonnull @.str.4) #13
  %1928 = load i32, ptr %630, align 4, !tbaa !5
  %1929 = call ptr @s2n_strerror_debug(i32 noundef %1928, ptr noundef nonnull @.str.4) #13
  %1930 = load i32, ptr %684, align 4, !tbaa !5
  %1931 = call ptr @strerror(i32 noundef %1930) #13
  %1932 = load i32, ptr %684, align 4, !tbaa !5
  %1933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1924, ptr noundef nonnull %.str.5.sink2250, i32 noundef %1925, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %1927, ptr noundef %1929, ptr noundef %1931, i32 noundef %1932) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1934:                                             ; preds = %1907
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #13
  store i64 0, ptr %13, align 8
  %1935 = load i32, ptr @test_count, align 4, !tbaa !5
  %1936 = add nsw i32 %1935, 1
  store i32 %1936, ptr @test_count, align 4, !tbaa !5
  %1937 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %13) #13
  %1938 = icmp eq i32 %1937, -1
  br i1 %1938, label %1939, label %1961

1939:                                             ; preds = %1934
  %1940 = load i32, ptr %684, align 4, !tbaa !5
  %1941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1942 = call i32 @s2n_print_stacktrace(ptr noundef %1941) #13
  %1943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1944 = trunc nuw i8 %1943 to i1
  br i1 %1944, label %1945, label %1949

1945:                                             ; preds = %1939
  %1946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1947 = call i32 @fileno(ptr noundef %1946) #13
  %1948 = call i32 @isatty(i32 noundef %1947) #13
  %.not1509 = icmp eq i32 %1948, 0
  br i1 %.not1509, label %1949, label %1950

1949:                                             ; preds = %1945, %1939
  br label %1950

1950:                                             ; preds = %1945, %1949
  %.str.5.sink2259 = phi ptr [ @.str.5, %1949 ], [ @.str.2, %1945 ]
  store i32 %1940, ptr %684, align 4, !tbaa !5
  %1951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1952 = load i32, ptr @test_count, align 4, !tbaa !5
  %1953 = load i32, ptr %630, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror(i32 noundef %1953, ptr noundef nonnull @.str.4) #13
  %1955 = load i32, ptr %630, align 4, !tbaa !5
  %1956 = call ptr @s2n_strerror_debug(i32 noundef %1955, ptr noundef nonnull @.str.4) #13
  %1957 = load i32, ptr %684, align 4, !tbaa !5
  %1958 = call ptr @strerror(i32 noundef %1957) #13
  %1959 = load i32, ptr %684, align 4, !tbaa !5
  %1960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1951, ptr noundef nonnull %.str.5.sink2259, i32 noundef %1952, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %1954, ptr noundef %1956, ptr noundef %1958, i32 noundef %1959) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1961:                                             ; preds = %1934
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #13
  store ptr null, ptr %14, align 8, !tbaa !9
  %1962 = load i32, ptr @test_count, align 4, !tbaa !5
  %1963 = add nsw i32 %1962, 1
  store i32 %1963, ptr @test_count, align 4, !tbaa !5
  %1964 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %14, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12) #13
  %1965 = icmp eq i32 %1964, -1
  br i1 %1965, label %1966, label %1988

1966:                                             ; preds = %1961
  %1967 = load i32, ptr %684, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @s2n_print_stacktrace(ptr noundef %1968) #13
  %1970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1971 = trunc nuw i8 %1970 to i1
  br i1 %1971, label %1972, label %1976

1972:                                             ; preds = %1966
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @fileno(ptr noundef %1973) #13
  %1975 = call i32 @isatty(i32 noundef %1974) #13
  %.not1508 = icmp eq i32 %1975, 0
  br i1 %.not1508, label %1976, label %1977

1976:                                             ; preds = %1972, %1966
  br label %1977

1977:                                             ; preds = %1972, %1976
  %.str.5.sink2268 = phi ptr [ @.str.5, %1976 ], [ @.str.2, %1972 ]
  store i32 %1967, ptr %684, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = load i32, ptr @test_count, align 4, !tbaa !5
  %1980 = load i32, ptr %630, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror(i32 noundef %1980, ptr noundef nonnull @.str.4) #13
  %1982 = load i32, ptr %630, align 4, !tbaa !5
  %1983 = call ptr @s2n_strerror_debug(i32 noundef %1982, ptr noundef nonnull @.str.4) #13
  %1984 = load i32, ptr %684, align 4, !tbaa !5
  %1985 = call ptr @strerror(i32 noundef %1984) #13
  %1986 = load i32, ptr %684, align 4, !tbaa !5
  %1987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1978, ptr noundef nonnull %.str.5.sink2268, i32 noundef %1979, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %1981, ptr noundef %1983, ptr noundef %1985, i32 noundef %1986) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1988:                                             ; preds = %1961
  %1989 = call ptr @s2n_config_new() #13
  %1990 = load i32, ptr @test_count, align 4, !tbaa !5
  %1991 = add nsw i32 %1990, 1
  store i32 %1991, ptr @test_count, align 4, !tbaa !5
  %1992 = icmp eq ptr %1989, null
  br i1 %1992, label %1993, label %2015

1993:                                             ; preds = %1988
  %1994 = load i32, ptr %684, align 4, !tbaa !5
  %1995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1996 = call i32 @s2n_print_stacktrace(ptr noundef %1995) #13
  %1997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1998 = trunc nuw i8 %1997 to i1
  br i1 %1998, label %1999, label %2003

1999:                                             ; preds = %1993
  %2000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2001 = call i32 @fileno(ptr noundef %2000) #13
  %2002 = call i32 @isatty(i32 noundef %2001) #13
  %.not1507 = icmp eq i32 %2002, 0
  br i1 %.not1507, label %2003, label %2004

2003:                                             ; preds = %1999, %1993
  br label %2004

2004:                                             ; preds = %1999, %2003
  %.str.5.sink2277 = phi ptr [ @.str.5, %2003 ], [ @.str.2, %1999 ]
  store i32 %1994, ptr %684, align 4, !tbaa !5
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = load i32, ptr %630, align 4, !tbaa !5
  %2008 = call ptr @s2n_strerror(i32 noundef %2007, ptr noundef nonnull @.str.4) #13
  %2009 = load i32, ptr %630, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef nonnull @.str.4) #13
  %2011 = load i32, ptr %684, align 4, !tbaa !5
  %2012 = call ptr @strerror(i32 noundef %2011) #13
  %2013 = load i32, ptr %684, align 4, !tbaa !5
  %2014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2005, ptr noundef nonnull %.str.5.sink2277, i32 noundef %2006, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2008, ptr noundef %2010, ptr noundef %2012, i32 noundef %2013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2015:                                             ; preds = %1988
  %2016 = add nsw i32 %1990, 2
  store i32 %2016, ptr @test_count, align 4, !tbaa !5
  %2017 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %1989) #13
  %2018 = icmp eq i32 %2017, -1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2015
  %2020 = load i32, ptr %684, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = call i32 @s2n_print_stacktrace(ptr noundef %2021) #13
  %2023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2024 = trunc nuw i8 %2023 to i1
  br i1 %2024, label %2025, label %2029

2025:                                             ; preds = %2019
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @fileno(ptr noundef %2026) #13
  %2028 = call i32 @isatty(i32 noundef %2027) #13
  %.not1506 = icmp eq i32 %2028, 0
  br i1 %.not1506, label %2029, label %2030

2029:                                             ; preds = %2025, %2019
  br label %2030

2030:                                             ; preds = %2025, %2029
  %.str.5.sink2286 = phi ptr [ @.str.5, %2029 ], [ @.str.2, %2025 ]
  store i32 %2020, ptr %684, align 4, !tbaa !5
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = load i32, ptr %630, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror(i32 noundef %2033, ptr noundef nonnull @.str.4) #13
  %2035 = load i32, ptr %630, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef nonnull @.str.4) #13
  %2037 = load i32, ptr %684, align 4, !tbaa !5
  %2038 = call ptr @strerror(i32 noundef %2037) #13
  %2039 = load i32, ptr %684, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2031, ptr noundef nonnull %.str.5.sink2286, i32 noundef %2032, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2034, ptr noundef %2036, ptr noundef %2038, i32 noundef %2039) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2041:                                             ; preds = %2015
  %2042 = load i32, ptr @test_count, align 4, !tbaa !5
  %2043 = add nsw i32 %2042, 1
  store i32 %2043, ptr @test_count, align 4, !tbaa !5
  %2044 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %1989, i8 noundef zeroext 0) #13
  %2045 = icmp eq i32 %2044, -1
  br i1 %2045, label %2046, label %2068

2046:                                             ; preds = %2041
  %2047 = load i32, ptr %684, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = call i32 @s2n_print_stacktrace(ptr noundef %2048) #13
  %2050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2051 = trunc nuw i8 %2050 to i1
  br i1 %2051, label %2052, label %2056

2052:                                             ; preds = %2046
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @fileno(ptr noundef %2053) #13
  %2055 = call i32 @isatty(i32 noundef %2054) #13
  %.not1505 = icmp eq i32 %2055, 0
  br i1 %.not1505, label %2056, label %2057

2056:                                             ; preds = %2052, %2046
  br label %2057

2057:                                             ; preds = %2052, %2056
  %.str.5.sink2295 = phi ptr [ @.str.5, %2056 ], [ @.str.2, %2052 ]
  store i32 %2047, ptr %684, align 4, !tbaa !5
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = load i32, ptr %630, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror(i32 noundef %2060, ptr noundef nonnull @.str.4) #13
  %2062 = load i32, ptr %630, align 4, !tbaa !5
  %2063 = call ptr @s2n_strerror_debug(i32 noundef %2062, ptr noundef nonnull @.str.4) #13
  %2064 = load i32, ptr %684, align 4, !tbaa !5
  %2065 = call ptr @strerror(i32 noundef %2064) #13
  %2066 = load i32, ptr %684, align 4, !tbaa !5
  %2067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2058, ptr noundef nonnull %.str.5.sink2295, i32 noundef %2059, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2061, ptr noundef %2063, ptr noundef %2065, i32 noundef %2066) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2068:                                             ; preds = %2041
  %2069 = load i32, ptr @test_count, align 4, !tbaa !5
  %2070 = add nsw i32 %2069, 1
  store i32 %2070, ptr @test_count, align 4, !tbaa !5
  %2071 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %1989, ptr noundef nonnull @.str.65) #13
  %2072 = icmp eq i32 %2071, -1
  br i1 %2072, label %2073, label %2095

2073:                                             ; preds = %2068
  %2074 = load i32, ptr %684, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @s2n_print_stacktrace(ptr noundef %2075) #13
  %2077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2078 = trunc nuw i8 %2077 to i1
  br i1 %2078, label %2079, label %2083

2079:                                             ; preds = %2073
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = call i32 @fileno(ptr noundef %2080) #13
  %2082 = call i32 @isatty(i32 noundef %2081) #13
  %.not1504 = icmp eq i32 %2082, 0
  br i1 %.not1504, label %2083, label %2084

2083:                                             ; preds = %2079, %2073
  br label %2084

2084:                                             ; preds = %2079, %2083
  %.str.5.sink2304 = phi ptr [ @.str.5, %2083 ], [ @.str.2, %2079 ]
  store i32 %2074, ptr %684, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = load i32, ptr %630, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror(i32 noundef %2087, ptr noundef nonnull @.str.4) #13
  %2089 = load i32, ptr %630, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror_debug(i32 noundef %2089, ptr noundef nonnull @.str.4) #13
  %2091 = load i32, ptr %684, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #13
  %2093 = load i32, ptr %684, align 4, !tbaa !5
  %2094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef nonnull %.str.5.sink2304, i32 noundef %2086, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %2088, ptr noundef %2090, ptr noundef %2092, i32 noundef %2093) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2095:                                             ; preds = %2068
  %2096 = load i32, ptr @test_count, align 4, !tbaa !5
  %2097 = add nsw i32 %2096, 1
  store i32 %2097, ptr @test_count, align 4, !tbaa !5
  %2098 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %1989, i32 noundef 2) #13
  %2099 = icmp eq i32 %2098, -1
  br i1 %2099, label %2100, label %2122

2100:                                             ; preds = %2095
  %2101 = load i32, ptr %684, align 4, !tbaa !5
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = call i32 @s2n_print_stacktrace(ptr noundef %2102) #13
  %2104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2105 = trunc nuw i8 %2104 to i1
  br i1 %2105, label %2106, label %2110

2106:                                             ; preds = %2100
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = call i32 @fileno(ptr noundef %2107) #13
  %2109 = call i32 @isatty(i32 noundef %2108) #13
  %.not1503 = icmp eq i32 %2109, 0
  br i1 %.not1503, label %2110, label %2111

2110:                                             ; preds = %2106, %2100
  br label %2111

2111:                                             ; preds = %2106, %2110
  %.str.5.sink2313 = phi ptr [ @.str.5, %2110 ], [ @.str.2, %2106 ]
  store i32 %2101, ptr %684, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = load i32, ptr @test_count, align 4, !tbaa !5
  %2114 = load i32, ptr %630, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror(i32 noundef %2114, ptr noundef nonnull @.str.4) #13
  %2116 = load i32, ptr %630, align 4, !tbaa !5
  %2117 = call ptr @s2n_strerror_debug(i32 noundef %2116, ptr noundef nonnull @.str.4) #13
  %2118 = load i32, ptr %684, align 4, !tbaa !5
  %2119 = call ptr @strerror(i32 noundef %2118) #13
  %2120 = load i32, ptr %684, align 4, !tbaa !5
  %2121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2112, ptr noundef nonnull %.str.5.sink2313, i32 noundef %2113, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2115, ptr noundef %2117, ptr noundef %2119, i32 noundef %2120) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2122:                                             ; preds = %2095
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %15) #13
  %2123 = load i16, ptr @__const.main.verify_data, align 1
  store i16 %2123, ptr %15, align 2
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = add nsw i32 %2124, 1
  store i32 %2125, ptr @test_count, align 4, !tbaa !5
  %2126 = call i32 @s2n_config_set_verify_host_callback(ptr noundef nonnull %1989, ptr noundef nonnull @verify_host_fn, ptr noundef nonnull %15) #13
  %2127 = icmp eq i32 %2126, -1
  br i1 %2127, label %2128, label %2150

2128:                                             ; preds = %2122
  %2129 = load i32, ptr %684, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @s2n_print_stacktrace(ptr noundef %2130) #13
  %2132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2133 = trunc nuw i8 %2132 to i1
  br i1 %2133, label %2134, label %2138

2134:                                             ; preds = %2128
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @fileno(ptr noundef %2135) #13
  %2137 = call i32 @isatty(i32 noundef %2136) #13
  %.not1502 = icmp eq i32 %2137, 0
  br i1 %.not1502, label %2138, label %2139

2138:                                             ; preds = %2134, %2128
  br label %2139

2139:                                             ; preds = %2134, %2138
  %.str.5.sink2322 = phi ptr [ @.str.5, %2138 ], [ @.str.2, %2134 ]
  store i32 %2129, ptr %684, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = load i32, ptr %630, align 4, !tbaa !5
  %2143 = call ptr @s2n_strerror(i32 noundef %2142, ptr noundef nonnull @.str.4) #13
  %2144 = load i32, ptr %630, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror_debug(i32 noundef %2144, ptr noundef nonnull @.str.4) #13
  %2146 = load i32, ptr %684, align 4, !tbaa !5
  %2147 = call ptr @strerror(i32 noundef %2146) #13
  %2148 = load i32, ptr %684, align 4, !tbaa !5
  %2149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2140, ptr noundef nonnull %.str.5.sink2322, i32 noundef %2141, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %2143, ptr noundef %2145, ptr noundef %2147, i32 noundef %2148) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2150:                                             ; preds = %2122
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = add nsw i32 %2151, 1
  store i32 %2152, ptr @test_count, align 4, !tbaa !5
  %2153 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %1989, ptr noundef nonnull @.str.11, ptr noundef null) #13
  %2154 = icmp eq i32 %2153, -1
  br i1 %2154, label %2155, label %2177

2155:                                             ; preds = %2150
  %2156 = load i32, ptr %684, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = call i32 @s2n_print_stacktrace(ptr noundef %2157) #13
  %2159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2160 = trunc nuw i8 %2159 to i1
  br i1 %2160, label %2161, label %2165

2161:                                             ; preds = %2155
  %2162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2163 = call i32 @fileno(ptr noundef %2162) #13
  %2164 = call i32 @isatty(i32 noundef %2163) #13
  %.not1501 = icmp eq i32 %2164, 0
  br i1 %.not1501, label %2165, label %2166

2165:                                             ; preds = %2161, %2155
  br label %2166

2166:                                             ; preds = %2161, %2165
  %.str.5.sink2331 = phi ptr [ @.str.5, %2165 ], [ @.str.2, %2161 ]
  store i32 %2156, ptr %684, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = load i32, ptr %630, align 4, !tbaa !5
  %2170 = call ptr @s2n_strerror(i32 noundef %2169, ptr noundef nonnull @.str.4) #13
  %2171 = load i32, ptr %630, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef %2171, ptr noundef nonnull @.str.4) #13
  %2173 = load i32, ptr %684, align 4, !tbaa !5
  %2174 = call ptr @strerror(i32 noundef %2173) #13
  %2175 = load i32, ptr %684, align 4, !tbaa !5
  %2176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2167, ptr noundef nonnull %.str.5.sink2331, i32 noundef %2168, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2170, ptr noundef %2172, ptr noundef %2174, i32 noundef %2175) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2177:                                             ; preds = %2150
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = add nsw i32 %2178, 1
  store i32 %2179, ptr @test_count, align 4, !tbaa !5
  %2180 = load ptr, ptr %14, align 8, !tbaa !9
  %2181 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1989, ptr noundef %2180) #13
  %2182 = icmp eq i32 %2181, -1
  br i1 %2182, label %2183, label %2205

2183:                                             ; preds = %2177
  %2184 = load i32, ptr %684, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = call i32 @s2n_print_stacktrace(ptr noundef %2185) #13
  %2187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2188 = trunc nuw i8 %2187 to i1
  br i1 %2188, label %2189, label %2193

2189:                                             ; preds = %2183
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = call i32 @fileno(ptr noundef %2190) #13
  %2192 = call i32 @isatty(i32 noundef %2191) #13
  %.not1500 = icmp eq i32 %2192, 0
  br i1 %.not1500, label %2193, label %2194

2193:                                             ; preds = %2189, %2183
  br label %2194

2194:                                             ; preds = %2189, %2193
  %.str.5.sink2340 = phi ptr [ @.str.5, %2193 ], [ @.str.2, %2189 ]
  store i32 %2184, ptr %684, align 4, !tbaa !5
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = load i32, ptr %630, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef nonnull @.str.4) #13
  %2199 = load i32, ptr %630, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef nonnull @.str.4) #13
  %2201 = load i32, ptr %684, align 4, !tbaa !5
  %2202 = call ptr @strerror(i32 noundef %2201) #13
  %2203 = load i32, ptr %684, align 4, !tbaa !5
  %2204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2195, ptr noundef nonnull %.str.5.sink2340, i32 noundef %2196, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2198, ptr noundef %2200, ptr noundef %2202, i32 noundef %2203) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2205:                                             ; preds = %2177
  %2206 = call ptr @s2n_config_new() #13
  %2207 = load i32, ptr @test_count, align 4, !tbaa !5
  %2208 = add nsw i32 %2207, 1
  store i32 %2208, ptr @test_count, align 4, !tbaa !5
  %2209 = icmp eq ptr %2206, null
  br i1 %2209, label %2210, label %2232

2210:                                             ; preds = %2205
  %2211 = load i32, ptr %684, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = call i32 @s2n_print_stacktrace(ptr noundef %2212) #13
  %2214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2215 = trunc nuw i8 %2214 to i1
  br i1 %2215, label %2216, label %2220

2216:                                             ; preds = %2210
  %2217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2218 = call i32 @fileno(ptr noundef %2217) #13
  %2219 = call i32 @isatty(i32 noundef %2218) #13
  %.not1499 = icmp eq i32 %2219, 0
  br i1 %.not1499, label %2220, label %2221

2220:                                             ; preds = %2216, %2210
  br label %2221

2221:                                             ; preds = %2216, %2220
  %.str.5.sink2349 = phi ptr [ @.str.5, %2220 ], [ @.str.2, %2216 ]
  store i32 %2211, ptr %684, align 4, !tbaa !5
  %2222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2223 = load i32, ptr @test_count, align 4, !tbaa !5
  %2224 = load i32, ptr %630, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef nonnull @.str.4) #13
  %2226 = load i32, ptr %630, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror_debug(i32 noundef %2226, ptr noundef nonnull @.str.4) #13
  %2228 = load i32, ptr %684, align 4, !tbaa !5
  %2229 = call ptr @strerror(i32 noundef %2228) #13
  %2230 = load i32, ptr %684, align 4, !tbaa !5
  %2231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2222, ptr noundef nonnull %.str.5.sink2349, i32 noundef %2223, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2225, ptr noundef %2227, ptr noundef %2229, i32 noundef %2230) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2232:                                             ; preds = %2205
  %2233 = add nsw i32 %2207, 2
  store i32 %2233, ptr @test_count, align 4, !tbaa !5
  %2234 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %2206, ptr noundef nonnull @.str.65) #13
  %2235 = icmp eq i32 %2234, -1
  br i1 %2235, label %2236, label %2258

2236:                                             ; preds = %2232
  %2237 = load i32, ptr %684, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = call i32 @s2n_print_stacktrace(ptr noundef %2238) #13
  %2240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2241 = trunc nuw i8 %2240 to i1
  br i1 %2241, label %2242, label %2246

2242:                                             ; preds = %2236
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = call i32 @fileno(ptr noundef %2243) #13
  %2245 = call i32 @isatty(i32 noundef %2244) #13
  %.not1498 = icmp eq i32 %2245, 0
  br i1 %.not1498, label %2246, label %2247

2246:                                             ; preds = %2242, %2236
  br label %2247

2247:                                             ; preds = %2242, %2246
  %.str.5.sink2358 = phi ptr [ @.str.5, %2246 ], [ @.str.2, %2242 ]
  store i32 %2237, ptr %684, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = load i32, ptr @test_count, align 4, !tbaa !5
  %2250 = load i32, ptr %630, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror(i32 noundef %2250, ptr noundef nonnull @.str.4) #13
  %2252 = load i32, ptr %630, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef nonnull @.str.4) #13
  %2254 = load i32, ptr %684, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #13
  %2256 = load i32, ptr %684, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef nonnull %.str.5.sink2358, i32 noundef %2249, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2251, ptr noundef %2253, ptr noundef %2255, i32 noundef %2256) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2258:                                             ; preds = %2232
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = add nsw i32 %2259, 1
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %2206, i32 noundef 1) #13
  %2262 = icmp eq i32 %2261, -1
  br i1 %2262, label %2263, label %2285

2263:                                             ; preds = %2258
  %2264 = load i32, ptr %684, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @s2n_print_stacktrace(ptr noundef %2265) #13
  %2267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2268 = trunc nuw i8 %2267 to i1
  br i1 %2268, label %2269, label %2273

2269:                                             ; preds = %2263
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = call i32 @fileno(ptr noundef %2270) #13
  %2272 = call i32 @isatty(i32 noundef %2271) #13
  %.not1497 = icmp eq i32 %2272, 0
  br i1 %.not1497, label %2273, label %2274

2273:                                             ; preds = %2269, %2263
  br label %2274

2274:                                             ; preds = %2269, %2273
  %.str.5.sink2367 = phi ptr [ @.str.5, %2273 ], [ @.str.2, %2269 ]
  store i32 %2264, ptr %684, align 4, !tbaa !5
  %2275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = load i32, ptr %630, align 4, !tbaa !5
  %2278 = call ptr @s2n_strerror(i32 noundef %2277, ptr noundef nonnull @.str.4) #13
  %2279 = load i32, ptr %630, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror_debug(i32 noundef %2279, ptr noundef nonnull @.str.4) #13
  %2281 = load i32, ptr %684, align 4, !tbaa !5
  %2282 = call ptr @strerror(i32 noundef %2281) #13
  %2283 = load i32, ptr %684, align 4, !tbaa !5
  %2284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2275, ptr noundef nonnull %.str.5.sink2367, i32 noundef %2276, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2278, ptr noundef %2280, ptr noundef %2282, i32 noundef %2283) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2285:                                             ; preds = %2258
  %2286 = load i32, ptr @test_count, align 4, !tbaa !5
  %2287 = add nsw i32 %2286, 1
  store i32 %2287, ptr @test_count, align 4, !tbaa !5
  %2288 = call i32 @s2n_config_set_verify_host_callback(ptr noundef nonnull %2206, ptr noundef nonnull @verify_host_fn, ptr noundef nonnull %15) #13
  %2289 = icmp eq i32 %2288, -1
  br i1 %2289, label %2290, label %2312

2290:                                             ; preds = %2285
  %2291 = load i32, ptr %684, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @s2n_print_stacktrace(ptr noundef %2292) #13
  %2294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2295 = trunc nuw i8 %2294 to i1
  br i1 %2295, label %2296, label %2300

2296:                                             ; preds = %2290
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = call i32 @fileno(ptr noundef %2297) #13
  %2299 = call i32 @isatty(i32 noundef %2298) #13
  %.not1496 = icmp eq i32 %2299, 0
  br i1 %.not1496, label %2300, label %2301

2300:                                             ; preds = %2296, %2290
  br label %2301

2301:                                             ; preds = %2296, %2300
  %.str.5.sink2376 = phi ptr [ @.str.5, %2300 ], [ @.str.2, %2296 ]
  store i32 %2291, ptr %684, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = load i32, ptr %630, align 4, !tbaa !5
  %2305 = call ptr @s2n_strerror(i32 noundef %2304, ptr noundef nonnull @.str.4) #13
  %2306 = load i32, ptr %630, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror_debug(i32 noundef %2306, ptr noundef nonnull @.str.4) #13
  %2308 = load i32, ptr %684, align 4, !tbaa !5
  %2309 = call ptr @strerror(i32 noundef %2308) #13
  %2310 = load i32, ptr %684, align 4, !tbaa !5
  %2311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef nonnull %.str.5.sink2376, i32 noundef %2303, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2305, ptr noundef %2307, ptr noundef %2309, i32 noundef %2310) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2312:                                             ; preds = %2285
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %2314 = add nsw i32 %2313, 1
  store i32 %2314, ptr @test_count, align 4, !tbaa !5
  %2315 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %2206, ptr noundef nonnull @.str.11, ptr noundef null) #13
  %2316 = icmp eq i32 %2315, -1
  br i1 %2316, label %2317, label %2339

2317:                                             ; preds = %2312
  %2318 = load i32, ptr %684, align 4, !tbaa !5
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @s2n_print_stacktrace(ptr noundef %2319) #13
  %2321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2322 = trunc nuw i8 %2321 to i1
  br i1 %2322, label %2323, label %2327

2323:                                             ; preds = %2317
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = call i32 @fileno(ptr noundef %2324) #13
  %2326 = call i32 @isatty(i32 noundef %2325) #13
  %.not1495 = icmp eq i32 %2326, 0
  br i1 %.not1495, label %2327, label %2328

2327:                                             ; preds = %2323, %2317
  br label %2328

2328:                                             ; preds = %2323, %2327
  %.str.5.sink2385 = phi ptr [ @.str.5, %2327 ], [ @.str.2, %2323 ]
  store i32 %2318, ptr %684, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = load i32, ptr @test_count, align 4, !tbaa !5
  %2331 = load i32, ptr %630, align 4, !tbaa !5
  %2332 = call ptr @s2n_strerror(i32 noundef %2331, ptr noundef nonnull @.str.4) #13
  %2333 = load i32, ptr %630, align 4, !tbaa !5
  %2334 = call ptr @s2n_strerror_debug(i32 noundef %2333, ptr noundef nonnull @.str.4) #13
  %2335 = load i32, ptr %684, align 4, !tbaa !5
  %2336 = call ptr @strerror(i32 noundef %2335) #13
  %2337 = load i32, ptr %684, align 4, !tbaa !5
  %2338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2329, ptr noundef nonnull %.str.5.sink2385, i32 noundef %2330, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2332, ptr noundef %2334, ptr noundef %2336, i32 noundef %2337) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2339:                                             ; preds = %2312
  %2340 = load i32, ptr @test_count, align 4, !tbaa !5
  %2341 = add nsw i32 %2340, 1
  store i32 %2341, ptr @test_count, align 4, !tbaa !5
  %2342 = load ptr, ptr %14, align 8, !tbaa !9
  %2343 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2206, ptr noundef %2342) #13
  %2344 = icmp eq i32 %2343, -1
  br i1 %2344, label %2345, label %2367

2345:                                             ; preds = %2339
  %2346 = load i32, ptr %684, align 4, !tbaa !5
  %2347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2348 = call i32 @s2n_print_stacktrace(ptr noundef %2347) #13
  %2349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2350 = trunc nuw i8 %2349 to i1
  br i1 %2350, label %2351, label %2355

2351:                                             ; preds = %2345
  %2352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2353 = call i32 @fileno(ptr noundef %2352) #13
  %2354 = call i32 @isatty(i32 noundef %2353) #13
  %.not1494 = icmp eq i32 %2354, 0
  br i1 %.not1494, label %2355, label %2356

2355:                                             ; preds = %2351, %2345
  br label %2356

2356:                                             ; preds = %2351, %2355
  %.str.5.sink2394 = phi ptr [ @.str.5, %2355 ], [ @.str.2, %2351 ]
  store i32 %2346, ptr %684, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = load i32, ptr @test_count, align 4, !tbaa !5
  %2359 = load i32, ptr %630, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef nonnull @.str.4) #13
  %2361 = load i32, ptr %630, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror_debug(i32 noundef %2361, ptr noundef nonnull @.str.4) #13
  %2363 = load i32, ptr %684, align 4, !tbaa !5
  %2364 = call ptr @strerror(i32 noundef %2363) #13
  %2365 = load i32, ptr %684, align 4, !tbaa !5
  %2366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2357, ptr noundef nonnull %.str.5.sink2394, i32 noundef %2358, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %2360, ptr noundef %2362, ptr noundef %2364, i32 noundef %2365) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2367:                                             ; preds = %2339
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = add nsw i32 %2368, 1
  store i32 %2369, ptr @test_count, align 4, !tbaa !5
  %2370 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %2206, i8 noundef zeroext 0) #13
  %2371 = icmp eq i32 %2370, -1
  br i1 %2371, label %2372, label %2394

2372:                                             ; preds = %2367
  %2373 = load i32, ptr %684, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = call i32 @s2n_print_stacktrace(ptr noundef %2374) #13
  %2376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2377 = trunc nuw i8 %2376 to i1
  br i1 %2377, label %2378, label %2382

2378:                                             ; preds = %2372
  %2379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2380 = call i32 @fileno(ptr noundef %2379) #13
  %2381 = call i32 @isatty(i32 noundef %2380) #13
  %.not1493 = icmp eq i32 %2381, 0
  br i1 %.not1493, label %2382, label %2383

2382:                                             ; preds = %2378, %2372
  br label %2383

2383:                                             ; preds = %2378, %2382
  %.str.5.sink2403 = phi ptr [ @.str.5, %2382 ], [ @.str.2, %2378 ]
  store i32 %2373, ptr %684, align 4, !tbaa !5
  %2384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2385 = load i32, ptr @test_count, align 4, !tbaa !5
  %2386 = load i32, ptr %630, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror(i32 noundef %2386, ptr noundef nonnull @.str.4) #13
  %2388 = load i32, ptr %630, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror_debug(i32 noundef %2388, ptr noundef nonnull @.str.4) #13
  %2390 = load i32, ptr %684, align 4, !tbaa !5
  %2391 = call ptr @strerror(i32 noundef %2390) #13
  %2392 = load i32, ptr %684, align 4, !tbaa !5
  %2393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2384, ptr noundef nonnull %.str.5.sink2403, i32 noundef %2385, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %2387, ptr noundef %2389, ptr noundef %2391, i32 noundef %2392) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2394:                                             ; preds = %2367
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = add nsw i32 %2395, 1
  store i32 %2396, ptr @test_count, align 4, !tbaa !5
  %2397 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1883, ptr noundef nonnull %1989) #13
  %2398 = icmp eq i32 %2397, -1
  br i1 %2398, label %2399, label %2421

2399:                                             ; preds = %2394
  %2400 = load i32, ptr %684, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = call i32 @s2n_print_stacktrace(ptr noundef %2401) #13
  %2403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2404 = trunc nuw i8 %2403 to i1
  br i1 %2404, label %2405, label %2409

2405:                                             ; preds = %2399
  %2406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2407 = call i32 @fileno(ptr noundef %2406) #13
  %2408 = call i32 @isatty(i32 noundef %2407) #13
  %.not1492 = icmp eq i32 %2408, 0
  br i1 %.not1492, label %2409, label %2410

2409:                                             ; preds = %2405, %2399
  br label %2410

2410:                                             ; preds = %2405, %2409
  %.str.5.sink2412 = phi ptr [ @.str.5, %2409 ], [ @.str.2, %2405 ]
  store i32 %2400, ptr %684, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = load i32, ptr @test_count, align 4, !tbaa !5
  %2413 = load i32, ptr %630, align 4, !tbaa !5
  %2414 = call ptr @s2n_strerror(i32 noundef %2413, ptr noundef nonnull @.str.4) #13
  %2415 = load i32, ptr %630, align 4, !tbaa !5
  %2416 = call ptr @s2n_strerror_debug(i32 noundef %2415, ptr noundef nonnull @.str.4) #13
  %2417 = load i32, ptr %684, align 4, !tbaa !5
  %2418 = call ptr @strerror(i32 noundef %2417) #13
  %2419 = load i32, ptr %684, align 4, !tbaa !5
  %2420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2411, ptr noundef nonnull %.str.5.sink2412, i32 noundef %2412, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2414, ptr noundef %2416, ptr noundef %2418, i32 noundef %2419) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2421:                                             ; preds = %2394
  %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 = getelementptr inbounds i8, ptr %1883, i64 3720
  %2425 = load i8, ptr %2424, align 8, !tbaa !33
  %2426 = icmp eq i8 %2425, 1
  br i1 %2426, label %2449, label %2427

2427:                                             ; preds = %2421
  %2428 = load i32, ptr %684, align 4, !tbaa !5
  %2429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2430 = call i32 @s2n_print_stacktrace(ptr noundef %2429) #13
  %2431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2432 = trunc nuw i8 %2431 to i1
  br i1 %2432, label %2433, label %2437

2433:                                             ; preds = %2427
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = call i32 @fileno(ptr noundef %2434) #13
  %2436 = call i32 @isatty(i32 noundef %2435) #13
  %.not1143 = icmp eq i32 %2436, 0
  br i1 %.not1143, label %2437, label %2438

2437:                                             ; preds = %2433, %2427
  br label %2438

2438:                                             ; preds = %2433, %2437
  %.str.5.sink2421 = phi ptr [ @.str.5, %2437 ], [ @.str.2, %2433 ]
  store i32 %2428, ptr %684, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = load i32, ptr @test_count, align 4, !tbaa !5
  %2441 = load i32, ptr %630, align 4, !tbaa !5
  %2442 = call ptr @s2n_strerror(i32 noundef %2441, ptr noundef nonnull @.str.4) #13
  %2443 = load i32, ptr %630, align 4, !tbaa !5
  %2444 = call ptr @s2n_strerror_debug(i32 noundef %2443, ptr noundef nonnull @.str.4) #13
  %2445 = load i32, ptr %684, align 4, !tbaa !5
  %2446 = call ptr @strerror(i32 noundef %2445) #13
  %2447 = load i32, ptr %684, align 4, !tbaa !5
  %2448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2439, ptr noundef nonnull %.str.5.sink2421, i32 noundef %2440, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %2442, ptr noundef %2444, ptr noundef %2446, i32 noundef %2447) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2449:                                             ; preds = %2421
  %2450 = add nsw i32 %2422, 2
  store i32 %2450, ptr @test_count, align 4, !tbaa !5
  %2451 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1910, ptr noundef nonnull %2206) #13
  %2452 = icmp eq i32 %2451, -1
  br i1 %2452, label %2453, label %2475

2453:                                             ; preds = %2449
  %2454 = load i32, ptr %684, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = call i32 @s2n_print_stacktrace(ptr noundef %2455) #13
  %2457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2458 = trunc nuw i8 %2457 to i1
  br i1 %2458, label %2459, label %2463

2459:                                             ; preds = %2453
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = call i32 @fileno(ptr noundef %2460) #13
  %2462 = call i32 @isatty(i32 noundef %2461) #13
  %.not1491 = icmp eq i32 %2462, 0
  br i1 %.not1491, label %2463, label %2464

2463:                                             ; preds = %2459, %2453
  br label %2464

2464:                                             ; preds = %2459, %2463
  %.str.5.sink2430 = phi ptr [ @.str.5, %2463 ], [ @.str.2, %2459 ]
  store i32 %2454, ptr %684, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = load i32, ptr %630, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef nonnull @.str.4) #13
  %2469 = load i32, ptr %630, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror_debug(i32 noundef %2469, ptr noundef nonnull @.str.4) #13
  %2471 = load i32, ptr %684, align 4, !tbaa !5
  %2472 = call ptr @strerror(i32 noundef %2471) #13
  %2473 = load i32, ptr %684, align 4, !tbaa !5
  %2474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2465, ptr noundef nonnull %.str.5.sink2430, i32 noundef %2466, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2468, ptr noundef %2470, ptr noundef %2472, i32 noundef %2473) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2475:                                             ; preds = %2449
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = add nsw i32 %2476, 1
  store i32 %2477, ptr @test_count, align 4, !tbaa !5
  %2478 = getelementptr inbounds i8, ptr %1910, i64 3720
  %2479 = load i8, ptr %2478, align 8, !tbaa !33
  %2480 = icmp eq i8 %2479, 0
  br i1 %2480, label %2503, label %2481

2481:                                             ; preds = %2475
  %2482 = load i32, ptr %684, align 4, !tbaa !5
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = call i32 @s2n_print_stacktrace(ptr noundef %2483) #13
  %2485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2486 = trunc nuw i8 %2485 to i1
  br i1 %2486, label %2487, label %2491

2487:                                             ; preds = %2481
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = call i32 @fileno(ptr noundef %2488) #13
  %2490 = call i32 @isatty(i32 noundef %2489) #13
  %.not1144 = icmp eq i32 %2490, 0
  br i1 %.not1144, label %2491, label %2492

2491:                                             ; preds = %2487, %2481
  br label %2492

2492:                                             ; preds = %2487, %2491
  %.str.5.sink2439 = phi ptr [ @.str.5, %2491 ], [ @.str.2, %2487 ]
  store i32 %2482, ptr %684, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = load i32, ptr %630, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror(i32 noundef %2495, ptr noundef nonnull @.str.4) #13
  %2497 = load i32, ptr %630, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror_debug(i32 noundef %2497, ptr noundef nonnull @.str.4) #13
  %2499 = load i32, ptr %684, align 4, !tbaa !5
  %2500 = call ptr @strerror(i32 noundef %2499) #13
  %2501 = load i32, ptr %684, align 4, !tbaa !5
  %2502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef nonnull %.str.5.sink2439, i32 noundef %2494, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2496, ptr noundef %2498, ptr noundef %2500, i32 noundef %2501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2503:                                             ; preds = %2475
  %2504 = add nsw i32 %2476, 2
  store i32 %2504, ptr @test_count, align 4, !tbaa !5
  %2505 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %1883, ptr noundef nonnull %1910, ptr noundef nonnull %13) #13
  %2506 = icmp eq i32 %2505, -1
  br i1 %2506, label %2507, label %2529

2507:                                             ; preds = %2503
  %2508 = load i32, ptr %684, align 4, !tbaa !5
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = call i32 @s2n_print_stacktrace(ptr noundef %2509) #13
  %2511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2512 = trunc nuw i8 %2511 to i1
  br i1 %2512, label %2513, label %2517

2513:                                             ; preds = %2507
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = call i32 @fileno(ptr noundef %2514) #13
  %2516 = call i32 @isatty(i32 noundef %2515) #13
  %.not1490 = icmp eq i32 %2516, 0
  br i1 %.not1490, label %2517, label %2518

2517:                                             ; preds = %2513, %2507
  br label %2518

2518:                                             ; preds = %2513, %2517
  %.str.5.sink2448 = phi ptr [ @.str.5, %2517 ], [ @.str.2, %2513 ]
  store i32 %2508, ptr %684, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = load i32, ptr %630, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror(i32 noundef %2521, ptr noundef nonnull @.str.4) #13
  %2523 = load i32, ptr %630, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror_debug(i32 noundef %2523, ptr noundef nonnull @.str.4) #13
  %2525 = load i32, ptr %684, align 4, !tbaa !5
  %2526 = call ptr @strerror(i32 noundef %2525) #13
  %2527 = load i32, ptr %684, align 4, !tbaa !5
  %2528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef nonnull %.str.5.sink2448, i32 noundef %2520, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %2522, ptr noundef %2524, ptr noundef %2526, i32 noundef %2527) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2529:                                             ; preds = %2503
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = add nsw i32 %2530, 1
  store i32 %2531, ptr @test_count, align 4, !tbaa !5
  %2532 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %2533 = icmp eq i32 %2532, -1
  br i1 %2533, label %2534, label %2556

2534:                                             ; preds = %2529
  %2535 = load i32, ptr %684, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = call i32 @s2n_print_stacktrace(ptr noundef %2536) #13
  %2538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2539 = trunc nuw i8 %2538 to i1
  br i1 %2539, label %2540, label %2544

2540:                                             ; preds = %2534
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = call i32 @fileno(ptr noundef %2541) #13
  %2543 = call i32 @isatty(i32 noundef %2542) #13
  %.not1489 = icmp eq i32 %2543, 0
  br i1 %.not1489, label %2544, label %2545

2544:                                             ; preds = %2540, %2534
  br label %2545

2545:                                             ; preds = %2540, %2544
  %.str.5.sink2457 = phi ptr [ @.str.5, %2544 ], [ @.str.2, %2540 ]
  store i32 %2535, ptr %684, align 4, !tbaa !5
  %2546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2547 = load i32, ptr @test_count, align 4, !tbaa !5
  %2548 = load i32, ptr %630, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror(i32 noundef %2548, ptr noundef nonnull @.str.4) #13
  %2550 = load i32, ptr %630, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror_debug(i32 noundef %2550, ptr noundef nonnull @.str.4) #13
  %2552 = load i32, ptr %684, align 4, !tbaa !5
  %2553 = call ptr @strerror(i32 noundef %2552) #13
  %2554 = load i32, ptr %684, align 4, !tbaa !5
  %2555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2546, ptr noundef nonnull %.str.5.sink2457, i32 noundef %2547, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %2549, ptr noundef %2551, ptr noundef %2553, i32 noundef %2554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2556:                                             ; preds = %2529
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = add nsw i32 %2557, 1
  store i32 %2558, ptr @test_count, align 4, !tbaa !5
  %2559 = getelementptr inbounds i8, ptr %1910, i64 3736
  %2560 = load i32, ptr %2559, align 8, !tbaa !58
  %2561 = icmp eq i32 %2560, 4
  br i1 %2561, label %2584, label %2562

2562:                                             ; preds = %2556
  %2563 = load i32, ptr %684, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @s2n_print_stacktrace(ptr noundef %2564) #13
  %2566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2567 = trunc nuw i8 %2566 to i1
  br i1 %2567, label %2568, label %2572

2568:                                             ; preds = %2562
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @fileno(ptr noundef %2569) #13
  %2571 = call i32 @isatty(i32 noundef %2570) #13
  %.not1145 = icmp eq i32 %2571, 0
  br i1 %.not1145, label %2572, label %2573

2572:                                             ; preds = %2568, %2562
  br label %2573

2573:                                             ; preds = %2568, %2572
  %.str.5.sink2466 = phi ptr [ @.str.5, %2572 ], [ @.str.2, %2568 ]
  store i32 %2563, ptr %684, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = load i32, ptr @test_count, align 4, !tbaa !5
  %2576 = load i32, ptr %630, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror(i32 noundef %2576, ptr noundef nonnull @.str.4) #13
  %2578 = load i32, ptr %630, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror_debug(i32 noundef %2578, ptr noundef nonnull @.str.4) #13
  %2580 = load i32, ptr %684, align 4, !tbaa !5
  %2581 = call ptr @strerror(i32 noundef %2580) #13
  %2582 = load i32, ptr %684, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2574, ptr noundef nonnull %.str.5.sink2466, i32 noundef %2575, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %2577, ptr noundef %2579, ptr noundef %2581, i32 noundef %2582) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2584:                                             ; preds = %2556
  %2585 = add nsw i32 %2557, 2
  store i32 %2585, ptr @test_count, align 4, !tbaa !5
  %2586 = getelementptr inbounds i8, ptr %1883, i64 3736
  %2587 = load i32, ptr %2586, align 8, !tbaa !58
  %2588 = icmp eq i32 %2587, 4
  br i1 %2588, label %2589, label %2611

2589:                                             ; preds = %2584
  %2590 = load i32, ptr %684, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #13
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2589
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #13
  %2598 = call i32 @isatty(i32 noundef %2597) #13
  %.not1488 = icmp eq i32 %2598, 0
  br i1 %.not1488, label %2599, label %2600

2599:                                             ; preds = %2595, %2589
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.5.sink2475 = phi ptr [ @.str.5, %2599 ], [ @.str.2, %2595 ]
  store i32 %2590, ptr %684, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = load i32, ptr %630, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.4) #13
  %2605 = load i32, ptr %630, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.4) #13
  %2607 = load i32, ptr %684, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #13
  %2609 = load i32, ptr %684, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.5.sink2475, i32 noundef %2602, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2611:                                             ; preds = %2584
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #13
  %2612 = call ptr @s2n_cert_chain_and_key_new() #13
  store ptr %2612, ptr %16, align 8, !tbaa !9
  %2613 = load i32, ptr @test_count, align 4, !tbaa !5
  %2614 = add nsw i32 %2613, 1
  store i32 %2614, ptr @test_count, align 4, !tbaa !5
  %2615 = icmp eq ptr %2612, null
  br i1 %2615, label %2616, label %2638

2616:                                             ; preds = %2611
  %2617 = load i32, ptr %684, align 4, !tbaa !5
  %2618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2619 = call i32 @s2n_print_stacktrace(ptr noundef %2618) #13
  %2620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2621 = trunc nuw i8 %2620 to i1
  br i1 %2621, label %2622, label %2626

2622:                                             ; preds = %2616
  %2623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2624 = call i32 @fileno(ptr noundef %2623) #13
  %2625 = call i32 @isatty(i32 noundef %2624) #13
  %.not1487 = icmp eq i32 %2625, 0
  br i1 %.not1487, label %2626, label %2627

2626:                                             ; preds = %2622, %2616
  br label %2627

2627:                                             ; preds = %2622, %2626
  %.str.5.sink2484 = phi ptr [ @.str.5, %2626 ], [ @.str.2, %2622 ]
  store i32 %2617, ptr %684, align 4, !tbaa !5
  %2628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2629 = load i32, ptr @test_count, align 4, !tbaa !5
  %2630 = load i32, ptr %630, align 4, !tbaa !5
  %2631 = call ptr @s2n_strerror(i32 noundef %2630, ptr noundef nonnull @.str.4) #13
  %2632 = load i32, ptr %630, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror_debug(i32 noundef %2632, ptr noundef nonnull @.str.4) #13
  %2634 = load i32, ptr %684, align 4, !tbaa !5
  %2635 = call ptr @strerror(i32 noundef %2634) #13
  %2636 = load i32, ptr %684, align 4, !tbaa !5
  %2637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2628, ptr noundef nonnull %.str.5.sink2484, i32 noundef %2629, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2631, ptr noundef %2633, ptr noundef %2635, i32 noundef %2636) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2638:                                             ; preds = %2611
  %2639 = add nsw i32 %2613, 2
  store i32 %2639, ptr @test_count, align 4, !tbaa !5
  %2640 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef null, ptr noundef nonnull %2612) #13
  %2641 = icmp eq i32 %2640, -1
  br i1 %2641, label %2664, label %2642

2642:                                             ; preds = %2638
  %2643 = load i32, ptr %684, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = call i32 @s2n_print_stacktrace(ptr noundef %2644) #13
  %2646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2647 = trunc nuw i8 %2646 to i1
  br i1 %2647, label %2648, label %2652

2648:                                             ; preds = %2642
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = call i32 @fileno(ptr noundef %2649) #13
  %2651 = call i32 @isatty(i32 noundef %2650) #13
  %.not1146 = icmp eq i32 %2651, 0
  br i1 %.not1146, label %2652, label %2653

2652:                                             ; preds = %2648, %2642
  br label %2653

2653:                                             ; preds = %2648, %2652
  %.str.5.sink2493 = phi ptr [ @.str.5, %2652 ], [ @.str.2, %2648 ]
  store i32 %2643, ptr %684, align 4, !tbaa !5
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = load i32, ptr @test_count, align 4, !tbaa !5
  %2656 = load i32, ptr %630, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror(i32 noundef %2656, ptr noundef nonnull @.str.4) #13
  %2658 = load i32, ptr %630, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror_debug(i32 noundef %2658, ptr noundef nonnull @.str.4) #13
  %2660 = load i32, ptr %684, align 4, !tbaa !5
  %2661 = call ptr @strerror(i32 noundef %2660) #13
  %2662 = load i32, ptr %684, align 4, !tbaa !5
  %2663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2654, ptr noundef nonnull %.str.5.sink2493, i32 noundef %2655, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %2657, ptr noundef %2659, ptr noundef %2661, i32 noundef %2662) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2664:                                             ; preds = %2638
  %2665 = load i32, ptr @test_count, align 4, !tbaa !5
  %2666 = add nsw i32 %2665, 1
  store i32 %2666, ptr @test_count, align 4, !tbaa !5
  %2667 = load i32, ptr %630, align 4, !tbaa !5
  %2668 = icmp eq i32 %2667, 402653193
  br i1 %2668, label %2691, label %2669

2669:                                             ; preds = %2664
  %2670 = load i32, ptr %684, align 4, !tbaa !5
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = call i32 @s2n_print_stacktrace(ptr noundef %2671) #13
  %2673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2674 = trunc nuw i8 %2673 to i1
  br i1 %2674, label %2675, label %2679

2675:                                             ; preds = %2669
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = call i32 @fileno(ptr noundef %2676) #13
  %2678 = call i32 @isatty(i32 noundef %2677) #13
  %.not1147 = icmp eq i32 %2678, 0
  br i1 %.not1147, label %2679, label %2680

2679:                                             ; preds = %2675, %2669
  br label %2680

2680:                                             ; preds = %2675, %2679
  %.str.5.sink2502 = phi ptr [ @.str.5, %2679 ], [ @.str.2, %2675 ]
  store i32 %2670, ptr %684, align 4, !tbaa !5
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2682 = load i32, ptr @test_count, align 4, !tbaa !5
  %2683 = load i32, ptr %630, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror(i32 noundef %2683, ptr noundef nonnull @.str.4) #13
  %2685 = load i32, ptr %630, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror_debug(i32 noundef %2685, ptr noundef nonnull @.str.4) #13
  %2687 = load i32, ptr %684, align 4, !tbaa !5
  %2688 = call ptr @strerror(i32 noundef %2687) #13
  %2689 = load i32, ptr %684, align 4, !tbaa !5
  %2690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2681, ptr noundef nonnull %.str.5.sink2502, i32 noundef %2682, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %2684, ptr noundef %2686, ptr noundef %2688, i32 noundef %2689) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2691:                                             ; preds = %2664
  %2692 = add nsw i32 %2665, 2
  store i32 %2692, ptr @test_count, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %2694 = icmp eq ptr %2693, null
  br i1 %2694, label %2695, label %2717

2695:                                             ; preds = %2691
  %2696 = load i32, ptr %684, align 4, !tbaa !5
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = call i32 @s2n_print_stacktrace(ptr noundef %2697) #13
  %2699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2700 = trunc nuw i8 %2699 to i1
  br i1 %2700, label %2701, label %2705

2701:                                             ; preds = %2695
  %2702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2703 = call i32 @fileno(ptr noundef %2702) #13
  %2704 = call i32 @isatty(i32 noundef %2703) #13
  %.not1486 = icmp eq i32 %2704, 0
  br i1 %.not1486, label %2705, label %2706

2705:                                             ; preds = %2701, %2695
  br label %2706

2706:                                             ; preds = %2701, %2705
  %.str.5.sink2511 = phi ptr [ @.str.5, %2705 ], [ @.str.2, %2701 ]
  store i32 %2696, ptr %684, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = load i32, ptr @test_count, align 4, !tbaa !5
  %2709 = load i32, ptr %630, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror(i32 noundef %2709, ptr noundef nonnull @.str.4) #13
  %2711 = load i32, ptr %630, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror_debug(i32 noundef %2711, ptr noundef nonnull @.str.4) #13
  %2713 = load i32, ptr %684, align 4, !tbaa !5
  %2714 = call ptr @strerror(i32 noundef %2713) #13
  %2715 = load i32, ptr %684, align 4, !tbaa !5
  %2716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2707, ptr noundef nonnull %.str.5.sink2511, i32 noundef %2708, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %2710, ptr noundef %2712, ptr noundef %2714, i32 noundef %2715) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2717:                                             ; preds = %2691
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = add nsw i32 %2718, 1
  store i32 %2719, ptr @test_count, align 4, !tbaa !5
  %2720 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1910, ptr noundef null) #13
  %2721 = icmp eq i32 %2720, -1
  br i1 %2721, label %2744, label %2722

2722:                                             ; preds = %2717
  %2723 = load i32, ptr %684, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @s2n_print_stacktrace(ptr noundef %2724) #13
  %2726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2727 = trunc nuw i8 %2726 to i1
  br i1 %2727, label %2728, label %2732

2728:                                             ; preds = %2722
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #13
  %2731 = call i32 @isatty(i32 noundef %2730) #13
  %.not1148 = icmp eq i32 %2731, 0
  br i1 %.not1148, label %2732, label %2733

2732:                                             ; preds = %2728, %2722
  br label %2733

2733:                                             ; preds = %2728, %2732
  %.str.5.sink2520 = phi ptr [ @.str.5, %2732 ], [ @.str.2, %2728 ]
  store i32 %2723, ptr %684, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = load i32, ptr @test_count, align 4, !tbaa !5
  %2736 = load i32, ptr %630, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror(i32 noundef %2736, ptr noundef nonnull @.str.4) #13
  %2738 = load i32, ptr %630, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror_debug(i32 noundef %2738, ptr noundef nonnull @.str.4) #13
  %2740 = load i32, ptr %684, align 4, !tbaa !5
  %2741 = call ptr @strerror(i32 noundef %2740) #13
  %2742 = load i32, ptr %684, align 4, !tbaa !5
  %2743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2734, ptr noundef nonnull %.str.5.sink2520, i32 noundef %2735, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2737, ptr noundef %2739, ptr noundef %2741, i32 noundef %2742) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2744:                                             ; preds = %2717
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = add nsw i32 %2745, 1
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %2747 = load i32, ptr %630, align 4, !tbaa !5
  %2748 = icmp eq i32 %2747, 402653193
  br i1 %2748, label %2771, label %2749

2749:                                             ; preds = %2744
  %2750 = load i32, ptr %684, align 4, !tbaa !5
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = call i32 @s2n_print_stacktrace(ptr noundef %2751) #13
  %2753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2754 = trunc nuw i8 %2753 to i1
  br i1 %2754, label %2755, label %2759

2755:                                             ; preds = %2749
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = call i32 @fileno(ptr noundef %2756) #13
  %2758 = call i32 @isatty(i32 noundef %2757) #13
  %.not1149 = icmp eq i32 %2758, 0
  br i1 %.not1149, label %2759, label %2760

2759:                                             ; preds = %2755, %2749
  br label %2760

2760:                                             ; preds = %2755, %2759
  %.str.5.sink2529 = phi ptr [ @.str.5, %2759 ], [ @.str.2, %2755 ]
  store i32 %2750, ptr %684, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = load i32, ptr @test_count, align 4, !tbaa !5
  %2763 = load i32, ptr %630, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror(i32 noundef %2763, ptr noundef nonnull @.str.4) #13
  %2765 = load i32, ptr %630, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror_debug(i32 noundef %2765, ptr noundef nonnull @.str.4) #13
  %2767 = load i32, ptr %684, align 4, !tbaa !5
  %2768 = call ptr @strerror(i32 noundef %2767) #13
  %2769 = load i32, ptr %684, align 4, !tbaa !5
  %2770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2761, ptr noundef nonnull %.str.5.sink2529, i32 noundef %2762, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2764, ptr noundef %2766, ptr noundef %2768, i32 noundef %2769) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2771:                                             ; preds = %2744
  %2772 = add nsw i32 %2745, 2
  store i32 %2772, ptr @test_count, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %2774 = icmp eq ptr %2773, null
  br i1 %2774, label %2775, label %2797

2775:                                             ; preds = %2771
  %2776 = load i32, ptr %684, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = call i32 @s2n_print_stacktrace(ptr noundef %2777) #13
  %2779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2780 = trunc nuw i8 %2779 to i1
  br i1 %2780, label %2781, label %2785

2781:                                             ; preds = %2775
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @fileno(ptr noundef %2782) #13
  %2784 = call i32 @isatty(i32 noundef %2783) #13
  %.not1485 = icmp eq i32 %2784, 0
  br i1 %.not1485, label %2785, label %2786

2785:                                             ; preds = %2781, %2775
  br label %2786

2786:                                             ; preds = %2781, %2785
  %.str.5.sink2538 = phi ptr [ @.str.5, %2785 ], [ @.str.2, %2781 ]
  store i32 %2776, ptr %684, align 4, !tbaa !5
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = load i32, ptr @test_count, align 4, !tbaa !5
  %2789 = load i32, ptr %630, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror(i32 noundef %2789, ptr noundef nonnull @.str.4) #13
  %2791 = load i32, ptr %630, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror_debug(i32 noundef %2791, ptr noundef nonnull @.str.4) #13
  %2793 = load i32, ptr %684, align 4, !tbaa !5
  %2794 = call ptr @strerror(i32 noundef %2793) #13
  %2795 = load i32, ptr %684, align 4, !tbaa !5
  %2796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2787, ptr noundef nonnull %.str.5.sink2538, i32 noundef %2788, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2790, ptr noundef %2792, ptr noundef %2794, i32 noundef %2795) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2797:                                             ; preds = %2771
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %2798 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #13
  store ptr null, ptr %17, align 8, !tbaa !9
  %2799 = load i32, ptr @test_count, align 4, !tbaa !5
  %2800 = add nsw i32 %2799, 1
  store i32 %2800, ptr @test_count, align 4, !tbaa !5
  %2801 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %17, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12) #13
  %2802 = icmp eq i32 %2801, -1
  br i1 %2802, label %2803, label %2825

2803:                                             ; preds = %2797
  %2804 = load i32, ptr %684, align 4, !tbaa !5
  %2805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2806 = call i32 @s2n_print_stacktrace(ptr noundef %2805) #13
  %2807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2808 = trunc nuw i8 %2807 to i1
  br i1 %2808, label %2809, label %2813

2809:                                             ; preds = %2803
  %2810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2811 = call i32 @fileno(ptr noundef %2810) #13
  %2812 = call i32 @isatty(i32 noundef %2811) #13
  %.not1484 = icmp eq i32 %2812, 0
  br i1 %.not1484, label %2813, label %2814

2813:                                             ; preds = %2809, %2803
  br label %2814

2814:                                             ; preds = %2809, %2813
  %.str.5.sink2547 = phi ptr [ @.str.5, %2813 ], [ @.str.2, %2809 ]
  store i32 %2804, ptr %684, align 4, !tbaa !5
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = load i32, ptr @test_count, align 4, !tbaa !5
  %2817 = load i32, ptr %630, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror(i32 noundef %2817, ptr noundef nonnull @.str.4) #13
  %2819 = load i32, ptr %630, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror_debug(i32 noundef %2819, ptr noundef nonnull @.str.4) #13
  %2821 = load i32, ptr %684, align 4, !tbaa !5
  %2822 = call ptr @strerror(i32 noundef %2821) #13
  %2823 = load i32, ptr %684, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2815, ptr noundef nonnull %.str.5.sink2547, i32 noundef %2816, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2818, ptr noundef %2820, ptr noundef %2822, i32 noundef %2823) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2825:                                             ; preds = %2797
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = add nsw i32 %2826, 1
  store i32 %2827, ptr @test_count, align 4, !tbaa !5
  %2828 = load ptr, ptr %17, align 8, !tbaa !9
  %2829 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1910, ptr noundef %2828) #13
  %2830 = icmp eq i32 %2829, -1
  br i1 %2830, label %2853, label %2831

2831:                                             ; preds = %2825
  %2832 = load i32, ptr %684, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833) #13
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc nuw i8 %2835 to i1
  br i1 %2836, label %2837, label %2841

2837:                                             ; preds = %2831
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #13
  %2840 = call i32 @isatty(i32 noundef %2839) #13
  %.not1150 = icmp eq i32 %2840, 0
  br i1 %.not1150, label %2841, label %2842

2841:                                             ; preds = %2837, %2831
  br label %2842

2842:                                             ; preds = %2837, %2841
  %.str.5.sink2556 = phi ptr [ @.str.5, %2841 ], [ @.str.2, %2837 ]
  store i32 %2832, ptr %684, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = load i32, ptr %630, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef nonnull @.str.4) #13
  %2847 = load i32, ptr %630, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.4) #13
  %2849 = load i32, ptr %684, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #13
  %2851 = load i32, ptr %684, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2843, ptr noundef nonnull %.str.5.sink2556, i32 noundef %2844, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2846, ptr noundef %2848, ptr noundef %2850, i32 noundef %2851) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2853:                                             ; preds = %2825
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = load i32, ptr %630, align 4, !tbaa !5
  %2857 = icmp eq i32 %2856, 469762089
  br i1 %2857, label %2880, label %2858

2858:                                             ; preds = %2853
  %2859 = load i32, ptr %684, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = call i32 @s2n_print_stacktrace(ptr noundef %2860) #13
  %2862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2863 = trunc nuw i8 %2862 to i1
  br i1 %2863, label %2864, label %2868

2864:                                             ; preds = %2858
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @fileno(ptr noundef %2865) #13
  %2867 = call i32 @isatty(i32 noundef %2866) #13
  %.not1151 = icmp eq i32 %2867, 0
  br i1 %.not1151, label %2868, label %2869

2868:                                             ; preds = %2864, %2858
  br label %2869

2869:                                             ; preds = %2864, %2868
  %.str.5.sink2565 = phi ptr [ @.str.5, %2868 ], [ @.str.2, %2864 ]
  store i32 %2859, ptr %684, align 4, !tbaa !5
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = load i32, ptr %630, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef nonnull @.str.4) #13
  %2874 = load i32, ptr %630, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror_debug(i32 noundef %2874, ptr noundef nonnull @.str.4) #13
  %2876 = load i32, ptr %684, align 4, !tbaa !5
  %2877 = call ptr @strerror(i32 noundef %2876) #13
  %2878 = load i32, ptr %684, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2870, ptr noundef nonnull %.str.5.sink2565, i32 noundef %2871, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2873, ptr noundef %2875, ptr noundef %2877, i32 noundef %2878) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2880:                                             ; preds = %2853
  %2881 = add nsw i32 %2854, 2
  store i32 %2881, ptr @test_count, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.4) #13
  %2883 = icmp eq ptr %2882, null
  br i1 %2883, label %2884, label %2906

2884:                                             ; preds = %2880
  %2885 = load i32, ptr %684, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = call i32 @s2n_print_stacktrace(ptr noundef %2886) #13
  %2888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2889 = trunc nuw i8 %2888 to i1
  br i1 %2889, label %2890, label %2894

2890:                                             ; preds = %2884
  %2891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2892 = call i32 @fileno(ptr noundef %2891) #13
  %2893 = call i32 @isatty(i32 noundef %2892) #13
  %.not1483 = icmp eq i32 %2893, 0
  br i1 %.not1483, label %2894, label %2895

2894:                                             ; preds = %2890, %2884
  br label %2895

2895:                                             ; preds = %2890, %2894
  %.str.5.sink2574 = phi ptr [ @.str.5, %2894 ], [ @.str.2, %2890 ]
  store i32 %2885, ptr %684, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %2898 = load i32, ptr %630, align 4, !tbaa !5
  %2899 = call ptr @s2n_strerror(i32 noundef %2898, ptr noundef nonnull @.str.4) #13
  %2900 = load i32, ptr %630, align 4, !tbaa !5
  %2901 = call ptr @s2n_strerror_debug(i32 noundef %2900, ptr noundef nonnull @.str.4) #13
  %2902 = load i32, ptr %684, align 4, !tbaa !5
  %2903 = call ptr @strerror(i32 noundef %2902) #13
  %2904 = load i32, ptr %684, align 4, !tbaa !5
  %2905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2896, ptr noundef nonnull %.str.5.sink2574, i32 noundef %2897, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2899, ptr noundef %2901, ptr noundef %2903, i32 noundef %2904) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2906:                                             ; preds = %2880
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = add nsw i32 %2907, 1
  store i32 %2908, ptr @test_count, align 4, !tbaa !5
  %2909 = load ptr, ptr %17, align 8, !tbaa !9
  %2910 = load ptr, ptr %2909, align 8, !tbaa !15
  %2911 = icmp eq ptr %2910, null
  br i1 %2911, label %2912, label %2934

2912:                                             ; preds = %2906
  %2913 = load i32, ptr %684, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = call i32 @s2n_print_stacktrace(ptr noundef %2914) #13
  %2916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2917 = trunc nuw i8 %2916 to i1
  br i1 %2917, label %2918, label %2922

2918:                                             ; preds = %2912
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = call i32 @fileno(ptr noundef %2919) #13
  %2921 = call i32 @isatty(i32 noundef %2920) #13
  %.not1482 = icmp eq i32 %2921, 0
  br i1 %.not1482, label %2922, label %2923

2922:                                             ; preds = %2918, %2912
  br label %2923

2923:                                             ; preds = %2918, %2922
  %.str.5.sink2583 = phi ptr [ @.str.5, %2922 ], [ @.str.2, %2918 ]
  store i32 %2913, ptr %684, align 4, !tbaa !5
  %2924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2925 = load i32, ptr @test_count, align 4, !tbaa !5
  %2926 = load i32, ptr %630, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror(i32 noundef %2926, ptr noundef nonnull @.str.4) #13
  %2928 = load i32, ptr %630, align 4, !tbaa !5
  %2929 = call ptr @s2n_strerror_debug(i32 noundef %2928, ptr noundef nonnull @.str.4) #13
  %2930 = load i32, ptr %684, align 4, !tbaa !5
  %2931 = call ptr @strerror(i32 noundef %2930) #13
  %2932 = load i32, ptr %684, align 4, !tbaa !5
  %2933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2924, ptr noundef nonnull %.str.5.sink2583, i32 noundef %2925, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %2927, ptr noundef %2929, ptr noundef %2931, i32 noundef %2932) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2934:                                             ; preds = %2906
  %2935 = add nsw i32 %2907, 2
  store i32 %2935, ptr @test_count, align 4, !tbaa !5
  %2936 = getelementptr inbounds i8, ptr %2910, i64 8
  %2937 = load ptr, ptr %2936, align 8, !tbaa !23
  %2938 = icmp eq ptr %2937, null
  br i1 %2938, label %2939, label %2961

2939:                                             ; preds = %2934
  %2940 = load i32, ptr %684, align 4, !tbaa !5
  %2941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2942 = call i32 @s2n_print_stacktrace(ptr noundef %2941) #13
  %2943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2944 = trunc nuw i8 %2943 to i1
  br i1 %2944, label %2945, label %2949

2945:                                             ; preds = %2939
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = call i32 @fileno(ptr noundef %2946) #13
  %2948 = call i32 @isatty(i32 noundef %2947) #13
  %.not1481 = icmp eq i32 %2948, 0
  br i1 %.not1481, label %2949, label %2950

2949:                                             ; preds = %2945, %2939
  br label %2950

2950:                                             ; preds = %2945, %2949
  %.str.5.sink2592 = phi ptr [ @.str.5, %2949 ], [ @.str.2, %2945 ]
  store i32 %2940, ptr %684, align 4, !tbaa !5
  %2951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2952 = load i32, ptr @test_count, align 4, !tbaa !5
  %2953 = load i32, ptr %630, align 4, !tbaa !5
  %2954 = call ptr @s2n_strerror(i32 noundef %2953, ptr noundef nonnull @.str.4) #13
  %2955 = load i32, ptr %630, align 4, !tbaa !5
  %2956 = call ptr @s2n_strerror_debug(i32 noundef %2955, ptr noundef nonnull @.str.4) #13
  %2957 = load i32, ptr %684, align 4, !tbaa !5
  %2958 = call ptr @strerror(i32 noundef %2957) #13
  %2959 = load i32, ptr %684, align 4, !tbaa !5
  %2960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2951, ptr noundef nonnull %.str.5.sink2592, i32 noundef %2952, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %2954, ptr noundef %2956, ptr noundef %2958, i32 noundef %2959) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2961:                                             ; preds = %2934
  %2962 = add nsw i32 %2907, 3
  store i32 %2962, ptr @test_count, align 4, !tbaa !5
  %2963 = load i32, ptr %2937, align 8, !tbaa !59
  %2964 = icmp eq i32 %2963, 1
  br i1 %2964, label %2987, label %2965

2965:                                             ; preds = %2961
  %2966 = load i32, ptr %684, align 4, !tbaa !5
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = call i32 @s2n_print_stacktrace(ptr noundef %2967) #13
  %2969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2970 = trunc nuw i8 %2969 to i1
  br i1 %2970, label %2971, label %2975

2971:                                             ; preds = %2965
  %2972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2973 = call i32 @fileno(ptr noundef %2972) #13
  %2974 = call i32 @isatty(i32 noundef %2973) #13
  %.not1152 = icmp eq i32 %2974, 0
  br i1 %.not1152, label %2975, label %2976

2975:                                             ; preds = %2971, %2965
  br label %2976

2976:                                             ; preds = %2971, %2975
  %.str.5.sink2601 = phi ptr [ @.str.5, %2975 ], [ @.str.2, %2971 ]
  store i32 %2966, ptr %684, align 4, !tbaa !5
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = load i32, ptr @test_count, align 4, !tbaa !5
  %2979 = load i32, ptr %630, align 4, !tbaa !5
  %2980 = call ptr @s2n_strerror(i32 noundef %2979, ptr noundef nonnull @.str.4) #13
  %2981 = load i32, ptr %630, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror_debug(i32 noundef %2981, ptr noundef nonnull @.str.4) #13
  %2983 = load i32, ptr %684, align 4, !tbaa !5
  %2984 = call ptr @strerror(i32 noundef %2983) #13
  %2985 = load i32, ptr %684, align 4, !tbaa !5
  %2986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2977, ptr noundef nonnull %.str.5.sink2601, i32 noundef %2978, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %2980, ptr noundef %2982, ptr noundef %2984, i32 noundef %2985) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2987:                                             ; preds = %2961
  %2988 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %17) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #13
  %2989 = call ptr @s2n_cert_chain_and_key_new() #13
  store ptr %2989, ptr %18, align 8, !tbaa !9
  %2990 = load i32, ptr @test_count, align 4, !tbaa !5
  %2991 = add nsw i32 %2990, 1
  store i32 %2991, ptr @test_count, align 4, !tbaa !5
  %2992 = icmp eq ptr %2989, null
  br i1 %2992, label %2993, label %3015

2993:                                             ; preds = %2987
  %2994 = load i32, ptr %684, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @s2n_print_stacktrace(ptr noundef %2995) #13
  %2997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2998 = trunc nuw i8 %2997 to i1
  br i1 %2998, label %2999, label %3003

2999:                                             ; preds = %2993
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = call i32 @fileno(ptr noundef %3000) #13
  %3002 = call i32 @isatty(i32 noundef %3001) #13
  %.not1480 = icmp eq i32 %3002, 0
  br i1 %.not1480, label %3003, label %3004

3003:                                             ; preds = %2999, %2993
  br label %3004

3004:                                             ; preds = %2999, %3003
  %.str.5.sink2610 = phi ptr [ @.str.5, %3003 ], [ @.str.2, %2999 ]
  store i32 %2994, ptr %684, align 4, !tbaa !5
  %3005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3006 = load i32, ptr @test_count, align 4, !tbaa !5
  %3007 = load i32, ptr %630, align 4, !tbaa !5
  %3008 = call ptr @s2n_strerror(i32 noundef %3007, ptr noundef nonnull @.str.4) #13
  %3009 = load i32, ptr %630, align 4, !tbaa !5
  %3010 = call ptr @s2n_strerror_debug(i32 noundef %3009, ptr noundef nonnull @.str.4) #13
  %3011 = load i32, ptr %684, align 4, !tbaa !5
  %3012 = call ptr @strerror(i32 noundef %3011) #13
  %3013 = load i32, ptr %684, align 4, !tbaa !5
  %3014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3005, ptr noundef nonnull %.str.5.sink2610, i32 noundef %3006, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %3008, ptr noundef %3010, ptr noundef %3012, i32 noundef %3013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3015:                                             ; preds = %2987
  %3016 = add nsw i32 %2990, 2
  store i32 %3016, ptr @test_count, align 4, !tbaa !5
  %3017 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1883, ptr noundef nonnull %2989) #13
  %3018 = icmp eq i32 %3017, -1
  br i1 %3018, label %3041, label %3019

3019:                                             ; preds = %3015
  %3020 = load i32, ptr %684, align 4, !tbaa !5
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = call i32 @s2n_print_stacktrace(ptr noundef %3021) #13
  %3023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3024 = trunc nuw i8 %3023 to i1
  br i1 %3024, label %3025, label %3029

3025:                                             ; preds = %3019
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = call i32 @fileno(ptr noundef %3026) #13
  %3028 = call i32 @isatty(i32 noundef %3027) #13
  %.not1153 = icmp eq i32 %3028, 0
  br i1 %.not1153, label %3029, label %3030

3029:                                             ; preds = %3025, %3019
  br label %3030

3030:                                             ; preds = %3025, %3029
  %.str.5.sink2619 = phi ptr [ @.str.5, %3029 ], [ @.str.2, %3025 ]
  store i32 %3020, ptr %684, align 4, !tbaa !5
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = load i32, ptr %630, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror(i32 noundef %3033, ptr noundef nonnull @.str.4) #13
  %3035 = load i32, ptr %630, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror_debug(i32 noundef %3035, ptr noundef nonnull @.str.4) #13
  %3037 = load i32, ptr %684, align 4, !tbaa !5
  %3038 = call ptr @strerror(i32 noundef %3037) #13
  %3039 = load i32, ptr %684, align 4, !tbaa !5
  %3040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3031, ptr noundef nonnull %.str.5.sink2619, i32 noundef %3032, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %3034, ptr noundef %3036, ptr noundef %3038, i32 noundef %3039) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3041:                                             ; preds = %3015
  %3042 = load i32, ptr @test_count, align 4, !tbaa !5
  %3043 = add nsw i32 %3042, 1
  store i32 %3043, ptr @test_count, align 4, !tbaa !5
  %3044 = load i32, ptr %630, align 4, !tbaa !5
  %3045 = icmp eq i32 %3044, 469762115
  br i1 %3045, label %3068, label %3046

3046:                                             ; preds = %3041
  %3047 = load i32, ptr %684, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = call i32 @s2n_print_stacktrace(ptr noundef %3048) #13
  %3050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3051 = trunc nuw i8 %3050 to i1
  br i1 %3051, label %3052, label %3056

3052:                                             ; preds = %3046
  %3053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3054 = call i32 @fileno(ptr noundef %3053) #13
  %3055 = call i32 @isatty(i32 noundef %3054) #13
  %.not1154 = icmp eq i32 %3055, 0
  br i1 %.not1154, label %3056, label %3057

3056:                                             ; preds = %3052, %3046
  br label %3057

3057:                                             ; preds = %3052, %3056
  %.str.5.sink2628 = phi ptr [ @.str.5, %3056 ], [ @.str.2, %3052 ]
  store i32 %3047, ptr %684, align 4, !tbaa !5
  %3058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = load i32, ptr %630, align 4, !tbaa !5
  %3061 = call ptr @s2n_strerror(i32 noundef %3060, ptr noundef nonnull @.str.4) #13
  %3062 = load i32, ptr %630, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror_debug(i32 noundef %3062, ptr noundef nonnull @.str.4) #13
  %3064 = load i32, ptr %684, align 4, !tbaa !5
  %3065 = call ptr @strerror(i32 noundef %3064) #13
  %3066 = load i32, ptr %684, align 4, !tbaa !5
  %3067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3058, ptr noundef nonnull %.str.5.sink2628, i32 noundef %3059, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %3061, ptr noundef %3063, ptr noundef %3065, i32 noundef %3066) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3068:                                             ; preds = %3041
  %3069 = add nsw i32 %3042, 2
  store i32 %3069, ptr @test_count, align 4, !tbaa !5
  %3070 = call ptr @s2n_strerror_debug(i32 noundef 469762115, ptr noundef nonnull @.str.4) #13
  %3071 = icmp eq ptr %3070, null
  br i1 %3071, label %3072, label %3094

3072:                                             ; preds = %3068
  %3073 = load i32, ptr %684, align 4, !tbaa !5
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @s2n_print_stacktrace(ptr noundef %3074) #13
  %3076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3077 = trunc nuw i8 %3076 to i1
  br i1 %3077, label %3078, label %3082

3078:                                             ; preds = %3072
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = call i32 @fileno(ptr noundef %3079) #13
  %3081 = call i32 @isatty(i32 noundef %3080) #13
  %.not1479 = icmp eq i32 %3081, 0
  br i1 %.not1479, label %3082, label %3083

3082:                                             ; preds = %3078, %3072
  br label %3083

3083:                                             ; preds = %3078, %3082
  %.str.5.sink2637 = phi ptr [ @.str.5, %3082 ], [ @.str.2, %3078 ]
  store i32 %3073, ptr %684, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = load i32, ptr @test_count, align 4, !tbaa !5
  %3086 = load i32, ptr %630, align 4, !tbaa !5
  %3087 = call ptr @s2n_strerror(i32 noundef %3086, ptr noundef nonnull @.str.4) #13
  %3088 = load i32, ptr %630, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror_debug(i32 noundef %3088, ptr noundef nonnull @.str.4) #13
  %3090 = load i32, ptr %684, align 4, !tbaa !5
  %3091 = call ptr @strerror(i32 noundef %3090) #13
  %3092 = load i32, ptr %684, align 4, !tbaa !5
  %3093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3084, ptr noundef nonnull %.str.5.sink2637, i32 noundef %3085, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %3087, ptr noundef %3089, ptr noundef %3091, i32 noundef %3092) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3094:                                             ; preds = %3068
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %3095 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %18) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #13
  %3096 = load i32, ptr @test_count, align 4, !tbaa !5
  %3097 = add nsw i32 %3096, 1
  store i32 %3097, ptr @test_count, align 4, !tbaa !5
  %3098 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %3099 = icmp eq i32 %3098, -1
  br i1 %3099, label %3100, label %3122

3100:                                             ; preds = %3094
  %3101 = load i32, ptr %684, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @s2n_print_stacktrace(ptr noundef %3102) #13
  %3104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3105 = trunc nuw i8 %3104 to i1
  br i1 %3105, label %3106, label %3110

3106:                                             ; preds = %3100
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = call i32 @fileno(ptr noundef %3107) #13
  %3109 = call i32 @isatty(i32 noundef %3108) #13
  %.not1478 = icmp eq i32 %3109, 0
  br i1 %.not1478, label %3110, label %3111

3110:                                             ; preds = %3106, %3100
  br label %3111

3111:                                             ; preds = %3106, %3110
  %.str.5.sink2646 = phi ptr [ @.str.5, %3110 ], [ @.str.2, %3106 ]
  store i32 %3101, ptr %684, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = load i32, ptr @test_count, align 4, !tbaa !5
  %3114 = load i32, ptr %630, align 4, !tbaa !5
  %3115 = call ptr @s2n_strerror(i32 noundef %3114, ptr noundef nonnull @.str.4) #13
  %3116 = load i32, ptr %630, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror_debug(i32 noundef %3116, ptr noundef nonnull @.str.4) #13
  %3118 = load i32, ptr %684, align 4, !tbaa !5
  %3119 = call ptr @strerror(i32 noundef %3118) #13
  %3120 = load i32, ptr %684, align 4, !tbaa !5
  %3121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3112, ptr noundef nonnull %.str.5.sink2646, i32 noundef %3113, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %3115, ptr noundef %3117, ptr noundef %3119, i32 noundef %3120) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3122:                                             ; preds = %3094
  %3123 = load i32, ptr @test_count, align 4, !tbaa !5
  %3124 = add nsw i32 %3123, 1
  store i32 %3124, ptr @test_count, align 4, !tbaa !5
  %3125 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1883) #13
  %3126 = icmp eq i32 %3125, -1
  br i1 %3126, label %3127, label %3149

3127:                                             ; preds = %3122
  %3128 = load i32, ptr %684, align 4, !tbaa !5
  %3129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3130 = call i32 @s2n_print_stacktrace(ptr noundef %3129) #13
  %3131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3132 = trunc nuw i8 %3131 to i1
  br i1 %3132, label %3133, label %3137

3133:                                             ; preds = %3127
  %3134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3135 = call i32 @fileno(ptr noundef %3134) #13
  %3136 = call i32 @isatty(i32 noundef %3135) #13
  %.not1477 = icmp eq i32 %3136, 0
  br i1 %.not1477, label %3137, label %3138

3137:                                             ; preds = %3133, %3127
  br label %3138

3138:                                             ; preds = %3133, %3137
  %.str.5.sink2655 = phi ptr [ @.str.5, %3137 ], [ @.str.2, %3133 ]
  store i32 %3128, ptr %684, align 4, !tbaa !5
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = load i32, ptr @test_count, align 4, !tbaa !5
  %3141 = load i32, ptr %630, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror(i32 noundef %3141, ptr noundef nonnull @.str.4) #13
  %3143 = load i32, ptr %630, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror_debug(i32 noundef %3143, ptr noundef nonnull @.str.4) #13
  %3145 = load i32, ptr %684, align 4, !tbaa !5
  %3146 = call ptr @strerror(i32 noundef %3145) #13
  %3147 = load i32, ptr %684, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3139, ptr noundef nonnull %.str.5.sink2655, i32 noundef %3140, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %3142, ptr noundef %3144, ptr noundef %3146, i32 noundef %3147) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3149:                                             ; preds = %3122
  %3150 = load i32, ptr @test_count, align 4, !tbaa !5
  %3151 = add nsw i32 %3150, 1
  store i32 %3151, ptr @test_count, align 4, !tbaa !5
  %3152 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1910) #13
  %3153 = icmp eq i32 %3152, -1
  br i1 %3153, label %3154, label %3176

3154:                                             ; preds = %3149
  %3155 = load i32, ptr %684, align 4, !tbaa !5
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @s2n_print_stacktrace(ptr noundef %3156) #13
  %3158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3159 = trunc nuw i8 %3158 to i1
  br i1 %3159, label %3160, label %3164

3160:                                             ; preds = %3154
  %3161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3162 = call i32 @fileno(ptr noundef %3161) #13
  %3163 = call i32 @isatty(i32 noundef %3162) #13
  %.not1476 = icmp eq i32 %3163, 0
  br i1 %.not1476, label %3164, label %3165

3164:                                             ; preds = %3160, %3154
  br label %3165

3165:                                             ; preds = %3160, %3164
  %.str.5.sink2664 = phi ptr [ @.str.5, %3164 ], [ @.str.2, %3160 ]
  store i32 %3155, ptr %684, align 4, !tbaa !5
  %3166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3167 = load i32, ptr @test_count, align 4, !tbaa !5
  %3168 = load i32, ptr %630, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror(i32 noundef %3168, ptr noundef nonnull @.str.4) #13
  %3170 = load i32, ptr %630, align 4, !tbaa !5
  %3171 = call ptr @s2n_strerror_debug(i32 noundef %3170, ptr noundef nonnull @.str.4) #13
  %3172 = load i32, ptr %684, align 4, !tbaa !5
  %3173 = call ptr @strerror(i32 noundef %3172) #13
  %3174 = load i32, ptr %684, align 4, !tbaa !5
  %3175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3166, ptr noundef nonnull %.str.5.sink2664, i32 noundef %3167, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %3169, ptr noundef %3171, ptr noundef %3173, i32 noundef %3174) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3176:                                             ; preds = %3149
  %3177 = load i32, ptr @test_count, align 4, !tbaa !5
  %3178 = add nsw i32 %3177, 1
  store i32 %3178, ptr @test_count, align 4, !tbaa !5
  %3179 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1883, ptr noundef nonnull %1989) #13
  %3180 = icmp eq i32 %3179, -1
  br i1 %3180, label %3181, label %3203

3181:                                             ; preds = %3176
  %3182 = load i32, ptr %684, align 4, !tbaa !5
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = call i32 @s2n_print_stacktrace(ptr noundef %3183) #13
  %3185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3186 = trunc nuw i8 %3185 to i1
  br i1 %3186, label %3187, label %3191

3187:                                             ; preds = %3181
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = call i32 @fileno(ptr noundef %3188) #13
  %3190 = call i32 @isatty(i32 noundef %3189) #13
  %.not1475 = icmp eq i32 %3190, 0
  br i1 %.not1475, label %3191, label %3192

3191:                                             ; preds = %3187, %3181
  br label %3192

3192:                                             ; preds = %3187, %3191
  %.str.5.sink2673 = phi ptr [ @.str.5, %3191 ], [ @.str.2, %3187 ]
  store i32 %3182, ptr %684, align 4, !tbaa !5
  %3193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3194 = load i32, ptr @test_count, align 4, !tbaa !5
  %3195 = load i32, ptr %630, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror(i32 noundef %3195, ptr noundef nonnull @.str.4) #13
  %3197 = load i32, ptr %630, align 4, !tbaa !5
  %3198 = call ptr @s2n_strerror_debug(i32 noundef %3197, ptr noundef nonnull @.str.4) #13
  %3199 = load i32, ptr %684, align 4, !tbaa !5
  %3200 = call ptr @strerror(i32 noundef %3199) #13
  %3201 = load i32, ptr %684, align 4, !tbaa !5
  %3202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3193, ptr noundef nonnull %.str.5.sink2673, i32 noundef %3194, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3196, ptr noundef %3198, ptr noundef %3200, i32 noundef %3201) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3203:                                             ; preds = %3176
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = add nsw i32 %3204, 1
  store i32 %3205, ptr @test_count, align 4, !tbaa !5
  %3206 = load i8, ptr %2424, align 8, !tbaa !33
  %3207 = icmp eq i8 %3206, 1
  br i1 %3207, label %3230, label %3208

3208:                                             ; preds = %3203
  %3209 = load i32, ptr %684, align 4, !tbaa !5
  %3210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3211 = call i32 @s2n_print_stacktrace(ptr noundef %3210) #13
  %3212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3213 = trunc nuw i8 %3212 to i1
  br i1 %3213, label %3214, label %3218

3214:                                             ; preds = %3208
  %3215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3216 = call i32 @fileno(ptr noundef %3215) #13
  %3217 = call i32 @isatty(i32 noundef %3216) #13
  %.not1155 = icmp eq i32 %3217, 0
  br i1 %.not1155, label %3218, label %3219

3218:                                             ; preds = %3214, %3208
  br label %3219

3219:                                             ; preds = %3214, %3218
  %.str.5.sink2682 = phi ptr [ @.str.5, %3218 ], [ @.str.2, %3214 ]
  store i32 %3209, ptr %684, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = load i32, ptr @test_count, align 4, !tbaa !5
  %3222 = load i32, ptr %630, align 4, !tbaa !5
  %3223 = call ptr @s2n_strerror(i32 noundef %3222, ptr noundef nonnull @.str.4) #13
  %3224 = load i32, ptr %630, align 4, !tbaa !5
  %3225 = call ptr @s2n_strerror_debug(i32 noundef %3224, ptr noundef nonnull @.str.4) #13
  %3226 = load i32, ptr %684, align 4, !tbaa !5
  %3227 = call ptr @strerror(i32 noundef %3226) #13
  %3228 = load i32, ptr %684, align 4, !tbaa !5
  %3229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3220, ptr noundef nonnull %.str.5.sink2682, i32 noundef %3221, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %3223, ptr noundef %3225, ptr noundef %3227, i32 noundef %3228) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3230:                                             ; preds = %3203
  %3231 = add nsw i32 %3204, 2
  store i32 %3231, ptr @test_count, align 4, !tbaa !5
  %3232 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1910, ptr noundef nonnull %2206) #13
  %3233 = icmp eq i32 %3232, -1
  br i1 %3233, label %3234, label %3256

3234:                                             ; preds = %3230
  %3235 = load i32, ptr %684, align 4, !tbaa !5
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = call i32 @s2n_print_stacktrace(ptr noundef %3236) #13
  %3238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3239 = trunc nuw i8 %3238 to i1
  br i1 %3239, label %3240, label %3244

3240:                                             ; preds = %3234
  %3241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3242 = call i32 @fileno(ptr noundef %3241) #13
  %3243 = call i32 @isatty(i32 noundef %3242) #13
  %.not1474 = icmp eq i32 %3243, 0
  br i1 %.not1474, label %3244, label %3245

3244:                                             ; preds = %3240, %3234
  br label %3245

3245:                                             ; preds = %3240, %3244
  %.str.5.sink2691 = phi ptr [ @.str.5, %3244 ], [ @.str.2, %3240 ]
  store i32 %3235, ptr %684, align 4, !tbaa !5
  %3246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = load i32, ptr %630, align 4, !tbaa !5
  %3249 = call ptr @s2n_strerror(i32 noundef %3248, ptr noundef nonnull @.str.4) #13
  %3250 = load i32, ptr %630, align 4, !tbaa !5
  %3251 = call ptr @s2n_strerror_debug(i32 noundef %3250, ptr noundef nonnull @.str.4) #13
  %3252 = load i32, ptr %684, align 4, !tbaa !5
  %3253 = call ptr @strerror(i32 noundef %3252) #13
  %3254 = load i32, ptr %684, align 4, !tbaa !5
  %3255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3246, ptr noundef nonnull %.str.5.sink2691, i32 noundef %3247, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %3249, ptr noundef %3251, ptr noundef %3253, i32 noundef %3254) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3256:                                             ; preds = %3230
  %3257 = load i32, ptr @test_count, align 4, !tbaa !5
  %3258 = add nsw i32 %3257, 1
  store i32 %3258, ptr @test_count, align 4, !tbaa !5
  %3259 = load i8, ptr %2478, align 8, !tbaa !33
  %3260 = icmp eq i8 %3259, 0
  br i1 %3260, label %3283, label %3261

3261:                                             ; preds = %3256
  %3262 = load i32, ptr %684, align 4, !tbaa !5
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @s2n_print_stacktrace(ptr noundef %3263) #13
  %3265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3266 = trunc nuw i8 %3265 to i1
  br i1 %3266, label %3267, label %3271

3267:                                             ; preds = %3261
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = call i32 @fileno(ptr noundef %3268) #13
  %3270 = call i32 @isatty(i32 noundef %3269) #13
  %.not1156 = icmp eq i32 %3270, 0
  br i1 %.not1156, label %3271, label %3272

3271:                                             ; preds = %3267, %3261
  br label %3272

3272:                                             ; preds = %3267, %3271
  %.str.5.sink2700 = phi ptr [ @.str.5, %3271 ], [ @.str.2, %3267 ]
  store i32 %3262, ptr %684, align 4, !tbaa !5
  %3273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3274 = load i32, ptr @test_count, align 4, !tbaa !5
  %3275 = load i32, ptr %630, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror(i32 noundef %3275, ptr noundef nonnull @.str.4) #13
  %3277 = load i32, ptr %630, align 4, !tbaa !5
  %3278 = call ptr @s2n_strerror_debug(i32 noundef %3277, ptr noundef nonnull @.str.4) #13
  %3279 = load i32, ptr %684, align 4, !tbaa !5
  %3280 = call ptr @strerror(i32 noundef %3279) #13
  %3281 = load i32, ptr %684, align 4, !tbaa !5
  %3282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3273, ptr noundef nonnull %.str.5.sink2700, i32 noundef %3274, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3276, ptr noundef %3278, ptr noundef %3280, i32 noundef %3281) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3283:                                             ; preds = %3256
  %3284 = add nsw i32 %3257, 2
  store i32 %3284, ptr @test_count, align 4, !tbaa !5
  %3285 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %1883, ptr noundef nonnull %1910, ptr noundef nonnull %13) #13
  %3286 = icmp eq i32 %3285, -1
  br i1 %3286, label %3287, label %3309

3287:                                             ; preds = %3283
  %3288 = load i32, ptr %684, align 4, !tbaa !5
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = call i32 @s2n_print_stacktrace(ptr noundef %3289) #13
  %3291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3292 = trunc nuw i8 %3291 to i1
  br i1 %3292, label %3293, label %3297

3293:                                             ; preds = %3287
  %3294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3295 = call i32 @fileno(ptr noundef %3294) #13
  %3296 = call i32 @isatty(i32 noundef %3295) #13
  %.not1473 = icmp eq i32 %3296, 0
  br i1 %.not1473, label %3297, label %3298

3297:                                             ; preds = %3293, %3287
  br label %3298

3298:                                             ; preds = %3293, %3297
  %.str.5.sink2709 = phi ptr [ @.str.5, %3297 ], [ @.str.2, %3293 ]
  store i32 %3288, ptr %684, align 4, !tbaa !5
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = load i32, ptr %630, align 4, !tbaa !5
  %3302 = call ptr @s2n_strerror(i32 noundef %3301, ptr noundef nonnull @.str.4) #13
  %3303 = load i32, ptr %630, align 4, !tbaa !5
  %3304 = call ptr @s2n_strerror_debug(i32 noundef %3303, ptr noundef nonnull @.str.4) #13
  %3305 = load i32, ptr %684, align 4, !tbaa !5
  %3306 = call ptr @strerror(i32 noundef %3305) #13
  %3307 = load i32, ptr %684, align 4, !tbaa !5
  %3308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3299, ptr noundef nonnull %.str.5.sink2709, i32 noundef %3300, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %3302, ptr noundef %3304, ptr noundef %3306, i32 noundef %3307) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3309:                                             ; preds = %3283
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = add nsw i32 %3310, 1
  store i32 %3311, ptr @test_count, align 4, !tbaa !5
  %3312 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %3313 = icmp eq i32 %3312, -1
  br i1 %3313, label %3314, label %3336

3314:                                             ; preds = %3309
  %3315 = load i32, ptr %684, align 4, !tbaa !5
  %3316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3317 = call i32 @s2n_print_stacktrace(ptr noundef %3316) #13
  %3318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3319 = trunc nuw i8 %3318 to i1
  br i1 %3319, label %3320, label %3324

3320:                                             ; preds = %3314
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = call i32 @fileno(ptr noundef %3321) #13
  %3323 = call i32 @isatty(i32 noundef %3322) #13
  %.not1472 = icmp eq i32 %3323, 0
  br i1 %.not1472, label %3324, label %3325

3324:                                             ; preds = %3320, %3314
  br label %3325

3325:                                             ; preds = %3320, %3324
  %.str.5.sink2718 = phi ptr [ @.str.5, %3324 ], [ @.str.2, %3320 ]
  store i32 %3315, ptr %684, align 4, !tbaa !5
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = load i32, ptr @test_count, align 4, !tbaa !5
  %3328 = load i32, ptr %630, align 4, !tbaa !5
  %3329 = call ptr @s2n_strerror(i32 noundef %3328, ptr noundef nonnull @.str.4) #13
  %3330 = load i32, ptr %630, align 4, !tbaa !5
  %3331 = call ptr @s2n_strerror_debug(i32 noundef %3330, ptr noundef nonnull @.str.4) #13
  %3332 = load i32, ptr %684, align 4, !tbaa !5
  %3333 = call ptr @strerror(i32 noundef %3332) #13
  %3334 = load i32, ptr %684, align 4, !tbaa !5
  %3335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3326, ptr noundef nonnull %.str.5.sink2718, i32 noundef %3327, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %3329, ptr noundef %3331, ptr noundef %3333, i32 noundef %3334) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3336:                                             ; preds = %3309
  %3337 = load i32, ptr @test_count, align 4, !tbaa !5
  %3338 = add nsw i32 %3337, 1
  store i32 %3338, ptr @test_count, align 4, !tbaa !5
  %3339 = load i32, ptr %2559, align 8, !tbaa !58
  %3340 = icmp eq i32 %3339, 4
  br i1 %3340, label %3363, label %3341

3341:                                             ; preds = %3336
  %3342 = load i32, ptr %684, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = call i32 @s2n_print_stacktrace(ptr noundef %3343) #13
  %3345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3346 = trunc nuw i8 %3345 to i1
  br i1 %3346, label %3347, label %3351

3347:                                             ; preds = %3341
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = call i32 @fileno(ptr noundef %3348) #13
  %3350 = call i32 @isatty(i32 noundef %3349) #13
  %.not1157 = icmp eq i32 %3350, 0
  br i1 %.not1157, label %3351, label %3352

3351:                                             ; preds = %3347, %3341
  br label %3352

3352:                                             ; preds = %3347, %3351
  %.str.5.sink2727 = phi ptr [ @.str.5, %3351 ], [ @.str.2, %3347 ]
  store i32 %3342, ptr %684, align 4, !tbaa !5
  %3353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3354 = load i32, ptr @test_count, align 4, !tbaa !5
  %3355 = load i32, ptr %630, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror(i32 noundef %3355, ptr noundef nonnull @.str.4) #13
  %3357 = load i32, ptr %630, align 4, !tbaa !5
  %3358 = call ptr @s2n_strerror_debug(i32 noundef %3357, ptr noundef nonnull @.str.4) #13
  %3359 = load i32, ptr %684, align 4, !tbaa !5
  %3360 = call ptr @strerror(i32 noundef %3359) #13
  %3361 = load i32, ptr %684, align 4, !tbaa !5
  %3362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3353, ptr noundef nonnull %.str.5.sink2727, i32 noundef %3354, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %3356, ptr noundef %3358, ptr noundef %3360, i32 noundef %3361) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3363:                                             ; preds = %3336
  %3364 = call ptr @s2n_cert_chain_and_key_new() #13
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = add nsw i32 %3365, 1
  store i32 %3366, ptr @test_count, align 4, !tbaa !5
  %3367 = icmp eq ptr %3364, null
  br i1 %3367, label %3368, label %3390

3368:                                             ; preds = %3363
  %3369 = load i32, ptr %684, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = call i32 @s2n_print_stacktrace(ptr noundef %3370) #13
  %3372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3373 = trunc nuw i8 %3372 to i1
  br i1 %3373, label %3374, label %3378

3374:                                             ; preds = %3368
  %3375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3376 = call i32 @fileno(ptr noundef %3375) #13
  %3377 = call i32 @isatty(i32 noundef %3376) #13
  %.not1471 = icmp eq i32 %3377, 0
  br i1 %.not1471, label %3378, label %3379

3378:                                             ; preds = %3374, %3368
  br label %3379

3379:                                             ; preds = %3374, %3378
  %.str.5.sink2736 = phi ptr [ @.str.5, %3378 ], [ @.str.2, %3374 ]
  store i32 %3369, ptr %684, align 4, !tbaa !5
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = load i32, ptr %630, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror(i32 noundef %3382, ptr noundef nonnull @.str.4) #13
  %3384 = load i32, ptr %630, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef nonnull @.str.4) #13
  %3386 = load i32, ptr %684, align 4, !tbaa !5
  %3387 = call ptr @strerror(i32 noundef %3386) #13
  %3388 = load i32, ptr %684, align 4, !tbaa !5
  %3389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3380, ptr noundef nonnull %.str.5.sink2736, i32 noundef %3381, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %3383, ptr noundef %3385, ptr noundef %3387, i32 noundef %3388) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3390:                                             ; preds = %3363
  %3391 = add nsw i32 %3365, 2
  store i32 %3391, ptr @test_count, align 4, !tbaa !5
  %3392 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1910, ptr noundef nonnull %3364) #13
  %3393 = icmp eq i32 %3392, -1
  br i1 %3393, label %3394, label %3416

3394:                                             ; preds = %3390
  %3395 = load i32, ptr %684, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = call i32 @s2n_print_stacktrace(ptr noundef %3396) #13
  %3398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3399 = trunc nuw i8 %3398 to i1
  br i1 %3399, label %3400, label %3404

3400:                                             ; preds = %3394
  %3401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3402 = call i32 @fileno(ptr noundef %3401) #13
  %3403 = call i32 @isatty(i32 noundef %3402) #13
  %.not1470 = icmp eq i32 %3403, 0
  br i1 %.not1470, label %3404, label %3405

3404:                                             ; preds = %3400, %3394
  br label %3405

3405:                                             ; preds = %3400, %3404
  %.str.5.sink2745 = phi ptr [ @.str.5, %3404 ], [ @.str.2, %3400 ]
  store i32 %3395, ptr %684, align 4, !tbaa !5
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = load i32, ptr %630, align 4, !tbaa !5
  %3409 = call ptr @s2n_strerror(i32 noundef %3408, ptr noundef nonnull @.str.4) #13
  %3410 = load i32, ptr %630, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror_debug(i32 noundef %3410, ptr noundef nonnull @.str.4) #13
  %3412 = load i32, ptr %684, align 4, !tbaa !5
  %3413 = call ptr @strerror(i32 noundef %3412) #13
  %3414 = load i32, ptr %684, align 4, !tbaa !5
  %3415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3406, ptr noundef nonnull %.str.5.sink2745, i32 noundef %3407, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3409, ptr noundef %3411, ptr noundef %3413, i32 noundef %3414) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3416:                                             ; preds = %3390
  %3417 = load i32, ptr @test_count, align 4, !tbaa !5
  %3418 = add nsw i32 %3417, 1
  store i32 %3418, ptr @test_count, align 4, !tbaa !5
  %3419 = call i32 @s2n_compare_cert_chain(ptr noundef nonnull %1910, ptr noundef nonnull %3364)
  %3420 = call zeroext i1 @s2n_result_is_ok(i32 %3419)
  br i1 %3420, label %3443, label %3421

3421:                                             ; preds = %3416
  %3422 = load i32, ptr %684, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = call i32 @s2n_print_stacktrace(ptr noundef %3423) #13
  %3425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3426 = trunc nuw i8 %3425 to i1
  br i1 %3426, label %3427, label %3431

3427:                                             ; preds = %3421
  %3428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3429 = call i32 @fileno(ptr noundef %3428) #13
  %3430 = call i32 @isatty(i32 noundef %3429) #13
  %.not1158 = icmp eq i32 %3430, 0
  br i1 %.not1158, label %3431, label %3432

3431:                                             ; preds = %3427, %3421
  br label %3432

3432:                                             ; preds = %3427, %3431
  %.str.5.sink2754 = phi ptr [ @.str.5, %3431 ], [ @.str.2, %3427 ]
  store i32 %3422, ptr %684, align 4, !tbaa !5
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = load i32, ptr %630, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror(i32 noundef %3435, ptr noundef nonnull @.str.4) #13
  %3437 = load i32, ptr %630, align 4, !tbaa !5
  %3438 = call ptr @s2n_strerror_debug(i32 noundef %3437, ptr noundef nonnull @.str.4) #13
  %3439 = load i32, ptr %684, align 4, !tbaa !5
  %3440 = call ptr @strerror(i32 noundef %3439) #13
  %3441 = load i32, ptr %684, align 4, !tbaa !5
  %3442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3433, ptr noundef nonnull %.str.5.sink2754, i32 noundef %3434, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %3436, ptr noundef %3438, ptr noundef %3440, i32 noundef %3441) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3443:                                             ; preds = %3416
  %3444 = load i32, ptr @test_count, align 4, !tbaa !5
  %3445 = add nsw i32 %3444, 1
  store i32 %3445, ptr @test_count, align 4, !tbaa !5
  %3446 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %3447 = icmp eq i32 %3446, -1
  br i1 %3447, label %3448, label %3470

3448:                                             ; preds = %3443
  %3449 = load i32, ptr %684, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = call i32 @s2n_print_stacktrace(ptr noundef %3450) #13
  %3452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3453 = trunc nuw i8 %3452 to i1
  br i1 %3453, label %3454, label %3458

3454:                                             ; preds = %3448
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = call i32 @fileno(ptr noundef %3455) #13
  %3457 = call i32 @isatty(i32 noundef %3456) #13
  %.not1469 = icmp eq i32 %3457, 0
  br i1 %.not1469, label %3458, label %3459

3458:                                             ; preds = %3454, %3448
  br label %3459

3459:                                             ; preds = %3454, %3458
  %.str.5.sink2763 = phi ptr [ @.str.5, %3458 ], [ @.str.2, %3454 ]
  store i32 %3449, ptr %684, align 4, !tbaa !5
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = load i32, ptr %630, align 4, !tbaa !5
  %3463 = call ptr @s2n_strerror(i32 noundef %3462, ptr noundef nonnull @.str.4) #13
  %3464 = load i32, ptr %630, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror_debug(i32 noundef %3464, ptr noundef nonnull @.str.4) #13
  %3466 = load i32, ptr %684, align 4, !tbaa !5
  %3467 = call ptr @strerror(i32 noundef %3466) #13
  %3468 = load i32, ptr %684, align 4, !tbaa !5
  %3469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3460, ptr noundef nonnull %.str.5.sink2763, i32 noundef %3461, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3463, ptr noundef %3465, ptr noundef %3467, i32 noundef %3468) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3470:                                             ; preds = %3443
  %3471 = load i32, ptr @test_count, align 4, !tbaa !5
  %3472 = add nsw i32 %3471, 1
  store i32 %3472, ptr @test_count, align 4, !tbaa !5
  %3473 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %3364) #13
  %3474 = icmp eq i32 %3473, -1
  br i1 %3474, label %3475, label %3497

3475:                                             ; preds = %3470
  %3476 = load i32, ptr %684, align 4, !tbaa !5
  %3477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3478 = call i32 @s2n_print_stacktrace(ptr noundef %3477) #13
  %3479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3480 = trunc nuw i8 %3479 to i1
  br i1 %3480, label %3481, label %3485

3481:                                             ; preds = %3475
  %3482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3483 = call i32 @fileno(ptr noundef %3482) #13
  %3484 = call i32 @isatty(i32 noundef %3483) #13
  %.not1468 = icmp eq i32 %3484, 0
  br i1 %.not1468, label %3485, label %3486

3485:                                             ; preds = %3481, %3475
  br label %3486

3486:                                             ; preds = %3481, %3485
  %.str.5.sink2772 = phi ptr [ @.str.5, %3485 ], [ @.str.2, %3481 ]
  store i32 %3476, ptr %684, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = load i32, ptr %630, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror(i32 noundef %3489, ptr noundef nonnull @.str.4) #13
  %3491 = load i32, ptr %630, align 4, !tbaa !5
  %3492 = call ptr @s2n_strerror_debug(i32 noundef %3491, ptr noundef nonnull @.str.4) #13
  %3493 = load i32, ptr %684, align 4, !tbaa !5
  %3494 = call ptr @strerror(i32 noundef %3493) #13
  %3495 = load i32, ptr %684, align 4, !tbaa !5
  %3496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3487, ptr noundef nonnull %.str.5.sink2772, i32 noundef %3488, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %3490, ptr noundef %3492, ptr noundef %3494, i32 noundef %3495) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3497:                                             ; preds = %3470
  %3498 = load i32, ptr @test_count, align 4, !tbaa !5
  %3499 = add nsw i32 %3498, 1
  store i32 %3499, ptr @test_count, align 4, !tbaa !5
  %3500 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1883) #13
  %3501 = icmp eq i32 %3500, -1
  br i1 %3501, label %3502, label %3524

3502:                                             ; preds = %3497
  %3503 = load i32, ptr %684, align 4, !tbaa !5
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = call i32 @s2n_print_stacktrace(ptr noundef %3504) #13
  %3506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3507 = trunc nuw i8 %3506 to i1
  br i1 %3507, label %3508, label %3512

3508:                                             ; preds = %3502
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = call i32 @fileno(ptr noundef %3509) #13
  %3511 = call i32 @isatty(i32 noundef %3510) #13
  %.not1467 = icmp eq i32 %3511, 0
  br i1 %.not1467, label %3512, label %3513

3512:                                             ; preds = %3508, %3502
  br label %3513

3513:                                             ; preds = %3508, %3512
  %.str.5.sink2781 = phi ptr [ @.str.5, %3512 ], [ @.str.2, %3508 ]
  store i32 %3503, ptr %684, align 4, !tbaa !5
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = load i32, ptr @test_count, align 4, !tbaa !5
  %3516 = load i32, ptr %630, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror(i32 noundef %3516, ptr noundef nonnull @.str.4) #13
  %3518 = load i32, ptr %630, align 4, !tbaa !5
  %3519 = call ptr @s2n_strerror_debug(i32 noundef %3518, ptr noundef nonnull @.str.4) #13
  %3520 = load i32, ptr %684, align 4, !tbaa !5
  %3521 = call ptr @strerror(i32 noundef %3520) #13
  %3522 = load i32, ptr %684, align 4, !tbaa !5
  %3523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3514, ptr noundef nonnull %.str.5.sink2781, i32 noundef %3515, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %3517, ptr noundef %3519, ptr noundef %3521, i32 noundef %3522) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3524:                                             ; preds = %3497
  %3525 = load i32, ptr @test_count, align 4, !tbaa !5
  %3526 = add nsw i32 %3525, 1
  store i32 %3526, ptr @test_count, align 4, !tbaa !5
  %3527 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1910) #13
  %3528 = icmp eq i32 %3527, -1
  br i1 %3528, label %3529, label %3551

3529:                                             ; preds = %3524
  %3530 = load i32, ptr %684, align 4, !tbaa !5
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = call i32 @s2n_print_stacktrace(ptr noundef %3531) #13
  %3533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3534 = trunc nuw i8 %3533 to i1
  br i1 %3534, label %3535, label %3539

3535:                                             ; preds = %3529
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = call i32 @fileno(ptr noundef %3536) #13
  %3538 = call i32 @isatty(i32 noundef %3537) #13
  %.not1466 = icmp eq i32 %3538, 0
  br i1 %.not1466, label %3539, label %3540

3539:                                             ; preds = %3535, %3529
  br label %3540

3540:                                             ; preds = %3535, %3539
  %.str.5.sink2790 = phi ptr [ @.str.5, %3539 ], [ @.str.2, %3535 ]
  store i32 %3530, ptr %684, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = load i32, ptr %630, align 4, !tbaa !5
  %3544 = call ptr @s2n_strerror(i32 noundef %3543, ptr noundef nonnull @.str.4) #13
  %3545 = load i32, ptr %630, align 4, !tbaa !5
  %3546 = call ptr @s2n_strerror_debug(i32 noundef %3545, ptr noundef nonnull @.str.4) #13
  %3547 = load i32, ptr %684, align 4, !tbaa !5
  %3548 = call ptr @strerror(i32 noundef %3547) #13
  %3549 = load i32, ptr %684, align 4, !tbaa !5
  %3550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3541, ptr noundef nonnull %.str.5.sink2790, i32 noundef %3542, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %3544, ptr noundef %3546, ptr noundef %3548, i32 noundef %3549) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3551:                                             ; preds = %3524
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = add nsw i32 %3552, 1
  store i32 %3553, ptr @test_count, align 4, !tbaa !5
  %3554 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1910, ptr noundef nonnull %1989) #13
  %3555 = icmp eq i32 %3554, -1
  br i1 %3555, label %3556, label %3578

3556:                                             ; preds = %3551
  %3557 = load i32, ptr %684, align 4, !tbaa !5
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = call i32 @s2n_print_stacktrace(ptr noundef %3558) #13
  %3560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3561 = trunc nuw i8 %3560 to i1
  br i1 %3561, label %3562, label %3566

3562:                                             ; preds = %3556
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = call i32 @fileno(ptr noundef %3563) #13
  %3565 = call i32 @isatty(i32 noundef %3564) #13
  %.not1465 = icmp eq i32 %3565, 0
  br i1 %.not1465, label %3566, label %3567

3566:                                             ; preds = %3562, %3556
  br label %3567

3567:                                             ; preds = %3562, %3566
  %.str.5.sink2799 = phi ptr [ @.str.5, %3566 ], [ @.str.2, %3562 ]
  store i32 %3557, ptr %684, align 4, !tbaa !5
  %3568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3569 = load i32, ptr @test_count, align 4, !tbaa !5
  %3570 = load i32, ptr %630, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror(i32 noundef %3570, ptr noundef nonnull @.str.4) #13
  %3572 = load i32, ptr %630, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror_debug(i32 noundef %3572, ptr noundef nonnull @.str.4) #13
  %3574 = load i32, ptr %684, align 4, !tbaa !5
  %3575 = call ptr @strerror(i32 noundef %3574) #13
  %3576 = load i32, ptr %684, align 4, !tbaa !5
  %3577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3568, ptr noundef nonnull %.str.5.sink2799, i32 noundef %3569, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3571, ptr noundef %3573, ptr noundef %3575, i32 noundef %3576) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3578:                                             ; preds = %3551
  %3579 = load i32, ptr @test_count, align 4, !tbaa !5
  %3580 = add nsw i32 %3579, 1
  store i32 %3580, ptr @test_count, align 4, !tbaa !5
  %3581 = load i8, ptr %2478, align 8, !tbaa !33
  %3582 = icmp eq i8 %3581, 1
  br i1 %3582, label %3605, label %3583

3583:                                             ; preds = %3578
  %3584 = load i32, ptr %684, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @s2n_print_stacktrace(ptr noundef %3585) #13
  %3587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3588 = trunc nuw i8 %3587 to i1
  br i1 %3588, label %3589, label %3593

3589:                                             ; preds = %3583
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = call i32 @fileno(ptr noundef %3590) #13
  %3592 = call i32 @isatty(i32 noundef %3591) #13
  %.not1159 = icmp eq i32 %3592, 0
  br i1 %.not1159, label %3593, label %3594

3593:                                             ; preds = %3589, %3583
  br label %3594

3594:                                             ; preds = %3589, %3593
  %.str.5.sink2808 = phi ptr [ @.str.5, %3593 ], [ @.str.2, %3589 ]
  store i32 %3584, ptr %684, align 4, !tbaa !5
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = load i32, ptr @test_count, align 4, !tbaa !5
  %3597 = load i32, ptr %630, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror(i32 noundef %3597, ptr noundef nonnull @.str.4) #13
  %3599 = load i32, ptr %630, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror_debug(i32 noundef %3599, ptr noundef nonnull @.str.4) #13
  %3601 = load i32, ptr %684, align 4, !tbaa !5
  %3602 = call ptr @strerror(i32 noundef %3601) #13
  %3603 = load i32, ptr %684, align 4, !tbaa !5
  %3604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3595, ptr noundef nonnull %.str.5.sink2808, i32 noundef %3596, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3598, ptr noundef %3600, ptr noundef %3602, i32 noundef %3603) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3605:                                             ; preds = %3578
  %3606 = add nsw i32 %3579, 2
  store i32 %3606, ptr @test_count, align 4, !tbaa !5
  %3607 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1883, ptr noundef nonnull %2206) #13
  %3608 = icmp eq i32 %3607, -1
  br i1 %3608, label %3609, label %3631

3609:                                             ; preds = %3605
  %3610 = load i32, ptr %684, align 4, !tbaa !5
  %3611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3612 = call i32 @s2n_print_stacktrace(ptr noundef %3611) #13
  %3613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3614 = trunc nuw i8 %3613 to i1
  br i1 %3614, label %3615, label %3619

3615:                                             ; preds = %3609
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = call i32 @fileno(ptr noundef %3616) #13
  %3618 = call i32 @isatty(i32 noundef %3617) #13
  %.not1464 = icmp eq i32 %3618, 0
  br i1 %.not1464, label %3619, label %3620

3619:                                             ; preds = %3615, %3609
  br label %3620

3620:                                             ; preds = %3615, %3619
  %.str.5.sink2817 = phi ptr [ @.str.5, %3619 ], [ @.str.2, %3615 ]
  store i32 %3610, ptr %684, align 4, !tbaa !5
  %3621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3622 = load i32, ptr @test_count, align 4, !tbaa !5
  %3623 = load i32, ptr %630, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror(i32 noundef %3623, ptr noundef nonnull @.str.4) #13
  %3625 = load i32, ptr %630, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror_debug(i32 noundef %3625, ptr noundef nonnull @.str.4) #13
  %3627 = load i32, ptr %684, align 4, !tbaa !5
  %3628 = call ptr @strerror(i32 noundef %3627) #13
  %3629 = load i32, ptr %684, align 4, !tbaa !5
  %3630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3621, ptr noundef nonnull %.str.5.sink2817, i32 noundef %3622, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3624, ptr noundef %3626, ptr noundef %3628, i32 noundef %3629) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3631:                                             ; preds = %3605
  %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 i8, ptr %2424, align 8, !tbaa !33
  %3635 = icmp eq i8 %3634, 0
  br i1 %3635, label %3658, label %3636

3636:                                             ; preds = %3631
  %3637 = load i32, ptr %684, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @s2n_print_stacktrace(ptr noundef %3638) #13
  %3640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3641 = trunc nuw i8 %3640 to i1
  br i1 %3641, label %3642, label %3646

3642:                                             ; preds = %3636
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = call i32 @fileno(ptr noundef %3643) #13
  %3645 = call i32 @isatty(i32 noundef %3644) #13
  %.not1160 = icmp eq i32 %3645, 0
  br i1 %.not1160, label %3646, label %3647

3646:                                             ; preds = %3642, %3636
  br label %3647

3647:                                             ; preds = %3642, %3646
  %.str.5.sink2826 = phi ptr [ @.str.5, %3646 ], [ @.str.2, %3642 ]
  store i32 %3637, ptr %684, align 4, !tbaa !5
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = load i32, ptr %630, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror(i32 noundef %3650, ptr noundef nonnull @.str.4) #13
  %3652 = load i32, ptr %630, align 4, !tbaa !5
  %3653 = call ptr @s2n_strerror_debug(i32 noundef %3652, ptr noundef nonnull @.str.4) #13
  %3654 = load i32, ptr %684, align 4, !tbaa !5
  %3655 = call ptr @strerror(i32 noundef %3654) #13
  %3656 = load i32, ptr %684, align 4, !tbaa !5
  %3657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3648, ptr noundef nonnull %.str.5.sink2826, i32 noundef %3649, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3651, ptr noundef %3653, ptr noundef %3655, i32 noundef %3656) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3658:                                             ; preds = %3631
  %3659 = add nsw i32 %3632, 2
  store i32 %3659, ptr @test_count, align 4, !tbaa !5
  %3660 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %1883, ptr noundef nonnull %1910, ptr noundef nonnull %13) #13
  %3661 = icmp eq i32 %3660, -1
  br i1 %3661, label %3662, label %3684

3662:                                             ; preds = %3658
  %3663 = load i32, ptr %684, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @s2n_print_stacktrace(ptr noundef %3664) #13
  %3666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3667 = trunc nuw i8 %3666 to i1
  br i1 %3667, label %3668, label %3672

3668:                                             ; preds = %3662
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @fileno(ptr noundef %3669) #13
  %3671 = call i32 @isatty(i32 noundef %3670) #13
  %.not1463 = icmp eq i32 %3671, 0
  br i1 %.not1463, label %3672, label %3673

3672:                                             ; preds = %3668, %3662
  br label %3673

3673:                                             ; preds = %3668, %3672
  %.str.5.sink2835 = phi ptr [ @.str.5, %3672 ], [ @.str.2, %3668 ]
  store i32 %3663, ptr %684, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = load i32, ptr %630, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror(i32 noundef %3676, ptr noundef nonnull @.str.4) #13
  %3678 = load i32, ptr %630, align 4, !tbaa !5
  %3679 = call ptr @s2n_strerror_debug(i32 noundef %3678, ptr noundef nonnull @.str.4) #13
  %3680 = load i32, ptr %684, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #13
  %3682 = load i32, ptr %684, align 4, !tbaa !5
  %3683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3674, ptr noundef nonnull %.str.5.sink2835, i32 noundef %3675, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %3677, ptr noundef %3679, ptr noundef %3681, i32 noundef %3682) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3684:                                             ; preds = %3658
  %3685 = load i32, ptr @test_count, align 4, !tbaa !5
  %3686 = add nsw i32 %3685, 1
  store i32 %3686, ptr @test_count, align 4, !tbaa !5
  %3687 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %3688 = icmp eq i32 %3687, -1
  br i1 %3688, label %3689, label %3711

3689:                                             ; preds = %3684
  %3690 = load i32, ptr %684, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691) #13
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc nuw i8 %3693 to i1
  br i1 %3694, label %3695, label %3699

3695:                                             ; preds = %3689
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #13
  %3698 = call i32 @isatty(i32 noundef %3697) #13
  %.not1462 = icmp eq i32 %3698, 0
  br i1 %.not1462, label %3699, label %3700

3699:                                             ; preds = %3695, %3689
  br label %3700

3700:                                             ; preds = %3695, %3699
  %.str.5.sink2844 = phi ptr [ @.str.5, %3699 ], [ @.str.2, %3695 ]
  store i32 %3690, ptr %684, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = load i32, ptr %630, align 4, !tbaa !5
  %3704 = call ptr @s2n_strerror(i32 noundef %3703, ptr noundef nonnull @.str.4) #13
  %3705 = load i32, ptr %630, align 4, !tbaa !5
  %3706 = call ptr @s2n_strerror_debug(i32 noundef %3705, ptr noundef nonnull @.str.4) #13
  %3707 = load i32, ptr %684, align 4, !tbaa !5
  %3708 = call ptr @strerror(i32 noundef %3707) #13
  %3709 = load i32, ptr %684, align 4, !tbaa !5
  %3710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3701, ptr noundef nonnull %.str.5.sink2844, i32 noundef %3702, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3704, ptr noundef %3706, ptr noundef %3708, i32 noundef %3709) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3711:                                             ; preds = %3684
  %3712 = load i32, ptr @test_count, align 4, !tbaa !5
  %3713 = add nsw i32 %3712, 1
  store i32 %3713, ptr @test_count, align 4, !tbaa !5
  %3714 = load i32, ptr %2586, align 8, !tbaa !58
  %3715 = icmp eq i32 %3714, 4
  br i1 %3715, label %3738, label %3716

3716:                                             ; preds = %3711
  %3717 = load i32, ptr %684, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = call i32 @s2n_print_stacktrace(ptr noundef %3718) #13
  %3720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3721 = trunc nuw i8 %3720 to i1
  br i1 %3721, label %3722, label %3726

3722:                                             ; preds = %3716
  %3723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3724 = call i32 @fileno(ptr noundef %3723) #13
  %3725 = call i32 @isatty(i32 noundef %3724) #13
  %.not1161 = icmp eq i32 %3725, 0
  br i1 %.not1161, label %3726, label %3727

3726:                                             ; preds = %3722, %3716
  br label %3727

3727:                                             ; preds = %3722, %3726
  %.str.5.sink2853 = phi ptr [ @.str.5, %3726 ], [ @.str.2, %3722 ]
  store i32 %3717, ptr %684, align 4, !tbaa !5
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = load i32, ptr @test_count, align 4, !tbaa !5
  %3730 = load i32, ptr %630, align 4, !tbaa !5
  %3731 = call ptr @s2n_strerror(i32 noundef %3730, ptr noundef nonnull @.str.4) #13
  %3732 = load i32, ptr %630, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef nonnull @.str.4) #13
  %3734 = load i32, ptr %684, align 4, !tbaa !5
  %3735 = call ptr @strerror(i32 noundef %3734) #13
  %3736 = load i32, ptr %684, align 4, !tbaa !5
  %3737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3728, ptr noundef nonnull %.str.5.sink2853, i32 noundef %3729, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3731, ptr noundef %3733, ptr noundef %3735, i32 noundef %3736) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3738:                                             ; preds = %3711
  %3739 = call ptr @s2n_cert_chain_and_key_new() #13
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = add nsw i32 %3740, 1
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = icmp eq ptr %3739, null
  br i1 %3742, label %3743, label %3765

3743:                                             ; preds = %3738
  %3744 = load i32, ptr %684, align 4, !tbaa !5
  %3745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3746 = call i32 @s2n_print_stacktrace(ptr noundef %3745) #13
  %3747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3748 = trunc nuw i8 %3747 to i1
  br i1 %3748, label %3749, label %3753

3749:                                             ; preds = %3743
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = call i32 @fileno(ptr noundef %3750) #13
  %3752 = call i32 @isatty(i32 noundef %3751) #13
  %.not1461 = icmp eq i32 %3752, 0
  br i1 %.not1461, label %3753, label %3754

3753:                                             ; preds = %3749, %3743
  br label %3754

3754:                                             ; preds = %3749, %3753
  %.str.5.sink2862 = phi ptr [ @.str.5, %3753 ], [ @.str.2, %3749 ]
  store i32 %3744, ptr %684, align 4, !tbaa !5
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = load i32, ptr @test_count, align 4, !tbaa !5
  %3757 = load i32, ptr %630, align 4, !tbaa !5
  %3758 = call ptr @s2n_strerror(i32 noundef %3757, ptr noundef nonnull @.str.4) #13
  %3759 = load i32, ptr %630, align 4, !tbaa !5
  %3760 = call ptr @s2n_strerror_debug(i32 noundef %3759, ptr noundef nonnull @.str.4) #13
  %3761 = load i32, ptr %684, align 4, !tbaa !5
  %3762 = call ptr @strerror(i32 noundef %3761) #13
  %3763 = load i32, ptr %684, align 4, !tbaa !5
  %3764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3755, ptr noundef nonnull %.str.5.sink2862, i32 noundef %3756, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %3758, ptr noundef %3760, ptr noundef %3762, i32 noundef %3763) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3765:                                             ; preds = %3738
  %3766 = add nsw i32 %3740, 2
  store i32 %3766, ptr @test_count, align 4, !tbaa !5
  %3767 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1883, ptr noundef nonnull %3739) #13
  %3768 = icmp eq i32 %3767, -1
  br i1 %3768, label %3769, label %3791

3769:                                             ; preds = %3765
  %3770 = load i32, ptr %684, align 4, !tbaa !5
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @s2n_print_stacktrace(ptr noundef %3771) #13
  %3773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3774 = trunc nuw i8 %3773 to i1
  br i1 %3774, label %3775, label %3779

3775:                                             ; preds = %3769
  %3776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3777 = call i32 @fileno(ptr noundef %3776) #13
  %3778 = call i32 @isatty(i32 noundef %3777) #13
  %.not1460 = icmp eq i32 %3778, 0
  br i1 %.not1460, label %3779, label %3780

3779:                                             ; preds = %3775, %3769
  br label %3780

3780:                                             ; preds = %3775, %3779
  %.str.5.sink2871 = phi ptr [ @.str.5, %3779 ], [ @.str.2, %3775 ]
  store i32 %3770, ptr %684, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = load i32, ptr @test_count, align 4, !tbaa !5
  %3783 = load i32, ptr %630, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror(i32 noundef %3783, ptr noundef nonnull @.str.4) #13
  %3785 = load i32, ptr %630, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror_debug(i32 noundef %3785, ptr noundef nonnull @.str.4) #13
  %3787 = load i32, ptr %684, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #13
  %3789 = load i32, ptr %684, align 4, !tbaa !5
  %3790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3781, ptr noundef nonnull %.str.5.sink2871, i32 noundef %3782, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %3784, ptr noundef %3786, ptr noundef %3788, i32 noundef %3789) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3791:                                             ; preds = %3765
  %3792 = load i32, ptr @test_count, align 4, !tbaa !5
  %3793 = add nsw i32 %3792, 1
  store i32 %3793, ptr @test_count, align 4, !tbaa !5
  %3794 = call i32 @s2n_compare_cert_chain(ptr noundef nonnull %1883, ptr noundef nonnull %3739)
  %3795 = call zeroext i1 @s2n_result_is_ok(i32 %3794)
  br i1 %3795, label %3818, label %3796

3796:                                             ; preds = %3791
  %3797 = load i32, ptr %684, align 4, !tbaa !5
  %3798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3799 = call i32 @s2n_print_stacktrace(ptr noundef %3798) #13
  %3800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3801 = trunc nuw i8 %3800 to i1
  br i1 %3801, label %3802, label %3806

3802:                                             ; preds = %3796
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @fileno(ptr noundef %3803) #13
  %3805 = call i32 @isatty(i32 noundef %3804) #13
  %.not1162 = icmp eq i32 %3805, 0
  br i1 %.not1162, label %3806, label %3807

3806:                                             ; preds = %3802, %3796
  br label %3807

3807:                                             ; preds = %3802, %3806
  %.str.5.sink2880 = phi ptr [ @.str.5, %3806 ], [ @.str.2, %3802 ]
  store i32 %3797, ptr %684, align 4, !tbaa !5
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = load i32, ptr @test_count, align 4, !tbaa !5
  %3810 = load i32, ptr %630, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror(i32 noundef %3810, ptr noundef nonnull @.str.4) #13
  %3812 = load i32, ptr %630, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef nonnull @.str.4) #13
  %3814 = load i32, ptr %684, align 4, !tbaa !5
  %3815 = call ptr @strerror(i32 noundef %3814) #13
  %3816 = load i32, ptr %684, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3808, ptr noundef nonnull %.str.5.sink2880, i32 noundef %3809, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %3811, ptr noundef %3813, ptr noundef %3815, i32 noundef %3816) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3818:                                             ; preds = %3791
  %3819 = load i32, ptr @test_count, align 4, !tbaa !5
  %3820 = add nsw i32 %3819, 1
  store i32 %3820, ptr @test_count, align 4, !tbaa !5
  %3821 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %3822 = icmp eq i32 %3821, -1
  br i1 %3822, label %3823, label %3845

3823:                                             ; preds = %3818
  %3824 = load i32, ptr %684, align 4, !tbaa !5
  %3825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3826 = call i32 @s2n_print_stacktrace(ptr noundef %3825) #13
  %3827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3828 = trunc nuw i8 %3827 to i1
  br i1 %3828, label %3829, label %3833

3829:                                             ; preds = %3823
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @fileno(ptr noundef %3830) #13
  %3832 = call i32 @isatty(i32 noundef %3831) #13
  %.not1459 = icmp eq i32 %3832, 0
  br i1 %.not1459, label %3833, label %3834

3833:                                             ; preds = %3829, %3823
  br label %3834

3834:                                             ; preds = %3829, %3833
  %.str.5.sink2889 = phi ptr [ @.str.5, %3833 ], [ @.str.2, %3829 ]
  store i32 %3824, ptr %684, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = load i32, ptr %630, align 4, !tbaa !5
  %3838 = call ptr @s2n_strerror(i32 noundef %3837, ptr noundef nonnull @.str.4) #13
  %3839 = load i32, ptr %630, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror_debug(i32 noundef %3839, ptr noundef nonnull @.str.4) #13
  %3841 = load i32, ptr %684, align 4, !tbaa !5
  %3842 = call ptr @strerror(i32 noundef %3841) #13
  %3843 = load i32, ptr %684, align 4, !tbaa !5
  %3844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3835, ptr noundef nonnull %.str.5.sink2889, i32 noundef %3836, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %3838, ptr noundef %3840, ptr noundef %3842, i32 noundef %3843) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3845:                                             ; preds = %3818
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = add nsw i32 %3846, 1
  store i32 %3847, ptr @test_count, align 4, !tbaa !5
  %3848 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %3739) #13
  %3849 = icmp eq i32 %3848, -1
  br i1 %3849, label %3850, label %3872

3850:                                             ; preds = %3845
  %3851 = load i32, ptr %684, align 4, !tbaa !5
  %3852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3853 = call i32 @s2n_print_stacktrace(ptr noundef %3852) #13
  %3854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3855 = trunc nuw i8 %3854 to i1
  br i1 %3855, label %3856, label %3860

3856:                                             ; preds = %3850
  %3857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3858 = call i32 @fileno(ptr noundef %3857) #13
  %3859 = call i32 @isatty(i32 noundef %3858) #13
  %.not1458 = icmp eq i32 %3859, 0
  br i1 %.not1458, label %3860, label %3861

3860:                                             ; preds = %3856, %3850
  br label %3861

3861:                                             ; preds = %3856, %3860
  %.str.5.sink2898 = phi ptr [ @.str.5, %3860 ], [ @.str.2, %3856 ]
  store i32 %3851, ptr %684, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = load i32, ptr %630, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef nonnull @.str.4) #13
  %3866 = load i32, ptr %630, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef nonnull @.str.4) #13
  %3868 = load i32, ptr %684, align 4, !tbaa !5
  %3869 = call ptr @strerror(i32 noundef %3868) #13
  %3870 = load i32, ptr %684, align 4, !tbaa !5
  %3871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef nonnull %.str.5.sink2898, i32 noundef %3863, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %3865, ptr noundef %3867, ptr noundef %3869, i32 noundef %3870) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3872:                                             ; preds = %3845
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = add nsw i32 %3873, 1
  store i32 %3874, ptr @test_count, align 4, !tbaa !5
  %3875 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1883) #13
  %3876 = icmp eq i32 %3875, -1
  br i1 %3876, label %3877, label %3899

3877:                                             ; preds = %3872
  %3878 = load i32, ptr %684, align 4, !tbaa !5
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @s2n_print_stacktrace(ptr noundef %3879) #13
  %3881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3882 = trunc nuw i8 %3881 to i1
  br i1 %3882, label %3883, label %3887

3883:                                             ; preds = %3877
  %3884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3885 = call i32 @fileno(ptr noundef %3884) #13
  %3886 = call i32 @isatty(i32 noundef %3885) #13
  %.not1457 = icmp eq i32 %3886, 0
  br i1 %.not1457, label %3887, label %3888

3887:                                             ; preds = %3883, %3877
  br label %3888

3888:                                             ; preds = %3883, %3887
  %.str.5.sink2907 = phi ptr [ @.str.5, %3887 ], [ @.str.2, %3883 ]
  store i32 %3878, ptr %684, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = load i32, ptr @test_count, align 4, !tbaa !5
  %3891 = load i32, ptr %630, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror(i32 noundef %3891, ptr noundef nonnull @.str.4) #13
  %3893 = load i32, ptr %630, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror_debug(i32 noundef %3893, ptr noundef nonnull @.str.4) #13
  %3895 = load i32, ptr %684, align 4, !tbaa !5
  %3896 = call ptr @strerror(i32 noundef %3895) #13
  %3897 = load i32, ptr %684, align 4, !tbaa !5
  %3898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3889, ptr noundef nonnull %.str.5.sink2907, i32 noundef %3890, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %3892, ptr noundef %3894, ptr noundef %3896, i32 noundef %3897) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3899:                                             ; preds = %3872
  %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_connection_wipe(ptr noundef nonnull %1910) #13
  %3903 = icmp eq i32 %3902, -1
  br i1 %3903, label %3904, label %3926

3904:                                             ; preds = %3899
  %3905 = load i32, ptr %684, align 4, !tbaa !5
  %3906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3907 = call i32 @s2n_print_stacktrace(ptr noundef %3906) #13
  %3908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3909 = trunc nuw i8 %3908 to i1
  br i1 %3909, label %3910, label %3914

3910:                                             ; preds = %3904
  %3911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3912 = call i32 @fileno(ptr noundef %3911) #13
  %3913 = call i32 @isatty(i32 noundef %3912) #13
  %.not1456 = icmp eq i32 %3913, 0
  br i1 %.not1456, label %3914, label %3915

3914:                                             ; preds = %3910, %3904
  br label %3915

3915:                                             ; preds = %3910, %3914
  %.str.5.sink2916 = phi ptr [ @.str.5, %3914 ], [ @.str.2, %3910 ]
  store i32 %3905, ptr %684, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = load i32, ptr %630, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror(i32 noundef %3918, ptr noundef nonnull @.str.4) #13
  %3920 = load i32, ptr %630, align 4, !tbaa !5
  %3921 = call ptr @s2n_strerror_debug(i32 noundef %3920, ptr noundef nonnull @.str.4) #13
  %3922 = load i32, ptr %684, align 4, !tbaa !5
  %3923 = call ptr @strerror(i32 noundef %3922) #13
  %3924 = load i32, ptr %684, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef nonnull %.str.5.sink2916, i32 noundef %3917, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %3919, ptr noundef %3921, ptr noundef %3923, i32 noundef %3924) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3926:                                             ; preds = %3899
  %3927 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1163 = icmp eq i8 %3927, 0
  br i1 %.not1163, label %4358, label %3928

3928:                                             ; preds = %3926
  %3929 = load i32, ptr @test_count, align 4, !tbaa !5
  %3930 = add nsw i32 %3929, 1
  store i32 %3930, ptr @test_count, align 4, !tbaa !5
  %3931 = load ptr, ptr %14, align 8, !tbaa !9
  %3932 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %3931, ptr noundef nonnull %3, i32 noundef 10) #13
  %3933 = icmp eq i32 %3932, -1
  br i1 %3933, label %3934, label %3956

3934:                                             ; preds = %3928
  %3935 = load i32, ptr %684, align 4, !tbaa !5
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = call i32 @s2n_print_stacktrace(ptr noundef %3936) #13
  %3938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3939 = trunc nuw i8 %3938 to i1
  br i1 %3939, label %3940, label %3944

3940:                                             ; preds = %3934
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = call i32 @fileno(ptr noundef %3941) #13
  %3943 = call i32 @isatty(i32 noundef %3942) #13
  %.not1455 = icmp eq i32 %3943, 0
  br i1 %.not1455, label %3944, label %3945

3944:                                             ; preds = %3940, %3934
  br label %3945

3945:                                             ; preds = %3940, %3944
  %.str.5.sink2925 = phi ptr [ @.str.5, %3944 ], [ @.str.2, %3940 ]
  store i32 %3935, ptr %684, align 4, !tbaa !5
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = load i32, ptr @test_count, align 4, !tbaa !5
  %3948 = load i32, ptr %630, align 4, !tbaa !5
  %3949 = call ptr @s2n_strerror(i32 noundef %3948, ptr noundef nonnull @.str.4) #13
  %3950 = load i32, ptr %630, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror_debug(i32 noundef %3950, ptr noundef nonnull @.str.4) #13
  %3952 = load i32, ptr %684, align 4, !tbaa !5
  %3953 = call ptr @strerror(i32 noundef %3952) #13
  %3954 = load i32, ptr %684, align 4, !tbaa !5
  %3955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3946, ptr noundef nonnull %.str.5.sink2925, i32 noundef %3947, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %3949, ptr noundef %3951, ptr noundef %3953, i32 noundef %3954) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3956:                                             ; preds = %3928
  %3957 = load i32, ptr @test_count, align 4, !tbaa !5
  %3958 = add nsw i32 %3957, 1
  store i32 %3958, ptr @test_count, align 4, !tbaa !5
  %3959 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %2206, i32 noundef 1) #13
  %3960 = icmp eq i32 %3959, -1
  br i1 %3960, label %3961, label %3983

3961:                                             ; preds = %3956
  %3962 = load i32, ptr %684, align 4, !tbaa !5
  %3963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3964 = call i32 @s2n_print_stacktrace(ptr noundef %3963) #13
  %3965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3966 = trunc nuw i8 %3965 to i1
  br i1 %3966, label %3967, label %3971

3967:                                             ; preds = %3961
  %3968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3969 = call i32 @fileno(ptr noundef %3968) #13
  %3970 = call i32 @isatty(i32 noundef %3969) #13
  %.not1454 = icmp eq i32 %3970, 0
  br i1 %.not1454, label %3971, label %3972

3971:                                             ; preds = %3967, %3961
  br label %3972

3972:                                             ; preds = %3967, %3971
  %.str.5.sink2934 = phi ptr [ @.str.5, %3971 ], [ @.str.2, %3967 ]
  store i32 %3962, ptr %684, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = load i32, ptr @test_count, align 4, !tbaa !5
  %3975 = load i32, ptr %630, align 4, !tbaa !5
  %3976 = call ptr @s2n_strerror(i32 noundef %3975, ptr noundef nonnull @.str.4) #13
  %3977 = load i32, ptr %630, align 4, !tbaa !5
  %3978 = call ptr @s2n_strerror_debug(i32 noundef %3977, ptr noundef nonnull @.str.4) #13
  %3979 = load i32, ptr %684, align 4, !tbaa !5
  %3980 = call ptr @strerror(i32 noundef %3979) #13
  %3981 = load i32, ptr %684, align 4, !tbaa !5
  %3982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3973, ptr noundef nonnull %.str.5.sink2934, i32 noundef %3974, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %3976, ptr noundef %3978, ptr noundef %3980, i32 noundef %3981) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3983:                                             ; preds = %3956
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = add nsw i32 %3984, 1
  store i32 %3985, ptr @test_count, align 4, !tbaa !5
  %3986 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1910, ptr noundef nonnull %1989) #13
  %3987 = icmp eq i32 %3986, -1
  br i1 %3987, label %3988, label %4010

3988:                                             ; preds = %3983
  %3989 = load i32, ptr %684, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @s2n_print_stacktrace(ptr noundef %3990) #13
  %3992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3993 = trunc nuw i8 %3992 to i1
  br i1 %3993, label %3994, label %3998

3994:                                             ; preds = %3988
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = call i32 @fileno(ptr noundef %3995) #13
  %3997 = call i32 @isatty(i32 noundef %3996) #13
  %.not1453 = icmp eq i32 %3997, 0
  br i1 %.not1453, label %3998, label %3999

3998:                                             ; preds = %3994, %3988
  br label %3999

3999:                                             ; preds = %3994, %3998
  %.str.5.sink2943 = phi ptr [ @.str.5, %3998 ], [ @.str.2, %3994 ]
  store i32 %3989, ptr %684, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = load i32, ptr @test_count, align 4, !tbaa !5
  %4002 = load i32, ptr %630, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror(i32 noundef %4002, ptr noundef nonnull @.str.4) #13
  %4004 = load i32, ptr %630, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror_debug(i32 noundef %4004, ptr noundef nonnull @.str.4) #13
  %4006 = load i32, ptr %684, align 4, !tbaa !5
  %4007 = call ptr @strerror(i32 noundef %4006) #13
  %4008 = load i32, ptr %684, align 4, !tbaa !5
  %4009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4000, ptr noundef nonnull %.str.5.sink2943, i32 noundef %4001, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %4003, ptr noundef %4005, ptr noundef %4007, i32 noundef %4008) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4010:                                             ; preds = %3983
  %4011 = load i32, ptr @test_count, align 4, !tbaa !5
  %4012 = add nsw i32 %4011, 1
  store i32 %4012, ptr @test_count, align 4, !tbaa !5
  %4013 = load i8, ptr %2478, align 8, !tbaa !33
  %4014 = icmp eq i8 %4013, 1
  br i1 %4014, label %4037, label %4015

4015:                                             ; preds = %4010
  %4016 = load i32, ptr %684, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = call i32 @s2n_print_stacktrace(ptr noundef %4017) #13
  %4019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4020 = trunc nuw i8 %4019 to i1
  br i1 %4020, label %4021, label %4025

4021:                                             ; preds = %4015
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4023 = call i32 @fileno(ptr noundef %4022) #13
  %4024 = call i32 @isatty(i32 noundef %4023) #13
  %.not1164 = icmp eq i32 %4024, 0
  br i1 %.not1164, label %4025, label %4026

4025:                                             ; preds = %4021, %4015
  br label %4026

4026:                                             ; preds = %4021, %4025
  %.str.5.sink2952 = phi ptr [ @.str.5, %4025 ], [ @.str.2, %4021 ]
  store i32 %4016, ptr %684, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = load i32, ptr @test_count, align 4, !tbaa !5
  %4029 = load i32, ptr %630, align 4, !tbaa !5
  %4030 = call ptr @s2n_strerror(i32 noundef %4029, ptr noundef nonnull @.str.4) #13
  %4031 = load i32, ptr %630, align 4, !tbaa !5
  %4032 = call ptr @s2n_strerror_debug(i32 noundef %4031, ptr noundef nonnull @.str.4) #13
  %4033 = load i32, ptr %684, align 4, !tbaa !5
  %4034 = call ptr @strerror(i32 noundef %4033) #13
  %4035 = load i32, ptr %684, align 4, !tbaa !5
  %4036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4027, ptr noundef nonnull %.str.5.sink2952, i32 noundef %4028, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4030, ptr noundef %4032, ptr noundef %4034, i32 noundef %4035) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4037:                                             ; preds = %4010
  %4038 = add nsw i32 %4011, 2
  store i32 %4038, ptr @test_count, align 4, !tbaa !5
  %4039 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1883, ptr noundef nonnull %2206) #13
  %4040 = icmp eq i32 %4039, -1
  br i1 %4040, label %4041, label %4063

4041:                                             ; preds = %4037
  %4042 = load i32, ptr %684, align 4, !tbaa !5
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = call i32 @s2n_print_stacktrace(ptr noundef %4043) #13
  %4045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4046 = trunc nuw i8 %4045 to i1
  br i1 %4046, label %4047, label %4051

4047:                                             ; preds = %4041
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = call i32 @fileno(ptr noundef %4048) #13
  %4050 = call i32 @isatty(i32 noundef %4049) #13
  %.not1452 = icmp eq i32 %4050, 0
  br i1 %.not1452, label %4051, label %4052

4051:                                             ; preds = %4047, %4041
  br label %4052

4052:                                             ; preds = %4047, %4051
  %.str.5.sink2961 = phi ptr [ @.str.5, %4051 ], [ @.str.2, %4047 ]
  store i32 %4042, ptr %684, align 4, !tbaa !5
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = load i32, ptr %630, align 4, !tbaa !5
  %4056 = call ptr @s2n_strerror(i32 noundef %4055, ptr noundef nonnull @.str.4) #13
  %4057 = load i32, ptr %630, align 4, !tbaa !5
  %4058 = call ptr @s2n_strerror_debug(i32 noundef %4057, ptr noundef nonnull @.str.4) #13
  %4059 = load i32, ptr %684, align 4, !tbaa !5
  %4060 = call ptr @strerror(i32 noundef %4059) #13
  %4061 = load i32, ptr %684, align 4, !tbaa !5
  %4062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4053, ptr noundef nonnull %.str.5.sink2961, i32 noundef %4054, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %4056, ptr noundef %4058, ptr noundef %4060, i32 noundef %4061) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4063:                                             ; preds = %4037
  %4064 = load i32, ptr @test_count, align 4, !tbaa !5
  %4065 = add nsw i32 %4064, 1
  store i32 %4065, ptr @test_count, align 4, !tbaa !5
  %4066 = load i8, ptr %2424, align 8, !tbaa !33
  %4067 = icmp eq i8 %4066, 0
  br i1 %4067, label %4090, label %4068

4068:                                             ; preds = %4063
  %4069 = load i32, ptr %684, align 4, !tbaa !5
  %4070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4071 = call i32 @s2n_print_stacktrace(ptr noundef %4070) #13
  %4072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4073 = trunc nuw i8 %4072 to i1
  br i1 %4073, label %4074, label %4078

4074:                                             ; preds = %4068
  %4075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4076 = call i32 @fileno(ptr noundef %4075) #13
  %4077 = call i32 @isatty(i32 noundef %4076) #13
  %.not1165 = icmp eq i32 %4077, 0
  br i1 %.not1165, label %4078, label %4079

4078:                                             ; preds = %4074, %4068
  br label %4079

4079:                                             ; preds = %4074, %4078
  %.str.5.sink2970 = phi ptr [ @.str.5, %4078 ], [ @.str.2, %4074 ]
  store i32 %4069, ptr %684, align 4, !tbaa !5
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = load i32, ptr @test_count, align 4, !tbaa !5
  %4082 = load i32, ptr %630, align 4, !tbaa !5
  %4083 = call ptr @s2n_strerror(i32 noundef %4082, ptr noundef nonnull @.str.4) #13
  %4084 = load i32, ptr %630, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror_debug(i32 noundef %4084, ptr noundef nonnull @.str.4) #13
  %4086 = load i32, ptr %684, align 4, !tbaa !5
  %4087 = call ptr @strerror(i32 noundef %4086) #13
  %4088 = load i32, ptr %684, align 4, !tbaa !5
  %4089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4080, ptr noundef nonnull %.str.5.sink2970, i32 noundef %4081, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %4083, ptr noundef %4085, ptr noundef %4087, i32 noundef %4088) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4090:                                             ; preds = %4063
  %4091 = add nsw i32 %4064, 2
  store i32 %4091, ptr @test_count, align 4, !tbaa !5
  %4092 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %1883, ptr noundef nonnull %1910, ptr noundef nonnull %13) #13
  %4093 = icmp eq i32 %4092, -1
  br i1 %4093, label %4094, label %4116

4094:                                             ; preds = %4090
  %4095 = load i32, ptr %684, align 4, !tbaa !5
  %4096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4097 = call i32 @s2n_print_stacktrace(ptr noundef %4096) #13
  %4098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4099 = trunc nuw i8 %4098 to i1
  br i1 %4099, label %4100, label %4104

4100:                                             ; preds = %4094
  %4101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4102 = call i32 @fileno(ptr noundef %4101) #13
  %4103 = call i32 @isatty(i32 noundef %4102) #13
  %.not1451 = icmp eq i32 %4103, 0
  br i1 %.not1451, label %4104, label %4105

4104:                                             ; preds = %4100, %4094
  br label %4105

4105:                                             ; preds = %4100, %4104
  %.str.5.sink2979 = phi ptr [ @.str.5, %4104 ], [ @.str.2, %4100 ]
  store i32 %4095, ptr %684, align 4, !tbaa !5
  %4106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4107 = load i32, ptr @test_count, align 4, !tbaa !5
  %4108 = load i32, ptr %630, align 4, !tbaa !5
  %4109 = call ptr @s2n_strerror(i32 noundef %4108, ptr noundef nonnull @.str.4) #13
  %4110 = load i32, ptr %630, align 4, !tbaa !5
  %4111 = call ptr @s2n_strerror_debug(i32 noundef %4110, ptr noundef nonnull @.str.4) #13
  %4112 = load i32, ptr %684, align 4, !tbaa !5
  %4113 = call ptr @strerror(i32 noundef %4112) #13
  %4114 = load i32, ptr %684, align 4, !tbaa !5
  %4115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4106, ptr noundef nonnull %.str.5.sink2979, i32 noundef %4107, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4109, ptr noundef %4111, ptr noundef %4113, i32 noundef %4114) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4116:                                             ; preds = %4090
  %4117 = load i32, ptr @test_count, align 4, !tbaa !5
  %4118 = add nsw i32 %4117, 1
  store i32 %4118, ptr @test_count, align 4, !tbaa !5
  %4119 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %4120 = icmp eq i32 %4119, -1
  br i1 %4120, label %4121, label %4143

4121:                                             ; preds = %4116
  %4122 = load i32, ptr %684, align 4, !tbaa !5
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = call i32 @s2n_print_stacktrace(ptr noundef %4123) #13
  %4125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4126 = trunc nuw i8 %4125 to i1
  br i1 %4126, label %4127, label %4131

4127:                                             ; preds = %4121
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @fileno(ptr noundef %4128) #13
  %4130 = call i32 @isatty(i32 noundef %4129) #13
  %.not1450 = icmp eq i32 %4130, 0
  br i1 %.not1450, label %4131, label %4132

4131:                                             ; preds = %4127, %4121
  br label %4132

4132:                                             ; preds = %4127, %4131
  %.str.5.sink2988 = phi ptr [ @.str.5, %4131 ], [ @.str.2, %4127 ]
  store i32 %4122, ptr %684, align 4, !tbaa !5
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = load i32, ptr @test_count, align 4, !tbaa !5
  %4135 = load i32, ptr %630, align 4, !tbaa !5
  %4136 = call ptr @s2n_strerror(i32 noundef %4135, ptr noundef nonnull @.str.4) #13
  %4137 = load i32, ptr %630, align 4, !tbaa !5
  %4138 = call ptr @s2n_strerror_debug(i32 noundef %4137, ptr noundef nonnull @.str.4) #13
  %4139 = load i32, ptr %684, align 4, !tbaa !5
  %4140 = call ptr @strerror(i32 noundef %4139) #13
  %4141 = load i32, ptr %684, align 4, !tbaa !5
  %4142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4133, ptr noundef nonnull %.str.5.sink2988, i32 noundef %4134, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %4136, ptr noundef %4138, ptr noundef %4140, i32 noundef %4141) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4143:                                             ; preds = %4116
  %4144 = load i32, ptr @test_count, align 4, !tbaa !5
  %4145 = add nsw i32 %4144, 1
  store i32 %4145, ptr @test_count, align 4, !tbaa !5
  %4146 = load i32, ptr %2586, align 8, !tbaa !58
  %4147 = icmp eq i32 %4146, 5
  br i1 %4147, label %4170, label %4148

4148:                                             ; preds = %4143
  %4149 = load i32, ptr %684, align 4, !tbaa !5
  %4150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4151 = call i32 @s2n_print_stacktrace(ptr noundef %4150) #13
  %4152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4153 = trunc nuw i8 %4152 to i1
  br i1 %4153, label %4154, label %4158

4154:                                             ; preds = %4148
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = call i32 @fileno(ptr noundef %4155) #13
  %4157 = call i32 @isatty(i32 noundef %4156) #13
  %.not1166 = icmp eq i32 %4157, 0
  br i1 %.not1166, label %4158, label %4159

4158:                                             ; preds = %4154, %4148
  br label %4159

4159:                                             ; preds = %4154, %4158
  %.str.5.sink2997 = phi ptr [ @.str.5, %4158 ], [ @.str.2, %4154 ]
  store i32 %4149, ptr %684, align 4, !tbaa !5
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = load i32, ptr @test_count, align 4, !tbaa !5
  %4162 = load i32, ptr %630, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror(i32 noundef %4162, ptr noundef nonnull @.str.4) #13
  %4164 = load i32, ptr %630, align 4, !tbaa !5
  %4165 = call ptr @s2n_strerror_debug(i32 noundef %4164, ptr noundef nonnull @.str.4) #13
  %4166 = load i32, ptr %684, align 4, !tbaa !5
  %4167 = call ptr @strerror(i32 noundef %4166) #13
  %4168 = load i32, ptr %684, align 4, !tbaa !5
  %4169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4160, ptr noundef nonnull %.str.5.sink2997, i32 noundef %4161, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %4163, ptr noundef %4165, ptr noundef %4167, i32 noundef %4168) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4170:                                             ; preds = %4143
  %4171 = call ptr @s2n_cert_chain_and_key_new() #13
  %4172 = load i32, ptr @test_count, align 4, !tbaa !5
  %4173 = add nsw i32 %4172, 1
  store i32 %4173, ptr @test_count, align 4, !tbaa !5
  %4174 = icmp eq ptr %4171, null
  br i1 %4174, label %4175, label %4197

4175:                                             ; preds = %4170
  %4176 = load i32, ptr %684, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = call i32 @s2n_print_stacktrace(ptr noundef %4177) #13
  %4179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4180 = trunc nuw i8 %4179 to i1
  br i1 %4180, label %4181, label %4185

4181:                                             ; preds = %4175
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = call i32 @fileno(ptr noundef %4182) #13
  %4184 = call i32 @isatty(i32 noundef %4183) #13
  %.not1449 = icmp eq i32 %4184, 0
  br i1 %.not1449, label %4185, label %4186

4185:                                             ; preds = %4181, %4175
  br label %4186

4186:                                             ; preds = %4181, %4185
  %.str.5.sink3006 = phi ptr [ @.str.5, %4185 ], [ @.str.2, %4181 ]
  store i32 %4176, ptr %684, align 4, !tbaa !5
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = load i32, ptr %630, align 4, !tbaa !5
  %4190 = call ptr @s2n_strerror(i32 noundef %4189, ptr noundef nonnull @.str.4) #13
  %4191 = load i32, ptr %630, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror_debug(i32 noundef %4191, ptr noundef nonnull @.str.4) #13
  %4193 = load i32, ptr %684, align 4, !tbaa !5
  %4194 = call ptr @strerror(i32 noundef %4193) #13
  %4195 = load i32, ptr %684, align 4, !tbaa !5
  %4196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4187, ptr noundef nonnull %.str.5.sink3006, i32 noundef %4188, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %4190, ptr noundef %4192, ptr noundef %4194, i32 noundef %4195) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4197:                                             ; preds = %4170
  %4198 = add nsw i32 %4172, 2
  store i32 %4198, ptr @test_count, align 4, !tbaa !5
  %4199 = call i32 @s2n_connection_get_peer_cert_chain(ptr noundef nonnull %1883, ptr noundef nonnull %4171) #13
  %4200 = icmp eq i32 %4199, -1
  br i1 %4200, label %4201, label %4223

4201:                                             ; preds = %4197
  %4202 = load i32, ptr %684, align 4, !tbaa !5
  %4203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4204 = call i32 @s2n_print_stacktrace(ptr noundef %4203) #13
  %4205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4206 = trunc nuw i8 %4205 to i1
  br i1 %4206, label %4207, label %4211

4207:                                             ; preds = %4201
  %4208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4209 = call i32 @fileno(ptr noundef %4208) #13
  %4210 = call i32 @isatty(i32 noundef %4209) #13
  %.not1448 = icmp eq i32 %4210, 0
  br i1 %.not1448, label %4211, label %4212

4211:                                             ; preds = %4207, %4201
  br label %4212

4212:                                             ; preds = %4207, %4211
  %.str.5.sink3015 = phi ptr [ @.str.5, %4211 ], [ @.str.2, %4207 ]
  store i32 %4202, ptr %684, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = load i32, ptr %630, align 4, !tbaa !5
  %4216 = call ptr @s2n_strerror(i32 noundef %4215, ptr noundef nonnull @.str.4) #13
  %4217 = load i32, ptr %630, align 4, !tbaa !5
  %4218 = call ptr @s2n_strerror_debug(i32 noundef %4217, ptr noundef nonnull @.str.4) #13
  %4219 = load i32, ptr %684, align 4, !tbaa !5
  %4220 = call ptr @strerror(i32 noundef %4219) #13
  %4221 = load i32, ptr %684, align 4, !tbaa !5
  %4222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4213, ptr noundef nonnull %.str.5.sink3015, i32 noundef %4214, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %4216, ptr noundef %4218, ptr noundef %4220, i32 noundef %4221) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4223:                                             ; preds = %4197
  %4224 = load i32, ptr @test_count, align 4, !tbaa !5
  %4225 = add nsw i32 %4224, 1
  store i32 %4225, ptr @test_count, align 4, !tbaa !5
  %4226 = call i32 @s2n_compare_cert_chain(ptr noundef nonnull %1883, ptr noundef nonnull %4171)
  %4227 = call zeroext i1 @s2n_result_is_ok(i32 %4226)
  br i1 %4227, label %4250, label %4228

4228:                                             ; preds = %4223
  %4229 = load i32, ptr %684, align 4, !tbaa !5
  %4230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4231 = call i32 @s2n_print_stacktrace(ptr noundef %4230) #13
  %4232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4233 = trunc nuw i8 %4232 to i1
  br i1 %4233, label %4234, label %4238

4234:                                             ; preds = %4228
  %4235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4236 = call i32 @fileno(ptr noundef %4235) #13
  %4237 = call i32 @isatty(i32 noundef %4236) #13
  %.not1167 = icmp eq i32 %4237, 0
  br i1 %.not1167, label %4238, label %4239

4238:                                             ; preds = %4234, %4228
  br label %4239

4239:                                             ; preds = %4234, %4238
  %.str.5.sink3024 = phi ptr [ @.str.5, %4238 ], [ @.str.2, %4234 ]
  store i32 %4229, ptr %684, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = load i32, ptr @test_count, align 4, !tbaa !5
  %4242 = load i32, ptr %630, align 4, !tbaa !5
  %4243 = call ptr @s2n_strerror(i32 noundef %4242, ptr noundef nonnull @.str.4) #13
  %4244 = load i32, ptr %630, align 4, !tbaa !5
  %4245 = call ptr @s2n_strerror_debug(i32 noundef %4244, ptr noundef nonnull @.str.4) #13
  %4246 = load i32, ptr %684, align 4, !tbaa !5
  %4247 = call ptr @strerror(i32 noundef %4246) #13
  %4248 = load i32, ptr %684, align 4, !tbaa !5
  %4249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4240, ptr noundef nonnull %.str.5.sink3024, i32 noundef %4241, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %4243, ptr noundef %4245, ptr noundef %4247, i32 noundef %4248) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4250:                                             ; preds = %4223
  %4251 = load i32, ptr @test_count, align 4, !tbaa !5
  %4252 = add nsw i32 %4251, 1
  store i32 %4252, ptr @test_count, align 4, !tbaa !5
  %4253 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %1910, ptr noundef nonnull %1883) #13
  %4254 = icmp eq i32 %4253, -1
  br i1 %4254, label %4255, label %4277

4255:                                             ; preds = %4250
  %4256 = load i32, ptr %684, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = call i32 @s2n_print_stacktrace(ptr noundef %4257) #13
  %4259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4260 = trunc nuw i8 %4259 to i1
  br i1 %4260, label %4261, label %4265

4261:                                             ; preds = %4255
  %4262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4263 = call i32 @fileno(ptr noundef %4262) #13
  %4264 = call i32 @isatty(i32 noundef %4263) #13
  %.not1447 = icmp eq i32 %4264, 0
  br i1 %.not1447, label %4265, label %4266

4265:                                             ; preds = %4261, %4255
  br label %4266

4266:                                             ; preds = %4261, %4265
  %.str.5.sink3033 = phi ptr [ @.str.5, %4265 ], [ @.str.2, %4261 ]
  store i32 %4256, ptr %684, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = load i32, ptr @test_count, align 4, !tbaa !5
  %4269 = load i32, ptr %630, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror(i32 noundef %4269, ptr noundef nonnull @.str.4) #13
  %4271 = load i32, ptr %630, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror_debug(i32 noundef %4271, ptr noundef nonnull @.str.4) #13
  %4273 = load i32, ptr %684, align 4, !tbaa !5
  %4274 = call ptr @strerror(i32 noundef %4273) #13
  %4275 = load i32, ptr %684, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4267, ptr noundef nonnull %.str.5.sink3033, i32 noundef %4268, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %4270, ptr noundef %4272, ptr noundef %4274, i32 noundef %4275) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4277:                                             ; preds = %4250
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = add nsw i32 %4278, 1
  store i32 %4279, ptr @test_count, align 4, !tbaa !5
  %4280 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %4171) #13
  %4281 = icmp eq i32 %4280, -1
  br i1 %4281, label %4282, label %4304

4282:                                             ; preds = %4277
  %4283 = load i32, ptr %684, align 4, !tbaa !5
  %4284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4285 = call i32 @s2n_print_stacktrace(ptr noundef %4284) #13
  %4286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4287 = trunc nuw i8 %4286 to i1
  br i1 %4287, label %4288, label %4292

4288:                                             ; preds = %4282
  %4289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4290 = call i32 @fileno(ptr noundef %4289) #13
  %4291 = call i32 @isatty(i32 noundef %4290) #13
  %.not1446 = icmp eq i32 %4291, 0
  br i1 %.not1446, label %4292, label %4293

4292:                                             ; preds = %4288, %4282
  br label %4293

4293:                                             ; preds = %4288, %4292
  %.str.5.sink3042 = phi ptr [ @.str.5, %4292 ], [ @.str.2, %4288 ]
  store i32 %4283, ptr %684, align 4, !tbaa !5
  %4294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4295 = load i32, ptr @test_count, align 4, !tbaa !5
  %4296 = load i32, ptr %630, align 4, !tbaa !5
  %4297 = call ptr @s2n_strerror(i32 noundef %4296, ptr noundef nonnull @.str.4) #13
  %4298 = load i32, ptr %630, align 4, !tbaa !5
  %4299 = call ptr @s2n_strerror_debug(i32 noundef %4298, ptr noundef nonnull @.str.4) #13
  %4300 = load i32, ptr %684, align 4, !tbaa !5
  %4301 = call ptr @strerror(i32 noundef %4300) #13
  %4302 = load i32, ptr %684, align 4, !tbaa !5
  %4303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4294, ptr noundef nonnull %.str.5.sink3042, i32 noundef %4295, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %4297, ptr noundef %4299, ptr noundef %4301, i32 noundef %4302) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4304:                                             ; preds = %4277
  %4305 = load i32, ptr @test_count, align 4, !tbaa !5
  %4306 = add nsw i32 %4305, 1
  store i32 %4306, ptr @test_count, align 4, !tbaa !5
  %4307 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1883) #13
  %4308 = icmp eq i32 %4307, -1
  br i1 %4308, label %4309, label %4331

4309:                                             ; preds = %4304
  %4310 = load i32, ptr %684, align 4, !tbaa !5
  %4311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4312 = call i32 @s2n_print_stacktrace(ptr noundef %4311) #13
  %4313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4314 = trunc nuw i8 %4313 to i1
  br i1 %4314, label %4315, label %4319

4315:                                             ; preds = %4309
  %4316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4317 = call i32 @fileno(ptr noundef %4316) #13
  %4318 = call i32 @isatty(i32 noundef %4317) #13
  %.not1445 = icmp eq i32 %4318, 0
  br i1 %.not1445, label %4319, label %4320

4319:                                             ; preds = %4315, %4309
  br label %4320

4320:                                             ; preds = %4315, %4319
  %.str.5.sink3051 = phi ptr [ @.str.5, %4319 ], [ @.str.2, %4315 ]
  store i32 %4310, ptr %684, align 4, !tbaa !5
  %4321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4322 = load i32, ptr @test_count, align 4, !tbaa !5
  %4323 = load i32, ptr %630, align 4, !tbaa !5
  %4324 = call ptr @s2n_strerror(i32 noundef %4323, ptr noundef nonnull @.str.4) #13
  %4325 = load i32, ptr %630, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror_debug(i32 noundef %4325, ptr noundef nonnull @.str.4) #13
  %4327 = load i32, ptr %684, align 4, !tbaa !5
  %4328 = call ptr @strerror(i32 noundef %4327) #13
  %4329 = load i32, ptr %684, align 4, !tbaa !5
  %4330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4321, ptr noundef nonnull %.str.5.sink3051, i32 noundef %4322, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %4324, ptr noundef %4326, ptr noundef %4328, i32 noundef %4329) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4331:                                             ; preds = %4304
  %4332 = load i32, ptr @test_count, align 4, !tbaa !5
  %4333 = add nsw i32 %4332, 1
  store i32 %4333, ptr @test_count, align 4, !tbaa !5
  %4334 = call i32 @s2n_connection_wipe(ptr noundef nonnull %1910) #13
  %4335 = icmp eq i32 %4334, -1
  br i1 %4335, label %4336, label %4358

4336:                                             ; preds = %4331
  %4337 = load i32, ptr %684, align 4, !tbaa !5
  %4338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4339 = call i32 @s2n_print_stacktrace(ptr noundef %4338) #13
  %4340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4341 = trunc nuw i8 %4340 to i1
  br i1 %4341, label %4342, label %4346

4342:                                             ; preds = %4336
  %4343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4344 = call i32 @fileno(ptr noundef %4343) #13
  %4345 = call i32 @isatty(i32 noundef %4344) #13
  %.not1444 = icmp eq i32 %4345, 0
  br i1 %.not1444, label %4346, label %4347

4346:                                             ; preds = %4342, %4336
  br label %4347

4347:                                             ; preds = %4342, %4346
  %.str.5.sink3060 = phi ptr [ @.str.5, %4346 ], [ @.str.2, %4342 ]
  store i32 %4337, ptr %684, align 4, !tbaa !5
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = load i32, ptr @test_count, align 4, !tbaa !5
  %4350 = load i32, ptr %630, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror(i32 noundef %4350, ptr noundef nonnull @.str.4) #13
  %4352 = load i32, ptr %630, align 4, !tbaa !5
  %4353 = call ptr @s2n_strerror_debug(i32 noundef %4352, ptr noundef nonnull @.str.4) #13
  %4354 = load i32, ptr %684, align 4, !tbaa !5
  %4355 = call ptr @strerror(i32 noundef %4354) #13
  %4356 = load i32, ptr %684, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4348, ptr noundef nonnull %.str.5.sink3060, i32 noundef %4349, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4351, ptr noundef %4353, ptr noundef %4355, i32 noundef %4356) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4358:                                             ; preds = %4331, %3926
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = add nsw i32 %4359, 1
  store i32 %4360, ptr @test_count, align 4, !tbaa !5
  %4361 = call i32 @s2n_config_free(ptr noundef nonnull %1989) #13
  %4362 = icmp eq i32 %4361, -1
  br i1 %4362, label %4363, label %4385

4363:                                             ; preds = %4358
  %4364 = load i32, ptr %684, align 4, !tbaa !5
  %4365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4366 = call i32 @s2n_print_stacktrace(ptr noundef %4365) #13
  %4367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4368 = trunc nuw i8 %4367 to i1
  br i1 %4368, label %4369, label %4373

4369:                                             ; preds = %4363
  %4370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4371 = call i32 @fileno(ptr noundef %4370) #13
  %4372 = call i32 @isatty(i32 noundef %4371) #13
  %.not1443 = icmp eq i32 %4372, 0
  br i1 %.not1443, label %4373, label %4374

4373:                                             ; preds = %4369, %4363
  br label %4374

4374:                                             ; preds = %4369, %4373
  %.str.5.sink3069 = phi ptr [ @.str.5, %4373 ], [ @.str.2, %4369 ]
  store i32 %4364, ptr %684, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = load i32, ptr %630, align 4, !tbaa !5
  %4378 = call ptr @s2n_strerror(i32 noundef %4377, ptr noundef nonnull @.str.4) #13
  %4379 = load i32, ptr %630, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror_debug(i32 noundef %4379, ptr noundef nonnull @.str.4) #13
  %4381 = load i32, ptr %684, align 4, !tbaa !5
  %4382 = call ptr @strerror(i32 noundef %4381) #13
  %4383 = load i32, ptr %684, align 4, !tbaa !5
  %4384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef nonnull %.str.5.sink3069, i32 noundef %4376, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %4378, ptr noundef %4380, ptr noundef %4382, i32 noundef %4383) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4385:                                             ; preds = %4358
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = add nsw i32 %4386, 1
  store i32 %4387, ptr @test_count, align 4, !tbaa !5
  %4388 = call i32 @s2n_config_free(ptr noundef nonnull %2206) #13
  %4389 = icmp eq i32 %4388, -1
  br i1 %4389, label %4390, label %4412

4390:                                             ; preds = %4385
  %4391 = load i32, ptr %684, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @s2n_print_stacktrace(ptr noundef %4392) #13
  %4394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4395 = trunc nuw i8 %4394 to i1
  br i1 %4395, label %4396, label %4400

4396:                                             ; preds = %4390
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @fileno(ptr noundef %4397) #13
  %4399 = call i32 @isatty(i32 noundef %4398) #13
  %.not1442 = icmp eq i32 %4399, 0
  br i1 %.not1442, label %4400, label %4401

4400:                                             ; preds = %4396, %4390
  br label %4401

4401:                                             ; preds = %4396, %4400
  %.str.5.sink3078 = phi ptr [ @.str.5, %4400 ], [ @.str.2, %4396 ]
  store i32 %4391, ptr %684, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = load i32, ptr %630, align 4, !tbaa !5
  %4405 = call ptr @s2n_strerror(i32 noundef %4404, ptr noundef nonnull @.str.4) #13
  %4406 = load i32, ptr %630, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror_debug(i32 noundef %4406, ptr noundef nonnull @.str.4) #13
  %4408 = load i32, ptr %684, align 4, !tbaa !5
  %4409 = call ptr @strerror(i32 noundef %4408) #13
  %4410 = load i32, ptr %684, align 4, !tbaa !5
  %4411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef nonnull %.str.5.sink3078, i32 noundef %4403, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %4405, ptr noundef %4407, ptr noundef %4409, i32 noundef %4410) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4412:                                             ; preds = %4385
  %4413 = load i32, ptr @test_count, align 4, !tbaa !5
  %4414 = add nsw i32 %4413, 1
  store i32 %4414, ptr @test_count, align 4, !tbaa !5
  %4415 = call i32 @s2n_connection_free(ptr noundef nonnull %1910) #13
  %4416 = icmp eq i32 %4415, -1
  br i1 %4416, label %4417, label %4439

4417:                                             ; preds = %4412
  %4418 = load i32, ptr %684, align 4, !tbaa !5
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = call i32 @s2n_print_stacktrace(ptr noundef %4419) #13
  %4421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4422 = trunc nuw i8 %4421 to i1
  br i1 %4422, label %4423, label %4427

4423:                                             ; preds = %4417
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = call i32 @fileno(ptr noundef %4424) #13
  %4426 = call i32 @isatty(i32 noundef %4425) #13
  %.not1441 = icmp eq i32 %4426, 0
  br i1 %.not1441, label %4427, label %4428

4427:                                             ; preds = %4423, %4417
  br label %4428

4428:                                             ; preds = %4423, %4427
  %.str.5.sink3087 = phi ptr [ @.str.5, %4427 ], [ @.str.2, %4423 ]
  store i32 %4418, ptr %684, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = load i32, ptr @test_count, align 4, !tbaa !5
  %4431 = load i32, ptr %630, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef nonnull @.str.4) #13
  %4433 = load i32, ptr %630, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror_debug(i32 noundef %4433, ptr noundef nonnull @.str.4) #13
  %4435 = load i32, ptr %684, align 4, !tbaa !5
  %4436 = call ptr @strerror(i32 noundef %4435) #13
  %4437 = load i32, ptr %684, align 4, !tbaa !5
  %4438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4429, ptr noundef nonnull %.str.5.sink3087, i32 noundef %4430, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %4432, ptr noundef %4434, ptr noundef %4436, i32 noundef %4437) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4439:                                             ; preds = %4412
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = add nsw i32 %4440, 1
  store i32 %4441, ptr @test_count, align 4, !tbaa !5
  %4442 = call i32 @s2n_connection_free(ptr noundef nonnull %1883) #13
  %4443 = icmp eq i32 %4442, -1
  br i1 %4443, label %4444, label %4466

4444:                                             ; preds = %4439
  %4445 = load i32, ptr %684, align 4, !tbaa !5
  %4446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4447 = call i32 @s2n_print_stacktrace(ptr noundef %4446) #13
  %4448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4449 = trunc nuw i8 %4448 to i1
  br i1 %4449, label %4450, label %4454

4450:                                             ; preds = %4444
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = call i32 @fileno(ptr noundef %4451) #13
  %4453 = call i32 @isatty(i32 noundef %4452) #13
  %.not1440 = icmp eq i32 %4453, 0
  br i1 %.not1440, label %4454, label %4455

4454:                                             ; preds = %4450, %4444
  br label %4455

4455:                                             ; preds = %4450, %4454
  %.str.5.sink3096 = phi ptr [ @.str.5, %4454 ], [ @.str.2, %4450 ]
  store i32 %4445, ptr %684, align 4, !tbaa !5
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = load i32, ptr @test_count, align 4, !tbaa !5
  %4458 = load i32, ptr %630, align 4, !tbaa !5
  %4459 = call ptr @s2n_strerror(i32 noundef %4458, ptr noundef nonnull @.str.4) #13
  %4460 = load i32, ptr %630, align 4, !tbaa !5
  %4461 = call ptr @s2n_strerror_debug(i32 noundef %4460, ptr noundef nonnull @.str.4) #13
  %4462 = load i32, ptr %684, align 4, !tbaa !5
  %4463 = call ptr @strerror(i32 noundef %4462) #13
  %4464 = load i32, ptr %684, align 4, !tbaa !5
  %4465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4456, ptr noundef nonnull %.str.5.sink3096, i32 noundef %4457, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %4459, ptr noundef %4461, ptr noundef %4463, i32 noundef %4464) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4466:                                             ; preds = %4439
  %4467 = load i32, ptr @test_count, align 4, !tbaa !5
  %4468 = add nsw i32 %4467, 1
  store i32 %4468, ptr @test_count, align 4, !tbaa !5
  %4469 = call i32 @s2n_io_pair_close(ptr noundef nonnull %13) #13
  %4470 = icmp eq i32 %4469, -1
  br i1 %4470, label %4471, label %4493

4471:                                             ; preds = %4466
  %4472 = load i32, ptr %684, align 4, !tbaa !5
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = call i32 @s2n_print_stacktrace(ptr noundef %4473) #13
  %4475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4476 = trunc nuw i8 %4475 to i1
  br i1 %4476, label %4477, label %4481

4477:                                             ; preds = %4471
  %4478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4479 = call i32 @fileno(ptr noundef %4478) #13
  %4480 = call i32 @isatty(i32 noundef %4479) #13
  %.not1439 = icmp eq i32 %4480, 0
  br i1 %.not1439, label %4481, label %4482

4481:                                             ; preds = %4477, %4471
  br label %4482

4482:                                             ; preds = %4477, %4481
  %.str.5.sink3105 = phi ptr [ @.str.5, %4481 ], [ @.str.2, %4477 ]
  store i32 %4472, ptr %684, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = load i32, ptr @test_count, align 4, !tbaa !5
  %4485 = load i32, ptr %630, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror(i32 noundef %4485, ptr noundef nonnull @.str.4) #13
  %4487 = load i32, ptr %630, align 4, !tbaa !5
  %4488 = call ptr @s2n_strerror_debug(i32 noundef %4487, ptr noundef nonnull @.str.4) #13
  %4489 = load i32, ptr %684, align 4, !tbaa !5
  %4490 = call ptr @strerror(i32 noundef %4489) #13
  %4491 = load i32, ptr %684, align 4, !tbaa !5
  %4492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4483, ptr noundef nonnull %.str.5.sink3105, i32 noundef %4484, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %4486, ptr noundef %4488, ptr noundef %4490, i32 noundef %4491) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4493:                                             ; preds = %4466
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = add nsw i32 %4494, 1
  store i32 %4495, ptr @test_count, align 4, !tbaa !5
  %4496 = load ptr, ptr %14, align 8, !tbaa !9
  %4497 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %4496) #13
  %4498 = icmp eq i32 %4497, -1
  br i1 %4498, label %4499, label %4521

4499:                                             ; preds = %4493
  %4500 = load i32, ptr %684, align 4, !tbaa !5
  %4501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4502 = call i32 @s2n_print_stacktrace(ptr noundef %4501) #13
  %4503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4504 = trunc nuw i8 %4503 to i1
  br i1 %4504, label %4505, label %4509

4505:                                             ; preds = %4499
  %4506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4507 = call i32 @fileno(ptr noundef %4506) #13
  %4508 = call i32 @isatty(i32 noundef %4507) #13
  %.not1438 = icmp eq i32 %4508, 0
  br i1 %.not1438, label %4509, label %4510

4509:                                             ; preds = %4505, %4499
  br label %4510

4510:                                             ; preds = %4505, %4509
  %.str.5.sink3114 = phi ptr [ @.str.5, %4509 ], [ @.str.2, %4505 ]
  store i32 %4500, ptr %684, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = load i32, ptr @test_count, align 4, !tbaa !5
  %4513 = load i32, ptr %630, align 4, !tbaa !5
  %4514 = call ptr @s2n_strerror(i32 noundef %4513, ptr noundef nonnull @.str.4) #13
  %4515 = load i32, ptr %630, align 4, !tbaa !5
  %4516 = call ptr @s2n_strerror_debug(i32 noundef %4515, ptr noundef nonnull @.str.4) #13
  %4517 = load i32, ptr %684, align 4, !tbaa !5
  %4518 = call ptr @strerror(i32 noundef %4517) #13
  %4519 = load i32, ptr %684, align 4, !tbaa !5
  %4520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4511, ptr noundef nonnull %.str.5.sink3114, i32 noundef %4512, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %4514, ptr noundef %4516, ptr noundef %4518, i32 noundef %4519) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4521:                                             ; preds = %4493
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %20, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #13
  store i8 0, ptr %21, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #13
  store ptr null, ptr %22, align 8, !tbaa !9
  %4522 = load i32, ptr @test_count, align 4, !tbaa !5
  %4523 = add nsw i32 %4522, 1
  store i32 %4523, ptr @test_count, align 4, !tbaa !5
  %4524 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %22, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.120) #13
  %4525 = icmp eq i32 %4524, -1
  br i1 %4525, label %4526, label %4548

4526:                                             ; preds = %4521
  %4527 = load i32, ptr %684, align 4, !tbaa !5
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = call i32 @s2n_print_stacktrace(ptr noundef %4528) #13
  %4530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4531 = trunc nuw i8 %4530 to i1
  br i1 %4531, label %4532, label %4536

4532:                                             ; preds = %4526
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = call i32 @fileno(ptr noundef %4533) #13
  %4535 = call i32 @isatty(i32 noundef %4534) #13
  %.not1437 = icmp eq i32 %4535, 0
  br i1 %.not1437, label %4536, label %4537

4536:                                             ; preds = %4532, %4526
  br label %4537

4537:                                             ; preds = %4532, %4536
  %.str.5.sink3123 = phi ptr [ @.str.5, %4536 ], [ @.str.2, %4532 ]
  store i32 %4527, ptr %684, align 4, !tbaa !5
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = load i32, ptr %630, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror(i32 noundef %4540, ptr noundef nonnull @.str.4) #13
  %4542 = load i32, ptr %630, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror_debug(i32 noundef %4542, ptr noundef nonnull @.str.4) #13
  %4544 = load i32, ptr %684, align 4, !tbaa !5
  %4545 = call ptr @strerror(i32 noundef %4544) #13
  %4546 = load i32, ptr %684, align 4, !tbaa !5
  %4547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4538, ptr noundef nonnull %.str.5.sink3123, i32 noundef %4539, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4541, ptr noundef %4543, ptr noundef %4545, i32 noundef %4546) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4548:                                             ; preds = %4521
  %4549 = load ptr, ptr %22, align 8, !tbaa !9
  %4550 = load ptr, ptr %4549, align 8, !tbaa !15
  %4551 = getelementptr inbounds i8, ptr %4550, i64 8
  %4552 = load ptr, ptr %4551, align 8, !tbaa !23
  %4553 = load i32, ptr @test_count, align 4, !tbaa !5
  %4554 = add nsw i32 %4553, 1
  store i32 %4554, ptr @test_count, align 4, !tbaa !5
  %4555 = icmp eq ptr %4552, null
  br i1 %4555, label %4556, label %4578

4556:                                             ; preds = %4548
  %4557 = load i32, ptr %684, align 4, !tbaa !5
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = call i32 @s2n_print_stacktrace(ptr noundef %4558) #13
  %4560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4561 = trunc nuw i8 %4560 to i1
  br i1 %4561, label %4562, label %4566

4562:                                             ; preds = %4556
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = call i32 @fileno(ptr noundef %4563) #13
  %4565 = call i32 @isatty(i32 noundef %4564) #13
  %.not1436 = icmp eq i32 %4565, 0
  br i1 %.not1436, label %4566, label %4567

4566:                                             ; preds = %4562, %4556
  br label %4567

4567:                                             ; preds = %4562, %4566
  %.str.5.sink3132 = phi ptr [ @.str.5, %4566 ], [ @.str.2, %4562 ]
  store i32 %4557, ptr %684, align 4, !tbaa !5
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4569 = load i32, ptr @test_count, align 4, !tbaa !5
  %4570 = load i32, ptr %630, align 4, !tbaa !5
  %4571 = call ptr @s2n_strerror(i32 noundef %4570, ptr noundef nonnull @.str.4) #13
  %4572 = load i32, ptr %630, align 4, !tbaa !5
  %4573 = call ptr @s2n_strerror_debug(i32 noundef %4572, ptr noundef nonnull @.str.4) #13
  %4574 = load i32, ptr %684, align 4, !tbaa !5
  %4575 = call ptr @strerror(i32 noundef %4574) #13
  %4576 = load i32, ptr %684, align 4, !tbaa !5
  %4577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4568, ptr noundef nonnull %.str.5.sink3132, i32 noundef %4569, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %4571, ptr noundef %4573, ptr noundef %4575, i32 noundef %4576) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4578:                                             ; preds = %4548
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, i8 0, i64 24, i1 false)
  %4579 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %23, ptr noundef nonnull @.str.123) #13
  %4580 = call zeroext i1 @s2n_result_is_ok(i32 %4579)
  br i1 %4580, label %4582, label %.thread

.thread:                                          ; preds = %4578
  %4581 = call i32 @s2n_free(ptr noundef nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #13
  br label %11940

4582:                                             ; preds = %4578
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, i8 0, i64 24, i1 false)
  %4583 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %24, ptr noundef nonnull @.str.124) #13
  %4584 = call zeroext i1 @s2n_result_is_ok(i32 %4583)
  br i1 %4584, label %4585, label %7352

4585:                                             ; preds = %4582
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, i8 0, i64 24, i1 false)
  %4586 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %25, ptr noundef nonnull @.str.125) #13
  %4587 = call zeroext i1 @s2n_result_is_ok(i32 %4586)
  br i1 %4587, label %4588, label %7350

4588:                                             ; preds = %4585
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, i8 0, i64 24, i1 false)
  %4589 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %26, ptr noundef nonnull @.str.126) #13
  %4590 = call zeroext i1 @s2n_result_is_ok(i32 %4589)
  br i1 %4590, label %4591, label %7348

4591:                                             ; preds = %4588
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %27, i8 0, i64 24, i1 false)
  %4592 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %27, ptr noundef nonnull @.str.127) #13
  %4593 = call zeroext i1 @s2n_result_is_ok(i32 %4592)
  br i1 %4593, label %4594, label %7346

4594:                                             ; preds = %4591
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %28, i8 0, i64 24, i1 false)
  %4595 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %28, ptr noundef nonnull @.str.128) #13
  %4596 = call zeroext i1 @s2n_result_is_ok(i32 %4595)
  br i1 %4596, label %4597, label %7344

4597:                                             ; preds = %4594
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %29, i8 0, i64 24, i1 false)
  %4598 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %29, ptr noundef nonnull @.str.129) #13
  %4599 = call zeroext i1 @s2n_result_is_ok(i32 %4598)
  br i1 %4599, label %4600, label %7342

4600:                                             ; preds = %4597
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %30) #13
  store ptr @.str.130, ptr %30, align 16, !tbaa !60
  %4601 = getelementptr inbounds i8, ptr %30, i64 8
  store i32 0, ptr %4601, align 8, !tbaa !62
  %4602 = getelementptr inbounds i8, ptr %30, i64 16
  store ptr null, ptr %4602, align 16, !tbaa !63
  %4603 = getelementptr inbounds i8, ptr %30, i64 24
  store i32 0, ptr %4603, align 8, !tbaa !64
  %4604 = getelementptr inbounds i8, ptr %30, i64 32
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %4604, ptr noundef nonnull align 8 dereferenceable(24) %23, i64 24, i1 false), !tbaa.struct !65
  %4605 = getelementptr inbounds i8, ptr %30, i64 56
  %4606 = getelementptr inbounds i8, ptr %30, i64 88
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(25) %4605, i8 0, i64 25, i1 false)
  store ptr @.str.131, ptr %4606, align 8, !tbaa !60
  %4607 = getelementptr inbounds i8, ptr %30, i64 96
  store i32 0, ptr %4607, align 16, !tbaa !62
  %4608 = getelementptr inbounds i8, ptr %30, i64 104
  store ptr null, ptr %4608, align 8, !tbaa !63
  %4609 = getelementptr inbounds i8, ptr %30, i64 112
  store i32 0, ptr %4609, align 16, !tbaa !64
  %4610 = getelementptr inbounds i8, ptr %30, i64 120
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4610, ptr noundef nonnull align 8 dereferenceable(24) %24, i64 24, i1 false), !tbaa.struct !65
  %4611 = getelementptr inbounds i8, ptr %30, i64 144
  %4612 = getelementptr inbounds i8, ptr %30, i64 176
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(25) %4611, i8 0, i64 25, i1 false)
  store ptr @.str.132, ptr %4612, align 16, !tbaa !60
  %4613 = getelementptr inbounds i8, ptr %30, i64 184
  store i32 0, ptr %4613, align 8, !tbaa !62
  %4614 = getelementptr inbounds i8, ptr %30, i64 192
  store ptr null, ptr %4614, align 16, !tbaa !63
  %4615 = getelementptr inbounds i8, ptr %30, i64 200
  store i32 0, ptr %4615, align 8, !tbaa !64
  %4616 = getelementptr inbounds i8, ptr %30, i64 208
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %4616, ptr noundef nonnull align 8 dereferenceable(24) %25, i64 24, i1 false), !tbaa.struct !65
  %4617 = getelementptr inbounds i8, ptr %30, i64 232
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4617, i8 0, i64 24, i1 false)
  %4618 = getelementptr inbounds i8, ptr %30, i64 256
  store i8 1, ptr %4618, align 16, !tbaa !67
  %4619 = getelementptr inbounds i8, ptr %30, i64 264
  store ptr @.str.133, ptr %4619, align 8, !tbaa !60
  %4620 = getelementptr inbounds i8, ptr %30, i64 272
  store i32 0, ptr %4620, align 16, !tbaa !62
  %4621 = getelementptr inbounds i8, ptr %30, i64 280
  store ptr null, ptr %4621, align 8, !tbaa !63
  %4622 = getelementptr inbounds i8, ptr %30, i64 288
  store i32 0, ptr %4622, align 16, !tbaa !64
  %4623 = getelementptr inbounds i8, ptr %30, i64 296
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4623, ptr noundef nonnull align 8 dereferenceable(24) %26, i64 24, i1 false), !tbaa.struct !65
  %4624 = getelementptr inbounds i8, ptr %30, i64 320
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %4624, i8 0, i64 24, i1 false)
  %4625 = getelementptr inbounds i8, ptr %30, i64 344
  store i8 1, ptr %4625, align 8, !tbaa !67
  %4626 = getelementptr inbounds i8, ptr %30, i64 352
  store ptr @.str.134, ptr %4626, align 16, !tbaa !60
  %4627 = getelementptr inbounds i8, ptr %30, i64 360
  store i32 0, ptr %4627, align 8, !tbaa !62
  %4628 = getelementptr inbounds i8, ptr %30, i64 368
  store ptr @.str.135, ptr %4628, align 16, !tbaa !63
  %4629 = getelementptr inbounds i8, ptr %30, i64 376
  store i32 0, ptr %4629, align 8, !tbaa !64
  %4630 = getelementptr inbounds i8, ptr %30, i64 384
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %4630, ptr noundef nonnull align 8 dereferenceable(24) %27, i64 24, i1 false), !tbaa.struct !65
  %4631 = getelementptr inbounds i8, ptr %30, i64 408
  %4632 = getelementptr inbounds i8, ptr %30, i64 440
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(25) %4631, i8 0, i64 25, i1 false)
  store ptr @.str.136, ptr %4632, align 8, !tbaa !60
  %4633 = getelementptr inbounds i8, ptr %30, i64 448
  store i32 0, ptr %4633, align 16, !tbaa !62
  %4634 = getelementptr inbounds i8, ptr %30, i64 456
  store ptr @.str.137, ptr %4634, align 8, !tbaa !63
  %4635 = getelementptr inbounds i8, ptr %30, i64 464
  store i32 0, ptr %4635, align 16, !tbaa !64
  %4636 = getelementptr inbounds i8, ptr %30, i64 472
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4636, ptr noundef nonnull align 8 dereferenceable(24) %28, i64 24, i1 false), !tbaa.struct !65
  %4637 = getelementptr inbounds i8, ptr %30, i64 496
  %4638 = getelementptr inbounds i8, ptr %30, i64 528
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(25) %4637, i8 0, i64 25, i1 false)
  store ptr @.str.138, ptr %4638, align 16, !tbaa !60
  %4639 = getelementptr inbounds i8, ptr %30, i64 536
  store i32 0, ptr %4639, align 8, !tbaa !62
  %4640 = getelementptr inbounds i8, ptr %30, i64 544
  store ptr @.str.139, ptr %4640, align 16, !tbaa !63
  %4641 = getelementptr inbounds i8, ptr %30, i64 552
  store i32 0, ptr %4641, align 8, !tbaa !64
  %4642 = getelementptr inbounds i8, ptr %30, i64 560
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %4642, ptr noundef nonnull align 8 dereferenceable(24) %29, i64 24, i1 false), !tbaa.struct !65
  %4643 = getelementptr inbounds i8, ptr %30, i64 584
  %4644 = getelementptr inbounds i8, ptr %30, i64 616
  %4645 = getelementptr inbounds i8, ptr %30, i64 624
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(88) %4645, i8 0, i64 80, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(25) %4643, i8 0, i64 25, i1 false)
  store ptr @.str.140, ptr %4644, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 27, ptr nonnull %31) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(27) %31, ptr noundef nonnull align 16 dereferenceable(27) @__const.main.oid, i64 27, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #13
  store i32 0, ptr %32, align 4, !tbaa !5
  %4646 = load i32, ptr @test_count, align 4, !tbaa !5
  %4647 = add nsw i32 %4646, 1
  store i32 %4647, ptr @test_count, align 4, !tbaa !5
  %4648 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef null, ptr noundef nonnull %31, ptr noundef nonnull %32) #13
  %4649 = icmp eq i32 %4648, -1
  br i1 %4649, label %4672, label %4650

4650:                                             ; preds = %4600
  %4651 = load i32, ptr %684, align 4, !tbaa !5
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4653 = call i32 @s2n_print_stacktrace(ptr noundef %4652) #13
  %4654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4655 = trunc nuw i8 %4654 to i1
  br i1 %4655, label %4656, label %4660

4656:                                             ; preds = %4650
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @fileno(ptr noundef %4657) #13
  %4659 = call i32 @isatty(i32 noundef %4658) #13
  %.not1168 = icmp eq i32 %4659, 0
  br i1 %.not1168, label %4660, label %4661

4660:                                             ; preds = %4656, %4650
  br label %4661

4661:                                             ; preds = %4656, %4660
  %.str.5.sink3141 = phi ptr [ @.str.5, %4660 ], [ @.str.2, %4656 ]
  store i32 %4651, ptr %684, align 4, !tbaa !5
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = load i32, ptr @test_count, align 4, !tbaa !5
  %4664 = load i32, ptr %630, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror(i32 noundef %4664, ptr noundef nonnull @.str.4) #13
  %4666 = load i32, ptr %630, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror_debug(i32 noundef %4666, ptr noundef nonnull @.str.4) #13
  %4668 = load i32, ptr %684, align 4, !tbaa !5
  %4669 = call ptr @strerror(i32 noundef %4668) #13
  %4670 = load i32, ptr %684, align 4, !tbaa !5
  %4671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4662, ptr noundef nonnull %.str.5.sink3141, i32 noundef %4663, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %4665, ptr noundef %4667, ptr noundef %4669, i32 noundef %4670) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4672:                                             ; preds = %4600
  %4673 = load i32, ptr @test_count, align 4, !tbaa !5
  %4674 = add nsw i32 %4673, 1
  store i32 %4674, ptr @test_count, align 4, !tbaa !5
  %4675 = load i32, ptr %630, align 4, !tbaa !5
  %4676 = icmp eq i32 %4675, 402653193
  br i1 %4676, label %4699, label %4677

4677:                                             ; preds = %4672
  %4678 = load i32, ptr %684, align 4, !tbaa !5
  %4679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4680 = call i32 @s2n_print_stacktrace(ptr noundef %4679) #13
  %4681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4682 = trunc nuw i8 %4681 to i1
  br i1 %4682, label %4683, label %4687

4683:                                             ; preds = %4677
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = call i32 @fileno(ptr noundef %4684) #13
  %4686 = call i32 @isatty(i32 noundef %4685) #13
  %.not1169 = icmp eq i32 %4686, 0
  br i1 %.not1169, label %4687, label %4688

4687:                                             ; preds = %4683, %4677
  br label %4688

4688:                                             ; preds = %4683, %4687
  %.str.5.sink3150 = phi ptr [ @.str.5, %4687 ], [ @.str.2, %4683 ]
  store i32 %4678, ptr %684, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = load i32, ptr %630, align 4, !tbaa !5
  %4692 = call ptr @s2n_strerror(i32 noundef %4691, ptr noundef nonnull @.str.4) #13
  %4693 = load i32, ptr %630, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror_debug(i32 noundef %4693, ptr noundef nonnull @.str.4) #13
  %4695 = load i32, ptr %684, align 4, !tbaa !5
  %4696 = call ptr @strerror(i32 noundef %4695) #13
  %4697 = load i32, ptr %684, align 4, !tbaa !5
  %4698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4689, ptr noundef nonnull %.str.5.sink3150, i32 noundef %4690, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %4692, ptr noundef %4694, ptr noundef %4696, i32 noundef %4697) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4699:                                             ; preds = %4672
  %4700 = add nsw i32 %4673, 2
  store i32 %4700, ptr @test_count, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4702 = icmp eq ptr %4701, null
  br i1 %4702, label %4703, label %4725

4703:                                             ; preds = %4699
  %4704 = load i32, ptr %684, align 4, !tbaa !5
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4706 = call i32 @s2n_print_stacktrace(ptr noundef %4705) #13
  %4707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4708 = trunc nuw i8 %4707 to i1
  br i1 %4708, label %4709, label %4713

4709:                                             ; preds = %4703
  %4710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4711 = call i32 @fileno(ptr noundef %4710) #13
  %4712 = call i32 @isatty(i32 noundef %4711) #13
  %.not1435 = icmp eq i32 %4712, 0
  br i1 %.not1435, label %4713, label %4714

4713:                                             ; preds = %4709, %4703
  br label %4714

4714:                                             ; preds = %4709, %4713
  %.str.5.sink3159 = phi ptr [ @.str.5, %4713 ], [ @.str.2, %4709 ]
  store i32 %4704, ptr %684, align 4, !tbaa !5
  %4715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4716 = load i32, ptr @test_count, align 4, !tbaa !5
  %4717 = load i32, ptr %630, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror(i32 noundef %4717, ptr noundef nonnull @.str.4) #13
  %4719 = load i32, ptr %630, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror_debug(i32 noundef %4719, ptr noundef nonnull @.str.4) #13
  %4721 = load i32, ptr %684, align 4, !tbaa !5
  %4722 = call ptr @strerror(i32 noundef %4721) #13
  %4723 = load i32, ptr %684, align 4, !tbaa !5
  %4724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4715, ptr noundef nonnull %.str.5.sink3159, i32 noundef %4716, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %4718, ptr noundef %4720, ptr noundef %4722, i32 noundef %4723) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4725:                                             ; preds = %4699
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %4726 = load i32, ptr @test_count, align 4, !tbaa !5
  %4727 = add nsw i32 %4726, 1
  store i32 %4727, ptr @test_count, align 4, !tbaa !5
  %4728 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef null, ptr noundef nonnull %32) #13
  %4729 = icmp eq i32 %4728, -1
  br i1 %4729, label %4752, label %4730

4730:                                             ; preds = %4725
  %4731 = load i32, ptr %684, align 4, !tbaa !5
  %4732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4733 = call i32 @s2n_print_stacktrace(ptr noundef %4732) #13
  %4734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4735 = trunc nuw i8 %4734 to i1
  br i1 %4735, label %4736, label %4740

4736:                                             ; preds = %4730
  %4737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4738 = call i32 @fileno(ptr noundef %4737) #13
  %4739 = call i32 @isatty(i32 noundef %4738) #13
  %.not1170 = icmp eq i32 %4739, 0
  br i1 %.not1170, label %4740, label %4741

4740:                                             ; preds = %4736, %4730
  br label %4741

4741:                                             ; preds = %4736, %4740
  %.str.5.sink3168 = phi ptr [ @.str.5, %4740 ], [ @.str.2, %4736 ]
  store i32 %4731, ptr %684, align 4, !tbaa !5
  %4742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4743 = load i32, ptr @test_count, align 4, !tbaa !5
  %4744 = load i32, ptr %630, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror(i32 noundef %4744, ptr noundef nonnull @.str.4) #13
  %4746 = load i32, ptr %630, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror_debug(i32 noundef %4746, ptr noundef nonnull @.str.4) #13
  %4748 = load i32, ptr %684, align 4, !tbaa !5
  %4749 = call ptr @strerror(i32 noundef %4748) #13
  %4750 = load i32, ptr %684, align 4, !tbaa !5
  %4751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4742, ptr noundef nonnull %.str.5.sink3168, i32 noundef %4743, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %4745, ptr noundef %4747, ptr noundef %4749, i32 noundef %4750) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4752:                                             ; preds = %4725
  %4753 = load i32, ptr @test_count, align 4, !tbaa !5
  %4754 = add nsw i32 %4753, 1
  store i32 %4754, ptr @test_count, align 4, !tbaa !5
  %4755 = load i32, ptr %630, align 4, !tbaa !5
  %4756 = icmp eq i32 %4755, 402653193
  br i1 %4756, label %4779, label %4757

4757:                                             ; preds = %4752
  %4758 = load i32, ptr %684, align 4, !tbaa !5
  %4759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4760 = call i32 @s2n_print_stacktrace(ptr noundef %4759) #13
  %4761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4762 = trunc nuw i8 %4761 to i1
  br i1 %4762, label %4763, label %4767

4763:                                             ; preds = %4757
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @fileno(ptr noundef %4764) #13
  %4766 = call i32 @isatty(i32 noundef %4765) #13
  %.not1171 = icmp eq i32 %4766, 0
  br i1 %.not1171, label %4767, label %4768

4767:                                             ; preds = %4763, %4757
  br label %4768

4768:                                             ; preds = %4763, %4767
  %.str.5.sink3177 = phi ptr [ @.str.5, %4767 ], [ @.str.2, %4763 ]
  store i32 %4758, ptr %684, align 4, !tbaa !5
  %4769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4770 = load i32, ptr @test_count, align 4, !tbaa !5
  %4771 = load i32, ptr %630, align 4, !tbaa !5
  %4772 = call ptr @s2n_strerror(i32 noundef %4771, ptr noundef nonnull @.str.4) #13
  %4773 = load i32, ptr %630, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror_debug(i32 noundef %4773, ptr noundef nonnull @.str.4) #13
  %4775 = load i32, ptr %684, align 4, !tbaa !5
  %4776 = call ptr @strerror(i32 noundef %4775) #13
  %4777 = load i32, ptr %684, align 4, !tbaa !5
  %4778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4769, ptr noundef nonnull %.str.5.sink3177, i32 noundef %4770, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %4772, ptr noundef %4774, ptr noundef %4776, i32 noundef %4777) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4779:                                             ; preds = %4752
  %4780 = add nsw i32 %4753, 2
  store i32 %4780, ptr @test_count, align 4, !tbaa !5
  %4781 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4782 = icmp eq ptr %4781, null
  br i1 %4782, label %4783, label %4805

4783:                                             ; preds = %4779
  %4784 = load i32, ptr %684, align 4, !tbaa !5
  %4785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4786 = call i32 @s2n_print_stacktrace(ptr noundef %4785) #13
  %4787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4788 = trunc nuw i8 %4787 to i1
  br i1 %4788, label %4789, label %4793

4789:                                             ; preds = %4783
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @fileno(ptr noundef %4790) #13
  %4792 = call i32 @isatty(i32 noundef %4791) #13
  %.not1434 = icmp eq i32 %4792, 0
  br i1 %.not1434, label %4793, label %4794

4793:                                             ; preds = %4789, %4783
  br label %4794

4794:                                             ; preds = %4789, %4793
  %.str.5.sink3186 = phi ptr [ @.str.5, %4793 ], [ @.str.2, %4789 ]
  store i32 %4784, ptr %684, align 4, !tbaa !5
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = load i32, ptr @test_count, align 4, !tbaa !5
  %4797 = load i32, ptr %630, align 4, !tbaa !5
  %4798 = call ptr @s2n_strerror(i32 noundef %4797, ptr noundef nonnull @.str.4) #13
  %4799 = load i32, ptr %630, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror_debug(i32 noundef %4799, ptr noundef nonnull @.str.4) #13
  %4801 = load i32, ptr %684, align 4, !tbaa !5
  %4802 = call ptr @strerror(i32 noundef %4801) #13
  %4803 = load i32, ptr %684, align 4, !tbaa !5
  %4804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4795, ptr noundef nonnull %.str.5.sink3186, i32 noundef %4796, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %4798, ptr noundef %4800, ptr noundef %4802, i32 noundef %4803) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4805:                                             ; preds = %4779
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %4806 = load i32, ptr @test_count, align 4, !tbaa !5
  %4807 = add nsw i32 %4806, 1
  store i32 %4807, ptr @test_count, align 4, !tbaa !5
  %4808 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef nonnull %31, ptr noundef null) #13
  %4809 = icmp eq i32 %4808, -1
  br i1 %4809, label %4832, label %4810

4810:                                             ; preds = %4805
  %4811 = load i32, ptr %684, align 4, !tbaa !5
  %4812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4813 = call i32 @s2n_print_stacktrace(ptr noundef %4812) #13
  %4814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4815 = trunc nuw i8 %4814 to i1
  br i1 %4815, label %4816, label %4820

4816:                                             ; preds = %4810
  %4817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4818 = call i32 @fileno(ptr noundef %4817) #13
  %4819 = call i32 @isatty(i32 noundef %4818) #13
  %.not1172 = icmp eq i32 %4819, 0
  br i1 %.not1172, label %4820, label %4821

4820:                                             ; preds = %4816, %4810
  br label %4821

4821:                                             ; preds = %4816, %4820
  %.str.5.sink3195 = phi ptr [ @.str.5, %4820 ], [ @.str.2, %4816 ]
  store i32 %4811, ptr %684, align 4, !tbaa !5
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = load i32, ptr @test_count, align 4, !tbaa !5
  %4824 = load i32, ptr %630, align 4, !tbaa !5
  %4825 = call ptr @s2n_strerror(i32 noundef %4824, ptr noundef nonnull @.str.4) #13
  %4826 = load i32, ptr %630, align 4, !tbaa !5
  %4827 = call ptr @s2n_strerror_debug(i32 noundef %4826, ptr noundef nonnull @.str.4) #13
  %4828 = load i32, ptr %684, align 4, !tbaa !5
  %4829 = call ptr @strerror(i32 noundef %4828) #13
  %4830 = load i32, ptr %684, align 4, !tbaa !5
  %4831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4822, ptr noundef nonnull %.str.5.sink3195, i32 noundef %4823, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 492, ptr noundef %4825, ptr noundef %4827, ptr noundef %4829, i32 noundef %4830) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4832:                                             ; preds = %4805
  %4833 = load i32, ptr @test_count, align 4, !tbaa !5
  %4834 = add nsw i32 %4833, 1
  store i32 %4834, ptr @test_count, align 4, !tbaa !5
  %4835 = load i32, ptr %630, align 4, !tbaa !5
  %4836 = icmp eq i32 %4835, 402653193
  br i1 %4836, label %4859, label %4837

4837:                                             ; preds = %4832
  %4838 = load i32, ptr %684, align 4, !tbaa !5
  %4839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4840 = call i32 @s2n_print_stacktrace(ptr noundef %4839) #13
  %4841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4842 = trunc nuw i8 %4841 to i1
  br i1 %4842, label %4843, label %4847

4843:                                             ; preds = %4837
  %4844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4845 = call i32 @fileno(ptr noundef %4844) #13
  %4846 = call i32 @isatty(i32 noundef %4845) #13
  %.not1173 = icmp eq i32 %4846, 0
  br i1 %.not1173, label %4847, label %4848

4847:                                             ; preds = %4843, %4837
  br label %4848

4848:                                             ; preds = %4843, %4847
  %.str.5.sink3204 = phi ptr [ @.str.5, %4847 ], [ @.str.2, %4843 ]
  store i32 %4838, ptr %684, align 4, !tbaa !5
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = load i32, ptr @test_count, align 4, !tbaa !5
  %4851 = load i32, ptr %630, align 4, !tbaa !5
  %4852 = call ptr @s2n_strerror(i32 noundef %4851, ptr noundef nonnull @.str.4) #13
  %4853 = load i32, ptr %630, align 4, !tbaa !5
  %4854 = call ptr @s2n_strerror_debug(i32 noundef %4853, ptr noundef nonnull @.str.4) #13
  %4855 = load i32, ptr %684, align 4, !tbaa !5
  %4856 = call ptr @strerror(i32 noundef %4855) #13
  %4857 = load i32, ptr %684, align 4, !tbaa !5
  %4858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4849, ptr noundef nonnull %.str.5.sink3204, i32 noundef %4850, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 492, ptr noundef %4852, ptr noundef %4854, ptr noundef %4856, i32 noundef %4857) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4859:                                             ; preds = %4832
  %4860 = add nsw i32 %4833, 2
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4862 = icmp eq ptr %4861, null
  br i1 %4862, label %4863, label %4885

4863:                                             ; preds = %4859
  %4864 = load i32, ptr %684, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @s2n_print_stacktrace(ptr noundef %4865) #13
  %4867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4868 = trunc nuw i8 %4867 to i1
  br i1 %4868, label %4869, label %4873

4869:                                             ; preds = %4863
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @fileno(ptr noundef %4870) #13
  %4872 = call i32 @isatty(i32 noundef %4871) #13
  %.not1433 = icmp eq i32 %4872, 0
  br i1 %.not1433, label %4873, label %4874

4873:                                             ; preds = %4869, %4863
  br label %4874

4874:                                             ; preds = %4869, %4873
  %.str.5.sink3213 = phi ptr [ @.str.5, %4873 ], [ @.str.2, %4869 ]
  store i32 %4864, ptr %684, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = load i32, ptr %630, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror(i32 noundef %4877, ptr noundef nonnull @.str.4) #13
  %4879 = load i32, ptr %630, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef nonnull @.str.4) #13
  %4881 = load i32, ptr %684, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #13
  %4883 = load i32, ptr %684, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef nonnull %.str.5.sink3213, i32 noundef %4876, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 492, ptr noundef %4878, ptr noundef %4880, ptr noundef %4882, i32 noundef %4883) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4885:                                             ; preds = %4859
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #13
  call void @llvm.lifetime.end.p0(i64 27, ptr nonnull %31) #13
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = add nsw i32 %4886, 1
  store i32 %4887, ptr @test_count, align 4, !tbaa !5
  %4888 = load ptr, ptr %30, align 16, !tbaa !60
  %4889 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4888, ptr noundef nonnull %4601) #13
  %4890 = icmp eq i32 %4889, -1
  br i1 %4890, label %4891, label %4913

4891:                                             ; preds = %5007, %4994, %4981, %4968, %4955, %4942, %4885
  %4892 = load i32, ptr %684, align 4, !tbaa !5
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @s2n_print_stacktrace(ptr noundef %4893) #13
  %4895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4896 = trunc nuw i8 %4895 to i1
  br i1 %4896, label %4897, label %4901

4897:                                             ; preds = %4891
  %4898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4899 = call i32 @fileno(ptr noundef %4898) #13
  %4900 = call i32 @isatty(i32 noundef %4899) #13
  %.not1432 = icmp eq i32 %4900, 0
  br i1 %.not1432, label %4901, label %4902

4901:                                             ; preds = %4897, %4891
  br label %4902

4902:                                             ; preds = %4897, %4901
  %.str.5.sink3222 = phi ptr [ @.str.5, %4901 ], [ @.str.2, %4897 ]
  store i32 %4892, ptr %684, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = load i32, ptr %630, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror(i32 noundef %4905, ptr noundef nonnull @.str.4) #13
  %4907 = load i32, ptr %630, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror_debug(i32 noundef %4907, ptr noundef nonnull @.str.4) #13
  %4909 = load i32, ptr %684, align 4, !tbaa !5
  %4910 = call ptr @strerror(i32 noundef %4909) #13
  %4911 = load i32, ptr %684, align 4, !tbaa !5
  %4912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4903, ptr noundef nonnull %.str.5.sink3222, i32 noundef %4904, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 497, ptr noundef %4906, ptr noundef %4908, ptr noundef %4910, i32 noundef %4911) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4913:                                             ; preds = %4885
  %4914 = load i32, ptr @test_count, align 4, !tbaa !5
  %4915 = add nsw i32 %4914, 1
  store i32 %4915, ptr @test_count, align 4, !tbaa !5
  %4916 = load i32, ptr %4601, align 8, !tbaa !62
  %4917 = getelementptr inbounds i8, ptr %30, i64 40
  %4918 = load i32, ptr %4917, align 8, !tbaa !68
  %4919 = icmp eq i32 %4916, %4918
  br i1 %4919, label %4942, label %4920

4920:                                             ; preds = %5013, %5000, %4987, %4974, %4961, %4948, %4913
  %4921 = load i32, ptr %684, align 4, !tbaa !5
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = call i32 @s2n_print_stacktrace(ptr noundef %4922) #13
  %4924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4925 = trunc nuw i8 %4924 to i1
  br i1 %4925, label %4926, label %4930

4926:                                             ; preds = %4920
  %4927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4928 = call i32 @fileno(ptr noundef %4927) #13
  %4929 = call i32 @isatty(i32 noundef %4928) #13
  %.not1431 = icmp eq i32 %4929, 0
  br i1 %.not1431, label %4930, label %4931

4930:                                             ; preds = %4926, %4920
  br label %4931

4931:                                             ; preds = %4926, %4930
  %.str.5.sink3231 = phi ptr [ @.str.5, %4930 ], [ @.str.2, %4926 ]
  store i32 %4921, ptr %684, align 4, !tbaa !5
  %4932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = load i32, ptr %630, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror(i32 noundef %4934, ptr noundef nonnull @.str.4) #13
  %4936 = load i32, ptr %630, align 4, !tbaa !5
  %4937 = call ptr @s2n_strerror_debug(i32 noundef %4936, ptr noundef nonnull @.str.4) #13
  %4938 = load i32, ptr %684, align 4, !tbaa !5
  %4939 = call ptr @strerror(i32 noundef %4938) #13
  %4940 = load i32, ptr %684, align 4, !tbaa !5
  %4941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4932, ptr noundef nonnull %.str.5.sink3231, i32 noundef %4933, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 498, ptr noundef %4935, ptr noundef %4937, ptr noundef %4939, i32 noundef %4940) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4942:                                             ; preds = %4913
  %4943 = add nsw i32 %4914, 2
  store i32 %4943, ptr @test_count, align 4, !tbaa !5
  %4944 = load ptr, ptr %4606, align 8, !tbaa !60
  %4945 = getelementptr inbounds i8, ptr %30, i64 96
  %4946 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4944, ptr noundef nonnull %4945) #13
  %4947 = icmp eq i32 %4946, -1
  br i1 %4947, label %4891, label %4948

4948:                                             ; preds = %4942
  %4949 = load i32, ptr @test_count, align 4, !tbaa !5
  %4950 = add nsw i32 %4949, 1
  store i32 %4950, ptr @test_count, align 4, !tbaa !5
  %4951 = load i32, ptr %4945, align 16, !tbaa !62
  %4952 = getelementptr inbounds i8, ptr %30, i64 128
  %4953 = load i32, ptr %4952, align 16, !tbaa !68
  %4954 = icmp eq i32 %4951, %4953
  br i1 %4954, label %4955, label %4920

4955:                                             ; preds = %4948
  %4956 = add nsw i32 %4949, 2
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = load ptr, ptr %4612, align 16, !tbaa !60
  %4958 = getelementptr inbounds i8, ptr %30, i64 184
  %4959 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4957, ptr noundef nonnull %4958) #13
  %4960 = icmp eq i32 %4959, -1
  br i1 %4960, label %4891, label %4961

4961:                                             ; preds = %4955
  %4962 = load i32, ptr @test_count, align 4, !tbaa !5
  %4963 = add nsw i32 %4962, 1
  store i32 %4963, ptr @test_count, align 4, !tbaa !5
  %4964 = load i32, ptr %4958, align 8, !tbaa !62
  %4965 = getelementptr inbounds i8, ptr %30, i64 216
  %4966 = load i32, ptr %4965, align 8, !tbaa !68
  %4967 = icmp eq i32 %4964, %4966
  br i1 %4967, label %4968, label %4920

4968:                                             ; preds = %4961
  %4969 = add nsw i32 %4962, 2
  store i32 %4969, ptr @test_count, align 4, !tbaa !5
  %4970 = load ptr, ptr %4619, align 8, !tbaa !60
  %4971 = getelementptr inbounds i8, ptr %30, i64 272
  %4972 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4970, ptr noundef nonnull %4971) #13
  %4973 = icmp eq i32 %4972, -1
  br i1 %4973, label %4891, label %4974

4974:                                             ; preds = %4968
  %4975 = load i32, ptr @test_count, align 4, !tbaa !5
  %4976 = add nsw i32 %4975, 1
  store i32 %4976, ptr @test_count, align 4, !tbaa !5
  %4977 = load i32, ptr %4971, align 16, !tbaa !62
  %4978 = getelementptr inbounds i8, ptr %30, i64 304
  %4979 = load i32, ptr %4978, align 16, !tbaa !68
  %4980 = icmp eq i32 %4977, %4979
  br i1 %4980, label %4981, label %4920

4981:                                             ; preds = %4974
  %4982 = add nsw i32 %4975, 2
  store i32 %4982, ptr @test_count, align 4, !tbaa !5
  %4983 = load ptr, ptr %4626, align 16, !tbaa !60
  %4984 = getelementptr inbounds i8, ptr %30, i64 360
  %4985 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4983, ptr noundef nonnull %4984) #13
  %4986 = icmp eq i32 %4985, -1
  br i1 %4986, label %4891, label %4987

4987:                                             ; preds = %4981
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = add nsw i32 %4988, 1
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = load i32, ptr %4984, align 8, !tbaa !62
  %4991 = getelementptr inbounds i8, ptr %30, i64 392
  %4992 = load i32, ptr %4991, align 8, !tbaa !68
  %4993 = icmp eq i32 %4990, %4992
  br i1 %4993, label %4994, label %4920

4994:                                             ; preds = %4987
  %4995 = add nsw i32 %4988, 2
  store i32 %4995, ptr @test_count, align 4, !tbaa !5
  %4996 = load ptr, ptr %4632, align 8, !tbaa !60
  %4997 = getelementptr inbounds i8, ptr %30, i64 448
  %4998 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %4996, ptr noundef nonnull %4997) #13
  %4999 = icmp eq i32 %4998, -1
  br i1 %4999, label %4891, label %5000

5000:                                             ; preds = %4994
  %5001 = load i32, ptr @test_count, align 4, !tbaa !5
  %5002 = add nsw i32 %5001, 1
  store i32 %5002, ptr @test_count, align 4, !tbaa !5
  %5003 = load i32, ptr %4997, align 16, !tbaa !62
  %5004 = getelementptr inbounds i8, ptr %30, i64 480
  %5005 = load i32, ptr %5004, align 16, !tbaa !68
  %5006 = icmp eq i32 %5003, %5005
  br i1 %5006, label %5007, label %4920

5007:                                             ; preds = %5000
  %5008 = add nsw i32 %5001, 2
  store i32 %5008, ptr @test_count, align 4, !tbaa !5
  %5009 = load ptr, ptr %4638, align 16, !tbaa !60
  %5010 = getelementptr inbounds i8, ptr %30, i64 536
  %5011 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %5009, ptr noundef nonnull %5010) #13
  %5012 = icmp eq i32 %5011, -1
  br i1 %5012, label %4891, label %5013

5013:                                             ; preds = %5007
  %5014 = load i32, ptr @test_count, align 4, !tbaa !5
  %5015 = add nsw i32 %5014, 1
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = load i32, ptr %5010, align 8, !tbaa !62
  %5017 = getelementptr inbounds i8, ptr %30, i64 568
  %5018 = load i32, ptr %5017, align 8, !tbaa !68
  %5019 = icmp eq i32 %5016, %5018
  br i1 %5019, label %5020, label %4920

5020:                                             ; preds = %5013
  %5021 = add nsw i32 %5014, 2
  store i32 %5021, ptr @test_count, align 4, !tbaa !5
  %5022 = load ptr, ptr %4644, align 8, !tbaa !60
  %5023 = getelementptr inbounds i8, ptr %30, i64 624
  %5024 = call i32 @s2n_cert_get_x509_extension_value_length(ptr noundef nonnull %4552, ptr noundef %5022, ptr noundef nonnull %5023) #13
  %5025 = icmp eq i32 %5024, -1
  br i1 %5025, label %5048, label %5026

5026:                                             ; preds = %5020
  %5027 = load i32, ptr %684, align 4, !tbaa !5
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = call i32 @s2n_print_stacktrace(ptr noundef %5028) #13
  %5030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5031 = trunc nuw i8 %5030 to i1
  br i1 %5031, label %5032, label %5036

5032:                                             ; preds = %5026
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = call i32 @fileno(ptr noundef %5033) #13
  %5035 = call i32 @isatty(i32 noundef %5034) #13
  %.not1174 = icmp eq i32 %5035, 0
  br i1 %.not1174, label %5036, label %5037

5036:                                             ; preds = %5032, %5026
  br label %5037

5037:                                             ; preds = %5032, %5036
  %.str.5.sink3240 = phi ptr [ @.str.5, %5036 ], [ @.str.2, %5032 ]
  store i32 %5027, ptr %684, align 4, !tbaa !5
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = load i32, ptr %630, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror(i32 noundef %5040, ptr noundef nonnull @.str.4) #13
  %5042 = load i32, ptr %630, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror_debug(i32 noundef %5042, ptr noundef nonnull @.str.4) #13
  %5044 = load i32, ptr %684, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #13
  %5046 = load i32, ptr %684, align 4, !tbaa !5
  %5047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5038, ptr noundef nonnull %.str.5.sink3240, i32 noundef %5039, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %5041, ptr noundef %5043, ptr noundef %5045, i32 noundef %5046) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5048:                                             ; preds = %5020
  %5049 = load i32, ptr @test_count, align 4, !tbaa !5
  %5050 = add nsw i32 %5049, 1
  store i32 %5050, ptr @test_count, align 4, !tbaa !5
  %5051 = load i32, ptr %630, align 4, !tbaa !5
  %5052 = icmp eq i32 %5051, 469762118
  br i1 %5052, label %5075, label %5053

5053:                                             ; preds = %5048
  %5054 = load i32, ptr %684, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = call i32 @s2n_print_stacktrace(ptr noundef %5055) #13
  %5057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5058 = trunc nuw i8 %5057 to i1
  br i1 %5058, label %5059, label %5063

5059:                                             ; preds = %5053
  %5060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5061 = call i32 @fileno(ptr noundef %5060) #13
  %5062 = call i32 @isatty(i32 noundef %5061) #13
  %.not1175 = icmp eq i32 %5062, 0
  br i1 %.not1175, label %5063, label %5064

5063:                                             ; preds = %5059, %5053
  br label %5064

5064:                                             ; preds = %5059, %5063
  %.str.5.sink3249 = phi ptr [ @.str.5, %5063 ], [ @.str.2, %5059 ]
  store i32 %5054, ptr %684, align 4, !tbaa !5
  %5065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5066 = load i32, ptr @test_count, align 4, !tbaa !5
  %5067 = load i32, ptr %630, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror(i32 noundef %5067, ptr noundef nonnull @.str.4) #13
  %5069 = load i32, ptr %630, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror_debug(i32 noundef %5069, ptr noundef nonnull @.str.4) #13
  %5071 = load i32, ptr %684, align 4, !tbaa !5
  %5072 = call ptr @strerror(i32 noundef %5071) #13
  %5073 = load i32, ptr %684, align 4, !tbaa !5
  %5074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5065, ptr noundef nonnull %.str.5.sink3249, i32 noundef %5066, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %5068, ptr noundef %5070, ptr noundef %5072, i32 noundef %5073) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5075:                                             ; preds = %5048
  %5076 = add nsw i32 %5049, 2
  store i32 %5076, ptr @test_count, align 4, !tbaa !5
  %5077 = call ptr @s2n_strerror_debug(i32 noundef 469762118, ptr noundef nonnull @.str.4) #13
  %5078 = icmp eq ptr %5077, null
  br i1 %5078, label %5079, label %5101

5079:                                             ; preds = %5075
  %5080 = load i32, ptr %684, align 4, !tbaa !5
  %5081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5082 = call i32 @s2n_print_stacktrace(ptr noundef %5081) #13
  %5083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5084 = trunc nuw i8 %5083 to i1
  br i1 %5084, label %5085, label %5089

5085:                                             ; preds = %5079
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = call i32 @fileno(ptr noundef %5086) #13
  %5088 = call i32 @isatty(i32 noundef %5087) #13
  %.not1430 = icmp eq i32 %5088, 0
  br i1 %.not1430, label %5089, label %5090

5089:                                             ; preds = %5085, %5079
  br label %5090

5090:                                             ; preds = %5085, %5089
  %.str.5.sink3258 = phi ptr [ @.str.5, %5089 ], [ @.str.2, %5085 ]
  store i32 %5080, ptr %684, align 4, !tbaa !5
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %5093 = load i32, ptr %630, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror(i32 noundef %5093, ptr noundef nonnull @.str.4) #13
  %5095 = load i32, ptr %630, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror_debug(i32 noundef %5095, ptr noundef nonnull @.str.4) #13
  %5097 = load i32, ptr %684, align 4, !tbaa !5
  %5098 = call ptr @strerror(i32 noundef %5097) #13
  %5099 = load i32, ptr %684, align 4, !tbaa !5
  %5100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5091, ptr noundef nonnull %.str.5.sink3258, i32 noundef %5092, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %5094, ptr noundef %5096, ptr noundef %5098, i32 noundef %5099) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5101:                                             ; preds = %5075
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 27, ptr nonnull %33) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(27) %33, ptr noundef nonnull align 16 dereferenceable(27) @__const.main.oid.148, i64 27, i1 false)
  %5102 = load i32, ptr @test_count, align 4, !tbaa !5
  %5103 = add nsw i32 %5102, 1
  store i32 %5103, ptr @test_count, align 4, !tbaa !5
  %5104 = call i32 @s2n_alloc(ptr noundef nonnull %19, i32 noundef 65535) #13
  %5105 = icmp eq i32 %5104, -1
  br i1 %5105, label %5106, label %5128

5106:                                             ; preds = %5101
  %5107 = load i32, ptr %684, align 4, !tbaa !5
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = call i32 @s2n_print_stacktrace(ptr noundef %5108) #13
  %5110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5111 = trunc nuw i8 %5110 to i1
  br i1 %5111, label %5112, label %5116

5112:                                             ; preds = %5106
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = call i32 @fileno(ptr noundef %5113) #13
  %5115 = call i32 @isatty(i32 noundef %5114) #13
  %.not1429 = icmp eq i32 %5115, 0
  br i1 %.not1429, label %5116, label %5117

5116:                                             ; preds = %5112, %5106
  br label %5117

5117:                                             ; preds = %5112, %5116
  %.str.5.sink3267 = phi ptr [ @.str.5, %5116 ], [ @.str.2, %5112 ]
  store i32 %5107, ptr %684, align 4, !tbaa !5
  %5118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5119 = load i32, ptr @test_count, align 4, !tbaa !5
  %5120 = load i32, ptr %630, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror(i32 noundef %5120, ptr noundef nonnull @.str.4) #13
  %5122 = load i32, ptr %630, align 4, !tbaa !5
  %5123 = call ptr @s2n_strerror_debug(i32 noundef %5122, ptr noundef nonnull @.str.4) #13
  %5124 = load i32, ptr %684, align 4, !tbaa !5
  %5125 = call ptr @strerror(i32 noundef %5124) #13
  %5126 = load i32, ptr %684, align 4, !tbaa !5
  %5127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5118, ptr noundef nonnull %.str.5.sink3267, i32 noundef %5119, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %5121, ptr noundef %5123, ptr noundef %5125, i32 noundef %5126) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5128:                                             ; preds = %5101
  %5129 = load i32, ptr @test_count, align 4, !tbaa !5
  %5130 = add nsw i32 %5129, 1
  store i32 %5130, ptr @test_count, align 4, !tbaa !5
  %5131 = load ptr, ptr %19, align 8, !tbaa !69
  %5132 = getelementptr inbounds i8, ptr %19, i64 8
  %5133 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef null, ptr noundef nonnull %33, ptr noundef %5131, ptr noundef nonnull %5132, ptr noundef nonnull %21) #13
  %5134 = icmp eq i32 %5133, -1
  br i1 %5134, label %5157, label %5135

5135:                                             ; preds = %5128
  %5136 = load i32, ptr %684, align 4, !tbaa !5
  %5137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5138 = call i32 @s2n_print_stacktrace(ptr noundef %5137) #13
  %5139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5140 = trunc nuw i8 %5139 to i1
  br i1 %5140, label %5141, label %5145

5141:                                             ; preds = %5135
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = call i32 @fileno(ptr noundef %5142) #13
  %5144 = call i32 @isatty(i32 noundef %5143) #13
  %.not1176 = icmp eq i32 %5144, 0
  br i1 %.not1176, label %5145, label %5146

5145:                                             ; preds = %5141, %5135
  br label %5146

5146:                                             ; preds = %5141, %5145
  %.str.5.sink3276 = phi ptr [ @.str.5, %5145 ], [ @.str.2, %5141 ]
  store i32 %5136, ptr %684, align 4, !tbaa !5
  %5147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5148 = load i32, ptr @test_count, align 4, !tbaa !5
  %5149 = load i32, ptr %630, align 4, !tbaa !5
  %5150 = call ptr @s2n_strerror(i32 noundef %5149, ptr noundef nonnull @.str.4) #13
  %5151 = load i32, ptr %630, align 4, !tbaa !5
  %5152 = call ptr @s2n_strerror_debug(i32 noundef %5151, ptr noundef nonnull @.str.4) #13
  %5153 = load i32, ptr %684, align 4, !tbaa !5
  %5154 = call ptr @strerror(i32 noundef %5153) #13
  %5155 = load i32, ptr %684, align 4, !tbaa !5
  %5156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5147, ptr noundef nonnull %.str.5.sink3276, i32 noundef %5148, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %5150, ptr noundef %5152, ptr noundef %5154, i32 noundef %5155) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5157:                                             ; preds = %5128
  %5158 = load i32, ptr @test_count, align 4, !tbaa !5
  %5159 = add nsw i32 %5158, 1
  store i32 %5159, ptr @test_count, align 4, !tbaa !5
  %5160 = load i32, ptr %630, align 4, !tbaa !5
  %5161 = icmp eq i32 %5160, 402653193
  br i1 %5161, label %5184, label %5162

5162:                                             ; preds = %5157
  %5163 = load i32, ptr %684, align 4, !tbaa !5
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = call i32 @s2n_print_stacktrace(ptr noundef %5164) #13
  %5166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5167 = trunc nuw i8 %5166 to i1
  br i1 %5167, label %5168, label %5172

5168:                                             ; preds = %5162
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = call i32 @fileno(ptr noundef %5169) #13
  %5171 = call i32 @isatty(i32 noundef %5170) #13
  %.not1177 = icmp eq i32 %5171, 0
  br i1 %.not1177, label %5172, label %5173

5172:                                             ; preds = %5168, %5162
  br label %5173

5173:                                             ; preds = %5168, %5172
  %.str.5.sink3285 = phi ptr [ @.str.5, %5172 ], [ @.str.2, %5168 ]
  store i32 %5163, ptr %684, align 4, !tbaa !5
  %5174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5175 = load i32, ptr @test_count, align 4, !tbaa !5
  %5176 = load i32, ptr %630, align 4, !tbaa !5
  %5177 = call ptr @s2n_strerror(i32 noundef %5176, ptr noundef nonnull @.str.4) #13
  %5178 = load i32, ptr %630, align 4, !tbaa !5
  %5179 = call ptr @s2n_strerror_debug(i32 noundef %5178, ptr noundef nonnull @.str.4) #13
  %5180 = load i32, ptr %684, align 4, !tbaa !5
  %5181 = call ptr @strerror(i32 noundef %5180) #13
  %5182 = load i32, ptr %684, align 4, !tbaa !5
  %5183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5174, ptr noundef nonnull %.str.5.sink3285, i32 noundef %5175, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %5177, ptr noundef %5179, ptr noundef %5181, i32 noundef %5182) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5184:                                             ; preds = %5157
  %5185 = add nsw i32 %5158, 2
  store i32 %5185, ptr @test_count, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5187 = icmp eq ptr %5186, null
  br i1 %5187, label %5188, label %5210

5188:                                             ; preds = %5184
  %5189 = load i32, ptr %684, align 4, !tbaa !5
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = call i32 @s2n_print_stacktrace(ptr noundef %5190) #13
  %5192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5193 = trunc nuw i8 %5192 to i1
  br i1 %5193, label %5194, label %5198

5194:                                             ; preds = %5188
  %5195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5196 = call i32 @fileno(ptr noundef %5195) #13
  %5197 = call i32 @isatty(i32 noundef %5196) #13
  %.not1428 = icmp eq i32 %5197, 0
  br i1 %.not1428, label %5198, label %5199

5198:                                             ; preds = %5194, %5188
  br label %5199

5199:                                             ; preds = %5194, %5198
  %.str.5.sink3294 = phi ptr [ @.str.5, %5198 ], [ @.str.2, %5194 ]
  store i32 %5189, ptr %684, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = load i32, ptr @test_count, align 4, !tbaa !5
  %5202 = load i32, ptr %630, align 4, !tbaa !5
  %5203 = call ptr @s2n_strerror(i32 noundef %5202, ptr noundef nonnull @.str.4) #13
  %5204 = load i32, ptr %630, align 4, !tbaa !5
  %5205 = call ptr @s2n_strerror_debug(i32 noundef %5204, ptr noundef nonnull @.str.4) #13
  %5206 = load i32, ptr %684, align 4, !tbaa !5
  %5207 = call ptr @strerror(i32 noundef %5206) #13
  %5208 = load i32, ptr %684, align 4, !tbaa !5
  %5209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5200, ptr noundef nonnull %.str.5.sink3294, i32 noundef %5201, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %5203, ptr noundef %5205, ptr noundef %5207, i32 noundef %5208) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5210:                                             ; preds = %5184
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5211 = load i32, ptr @test_count, align 4, !tbaa !5
  %5212 = add nsw i32 %5211, 1
  store i32 %5212, ptr @test_count, align 4, !tbaa !5
  %5213 = load ptr, ptr %19, align 8, !tbaa !69
  %5214 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef null, ptr noundef %5213, ptr noundef nonnull %5132, ptr noundef nonnull %21) #13
  %5215 = icmp eq i32 %5214, -1
  br i1 %5215, label %5238, label %5216

5216:                                             ; preds = %5210
  %5217 = load i32, ptr %684, align 4, !tbaa !5
  %5218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5219 = call i32 @s2n_print_stacktrace(ptr noundef %5218) #13
  %5220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5221 = trunc nuw i8 %5220 to i1
  br i1 %5221, label %5222, label %5226

5222:                                             ; preds = %5216
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = call i32 @fileno(ptr noundef %5223) #13
  %5225 = call i32 @isatty(i32 noundef %5224) #13
  %.not1178 = icmp eq i32 %5225, 0
  br i1 %.not1178, label %5226, label %5227

5226:                                             ; preds = %5222, %5216
  br label %5227

5227:                                             ; preds = %5222, %5226
  %.str.5.sink3303 = phi ptr [ @.str.5, %5226 ], [ @.str.2, %5222 ]
  store i32 %5217, ptr %684, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = load i32, ptr @test_count, align 4, !tbaa !5
  %5230 = load i32, ptr %630, align 4, !tbaa !5
  %5231 = call ptr @s2n_strerror(i32 noundef %5230, ptr noundef nonnull @.str.4) #13
  %5232 = load i32, ptr %630, align 4, !tbaa !5
  %5233 = call ptr @s2n_strerror_debug(i32 noundef %5232, ptr noundef nonnull @.str.4) #13
  %5234 = load i32, ptr %684, align 4, !tbaa !5
  %5235 = call ptr @strerror(i32 noundef %5234) #13
  %5236 = load i32, ptr %684, align 4, !tbaa !5
  %5237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5228, ptr noundef nonnull %.str.5.sink3303, i32 noundef %5229, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5231, ptr noundef %5233, ptr noundef %5235, i32 noundef %5236) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5238:                                             ; preds = %5210
  %5239 = load i32, ptr @test_count, align 4, !tbaa !5
  %5240 = add nsw i32 %5239, 1
  store i32 %5240, ptr @test_count, align 4, !tbaa !5
  %5241 = load i32, ptr %630, align 4, !tbaa !5
  %5242 = icmp eq i32 %5241, 402653193
  br i1 %5242, label %5265, label %5243

5243:                                             ; preds = %5238
  %5244 = load i32, ptr %684, align 4, !tbaa !5
  %5245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5246 = call i32 @s2n_print_stacktrace(ptr noundef %5245) #13
  %5247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5248 = trunc nuw i8 %5247 to i1
  br i1 %5248, label %5249, label %5253

5249:                                             ; preds = %5243
  %5250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5251 = call i32 @fileno(ptr noundef %5250) #13
  %5252 = call i32 @isatty(i32 noundef %5251) #13
  %.not1179 = icmp eq i32 %5252, 0
  br i1 %.not1179, label %5253, label %5254

5253:                                             ; preds = %5249, %5243
  br label %5254

5254:                                             ; preds = %5249, %5253
  %.str.5.sink3312 = phi ptr [ @.str.5, %5253 ], [ @.str.2, %5249 ]
  store i32 %5244, ptr %684, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = load i32, ptr %630, align 4, !tbaa !5
  %5258 = call ptr @s2n_strerror(i32 noundef %5257, ptr noundef nonnull @.str.4) #13
  %5259 = load i32, ptr %630, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror_debug(i32 noundef %5259, ptr noundef nonnull @.str.4) #13
  %5261 = load i32, ptr %684, align 4, !tbaa !5
  %5262 = call ptr @strerror(i32 noundef %5261) #13
  %5263 = load i32, ptr %684, align 4, !tbaa !5
  %5264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5255, ptr noundef nonnull %.str.5.sink3312, i32 noundef %5256, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5258, ptr noundef %5260, ptr noundef %5262, i32 noundef %5263) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5265:                                             ; preds = %5238
  %5266 = add nsw i32 %5239, 2
  store i32 %5266, ptr @test_count, align 4, !tbaa !5
  %5267 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5268 = icmp eq ptr %5267, null
  br i1 %5268, label %5269, label %5291

5269:                                             ; preds = %5265
  %5270 = load i32, ptr %684, align 4, !tbaa !5
  %5271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5272 = call i32 @s2n_print_stacktrace(ptr noundef %5271) #13
  %5273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5274 = trunc nuw i8 %5273 to i1
  br i1 %5274, label %5275, label %5279

5275:                                             ; preds = %5269
  %5276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5277 = call i32 @fileno(ptr noundef %5276) #13
  %5278 = call i32 @isatty(i32 noundef %5277) #13
  %.not1427 = icmp eq i32 %5278, 0
  br i1 %.not1427, label %5279, label %5280

5279:                                             ; preds = %5275, %5269
  br label %5280

5280:                                             ; preds = %5275, %5279
  %.str.5.sink3321 = phi ptr [ @.str.5, %5279 ], [ @.str.2, %5275 ]
  store i32 %5270, ptr %684, align 4, !tbaa !5
  %5281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5282 = load i32, ptr @test_count, align 4, !tbaa !5
  %5283 = load i32, ptr %630, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror(i32 noundef %5283, ptr noundef nonnull @.str.4) #13
  %5285 = load i32, ptr %630, align 4, !tbaa !5
  %5286 = call ptr @s2n_strerror_debug(i32 noundef %5285, ptr noundef nonnull @.str.4) #13
  %5287 = load i32, ptr %684, align 4, !tbaa !5
  %5288 = call ptr @strerror(i32 noundef %5287) #13
  %5289 = load i32, ptr %684, align 4, !tbaa !5
  %5290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5281, ptr noundef nonnull %.str.5.sink3321, i32 noundef %5282, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5284, ptr noundef %5286, ptr noundef %5288, i32 noundef %5289) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5291:                                             ; preds = %5265
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5292 = load i32, ptr @test_count, align 4, !tbaa !5
  %5293 = add nsw i32 %5292, 1
  store i32 %5293, ptr @test_count, align 4, !tbaa !5
  %5294 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef nonnull %33, ptr noundef null, ptr noundef nonnull %5132, ptr noundef nonnull %21) #13
  %5295 = icmp eq i32 %5294, -1
  br i1 %5295, label %5318, label %5296

5296:                                             ; preds = %5291
  %5297 = load i32, ptr %684, align 4, !tbaa !5
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = call i32 @s2n_print_stacktrace(ptr noundef %5298) #13
  %5300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5301 = trunc nuw i8 %5300 to i1
  br i1 %5301, label %5302, label %5306

5302:                                             ; preds = %5296
  %5303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5304 = call i32 @fileno(ptr noundef %5303) #13
  %5305 = call i32 @isatty(i32 noundef %5304) #13
  %.not1180 = icmp eq i32 %5305, 0
  br i1 %.not1180, label %5306, label %5307

5306:                                             ; preds = %5302, %5296
  br label %5307

5307:                                             ; preds = %5302, %5306
  %.str.5.sink3330 = phi ptr [ @.str.5, %5306 ], [ @.str.2, %5302 ]
  store i32 %5297, ptr %684, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = load i32, ptr @test_count, align 4, !tbaa !5
  %5310 = load i32, ptr %630, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror(i32 noundef %5310, ptr noundef nonnull @.str.4) #13
  %5312 = load i32, ptr %630, align 4, !tbaa !5
  %5313 = call ptr @s2n_strerror_debug(i32 noundef %5312, ptr noundef nonnull @.str.4) #13
  %5314 = load i32, ptr %684, align 4, !tbaa !5
  %5315 = call ptr @strerror(i32 noundef %5314) #13
  %5316 = load i32, ptr %684, align 4, !tbaa !5
  %5317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5308, ptr noundef nonnull %.str.5.sink3330, i32 noundef %5309, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %5311, ptr noundef %5313, ptr noundef %5315, i32 noundef %5316) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5318:                                             ; preds = %5291
  %5319 = load i32, ptr @test_count, align 4, !tbaa !5
  %5320 = add nsw i32 %5319, 1
  store i32 %5320, ptr @test_count, align 4, !tbaa !5
  %5321 = load i32, ptr %630, align 4, !tbaa !5
  %5322 = icmp eq i32 %5321, 402653193
  br i1 %5322, label %5345, label %5323

5323:                                             ; preds = %5318
  %5324 = load i32, ptr %684, align 4, !tbaa !5
  %5325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5326 = call i32 @s2n_print_stacktrace(ptr noundef %5325) #13
  %5327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5328 = trunc nuw i8 %5327 to i1
  br i1 %5328, label %5329, label %5333

5329:                                             ; preds = %5323
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = call i32 @fileno(ptr noundef %5330) #13
  %5332 = call i32 @isatty(i32 noundef %5331) #13
  %.not1181 = icmp eq i32 %5332, 0
  br i1 %.not1181, label %5333, label %5334

5333:                                             ; preds = %5329, %5323
  br label %5334

5334:                                             ; preds = %5329, %5333
  %.str.5.sink3339 = phi ptr [ @.str.5, %5333 ], [ @.str.2, %5329 ]
  store i32 %5324, ptr %684, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = load i32, ptr @test_count, align 4, !tbaa !5
  %5337 = load i32, ptr %630, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror(i32 noundef %5337, ptr noundef nonnull @.str.4) #13
  %5339 = load i32, ptr %630, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror_debug(i32 noundef %5339, ptr noundef nonnull @.str.4) #13
  %5341 = load i32, ptr %684, align 4, !tbaa !5
  %5342 = call ptr @strerror(i32 noundef %5341) #13
  %5343 = load i32, ptr %684, align 4, !tbaa !5
  %5344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5335, ptr noundef nonnull %.str.5.sink3339, i32 noundef %5336, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %5338, ptr noundef %5340, ptr noundef %5342, i32 noundef %5343) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5345:                                             ; preds = %5318
  %5346 = add nsw i32 %5319, 2
  store i32 %5346, ptr @test_count, align 4, !tbaa !5
  %5347 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5348 = icmp eq ptr %5347, null
  br i1 %5348, label %5349, label %5371

5349:                                             ; preds = %5345
  %5350 = load i32, ptr %684, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @s2n_print_stacktrace(ptr noundef %5351) #13
  %5353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5354 = trunc nuw i8 %5353 to i1
  br i1 %5354, label %5355, label %5359

5355:                                             ; preds = %5349
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = call i32 @fileno(ptr noundef %5356) #13
  %5358 = call i32 @isatty(i32 noundef %5357) #13
  %.not1426 = icmp eq i32 %5358, 0
  br i1 %.not1426, label %5359, label %5360

5359:                                             ; preds = %5355, %5349
  br label %5360

5360:                                             ; preds = %5355, %5359
  %.str.5.sink3348 = phi ptr [ @.str.5, %5359 ], [ @.str.2, %5355 ]
  store i32 %5350, ptr %684, align 4, !tbaa !5
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = load i32, ptr %630, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror(i32 noundef %5363, ptr noundef nonnull @.str.4) #13
  %5365 = load i32, ptr %630, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror_debug(i32 noundef %5365, ptr noundef nonnull @.str.4) #13
  %5367 = load i32, ptr %684, align 4, !tbaa !5
  %5368 = call ptr @strerror(i32 noundef %5367) #13
  %5369 = load i32, ptr %684, align 4, !tbaa !5
  %5370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5361, ptr noundef nonnull %.str.5.sink3348, i32 noundef %5362, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %5364, ptr noundef %5366, ptr noundef %5368, i32 noundef %5369) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5371:                                             ; preds = %5345
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5372 = load i32, ptr @test_count, align 4, !tbaa !5
  %5373 = add nsw i32 %5372, 1
  store i32 %5373, ptr @test_count, align 4, !tbaa !5
  %5374 = load ptr, ptr %19, align 8, !tbaa !69
  %5375 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef nonnull %33, ptr noundef %5374, ptr noundef null, ptr noundef nonnull %21) #13
  %5376 = icmp eq i32 %5375, -1
  br i1 %5376, label %5399, label %5377

5377:                                             ; preds = %5371
  %5378 = load i32, ptr %684, align 4, !tbaa !5
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = call i32 @s2n_print_stacktrace(ptr noundef %5379) #13
  %5381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5382 = trunc nuw i8 %5381 to i1
  br i1 %5382, label %5383, label %5387

5383:                                             ; preds = %5377
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5385 = call i32 @fileno(ptr noundef %5384) #13
  %5386 = call i32 @isatty(i32 noundef %5385) #13
  %.not1182 = icmp eq i32 %5386, 0
  br i1 %.not1182, label %5387, label %5388

5387:                                             ; preds = %5383, %5377
  br label %5388

5388:                                             ; preds = %5383, %5387
  %.str.5.sink3357 = phi ptr [ @.str.5, %5387 ], [ @.str.2, %5383 ]
  store i32 %5378, ptr %684, align 4, !tbaa !5
  %5389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5390 = load i32, ptr @test_count, align 4, !tbaa !5
  %5391 = load i32, ptr %630, align 4, !tbaa !5
  %5392 = call ptr @s2n_strerror(i32 noundef %5391, ptr noundef nonnull @.str.4) #13
  %5393 = load i32, ptr %630, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror_debug(i32 noundef %5393, ptr noundef nonnull @.str.4) #13
  %5395 = load i32, ptr %684, align 4, !tbaa !5
  %5396 = call ptr @strerror(i32 noundef %5395) #13
  %5397 = load i32, ptr %684, align 4, !tbaa !5
  %5398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5389, ptr noundef nonnull %.str.5.sink3357, i32 noundef %5390, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %5392, ptr noundef %5394, ptr noundef %5396, i32 noundef %5397) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5399:                                             ; preds = %5371
  %5400 = load i32, ptr @test_count, align 4, !tbaa !5
  %5401 = add nsw i32 %5400, 1
  store i32 %5401, ptr @test_count, align 4, !tbaa !5
  %5402 = load i32, ptr %630, align 4, !tbaa !5
  %5403 = icmp eq i32 %5402, 402653193
  br i1 %5403, label %5426, label %5404

5404:                                             ; preds = %5399
  %5405 = load i32, ptr %684, align 4, !tbaa !5
  %5406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5407 = call i32 @s2n_print_stacktrace(ptr noundef %5406) #13
  %5408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5409 = trunc nuw i8 %5408 to i1
  br i1 %5409, label %5410, label %5414

5410:                                             ; preds = %5404
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5412 = call i32 @fileno(ptr noundef %5411) #13
  %5413 = call i32 @isatty(i32 noundef %5412) #13
  %.not1183 = icmp eq i32 %5413, 0
  br i1 %.not1183, label %5414, label %5415

5414:                                             ; preds = %5410, %5404
  br label %5415

5415:                                             ; preds = %5410, %5414
  %.str.5.sink3366 = phi ptr [ @.str.5, %5414 ], [ @.str.2, %5410 ]
  store i32 %5405, ptr %684, align 4, !tbaa !5
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = load i32, ptr @test_count, align 4, !tbaa !5
  %5418 = load i32, ptr %630, align 4, !tbaa !5
  %5419 = call ptr @s2n_strerror(i32 noundef %5418, ptr noundef nonnull @.str.4) #13
  %5420 = load i32, ptr %630, align 4, !tbaa !5
  %5421 = call ptr @s2n_strerror_debug(i32 noundef %5420, ptr noundef nonnull @.str.4) #13
  %5422 = load i32, ptr %684, align 4, !tbaa !5
  %5423 = call ptr @strerror(i32 noundef %5422) #13
  %5424 = load i32, ptr %684, align 4, !tbaa !5
  %5425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5416, ptr noundef nonnull %.str.5.sink3366, i32 noundef %5417, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %5419, ptr noundef %5421, ptr noundef %5423, i32 noundef %5424) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5426:                                             ; preds = %5399
  %5427 = add nsw i32 %5400, 2
  store i32 %5427, ptr @test_count, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5429 = icmp eq ptr %5428, null
  br i1 %5429, label %5430, label %5452

5430:                                             ; preds = %5426
  %5431 = load i32, ptr %684, align 4, !tbaa !5
  %5432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5433 = call i32 @s2n_print_stacktrace(ptr noundef %5432) #13
  %5434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5435 = trunc nuw i8 %5434 to i1
  br i1 %5435, label %5436, label %5440

5436:                                             ; preds = %5430
  %5437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5438 = call i32 @fileno(ptr noundef %5437) #13
  %5439 = call i32 @isatty(i32 noundef %5438) #13
  %.not1425 = icmp eq i32 %5439, 0
  br i1 %.not1425, label %5440, label %5441

5440:                                             ; preds = %5436, %5430
  br label %5441

5441:                                             ; preds = %5436, %5440
  %.str.5.sink3375 = phi ptr [ @.str.5, %5440 ], [ @.str.2, %5436 ]
  store i32 %5431, ptr %684, align 4, !tbaa !5
  %5442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5443 = load i32, ptr @test_count, align 4, !tbaa !5
  %5444 = load i32, ptr %630, align 4, !tbaa !5
  %5445 = call ptr @s2n_strerror(i32 noundef %5444, ptr noundef nonnull @.str.4) #13
  %5446 = load i32, ptr %630, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror_debug(i32 noundef %5446, ptr noundef nonnull @.str.4) #13
  %5448 = load i32, ptr %684, align 4, !tbaa !5
  %5449 = call ptr @strerror(i32 noundef %5448) #13
  %5450 = load i32, ptr %684, align 4, !tbaa !5
  %5451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5442, ptr noundef nonnull %.str.5.sink3375, i32 noundef %5443, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %5445, ptr noundef %5447, ptr noundef %5449, i32 noundef %5450) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5452:                                             ; preds = %5426
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5453 = load i32, ptr @test_count, align 4, !tbaa !5
  %5454 = add nsw i32 %5453, 1
  store i32 %5454, ptr @test_count, align 4, !tbaa !5
  %5455 = load ptr, ptr %19, align 8, !tbaa !69
  %5456 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef nonnull %33, ptr noundef %5455, ptr noundef nonnull %5132, ptr noundef null) #13
  %5457 = icmp eq i32 %5456, -1
  br i1 %5457, label %5480, label %5458

5458:                                             ; preds = %5452
  %5459 = load i32, ptr %684, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @s2n_print_stacktrace(ptr noundef %5460) #13
  %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) #13
  %5467 = call i32 @isatty(i32 noundef %5466) #13
  %.not1184 = icmp eq i32 %5467, 0
  br i1 %.not1184, label %5468, label %5469

5468:                                             ; preds = %5464, %5458
  br label %5469

5469:                                             ; preds = %5464, %5468
  %.str.5.sink3384 = phi ptr [ @.str.5, %5468 ], [ @.str.2, %5464 ]
  store i32 %5459, ptr %684, 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 %630, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror(i32 noundef %5472, ptr noundef nonnull @.str.4) #13
  %5474 = load i32, ptr %630, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef nonnull @.str.4) #13
  %5476 = load i32, ptr %684, align 4, !tbaa !5
  %5477 = call ptr @strerror(i32 noundef %5476) #13
  %5478 = load i32, ptr %684, align 4, !tbaa !5
  %5479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5470, ptr noundef nonnull %.str.5.sink3384, i32 noundef %5471, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %5473, ptr noundef %5475, ptr noundef %5477, i32 noundef %5478) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5480:                                             ; preds = %5452
  %5481 = load i32, ptr @test_count, align 4, !tbaa !5
  %5482 = add nsw i32 %5481, 1
  store i32 %5482, ptr @test_count, align 4, !tbaa !5
  %5483 = load i32, ptr %630, align 4, !tbaa !5
  %5484 = icmp eq i32 %5483, 402653193
  br i1 %5484, label %5507, label %5485

5485:                                             ; preds = %5480
  %5486 = load i32, ptr %684, align 4, !tbaa !5
  %5487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5488 = call i32 @s2n_print_stacktrace(ptr noundef %5487) #13
  %5489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5490 = trunc nuw i8 %5489 to i1
  br i1 %5490, label %5491, label %5495

5491:                                             ; preds = %5485
  %5492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5493 = call i32 @fileno(ptr noundef %5492) #13
  %5494 = call i32 @isatty(i32 noundef %5493) #13
  %.not1185 = icmp eq i32 %5494, 0
  br i1 %.not1185, label %5495, label %5496

5495:                                             ; preds = %5491, %5485
  br label %5496

5496:                                             ; preds = %5491, %5495
  %.str.5.sink3393 = phi ptr [ @.str.5, %5495 ], [ @.str.2, %5491 ]
  store i32 %5486, ptr %684, align 4, !tbaa !5
  %5497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5498 = load i32, ptr @test_count, align 4, !tbaa !5
  %5499 = load i32, ptr %630, align 4, !tbaa !5
  %5500 = call ptr @s2n_strerror(i32 noundef %5499, ptr noundef nonnull @.str.4) #13
  %5501 = load i32, ptr %630, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror_debug(i32 noundef %5501, ptr noundef nonnull @.str.4) #13
  %5503 = load i32, ptr %684, align 4, !tbaa !5
  %5504 = call ptr @strerror(i32 noundef %5503) #13
  %5505 = load i32, ptr %684, align 4, !tbaa !5
  %5506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5497, ptr noundef nonnull %.str.5.sink3393, i32 noundef %5498, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %5500, ptr noundef %5502, ptr noundef %5504, i32 noundef %5505) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5507:                                             ; preds = %5480
  %5508 = add nsw i32 %5481, 2
  store i32 %5508, ptr @test_count, align 4, !tbaa !5
  %5509 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5510 = icmp eq ptr %5509, null
  br i1 %5510, label %5511, label %5533

5511:                                             ; preds = %5507
  %5512 = load i32, ptr %684, align 4, !tbaa !5
  %5513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5514 = call i32 @s2n_print_stacktrace(ptr noundef %5513) #13
  %5515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5516 = trunc nuw i8 %5515 to i1
  br i1 %5516, label %5517, label %5521

5517:                                             ; preds = %5511
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = call i32 @fileno(ptr noundef %5518) #13
  %5520 = call i32 @isatty(i32 noundef %5519) #13
  %.not1424 = icmp eq i32 %5520, 0
  br i1 %.not1424, label %5521, label %5522

5521:                                             ; preds = %5517, %5511
  br label %5522

5522:                                             ; preds = %5517, %5521
  %.str.5.sink3402 = phi ptr [ @.str.5, %5521 ], [ @.str.2, %5517 ]
  store i32 %5512, ptr %684, align 4, !tbaa !5
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = load i32, ptr @test_count, align 4, !tbaa !5
  %5525 = load i32, ptr %630, align 4, !tbaa !5
  %5526 = call ptr @s2n_strerror(i32 noundef %5525, ptr noundef nonnull @.str.4) #13
  %5527 = load i32, ptr %630, align 4, !tbaa !5
  %5528 = call ptr @s2n_strerror_debug(i32 noundef %5527, ptr noundef nonnull @.str.4) #13
  %5529 = load i32, ptr %684, align 4, !tbaa !5
  %5530 = call ptr @strerror(i32 noundef %5529) #13
  %5531 = load i32, ptr %684, align 4, !tbaa !5
  %5532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5523, ptr noundef nonnull %.str.5.sink3402, i32 noundef %5524, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %5526, ptr noundef %5528, ptr noundef %5530, i32 noundef %5531) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5533:                                             ; preds = %5507
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = add nsw i32 %5534, 1
  store i32 %5535, ptr @test_count, align 4, !tbaa !5
  %5536 = call i32 @s2n_free(ptr noundef nonnull %19) #13
  %5537 = icmp eq i32 %5536, -1
  br i1 %5537, label %5538, label %5560

5538:                                             ; preds = %5533
  %5539 = load i32, ptr %684, align 4, !tbaa !5
  %5540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5541 = call i32 @s2n_print_stacktrace(ptr noundef %5540) #13
  %5542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5543 = trunc nuw i8 %5542 to i1
  br i1 %5543, label %5544, label %5548

5544:                                             ; preds = %5538
  %5545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5546 = call i32 @fileno(ptr noundef %5545) #13
  %5547 = call i32 @isatty(i32 noundef %5546) #13
  %.not1423 = icmp eq i32 %5547, 0
  br i1 %.not1423, label %5548, label %5549

5548:                                             ; preds = %5544, %5538
  br label %5549

5549:                                             ; preds = %5544, %5548
  %.str.5.sink3411 = phi ptr [ @.str.5, %5548 ], [ @.str.2, %5544 ]
  store i32 %5539, ptr %684, align 4, !tbaa !5
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = load i32, ptr @test_count, align 4, !tbaa !5
  %5552 = load i32, ptr %630, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror(i32 noundef %5552, ptr noundef nonnull @.str.4) #13
  %5554 = load i32, ptr %630, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror_debug(i32 noundef %5554, ptr noundef nonnull @.str.4) #13
  %5556 = load i32, ptr %684, align 4, !tbaa !5
  %5557 = call ptr @strerror(i32 noundef %5556) #13
  %5558 = load i32, ptr %684, align 4, !tbaa !5
  %5559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5550, ptr noundef nonnull %.str.5.sink3411, i32 noundef %5551, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.1, i32 noundef 533, ptr noundef %5553, ptr noundef %5555, ptr noundef %5557, i32 noundef %5558) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5560:                                             ; preds = %5533
  call void @llvm.lifetime.end.p0(i64 27, ptr nonnull %33) #13
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %5563

5561:                                             ; preds = %5656
  %5562 = add nuw nsw i64 %.110831559, 1
  %exitcond.not = icmp eq i64 %5562, 7
  br i1 %exitcond.not, label %5685, label %5563, !llvm.loop !70

5563:                                             ; preds = %5560, %5561
  %5564 = phi i32 [ %.pre, %5560 ], [ %5658, %5561 ]
  %.110831559 = phi i64 [ 0, %5560 ], [ %5562, %5561 ]
  %5565 = add nsw i32 %5564, 1
  store i32 %5565, ptr @test_count, align 4, !tbaa !5
  %5566 = getelementptr inbounds [8 x %struct.anon], ptr %30, i64 0, i64 %.110831559
  %5567 = getelementptr inbounds i8, ptr %5566, i64 56
  %5568 = getelementptr inbounds i8, ptr %5566, i64 8
  %5569 = load i32, ptr %5568, align 8, !tbaa !62
  %5570 = call i32 @s2n_alloc(ptr noundef nonnull %5567, i32 noundef %5569) #13
  %5571 = icmp eq i32 %5570, -1
  br i1 %5571, label %5572, label %5594

5572:                                             ; preds = %5563
  %5573 = load i32, ptr %684, align 4, !tbaa !5
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = call i32 @s2n_print_stacktrace(ptr noundef %5574) #13
  %5576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5577 = trunc nuw i8 %5576 to i1
  br i1 %5577, label %5578, label %5582

5578:                                             ; preds = %5572
  %5579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5580 = call i32 @fileno(ptr noundef %5579) #13
  %5581 = call i32 @isatty(i32 noundef %5580) #13
  %.not1422 = icmp eq i32 %5581, 0
  br i1 %.not1422, label %5582, label %5583

5582:                                             ; preds = %5578, %5572
  br label %5583

5583:                                             ; preds = %5578, %5582
  %.str.5.sink3420 = phi ptr [ @.str.5, %5582 ], [ @.str.2, %5578 ]
  store i32 %5573, ptr %684, align 4, !tbaa !5
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = load i32, ptr @test_count, align 4, !tbaa !5
  %5586 = load i32, ptr %630, align 4, !tbaa !5
  %5587 = call ptr @s2n_strerror(i32 noundef %5586, ptr noundef nonnull @.str.4) #13
  %5588 = load i32, ptr %630, align 4, !tbaa !5
  %5589 = call ptr @s2n_strerror_debug(i32 noundef %5588, ptr noundef nonnull @.str.4) #13
  %5590 = load i32, ptr %684, align 4, !tbaa !5
  %5591 = call ptr @strerror(i32 noundef %5590) #13
  %5592 = load i32, ptr %684, align 4, !tbaa !5
  %5593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5584, ptr noundef nonnull %.str.5.sink3420, i32 noundef %5585, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5587, ptr noundef %5589, ptr noundef %5591, i32 noundef %5592) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5594:                                             ; preds = %5563
  %5595 = load i32, ptr @test_count, align 4, !tbaa !5
  %5596 = add nsw i32 %5595, 1
  store i32 %5596, ptr @test_count, align 4, !tbaa !5
  %5597 = load ptr, ptr %5566, align 8, !tbaa !60
  %5598 = load ptr, ptr %5567, align 8, !tbaa !72
  %5599 = getelementptr inbounds i8, ptr %5566, i64 64
  %5600 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef %5597, ptr noundef %5598, ptr noundef nonnull %5599, ptr noundef nonnull %21) #13
  %5601 = icmp eq i32 %5600, -1
  br i1 %5601, label %5602, label %5624

5602:                                             ; preds = %5594
  %5603 = load i32, ptr %684, align 4, !tbaa !5
  %5604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5605 = call i32 @s2n_print_stacktrace(ptr noundef %5604) #13
  %5606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5607 = trunc nuw i8 %5606 to i1
  br i1 %5607, label %5608, label %5612

5608:                                             ; preds = %5602
  %5609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5610 = call i32 @fileno(ptr noundef %5609) #13
  %5611 = call i32 @isatty(i32 noundef %5610) #13
  %.not1421 = icmp eq i32 %5611, 0
  br i1 %.not1421, label %5612, label %5613

5612:                                             ; preds = %5608, %5602
  br label %5613

5613:                                             ; preds = %5608, %5612
  %.str.5.sink3429 = phi ptr [ @.str.5, %5612 ], [ @.str.2, %5608 ]
  store i32 %5603, ptr %684, align 4, !tbaa !5
  %5614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5615 = load i32, ptr @test_count, align 4, !tbaa !5
  %5616 = load i32, ptr %630, align 4, !tbaa !5
  %5617 = call ptr @s2n_strerror(i32 noundef %5616, ptr noundef nonnull @.str.4) #13
  %5618 = load i32, ptr %630, align 4, !tbaa !5
  %5619 = call ptr @s2n_strerror_debug(i32 noundef %5618, ptr noundef nonnull @.str.4) #13
  %5620 = load i32, ptr %684, align 4, !tbaa !5
  %5621 = call ptr @strerror(i32 noundef %5620) #13
  %5622 = load i32, ptr %684, align 4, !tbaa !5
  %5623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5614, ptr noundef nonnull %.str.5.sink3429, i32 noundef %5615, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %5617, ptr noundef %5619, ptr noundef %5621, i32 noundef %5622) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5624:                                             ; preds = %5594
  %5625 = getelementptr inbounds i8, ptr %5566, i64 40
  %5626 = load i32, ptr %5625, align 8, !tbaa !68
  %.not1417 = icmp eq i32 %5626, 0
  %.pre1593 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1417, label %5656, label %5627

5627:                                             ; preds = %5624
  %5628 = getelementptr inbounds i8, ptr %5566, i64 32
  %5629 = add nsw i32 %.pre1593, 1
  store i32 %5629, ptr @test_count, align 4, !tbaa !5
  %5630 = load ptr, ptr %5567, align 8, !tbaa !72
  %5631 = load ptr, ptr %5628, align 8, !tbaa !73
  %5632 = zext i32 %5626 to i64
  %bcmp1418 = call i32 @bcmp(ptr %5630, ptr %5631, i64 %5632)
  %5633 = icmp eq i32 %bcmp1418, 0
  br i1 %5633, label %5656, label %5634

5634:                                             ; preds = %5627
  %5635 = load i32, ptr %684, align 4, !tbaa !5
  %5636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5637 = call i32 @s2n_print_stacktrace(ptr noundef %5636) #13
  %5638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5639 = trunc nuw i8 %5638 to i1
  br i1 %5639, label %5640, label %5644

5640:                                             ; preds = %5634
  %5641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5642 = call i32 @fileno(ptr noundef %5641) #13
  %5643 = call i32 @isatty(i32 noundef %5642) #13
  %.not1419 = icmp eq i32 %5643, 0
  br i1 %.not1419, label %5644, label %5645

5644:                                             ; preds = %5640, %5634
  br label %5645

5645:                                             ; preds = %5640, %5644
  %.str.5.sink3438 = phi ptr [ @.str.5, %5644 ], [ @.str.2, %5640 ]
  store i32 %5635, ptr %684, align 4, !tbaa !5
  %5646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5647 = load i32, ptr @test_count, align 4, !tbaa !5
  %5648 = load i32, ptr %630, align 4, !tbaa !5
  %5649 = call ptr @s2n_strerror(i32 noundef %5648, ptr noundef nonnull @.str.4) #13
  %5650 = load i32, ptr %630, align 4, !tbaa !5
  %5651 = call ptr @s2n_strerror_debug(i32 noundef %5650, ptr noundef nonnull @.str.4) #13
  %5652 = load i32, ptr %684, align 4, !tbaa !5
  %5653 = call ptr @strerror(i32 noundef %5652) #13
  %5654 = load i32, ptr %684, align 4, !tbaa !5
  %5655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5646, ptr noundef nonnull %.str.5.sink3438, i32 noundef %5647, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %5649, ptr noundef %5651, ptr noundef %5653, i32 noundef %5654) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5656:                                             ; preds = %5624, %5627
  %5657 = phi i32 [ %.pre1593, %5624 ], [ %5629, %5627 ]
  %5658 = add nsw i32 %5657, 1
  store i32 %5658, ptr @test_count, align 4, !tbaa !5
  %5659 = load i8, ptr %21, align 1, !tbaa !11, !range !13, !noundef !14
  %5660 = getelementptr inbounds i8, ptr %5566, i64 80
  %5661 = load i8, ptr %5660, align 8, !tbaa !67, !range !13, !noundef !14
  %5662 = icmp eq i8 %5659, %5661
  br i1 %5662, label %5561, label %5663

5663:                                             ; preds = %5656
  %5664 = load i32, ptr %684, align 4, !tbaa !5
  %5665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5666 = call i32 @s2n_print_stacktrace(ptr noundef %5665) #13
  %5667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5668 = trunc nuw i8 %5667 to i1
  br i1 %5668, label %5669, label %5673

5669:                                             ; preds = %5663
  %5670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5671 = call i32 @fileno(ptr noundef %5670) #13
  %5672 = call i32 @isatty(i32 noundef %5671) #13
  %.not1420 = icmp eq i32 %5672, 0
  br i1 %.not1420, label %5673, label %5674

5673:                                             ; preds = %5669, %5663
  br label %5674

5674:                                             ; preds = %5669, %5673
  %.str.5.sink3447 = phi ptr [ @.str.5, %5673 ], [ @.str.2, %5669 ]
  store i32 %5664, ptr %684, align 4, !tbaa !5
  %5675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5676 = load i32, ptr @test_count, align 4, !tbaa !5
  %5677 = load i32, ptr %630, align 4, !tbaa !5
  %5678 = call ptr @s2n_strerror(i32 noundef %5677, ptr noundef nonnull @.str.4) #13
  %5679 = load i32, ptr %630, align 4, !tbaa !5
  %5680 = call ptr @s2n_strerror_debug(i32 noundef %5679, ptr noundef nonnull @.str.4) #13
  %5681 = load i32, ptr %684, align 4, !tbaa !5
  %5682 = call ptr @strerror(i32 noundef %5681) #13
  %5683 = load i32, ptr %684, align 4, !tbaa !5
  %5684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5675, ptr noundef nonnull %.str.5.sink3447, i32 noundef %5676, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.1, i32 noundef 543, ptr noundef %5678, ptr noundef %5680, ptr noundef %5682, i32 noundef %5683) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5685:                                             ; preds = %5561
  %5686 = add nsw i32 %5657, 2
  store i32 %5686, ptr @test_count, align 4, !tbaa !5
  %5687 = getelementptr inbounds i8, ptr %30, i64 64
  %5688 = load i32, ptr %5687, align 16, !tbaa !74
  %5689 = add i32 %5688, -3
  %5690 = call i32 @s2n_alloc(ptr noundef nonnull %19, i32 noundef %5689) #13
  %5691 = icmp eq i32 %5690, -1
  br i1 %5691, label %5692, label %5714

5692:                                             ; preds = %5685
  %5693 = load i32, ptr %684, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = call i32 @s2n_print_stacktrace(ptr noundef %5694) #13
  %5696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5697 = trunc nuw i8 %5696 to i1
  br i1 %5697, label %5698, label %5702

5698:                                             ; preds = %5692
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = call i32 @fileno(ptr noundef %5699) #13
  %5701 = call i32 @isatty(i32 noundef %5700) #13
  %.not1416 = icmp eq i32 %5701, 0
  br i1 %.not1416, label %5702, label %5703

5702:                                             ; preds = %5698, %5692
  br label %5703

5703:                                             ; preds = %5698, %5702
  %.str.5.sink3456 = phi ptr [ @.str.5, %5702 ], [ @.str.2, %5698 ]
  store i32 %5693, ptr %684, align 4, !tbaa !5
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = load i32, ptr %630, align 4, !tbaa !5
  %5707 = call ptr @s2n_strerror(i32 noundef %5706, ptr noundef nonnull @.str.4) #13
  %5708 = load i32, ptr %630, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror_debug(i32 noundef %5708, ptr noundef nonnull @.str.4) #13
  %5710 = load i32, ptr %684, align 4, !tbaa !5
  %5711 = call ptr @strerror(i32 noundef %5710) #13
  %5712 = load i32, ptr %684, align 4, !tbaa !5
  %5713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5704, ptr noundef nonnull %.str.5.sink3456, i32 noundef %5705, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.1, i32 noundef 549, ptr noundef %5707, ptr noundef %5709, ptr noundef %5711, i32 noundef %5712) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5714:                                             ; preds = %5685
  %5715 = load i32, ptr @test_count, align 4, !tbaa !5
  %5716 = add nsw i32 %5715, 1
  store i32 %5716, ptr @test_count, align 4, !tbaa !5
  %5717 = load ptr, ptr %30, align 16, !tbaa !60
  %5718 = load ptr, ptr %19, align 8, !tbaa !69
  %5719 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef %5717, ptr noundef %5718, ptr noundef nonnull %5132, ptr noundef nonnull %21) #13
  %5720 = icmp eq i32 %5719, -1
  br i1 %5720, label %5743, label %5721

5721:                                             ; preds = %5714
  %5722 = load i32, ptr %684, align 4, !tbaa !5
  %5723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5724 = call i32 @s2n_print_stacktrace(ptr noundef %5723) #13
  %5725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5726 = trunc nuw i8 %5725 to i1
  br i1 %5726, label %5727, label %5731

5727:                                             ; preds = %5721
  %5728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5729 = call i32 @fileno(ptr noundef %5728) #13
  %5730 = call i32 @isatty(i32 noundef %5729) #13
  %.not1186 = icmp eq i32 %5730, 0
  br i1 %.not1186, label %5731, label %5732

5731:                                             ; preds = %5727, %5721
  br label %5732

5732:                                             ; preds = %5727, %5731
  %.str.5.sink3465 = phi ptr [ @.str.5, %5731 ], [ @.str.2, %5727 ]
  store i32 %5722, ptr %684, align 4, !tbaa !5
  %5733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5734 = load i32, ptr @test_count, align 4, !tbaa !5
  %5735 = load i32, ptr %630, align 4, !tbaa !5
  %5736 = call ptr @s2n_strerror(i32 noundef %5735, ptr noundef nonnull @.str.4) #13
  %5737 = load i32, ptr %630, align 4, !tbaa !5
  %5738 = call ptr @s2n_strerror_debug(i32 noundef %5737, ptr noundef nonnull @.str.4) #13
  %5739 = load i32, ptr %684, align 4, !tbaa !5
  %5740 = call ptr @strerror(i32 noundef %5739) #13
  %5741 = load i32, ptr %684, align 4, !tbaa !5
  %5742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5733, ptr noundef nonnull %.str.5.sink3465, i32 noundef %5734, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %5736, ptr noundef %5738, ptr noundef %5740, i32 noundef %5741) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5743:                                             ; preds = %5714
  %5744 = load i32, ptr @test_count, align 4, !tbaa !5
  %5745 = add nsw i32 %5744, 1
  store i32 %5745, ptr @test_count, align 4, !tbaa !5
  %5746 = load i32, ptr %630, align 4, !tbaa !5
  %5747 = icmp eq i32 %5746, 469762120
  br i1 %5747, label %5770, label %5748

5748:                                             ; preds = %5743
  %5749 = load i32, ptr %684, align 4, !tbaa !5
  %5750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5751 = call i32 @s2n_print_stacktrace(ptr noundef %5750) #13
  %5752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5753 = trunc nuw i8 %5752 to i1
  br i1 %5753, label %5754, label %5758

5754:                                             ; preds = %5748
  %5755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5756 = call i32 @fileno(ptr noundef %5755) #13
  %5757 = call i32 @isatty(i32 noundef %5756) #13
  %.not1187 = icmp eq i32 %5757, 0
  br i1 %.not1187, label %5758, label %5759

5758:                                             ; preds = %5754, %5748
  br label %5759

5759:                                             ; preds = %5754, %5758
  %.str.5.sink3474 = phi ptr [ @.str.5, %5758 ], [ @.str.2, %5754 ]
  store i32 %5749, ptr %684, align 4, !tbaa !5
  %5760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5761 = load i32, ptr @test_count, align 4, !tbaa !5
  %5762 = load i32, ptr %630, align 4, !tbaa !5
  %5763 = call ptr @s2n_strerror(i32 noundef %5762, ptr noundef nonnull @.str.4) #13
  %5764 = load i32, ptr %630, align 4, !tbaa !5
  %5765 = call ptr @s2n_strerror_debug(i32 noundef %5764, ptr noundef nonnull @.str.4) #13
  %5766 = load i32, ptr %684, align 4, !tbaa !5
  %5767 = call ptr @strerror(i32 noundef %5766) #13
  %5768 = load i32, ptr %684, align 4, !tbaa !5
  %5769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5760, ptr noundef nonnull %.str.5.sink3474, i32 noundef %5761, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %5763, ptr noundef %5765, ptr noundef %5767, i32 noundef %5768) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5770:                                             ; preds = %5743
  %5771 = add nsw i32 %5744, 2
  store i32 %5771, ptr @test_count, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #13
  %5773 = icmp eq ptr %5772, null
  br i1 %5773, label %5774, label %5796

5774:                                             ; preds = %5770
  %5775 = load i32, ptr %684, align 4, !tbaa !5
  %5776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5777 = call i32 @s2n_print_stacktrace(ptr noundef %5776) #13
  %5778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5779 = trunc nuw i8 %5778 to i1
  br i1 %5779, label %5780, label %5784

5780:                                             ; preds = %5774
  %5781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5782 = call i32 @fileno(ptr noundef %5781) #13
  %5783 = call i32 @isatty(i32 noundef %5782) #13
  %.not1415 = icmp eq i32 %5783, 0
  br i1 %.not1415, label %5784, label %5785

5784:                                             ; preds = %5780, %5774
  br label %5785

5785:                                             ; preds = %5780, %5784
  %.str.5.sink3483 = phi ptr [ @.str.5, %5784 ], [ @.str.2, %5780 ]
  store i32 %5775, ptr %684, align 4, !tbaa !5
  %5786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5787 = load i32, ptr @test_count, align 4, !tbaa !5
  %5788 = load i32, ptr %630, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror(i32 noundef %5788, ptr noundef nonnull @.str.4) #13
  %5790 = load i32, ptr %630, align 4, !tbaa !5
  %5791 = call ptr @s2n_strerror_debug(i32 noundef %5790, ptr noundef nonnull @.str.4) #13
  %5792 = load i32, ptr %684, align 4, !tbaa !5
  %5793 = call ptr @strerror(i32 noundef %5792) #13
  %5794 = load i32, ptr %684, align 4, !tbaa !5
  %5795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5786, ptr noundef nonnull %.str.5.sink3483, i32 noundef %5787, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %5789, ptr noundef %5791, ptr noundef %5793, i32 noundef %5794) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5796:                                             ; preds = %5770
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %5797 = load i32, ptr @test_count, align 4, !tbaa !5
  %5798 = add nsw i32 %5797, 1
  store i32 %5798, ptr @test_count, align 4, !tbaa !5
  %5799 = call i32 @s2n_free(ptr noundef nonnull %19) #13
  %5800 = icmp eq i32 %5799, -1
  br i1 %5800, label %5801, label %5823

5801:                                             ; preds = %5796
  %5802 = load i32, ptr %684, align 4, !tbaa !5
  %5803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5804 = call i32 @s2n_print_stacktrace(ptr noundef %5803) #13
  %5805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5806 = trunc nuw i8 %5805 to i1
  br i1 %5806, label %5807, label %5811

5807:                                             ; preds = %5801
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = call i32 @fileno(ptr noundef %5808) #13
  %5810 = call i32 @isatty(i32 noundef %5809) #13
  %.not1414 = icmp eq i32 %5810, 0
  br i1 %.not1414, label %5811, label %5812

5811:                                             ; preds = %5807, %5801
  br label %5812

5812:                                             ; preds = %5807, %5811
  %.str.5.sink3492 = phi ptr [ @.str.5, %5811 ], [ @.str.2, %5807 ]
  store i32 %5802, ptr %684, align 4, !tbaa !5
  %5813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5814 = load i32, ptr @test_count, align 4, !tbaa !5
  %5815 = load i32, ptr %630, align 4, !tbaa !5
  %5816 = call ptr @s2n_strerror(i32 noundef %5815, ptr noundef nonnull @.str.4) #13
  %5817 = load i32, ptr %630, align 4, !tbaa !5
  %5818 = call ptr @s2n_strerror_debug(i32 noundef %5817, ptr noundef nonnull @.str.4) #13
  %5819 = load i32, ptr %684, align 4, !tbaa !5
  %5820 = call ptr @strerror(i32 noundef %5819) #13
  %5821 = load i32, ptr %684, align 4, !tbaa !5
  %5822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5813, ptr noundef nonnull %.str.5.sink3492, i32 noundef %5814, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %5816, ptr noundef %5818, ptr noundef %5820, i32 noundef %5821) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5823:                                             ; preds = %5796
  %5824 = load i32, ptr @test_count, align 4, !tbaa !5
  %5825 = add nsw i32 %5824, 1
  store i32 %5825, ptr @test_count, align 4, !tbaa !5
  %5826 = getelementptr inbounds i8, ptr %30, i64 672
  %5827 = call i32 @s2n_alloc(ptr noundef nonnull %5826, i32 noundef 65535) #13
  %5828 = icmp eq i32 %5827, -1
  br i1 %5828, label %5829, label %5851

5829:                                             ; preds = %5823
  %5830 = load i32, ptr %684, align 4, !tbaa !5
  %5831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5832 = call i32 @s2n_print_stacktrace(ptr noundef %5831) #13
  %5833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5834 = trunc nuw i8 %5833 to i1
  br i1 %5834, label %5835, label %5839

5835:                                             ; preds = %5829
  %5836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5837 = call i32 @fileno(ptr noundef %5836) #13
  %5838 = call i32 @isatty(i32 noundef %5837) #13
  %.not1413 = icmp eq i32 %5838, 0
  br i1 %.not1413, label %5839, label %5840

5839:                                             ; preds = %5835, %5829
  br label %5840

5840:                                             ; preds = %5835, %5839
  %.str.5.sink3501 = phi ptr [ @.str.5, %5839 ], [ @.str.2, %5835 ]
  store i32 %5830, ptr %684, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = load i32, ptr @test_count, align 4, !tbaa !5
  %5843 = load i32, ptr %630, align 4, !tbaa !5
  %5844 = call ptr @s2n_strerror(i32 noundef %5843, ptr noundef nonnull @.str.4) #13
  %5845 = load i32, ptr %630, align 4, !tbaa !5
  %5846 = call ptr @s2n_strerror_debug(i32 noundef %5845, ptr noundef nonnull @.str.4) #13
  %5847 = load i32, ptr %684, align 4, !tbaa !5
  %5848 = call ptr @strerror(i32 noundef %5847) #13
  %5849 = load i32, ptr %684, align 4, !tbaa !5
  %5850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5841, ptr noundef nonnull %.str.5.sink3501, i32 noundef %5842, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 559, ptr noundef %5844, ptr noundef %5846, ptr noundef %5848, i32 noundef %5849) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5851:                                             ; preds = %5823
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = add nsw i32 %5852, 1
  store i32 %5853, ptr @test_count, align 4, !tbaa !5
  %5854 = load ptr, ptr %4644, align 8, !tbaa !60
  %5855 = load ptr, ptr %5826, align 16, !tbaa !72
  %5856 = getelementptr inbounds i8, ptr %30, i64 680
  %5857 = call i32 @s2n_cert_get_x509_extension_value(ptr noundef nonnull %4552, ptr noundef %5854, ptr noundef %5855, ptr noundef nonnull %5856, ptr noundef nonnull %21) #13
  %5858 = icmp eq i32 %5857, -1
  br i1 %5858, label %5881, label %5859

5859:                                             ; preds = %5851
  %5860 = load i32, ptr %684, align 4, !tbaa !5
  %5861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5862 = call i32 @s2n_print_stacktrace(ptr noundef %5861) #13
  %5863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5864 = trunc nuw i8 %5863 to i1
  br i1 %5864, label %5865, label %5869

5865:                                             ; preds = %5859
  %5866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5867 = call i32 @fileno(ptr noundef %5866) #13
  %5868 = call i32 @isatty(i32 noundef %5867) #13
  %.not1188 = icmp eq i32 %5868, 0
  br i1 %.not1188, label %5869, label %5870

5869:                                             ; preds = %5865, %5859
  br label %5870

5870:                                             ; preds = %5865, %5869
  %.str.5.sink3510 = phi ptr [ @.str.5, %5869 ], [ @.str.2, %5865 ]
  store i32 %5860, ptr %684, align 4, !tbaa !5
  %5871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5872 = load i32, ptr @test_count, align 4, !tbaa !5
  %5873 = load i32, ptr %630, align 4, !tbaa !5
  %5874 = call ptr @s2n_strerror(i32 noundef %5873, ptr noundef nonnull @.str.4) #13
  %5875 = load i32, ptr %630, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror_debug(i32 noundef %5875, ptr noundef nonnull @.str.4) #13
  %5877 = load i32, ptr %684, align 4, !tbaa !5
  %5878 = call ptr @strerror(i32 noundef %5877) #13
  %5879 = load i32, ptr %684, align 4, !tbaa !5
  %5880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5871, ptr noundef nonnull %.str.5.sink3510, i32 noundef %5872, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 563, ptr noundef %5874, ptr noundef %5876, ptr noundef %5878, i32 noundef %5879) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5881:                                             ; preds = %5851
  %5882 = load i32, ptr @test_count, align 4, !tbaa !5
  %5883 = add nsw i32 %5882, 1
  store i32 %5883, ptr @test_count, align 4, !tbaa !5
  %5884 = load i32, ptr %630, align 4, !tbaa !5
  %5885 = icmp eq i32 %5884, 469762118
  br i1 %5885, label %5908, label %5886

5886:                                             ; preds = %5881
  %5887 = load i32, ptr %684, align 4, !tbaa !5
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = call i32 @s2n_print_stacktrace(ptr noundef %5888) #13
  %5890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5891 = trunc nuw i8 %5890 to i1
  br i1 %5891, label %5892, label %5896

5892:                                             ; preds = %5886
  %5893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5894 = call i32 @fileno(ptr noundef %5893) #13
  %5895 = call i32 @isatty(i32 noundef %5894) #13
  %.not1189 = icmp eq i32 %5895, 0
  br i1 %.not1189, label %5896, label %5897

5896:                                             ; preds = %5892, %5886
  br label %5897

5897:                                             ; preds = %5892, %5896
  %.str.5.sink3519 = phi ptr [ @.str.5, %5896 ], [ @.str.2, %5892 ]
  store i32 %5887, ptr %684, align 4, !tbaa !5
  %5898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = load i32, ptr %630, align 4, !tbaa !5
  %5901 = call ptr @s2n_strerror(i32 noundef %5900, ptr noundef nonnull @.str.4) #13
  %5902 = load i32, ptr %630, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror_debug(i32 noundef %5902, ptr noundef nonnull @.str.4) #13
  %5904 = load i32, ptr %684, align 4, !tbaa !5
  %5905 = call ptr @strerror(i32 noundef %5904) #13
  %5906 = load i32, ptr %684, align 4, !tbaa !5
  %5907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5898, ptr noundef nonnull %.str.5.sink3519, i32 noundef %5899, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 563, ptr noundef %5901, ptr noundef %5903, ptr noundef %5905, i32 noundef %5906) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5908:                                             ; preds = %5881
  %5909 = add nsw i32 %5882, 2
  store i32 %5909, ptr @test_count, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror_debug(i32 noundef 469762118, ptr noundef nonnull @.str.4) #13
  %5911 = icmp eq ptr %5910, null
  br i1 %5911, label %5912, label %5934

5912:                                             ; preds = %5908
  %5913 = load i32, ptr %684, align 4, !tbaa !5
  %5914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5915 = call i32 @s2n_print_stacktrace(ptr noundef %5914) #13
  %5916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5917 = trunc nuw i8 %5916 to i1
  br i1 %5917, label %5918, label %5922

5918:                                             ; preds = %5912
  %5919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5920 = call i32 @fileno(ptr noundef %5919) #13
  %5921 = call i32 @isatty(i32 noundef %5920) #13
  %.not1412 = icmp eq i32 %5921, 0
  br i1 %.not1412, label %5922, label %5923

5922:                                             ; preds = %5918, %5912
  br label %5923

5923:                                             ; preds = %5918, %5922
  %.str.5.sink3528 = phi ptr [ @.str.5, %5922 ], [ @.str.2, %5918 ]
  store i32 %5913, ptr %684, align 4, !tbaa !5
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = load i32, ptr @test_count, align 4, !tbaa !5
  %5926 = load i32, ptr %630, align 4, !tbaa !5
  %5927 = call ptr @s2n_strerror(i32 noundef %5926, ptr noundef nonnull @.str.4) #13
  %5928 = load i32, ptr %630, align 4, !tbaa !5
  %5929 = call ptr @s2n_strerror_debug(i32 noundef %5928, ptr noundef nonnull @.str.4) #13
  %5930 = load i32, ptr %684, align 4, !tbaa !5
  %5931 = call ptr @strerror(i32 noundef %5930) #13
  %5932 = load i32, ptr %684, align 4, !tbaa !5
  %5933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5924, ptr noundef nonnull %.str.5.sink3528, i32 noundef %5925, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 563, ptr noundef %5927, ptr noundef %5929, ptr noundef %5931, i32 noundef %5932) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5934:                                             ; preds = %5908
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 33, ptr nonnull %34) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(33) %34, ptr noundef nonnull align 16 dereferenceable(33) @__const.main.der_ext_value, i64 33, i1 false)
  %5935 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %34) #17
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #13
  store i32 0, ptr %35, align 4, !tbaa !5
  %5936 = load i32, ptr @test_count, align 4, !tbaa !5
  %5937 = add nsw i32 %5936, 1
  store i32 %5937, ptr @test_count, align 4, !tbaa !5
  %5938 = trunc i64 %5935 to i32
  %5939 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef null, i32 noundef %5938, ptr noundef nonnull %35) #13
  %5940 = icmp eq i32 %5939, -1
  br i1 %5940, label %5963, label %5941

5941:                                             ; preds = %5934
  %5942 = load i32, ptr %684, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = call i32 @s2n_print_stacktrace(ptr noundef %5943) #13
  %5945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5946 = trunc nuw i8 %5945 to i1
  br i1 %5946, label %5947, label %5951

5947:                                             ; preds = %5941
  %5948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5949 = call i32 @fileno(ptr noundef %5948) #13
  %5950 = call i32 @isatty(i32 noundef %5949) #13
  %.not1190 = icmp eq i32 %5950, 0
  br i1 %.not1190, label %5951, label %5952

5951:                                             ; preds = %5947, %5941
  br label %5952

5952:                                             ; preds = %5947, %5951
  %.str.5.sink3537 = phi ptr [ @.str.5, %5951 ], [ @.str.2, %5947 ]
  store i32 %5942, ptr %684, align 4, !tbaa !5
  %5953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5954 = load i32, ptr @test_count, align 4, !tbaa !5
  %5955 = load i32, ptr %630, align 4, !tbaa !5
  %5956 = call ptr @s2n_strerror(i32 noundef %5955, ptr noundef nonnull @.str.4) #13
  %5957 = load i32, ptr %630, align 4, !tbaa !5
  %5958 = call ptr @s2n_strerror_debug(i32 noundef %5957, ptr noundef nonnull @.str.4) #13
  %5959 = load i32, ptr %684, align 4, !tbaa !5
  %5960 = call ptr @strerror(i32 noundef %5959) #13
  %5961 = load i32, ptr %684, align 4, !tbaa !5
  %5962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5953, ptr noundef nonnull %.str.5.sink3537, i32 noundef %5954, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %5956, ptr noundef %5958, ptr noundef %5960, i32 noundef %5961) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5963:                                             ; preds = %5934
  %5964 = load i32, ptr @test_count, align 4, !tbaa !5
  %5965 = add nsw i32 %5964, 1
  store i32 %5965, ptr @test_count, align 4, !tbaa !5
  %5966 = load i32, ptr %630, align 4, !tbaa !5
  %5967 = icmp eq i32 %5966, 402653193
  br i1 %5967, label %5990, label %5968

5968:                                             ; preds = %5963
  %5969 = load i32, ptr %684, align 4, !tbaa !5
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5971 = call i32 @s2n_print_stacktrace(ptr noundef %5970) #13
  %5972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5973 = trunc nuw i8 %5972 to i1
  br i1 %5973, label %5974, label %5978

5974:                                             ; preds = %5968
  %5975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5976 = call i32 @fileno(ptr noundef %5975) #13
  %5977 = call i32 @isatty(i32 noundef %5976) #13
  %.not1191 = icmp eq i32 %5977, 0
  br i1 %.not1191, label %5978, label %5979

5978:                                             ; preds = %5974, %5968
  br label %5979

5979:                                             ; preds = %5974, %5978
  %.str.5.sink3546 = phi ptr [ @.str.5, %5978 ], [ @.str.2, %5974 ]
  store i32 %5969, ptr %684, align 4, !tbaa !5
  %5980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5981 = load i32, ptr @test_count, align 4, !tbaa !5
  %5982 = load i32, ptr %630, align 4, !tbaa !5
  %5983 = call ptr @s2n_strerror(i32 noundef %5982, ptr noundef nonnull @.str.4) #13
  %5984 = load i32, ptr %630, align 4, !tbaa !5
  %5985 = call ptr @s2n_strerror_debug(i32 noundef %5984, ptr noundef nonnull @.str.4) #13
  %5986 = load i32, ptr %684, align 4, !tbaa !5
  %5987 = call ptr @strerror(i32 noundef %5986) #13
  %5988 = load i32, ptr %684, align 4, !tbaa !5
  %5989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5980, ptr noundef nonnull %.str.5.sink3546, i32 noundef %5981, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %5983, ptr noundef %5985, ptr noundef %5987, i32 noundef %5988) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5990:                                             ; preds = %5963
  %5991 = add nsw i32 %5964, 2
  store i32 %5991, ptr @test_count, align 4, !tbaa !5
  %5992 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %5993 = icmp eq ptr %5992, null
  br i1 %5993, label %5994, label %6016

5994:                                             ; preds = %5990
  %5995 = load i32, ptr %684, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = call i32 @s2n_print_stacktrace(ptr noundef %5996) #13
  %5998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5999 = trunc nuw i8 %5998 to i1
  br i1 %5999, label %6000, label %6004

6000:                                             ; preds = %5994
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = call i32 @fileno(ptr noundef %6001) #13
  %6003 = call i32 @isatty(i32 noundef %6002) #13
  %.not1411 = icmp eq i32 %6003, 0
  br i1 %.not1411, label %6004, label %6005

6004:                                             ; preds = %6000, %5994
  br label %6005

6005:                                             ; preds = %6000, %6004
  %.str.5.sink3555 = phi ptr [ @.str.5, %6004 ], [ @.str.2, %6000 ]
  store i32 %5995, ptr %684, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = load i32, ptr %630, align 4, !tbaa !5
  %6009 = call ptr @s2n_strerror(i32 noundef %6008, ptr noundef nonnull @.str.4) #13
  %6010 = load i32, ptr %630, align 4, !tbaa !5
  %6011 = call ptr @s2n_strerror_debug(i32 noundef %6010, ptr noundef nonnull @.str.4) #13
  %6012 = load i32, ptr %684, align 4, !tbaa !5
  %6013 = call ptr @strerror(i32 noundef %6012) #13
  %6014 = load i32, ptr %684, align 4, !tbaa !5
  %6015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6006, ptr noundef nonnull %.str.5.sink3555, i32 noundef %6007, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %6009, ptr noundef %6011, ptr noundef %6013, i32 noundef %6014) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6016:                                             ; preds = %5990
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6017 = load i32, ptr @test_count, align 4, !tbaa !5
  %6018 = add nsw i32 %6017, 1
  store i32 %6018, ptr @test_count, align 4, !tbaa !5
  %6019 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef nonnull %34, i32 noundef 0, ptr noundef nonnull %35) #13
  %6020 = icmp eq i32 %6019, -1
  br i1 %6020, label %6043, label %6021

6021:                                             ; preds = %6016
  %6022 = load i32, ptr %684, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = call i32 @s2n_print_stacktrace(ptr noundef %6023) #13
  %6025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6026 = trunc nuw i8 %6025 to i1
  br i1 %6026, label %6027, label %6031

6027:                                             ; preds = %6021
  %6028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6029 = call i32 @fileno(ptr noundef %6028) #13
  %6030 = call i32 @isatty(i32 noundef %6029) #13
  %.not1192 = icmp eq i32 %6030, 0
  br i1 %.not1192, label %6031, label %6032

6031:                                             ; preds = %6027, %6021
  br label %6032

6032:                                             ; preds = %6027, %6031
  %.str.5.sink3564 = phi ptr [ @.str.5, %6031 ], [ @.str.2, %6027 ]
  store i32 %6022, ptr %684, align 4, !tbaa !5
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = load i32, ptr @test_count, align 4, !tbaa !5
  %6035 = load i32, ptr %630, align 4, !tbaa !5
  %6036 = call ptr @s2n_strerror(i32 noundef %6035, ptr noundef nonnull @.str.4) #13
  %6037 = load i32, ptr %630, align 4, !tbaa !5
  %6038 = call ptr @s2n_strerror_debug(i32 noundef %6037, ptr noundef nonnull @.str.4) #13
  %6039 = load i32, ptr %684, align 4, !tbaa !5
  %6040 = call ptr @strerror(i32 noundef %6039) #13
  %6041 = load i32, ptr %684, align 4, !tbaa !5
  %6042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6033, ptr noundef nonnull %.str.5.sink3564, i32 noundef %6034, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6036, ptr noundef %6038, ptr noundef %6040, i32 noundef %6041) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6043:                                             ; preds = %6016
  %6044 = load i32, ptr @test_count, align 4, !tbaa !5
  %6045 = add nsw i32 %6044, 1
  store i32 %6045, ptr @test_count, align 4, !tbaa !5
  %6046 = load i32, ptr %630, align 4, !tbaa !5
  %6047 = icmp eq i32 %6046, 402653194
  br i1 %6047, label %6070, label %6048

6048:                                             ; preds = %6043
  %6049 = load i32, ptr %684, align 4, !tbaa !5
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = call i32 @s2n_print_stacktrace(ptr noundef %6050) #13
  %6052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6053 = trunc nuw i8 %6052 to i1
  br i1 %6053, label %6054, label %6058

6054:                                             ; preds = %6048
  %6055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6056 = call i32 @fileno(ptr noundef %6055) #13
  %6057 = call i32 @isatty(i32 noundef %6056) #13
  %.not1193 = icmp eq i32 %6057, 0
  br i1 %.not1193, label %6058, label %6059

6058:                                             ; preds = %6054, %6048
  br label %6059

6059:                                             ; preds = %6054, %6058
  %.str.5.sink3573 = phi ptr [ @.str.5, %6058 ], [ @.str.2, %6054 ]
  store i32 %6049, ptr %684, align 4, !tbaa !5
  %6060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6061 = load i32, ptr @test_count, align 4, !tbaa !5
  %6062 = load i32, ptr %630, align 4, !tbaa !5
  %6063 = call ptr @s2n_strerror(i32 noundef %6062, ptr noundef nonnull @.str.4) #13
  %6064 = load i32, ptr %630, align 4, !tbaa !5
  %6065 = call ptr @s2n_strerror_debug(i32 noundef %6064, ptr noundef nonnull @.str.4) #13
  %6066 = load i32, ptr %684, align 4, !tbaa !5
  %6067 = call ptr @strerror(i32 noundef %6066) #13
  %6068 = load i32, ptr %684, align 4, !tbaa !5
  %6069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6060, ptr noundef nonnull %.str.5.sink3573, i32 noundef %6061, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6063, ptr noundef %6065, ptr noundef %6067, i32 noundef %6068) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6070:                                             ; preds = %6043
  %6071 = add nsw i32 %6044, 2
  store i32 %6071, ptr @test_count, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #13
  %6073 = icmp eq ptr %6072, null
  br i1 %6073, label %6074, label %6096

6074:                                             ; preds = %6070
  %6075 = load i32, ptr %684, align 4, !tbaa !5
  %6076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6077 = call i32 @s2n_print_stacktrace(ptr noundef %6076) #13
  %6078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6079 = trunc nuw i8 %6078 to i1
  br i1 %6079, label %6080, label %6084

6080:                                             ; preds = %6074
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = call i32 @fileno(ptr noundef %6081) #13
  %6083 = call i32 @isatty(i32 noundef %6082) #13
  %.not1410 = icmp eq i32 %6083, 0
  br i1 %.not1410, label %6084, label %6085

6084:                                             ; preds = %6080, %6074
  br label %6085

6085:                                             ; preds = %6080, %6084
  %.str.5.sink3582 = phi ptr [ @.str.5, %6084 ], [ @.str.2, %6080 ]
  store i32 %6075, ptr %684, align 4, !tbaa !5
  %6086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6087 = load i32, ptr @test_count, align 4, !tbaa !5
  %6088 = load i32, ptr %630, align 4, !tbaa !5
  %6089 = call ptr @s2n_strerror(i32 noundef %6088, ptr noundef nonnull @.str.4) #13
  %6090 = load i32, ptr %630, align 4, !tbaa !5
  %6091 = call ptr @s2n_strerror_debug(i32 noundef %6090, ptr noundef nonnull @.str.4) #13
  %6092 = load i32, ptr %684, align 4, !tbaa !5
  %6093 = call ptr @strerror(i32 noundef %6092) #13
  %6094 = load i32, ptr %684, align 4, !tbaa !5
  %6095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6086, ptr noundef nonnull %.str.5.sink3582, i32 noundef %6087, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6089, ptr noundef %6091, ptr noundef %6093, i32 noundef %6094) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6096:                                             ; preds = %6070
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6097 = load i32, ptr @test_count, align 4, !tbaa !5
  %6098 = add nsw i32 %6097, 1
  store i32 %6098, ptr @test_count, align 4, !tbaa !5
  %6099 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef nonnull %34, i32 noundef %5938, ptr noundef null) #13
  %6100 = icmp eq i32 %6099, -1
  br i1 %6100, label %6123, label %6101

6101:                                             ; preds = %6096
  %6102 = load i32, ptr %684, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = call i32 @s2n_print_stacktrace(ptr noundef %6103) #13
  %6105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6106 = trunc nuw i8 %6105 to i1
  br i1 %6106, label %6107, label %6111

6107:                                             ; preds = %6101
  %6108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6109 = call i32 @fileno(ptr noundef %6108) #13
  %6110 = call i32 @isatty(i32 noundef %6109) #13
  %.not1194 = icmp eq i32 %6110, 0
  br i1 %.not1194, label %6111, label %6112

6111:                                             ; preds = %6107, %6101
  br label %6112

6112:                                             ; preds = %6107, %6111
  %.str.5.sink3591 = phi ptr [ @.str.5, %6111 ], [ @.str.2, %6107 ]
  store i32 %6102, ptr %684, align 4, !tbaa !5
  %6113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6114 = load i32, ptr @test_count, align 4, !tbaa !5
  %6115 = load i32, ptr %630, align 4, !tbaa !5
  %6116 = call ptr @s2n_strerror(i32 noundef %6115, ptr noundef nonnull @.str.4) #13
  %6117 = load i32, ptr %630, align 4, !tbaa !5
  %6118 = call ptr @s2n_strerror_debug(i32 noundef %6117, ptr noundef nonnull @.str.4) #13
  %6119 = load i32, ptr %684, align 4, !tbaa !5
  %6120 = call ptr @strerror(i32 noundef %6119) #13
  %6121 = load i32, ptr %684, align 4, !tbaa !5
  %6122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6113, ptr noundef nonnull %.str.5.sink3591, i32 noundef %6114, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 577, ptr noundef %6116, ptr noundef %6118, ptr noundef %6120, i32 noundef %6121) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6123:                                             ; preds = %6096
  %6124 = load i32, ptr @test_count, align 4, !tbaa !5
  %6125 = add nsw i32 %6124, 1
  store i32 %6125, ptr @test_count, align 4, !tbaa !5
  %6126 = load i32, ptr %630, align 4, !tbaa !5
  %6127 = icmp eq i32 %6126, 402653193
  br i1 %6127, label %6150, label %6128

6128:                                             ; preds = %6123
  %6129 = load i32, ptr %684, align 4, !tbaa !5
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @s2n_print_stacktrace(ptr noundef %6130) #13
  %6132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6133 = trunc nuw i8 %6132 to i1
  br i1 %6133, label %6134, label %6138

6134:                                             ; preds = %6128
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = call i32 @fileno(ptr noundef %6135) #13
  %6137 = call i32 @isatty(i32 noundef %6136) #13
  %.not1195 = icmp eq i32 %6137, 0
  br i1 %.not1195, label %6138, label %6139

6138:                                             ; preds = %6134, %6128
  br label %6139

6139:                                             ; preds = %6134, %6138
  %.str.5.sink3600 = phi ptr [ @.str.5, %6138 ], [ @.str.2, %6134 ]
  store i32 %6129, ptr %684, align 4, !tbaa !5
  %6140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6141 = load i32, ptr @test_count, align 4, !tbaa !5
  %6142 = load i32, ptr %630, align 4, !tbaa !5
  %6143 = call ptr @s2n_strerror(i32 noundef %6142, ptr noundef nonnull @.str.4) #13
  %6144 = load i32, ptr %630, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror_debug(i32 noundef %6144, ptr noundef nonnull @.str.4) #13
  %6146 = load i32, ptr %684, align 4, !tbaa !5
  %6147 = call ptr @strerror(i32 noundef %6146) #13
  %6148 = load i32, ptr %684, align 4, !tbaa !5
  %6149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6140, ptr noundef nonnull %.str.5.sink3600, i32 noundef %6141, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 577, ptr noundef %6143, ptr noundef %6145, ptr noundef %6147, i32 noundef %6148) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6150:                                             ; preds = %6123
  %6151 = add nsw i32 %6124, 2
  store i32 %6151, ptr @test_count, align 4, !tbaa !5
  %6152 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6153 = icmp eq ptr %6152, null
  br i1 %6153, label %6154, label %6176

6154:                                             ; preds = %6150
  %6155 = load i32, ptr %684, align 4, !tbaa !5
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = call i32 @s2n_print_stacktrace(ptr noundef %6156) #13
  %6158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6159 = trunc nuw i8 %6158 to i1
  br i1 %6159, label %6160, label %6164

6160:                                             ; preds = %6154
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = call i32 @fileno(ptr noundef %6161) #13
  %6163 = call i32 @isatty(i32 noundef %6162) #13
  %.not1409 = icmp eq i32 %6163, 0
  br i1 %.not1409, label %6164, label %6165

6164:                                             ; preds = %6160, %6154
  br label %6165

6165:                                             ; preds = %6160, %6164
  %.str.5.sink3609 = phi ptr [ @.str.5, %6164 ], [ @.str.2, %6160 ]
  store i32 %6155, ptr %684, align 4, !tbaa !5
  %6166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6167 = load i32, ptr @test_count, align 4, !tbaa !5
  %6168 = load i32, ptr %630, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror(i32 noundef %6168, ptr noundef nonnull @.str.4) #13
  %6170 = load i32, ptr %630, align 4, !tbaa !5
  %6171 = call ptr @s2n_strerror_debug(i32 noundef %6170, ptr noundef nonnull @.str.4) #13
  %6172 = load i32, ptr %684, align 4, !tbaa !5
  %6173 = call ptr @strerror(i32 noundef %6172) #13
  %6174 = load i32, ptr %684, align 4, !tbaa !5
  %6175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6166, ptr noundef nonnull %.str.5.sink3609, i32 noundef %6167, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 577, ptr noundef %6169, ptr noundef %6171, ptr noundef %6173, i32 noundef %6174) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6176:                                             ; preds = %6150
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #13
  call void @llvm.lifetime.end.p0(i64 33, ptr nonnull %34) #13
  %6177 = load i32, ptr @test_count, align 4, !tbaa !5
  %6178 = add nsw i32 %6177, 1
  store i32 %6178, ptr @test_count, align 4, !tbaa !5
  %6179 = load ptr, ptr %4605, align 8, !tbaa !72
  %6180 = load i32, ptr %5687, align 16, !tbaa !74
  %6181 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6179, i32 noundef %6180, ptr noundef nonnull %4603) #13
  %6182 = icmp eq i32 %6181, -1
  br i1 %6182, label %6183, label %6307

6183:                                             ; preds = %6176
  %6184 = load i32, ptr @test_count, align 4, !tbaa !5
  %6185 = add nsw i32 %6184, 1
  store i32 %6185, ptr @test_count, align 4, !tbaa !5
  %6186 = load i32, ptr %630, align 4, !tbaa !5
  %6187 = icmp eq i32 %6186, 469762119
  br i1 %6187, label %6188, label %6329

6188:                                             ; preds = %6183
  %6189 = add nsw i32 %6184, 2
  store i32 %6189, ptr @test_count, align 4, !tbaa !5
  %6190 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6191 = icmp eq ptr %6190, null
  br i1 %6191, label %6351, label %6192

6192:                                             ; preds = %6188
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6193 = load i32, ptr @test_count, align 4, !tbaa !5
  %6194 = add nsw i32 %6193, 1
  store i32 %6194, ptr @test_count, align 4, !tbaa !5
  %6195 = getelementptr inbounds i8, ptr %30, i64 144
  %6196 = load ptr, ptr %6195, align 16, !tbaa !72
  %6197 = getelementptr inbounds i8, ptr %30, i64 152
  %6198 = load i32, ptr %6197, align 8, !tbaa !74
  %6199 = getelementptr inbounds i8, ptr %30, i64 112
  %6200 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6196, i32 noundef %6198, ptr noundef nonnull %6199) #13
  %6201 = icmp eq i32 %6200, -1
  br i1 %6201, label %6202, label %6307

6202:                                             ; preds = %6192
  %6203 = load i32, ptr @test_count, align 4, !tbaa !5
  %6204 = add nsw i32 %6203, 1
  store i32 %6204, ptr @test_count, align 4, !tbaa !5
  %6205 = load i32, ptr %630, align 4, !tbaa !5
  %6206 = icmp eq i32 %6205, 469762119
  br i1 %6206, label %6207, label %6329

6207:                                             ; preds = %6202
  %6208 = add nsw i32 %6203, 2
  store i32 %6208, ptr @test_count, align 4, !tbaa !5
  %6209 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6210 = icmp eq ptr %6209, null
  br i1 %6210, label %6351, label %6211

6211:                                             ; preds = %6207
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6212 = load i32, ptr @test_count, align 4, !tbaa !5
  %6213 = add nsw i32 %6212, 1
  store i32 %6213, ptr @test_count, align 4, !tbaa !5
  %6214 = getelementptr inbounds i8, ptr %30, i64 232
  %6215 = load ptr, ptr %6214, align 8, !tbaa !72
  %6216 = getelementptr inbounds i8, ptr %30, i64 240
  %6217 = load i32, ptr %6216, align 16, !tbaa !74
  %6218 = getelementptr inbounds i8, ptr %30, i64 200
  %6219 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6215, i32 noundef %6217, ptr noundef nonnull %6218) #13
  %6220 = icmp eq i32 %6219, -1
  br i1 %6220, label %6221, label %6307

6221:                                             ; preds = %6211
  %6222 = load i32, ptr @test_count, align 4, !tbaa !5
  %6223 = add nsw i32 %6222, 1
  store i32 %6223, ptr @test_count, align 4, !tbaa !5
  %6224 = load i32, ptr %630, align 4, !tbaa !5
  %6225 = icmp eq i32 %6224, 469762119
  br i1 %6225, label %6226, label %6329

6226:                                             ; preds = %6221
  %6227 = add nsw i32 %6222, 2
  store i32 %6227, ptr @test_count, align 4, !tbaa !5
  %6228 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6229 = icmp eq ptr %6228, null
  br i1 %6229, label %6351, label %6230

6230:                                             ; preds = %6226
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6231 = load i32, ptr @test_count, align 4, !tbaa !5
  %6232 = add nsw i32 %6231, 1
  store i32 %6232, ptr @test_count, align 4, !tbaa !5
  %6233 = getelementptr inbounds i8, ptr %30, i64 320
  %6234 = load ptr, ptr %6233, align 16, !tbaa !72
  %6235 = getelementptr inbounds i8, ptr %30, i64 328
  %6236 = load i32, ptr %6235, align 8, !tbaa !74
  %6237 = getelementptr inbounds i8, ptr %30, i64 288
  %6238 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6234, i32 noundef %6236, ptr noundef nonnull %6237) #13
  %6239 = icmp eq i32 %6238, -1
  br i1 %6239, label %6240, label %6307

6240:                                             ; preds = %6230
  %6241 = load i32, ptr @test_count, align 4, !tbaa !5
  %6242 = add nsw i32 %6241, 1
  store i32 %6242, ptr @test_count, align 4, !tbaa !5
  %6243 = load i32, ptr %630, align 4, !tbaa !5
  %6244 = icmp eq i32 %6243, 469762119
  br i1 %6244, label %6245, label %6329

6245:                                             ; preds = %6240
  %6246 = add nsw i32 %6241, 2
  store i32 %6246, ptr @test_count, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6248 = icmp eq ptr %6247, null
  br i1 %6248, label %6351, label %.peel.next1568

.peel.next1568:                                   ; preds = %6245
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6249 = load i32, ptr @test_count, align 4, !tbaa !5
  %6250 = add nsw i32 %6249, 1
  store i32 %6250, ptr @test_count, align 4, !tbaa !5
  %6251 = getelementptr inbounds i8, ptr %30, i64 408
  %6252 = load ptr, ptr %6251, align 8, !tbaa !72
  %6253 = getelementptr inbounds i8, ptr %30, i64 416
  %6254 = load i32, ptr %6253, align 16, !tbaa !74
  %6255 = getelementptr inbounds i8, ptr %30, i64 376
  %6256 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6252, i32 noundef %6254, ptr noundef nonnull %6255) #13
  %6257 = icmp eq i32 %6256, -1
  br i1 %6257, label %6258, label %6278

6258:                                             ; preds = %6392, %6373, %.peel.next1568
  %.pre1625 = load i32, ptr %684, align 4, !tbaa !5
  %.pre1626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6259 = call i32 @s2n_print_stacktrace(ptr noundef %.pre1626) #13
  %6260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6261 = trunc nuw i8 %6260 to i1
  br i1 %6261, label %6262, label %6266

6262:                                             ; preds = %6258
  %6263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6264 = call i32 @fileno(ptr noundef %6263) #13
  %6265 = call i32 @isatty(i32 noundef %6264) #13
  %.not1408 = icmp eq i32 %6265, 0
  br i1 %.not1408, label %6266, label %6267

6266:                                             ; preds = %6262, %6258
  br label %6267

6267:                                             ; preds = %6262, %6266
  %.str.5.sink3618 = phi ptr [ @.str.5, %6266 ], [ @.str.2, %6262 ]
  store i32 %.pre1625, ptr %684, align 4, !tbaa !5
  %6268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = load i32, ptr %630, align 4, !tbaa !5
  %6271 = call ptr @s2n_strerror(i32 noundef %6270, ptr noundef nonnull @.str.4) #13
  %6272 = load i32, ptr %630, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror_debug(i32 noundef %6272, ptr noundef nonnull @.str.4) #13
  %6274 = load i32, ptr %684, align 4, !tbaa !5
  %6275 = call ptr @strerror(i32 noundef %6274) #13
  %6276 = load i32, ptr %684, align 4, !tbaa !5
  %6277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6268, ptr noundef nonnull %.str.5.sink3618, i32 noundef %6269, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 585, ptr noundef %6271, ptr noundef %6273, ptr noundef %6275, i32 noundef %6276) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6278:                                             ; preds = %.peel.next1568
  %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 i32, ptr %6255, align 8, !tbaa !64
  %6282 = zext i32 %6281 to i64
  %6283 = getelementptr inbounds i8, ptr %30, i64 368
  %6284 = load ptr, ptr %6283, align 16, !tbaa !63
  %6285 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6284) #17
  %6286 = icmp eq i64 %6285, %6282
  br i1 %6286, label %6373, label %6287

6287:                                             ; preds = %6402, %6383, %6278
  %.pre1609 = load i32, ptr %684, align 4, !tbaa !5
  %.pre1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6288 = call i32 @s2n_print_stacktrace(ptr noundef %.pre1610) #13
  %6289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6290 = trunc nuw i8 %6289 to i1
  br i1 %6290, label %6291, label %6295

6291:                                             ; preds = %6287
  %6292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6293 = call i32 @fileno(ptr noundef %6292) #13
  %6294 = call i32 @isatty(i32 noundef %6293) #13
  %.not1407 = icmp eq i32 %6294, 0
  br i1 %.not1407, label %6295, label %6296

6295:                                             ; preds = %6291, %6287
  br label %6296

6296:                                             ; preds = %6291, %6295
  %.str.5.sink3627 = phi ptr [ @.str.5, %6295 ], [ @.str.2, %6291 ]
  store i32 %.pre1609, ptr %684, align 4, !tbaa !5
  %6297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6298 = load i32, ptr @test_count, align 4, !tbaa !5
  %6299 = load i32, ptr %630, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror(i32 noundef %6299, ptr noundef nonnull @.str.4) #13
  %6301 = load i32, ptr %630, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror_debug(i32 noundef %6301, ptr noundef nonnull @.str.4) #13
  %6303 = load i32, ptr %684, align 4, !tbaa !5
  %6304 = call ptr @strerror(i32 noundef %6303) #13
  %6305 = load i32, ptr %684, align 4, !tbaa !5
  %6306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6297, ptr noundef nonnull %.str.5.sink3627, i32 noundef %6298, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %6300, ptr noundef %6302, ptr noundef %6304, i32 noundef %6305) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6307:                                             ; preds = %6230, %6211, %6192, %6176
  %6308 = load i32, ptr %684, align 4, !tbaa !5
  %6309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6310 = call i32 @s2n_print_stacktrace(ptr noundef %6309) #13
  %6311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6312 = trunc nuw i8 %6311 to i1
  br i1 %6312, label %6313, label %6317

6313:                                             ; preds = %6307
  %6314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6315 = call i32 @fileno(ptr noundef %6314) #13
  %6316 = call i32 @isatty(i32 noundef %6315) #13
  %.not1404 = icmp eq i32 %6316, 0
  br i1 %.not1404, label %6317, label %6318

6317:                                             ; preds = %6313, %6307
  br label %6318

6318:                                             ; preds = %6313, %6317
  %.str.5.sink3636 = phi ptr [ @.str.5, %6317 ], [ @.str.2, %6313 ]
  store i32 %6308, ptr %684, align 4, !tbaa !5
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = load i32, ptr @test_count, align 4, !tbaa !5
  %6321 = load i32, ptr %630, align 4, !tbaa !5
  %6322 = call ptr @s2n_strerror(i32 noundef %6321, ptr noundef nonnull @.str.4) #13
  %6323 = load i32, ptr %630, align 4, !tbaa !5
  %6324 = call ptr @s2n_strerror_debug(i32 noundef %6323, ptr noundef nonnull @.str.4) #13
  %6325 = load i32, ptr %684, align 4, !tbaa !5
  %6326 = call ptr @strerror(i32 noundef %6325) #13
  %6327 = load i32, ptr %684, align 4, !tbaa !5
  %6328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6319, ptr noundef nonnull %.str.5.sink3636, i32 noundef %6320, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %6322, ptr noundef %6324, ptr noundef %6326, i32 noundef %6327) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6329:                                             ; preds = %6240, %6221, %6202, %6183
  %6330 = load i32, ptr %684, align 4, !tbaa !5
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @s2n_print_stacktrace(ptr noundef %6331) #13
  %6333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6334 = trunc nuw i8 %6333 to i1
  br i1 %6334, label %6335, label %6339

6335:                                             ; preds = %6329
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = call i32 @fileno(ptr noundef %6336) #13
  %6338 = call i32 @isatty(i32 noundef %6337) #13
  %.not1405 = icmp eq i32 %6338, 0
  br i1 %.not1405, label %6339, label %6340

6339:                                             ; preds = %6335, %6329
  br label %6340

6340:                                             ; preds = %6335, %6339
  %.str.5.sink3645 = phi ptr [ @.str.5, %6339 ], [ @.str.2, %6335 ]
  store i32 %6330, ptr %684, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = load i32, ptr @test_count, align 4, !tbaa !5
  %6343 = load i32, ptr %630, align 4, !tbaa !5
  %6344 = call ptr @s2n_strerror(i32 noundef %6343, ptr noundef nonnull @.str.4) #13
  %6345 = load i32, ptr %630, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror_debug(i32 noundef %6345, ptr noundef nonnull @.str.4) #13
  %6347 = load i32, ptr %684, align 4, !tbaa !5
  %6348 = call ptr @strerror(i32 noundef %6347) #13
  %6349 = load i32, ptr %684, align 4, !tbaa !5
  %6350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6341, ptr noundef nonnull %.str.5.sink3645, i32 noundef %6342, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %6344, ptr noundef %6346, ptr noundef %6348, i32 noundef %6349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6351:                                             ; preds = %6245, %6226, %6207, %6188
  %6352 = load i32, ptr %684, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = call i32 @s2n_print_stacktrace(ptr noundef %6353) #13
  %6355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6356 = trunc nuw i8 %6355 to i1
  br i1 %6356, label %6357, label %6361

6357:                                             ; preds = %6351
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = call i32 @fileno(ptr noundef %6358) #13
  %6360 = call i32 @isatty(i32 noundef %6359) #13
  %.not1406 = icmp eq i32 %6360, 0
  br i1 %.not1406, label %6361, label %6362

6361:                                             ; preds = %6357, %6351
  br label %6362

6362:                                             ; preds = %6357, %6361
  %.str.5.sink3654 = phi ptr [ @.str.5, %6361 ], [ @.str.2, %6357 ]
  store i32 %6352, ptr %684, align 4, !tbaa !5
  %6363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6364 = load i32, ptr @test_count, align 4, !tbaa !5
  %6365 = load i32, ptr %630, align 4, !tbaa !5
  %6366 = call ptr @s2n_strerror(i32 noundef %6365, ptr noundef nonnull @.str.4) #13
  %6367 = load i32, ptr %630, align 4, !tbaa !5
  %6368 = call ptr @s2n_strerror_debug(i32 noundef %6367, ptr noundef nonnull @.str.4) #13
  %6369 = load i32, ptr %684, align 4, !tbaa !5
  %6370 = call ptr @strerror(i32 noundef %6369) #13
  %6371 = load i32, ptr %684, align 4, !tbaa !5
  %6372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6363, ptr noundef nonnull %.str.5.sink3654, i32 noundef %6364, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %6366, ptr noundef %6368, ptr noundef %6370, i32 noundef %6371) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6373:                                             ; preds = %6278
  %6374 = load i32, ptr @test_count, align 4, !tbaa !5
  %6375 = add nsw i32 %6374, 1
  store i32 %6375, ptr @test_count, align 4, !tbaa !5
  %6376 = getelementptr inbounds i8, ptr %30, i64 496
  %6377 = load ptr, ptr %6376, align 16, !tbaa !72
  %6378 = getelementptr inbounds i8, ptr %30, i64 504
  %6379 = load i32, ptr %6378, align 8, !tbaa !74
  %6380 = getelementptr inbounds i8, ptr %30, i64 464
  %6381 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6377, i32 noundef %6379, ptr noundef nonnull %6380) #13
  %6382 = icmp eq i32 %6381, -1
  br i1 %6382, label %6258, label %6383

6383:                                             ; preds = %6373
  %6384 = load i32, ptr @test_count, align 4, !tbaa !5
  %6385 = add nsw i32 %6384, 1
  store i32 %6385, ptr @test_count, align 4, !tbaa !5
  %6386 = load i32, ptr %6380, align 16, !tbaa !64
  %6387 = zext i32 %6386 to i64
  %6388 = getelementptr inbounds i8, ptr %30, i64 456
  %6389 = load ptr, ptr %6388, align 8, !tbaa !63
  %6390 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6389) #17
  %6391 = icmp eq i64 %6390, %6387
  br i1 %6391, label %6392, label %6287

6392:                                             ; preds = %6383
  %6393 = load i32, ptr @test_count, align 4, !tbaa !5
  %6394 = add nsw i32 %6393, 1
  store i32 %6394, ptr @test_count, align 4, !tbaa !5
  %6395 = getelementptr inbounds i8, ptr %30, i64 584
  %6396 = load ptr, ptr %6395, align 8, !tbaa !72
  %6397 = getelementptr inbounds i8, ptr %30, i64 592
  %6398 = load i32, ptr %6397, align 16, !tbaa !74
  %6399 = getelementptr inbounds i8, ptr %30, i64 552
  %6400 = call i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef %6396, i32 noundef %6398, ptr noundef nonnull %6399) #13
  %6401 = icmp eq i32 %6400, -1
  br i1 %6401, label %6258, label %6402

6402:                                             ; preds = %6392
  %6403 = load i32, ptr @test_count, align 4, !tbaa !5
  %6404 = add nsw i32 %6403, 1
  store i32 %6404, ptr @test_count, align 4, !tbaa !5
  %6405 = load i32, ptr %6399, align 8, !tbaa !64
  %6406 = zext i32 %6405 to i64
  %6407 = getelementptr inbounds i8, ptr %30, i64 544
  %6408 = load ptr, ptr %6407, align 16, !tbaa !63
  %6409 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6408) #17
  %6410 = icmp eq i64 %6409, %6406
  br i1 %6410, label %.loopexit1575, label %6287

.loopexit1575:                                    ; preds = %6402
  %6411 = load i32, ptr @test_count, align 4, !tbaa !5
  %6412 = add nsw i32 %6411, 1
  store i32 %6412, ptr @test_count, align 4, !tbaa !5
  %6413 = getelementptr inbounds i8, ptr %30, i64 416
  %6414 = load i32, ptr %6413, align 16, !tbaa !74
  %6415 = add i32 %6414, -3
  %6416 = call i32 @s2n_alloc(ptr noundef nonnull %20, i32 noundef %6415) #13
  %6417 = icmp eq i32 %6416, -1
  br i1 %6417, label %6418, label %6440

6418:                                             ; preds = %.loopexit1575
  %6419 = load i32, ptr %684, align 4, !tbaa !5
  %6420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6421 = call i32 @s2n_print_stacktrace(ptr noundef %6420) #13
  %6422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6423 = trunc nuw i8 %6422 to i1
  br i1 %6423, label %6424, label %6428

6424:                                             ; preds = %6418
  %6425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6426 = call i32 @fileno(ptr noundef %6425) #13
  %6427 = call i32 @isatty(i32 noundef %6426) #13
  %.not1403 = icmp eq i32 %6427, 0
  br i1 %.not1403, label %6428, label %6429

6428:                                             ; preds = %6424, %6418
  br label %6429

6429:                                             ; preds = %6424, %6428
  %.str.5.sink3663 = phi ptr [ @.str.5, %6428 ], [ @.str.2, %6424 ]
  store i32 %6419, ptr %684, align 4, !tbaa !5
  %6430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6431 = load i32, ptr @test_count, align 4, !tbaa !5
  %6432 = load i32, ptr %630, align 4, !tbaa !5
  %6433 = call ptr @s2n_strerror(i32 noundef %6432, ptr noundef nonnull @.str.4) #13
  %6434 = load i32, ptr %630, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef nonnull @.str.4) #13
  %6436 = load i32, ptr %684, align 4, !tbaa !5
  %6437 = call ptr @strerror(i32 noundef %6436) #13
  %6438 = load i32, ptr %684, align 4, !tbaa !5
  %6439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6430, ptr noundef nonnull %.str.5.sink3663, i32 noundef %6431, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %6433, ptr noundef %6435, ptr noundef %6437, i32 noundef %6438) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6440:                                             ; preds = %.loopexit1575
  %6441 = load i32, ptr @test_count, align 4, !tbaa !5
  %6442 = add nsw i32 %6441, 1
  store i32 %6442, ptr @test_count, align 4, !tbaa !5
  %6443 = load ptr, ptr %4631, align 8, !tbaa !72
  %6444 = load i32, ptr %6413, align 16, !tbaa !74
  %6445 = load ptr, ptr %20, align 8, !tbaa !69
  %6446 = getelementptr inbounds i8, ptr %20, i64 8
  %6447 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %6443, i32 noundef %6444, ptr noundef %6445, ptr noundef nonnull %6446) #13
  %6448 = icmp eq i32 %6447, -1
  br i1 %6448, label %6471, label %6449

6449:                                             ; preds = %6440
  %6450 = load i32, ptr %684, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = call i32 @s2n_print_stacktrace(ptr noundef %6451) #13
  %6453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6454 = trunc nuw i8 %6453 to i1
  br i1 %6454, label %6455, label %6459

6455:                                             ; preds = %6449
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = call i32 @fileno(ptr noundef %6456) #13
  %6458 = call i32 @isatty(i32 noundef %6457) #13
  %.not1196 = icmp eq i32 %6458, 0
  br i1 %.not1196, label %6459, label %6460

6459:                                             ; preds = %6455, %6449
  br label %6460

6460:                                             ; preds = %6455, %6459
  %.str.5.sink3672 = phi ptr [ @.str.5, %6459 ], [ @.str.2, %6455 ]
  store i32 %6450, ptr %684, align 4, !tbaa !5
  %6461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6462 = load i32, ptr @test_count, align 4, !tbaa !5
  %6463 = load i32, ptr %630, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror(i32 noundef %6463, ptr noundef nonnull @.str.4) #13
  %6465 = load i32, ptr %630, align 4, !tbaa !5
  %6466 = call ptr @s2n_strerror_debug(i32 noundef %6465, ptr noundef nonnull @.str.4) #13
  %6467 = load i32, ptr %684, align 4, !tbaa !5
  %6468 = call ptr @strerror(i32 noundef %6467) #13
  %6469 = load i32, ptr %684, align 4, !tbaa !5
  %6470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6461, ptr noundef nonnull %.str.5.sink3672, i32 noundef %6462, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %6464, ptr noundef %6466, ptr noundef %6468, i32 noundef %6469) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6471:                                             ; preds = %6440
  %6472 = load i32, ptr @test_count, align 4, !tbaa !5
  %6473 = add nsw i32 %6472, 1
  store i32 %6473, ptr @test_count, align 4, !tbaa !5
  %6474 = load i32, ptr %630, align 4, !tbaa !5
  %6475 = icmp eq i32 %6474, 469762120
  br i1 %6475, label %6498, label %6476

6476:                                             ; preds = %6471
  %6477 = load i32, ptr %684, align 4, !tbaa !5
  %6478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6479 = call i32 @s2n_print_stacktrace(ptr noundef %6478) #13
  %6480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6481 = trunc nuw i8 %6480 to i1
  br i1 %6481, label %6482, label %6486

6482:                                             ; preds = %6476
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = call i32 @fileno(ptr noundef %6483) #13
  %6485 = call i32 @isatty(i32 noundef %6484) #13
  %.not1197 = icmp eq i32 %6485, 0
  br i1 %.not1197, label %6486, label %6487

6486:                                             ; preds = %6482, %6476
  br label %6487

6487:                                             ; preds = %6482, %6486
  %.str.5.sink3681 = phi ptr [ @.str.5, %6486 ], [ @.str.2, %6482 ]
  store i32 %6477, ptr %684, align 4, !tbaa !5
  %6488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6489 = load i32, ptr @test_count, align 4, !tbaa !5
  %6490 = load i32, ptr %630, align 4, !tbaa !5
  %6491 = call ptr @s2n_strerror(i32 noundef %6490, ptr noundef nonnull @.str.4) #13
  %6492 = load i32, ptr %630, align 4, !tbaa !5
  %6493 = call ptr @s2n_strerror_debug(i32 noundef %6492, ptr noundef nonnull @.str.4) #13
  %6494 = load i32, ptr %684, align 4, !tbaa !5
  %6495 = call ptr @strerror(i32 noundef %6494) #13
  %6496 = load i32, ptr %684, align 4, !tbaa !5
  %6497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6488, ptr noundef nonnull %.str.5.sink3681, i32 noundef %6489, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %6491, ptr noundef %6493, ptr noundef %6495, i32 noundef %6496) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6498:                                             ; preds = %6471
  %6499 = add nsw i32 %6472, 2
  store i32 %6499, ptr @test_count, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #13
  %6501 = icmp eq ptr %6500, null
  br i1 %6501, label %6502, label %6524

6502:                                             ; preds = %6498
  %6503 = load i32, ptr %684, align 4, !tbaa !5
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = call i32 @s2n_print_stacktrace(ptr noundef %6504) #13
  %6506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6507 = trunc nuw i8 %6506 to i1
  br i1 %6507, label %6508, label %6512

6508:                                             ; preds = %6502
  %6509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6510 = call i32 @fileno(ptr noundef %6509) #13
  %6511 = call i32 @isatty(i32 noundef %6510) #13
  %.not1402 = icmp eq i32 %6511, 0
  br i1 %.not1402, label %6512, label %6513

6512:                                             ; preds = %6508, %6502
  br label %6513

6513:                                             ; preds = %6508, %6512
  %.str.5.sink3690 = phi ptr [ @.str.5, %6512 ], [ @.str.2, %6508 ]
  store i32 %6503, ptr %684, align 4, !tbaa !5
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = load i32, ptr @test_count, align 4, !tbaa !5
  %6516 = load i32, ptr %630, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror(i32 noundef %6516, ptr noundef nonnull @.str.4) #13
  %6518 = load i32, ptr %630, align 4, !tbaa !5
  %6519 = call ptr @s2n_strerror_debug(i32 noundef %6518, ptr noundef nonnull @.str.4) #13
  %6520 = load i32, ptr %684, align 4, !tbaa !5
  %6521 = call ptr @strerror(i32 noundef %6520) #13
  %6522 = load i32, ptr %684, align 4, !tbaa !5
  %6523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6514, ptr noundef nonnull %.str.5.sink3690, i32 noundef %6515, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %6517, ptr noundef %6519, ptr noundef %6521, i32 noundef %6522) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6524:                                             ; preds = %6498
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6525 = load i32, ptr @test_count, align 4, !tbaa !5
  %6526 = add nsw i32 %6525, 1
  store i32 %6526, ptr @test_count, align 4, !tbaa !5
  %6527 = call i32 @s2n_free(ptr noundef nonnull %20) #13
  %6528 = icmp eq i32 %6527, -1
  br i1 %6528, label %6529, label %6551

6529:                                             ; preds = %6524
  %6530 = load i32, ptr %684, align 4, !tbaa !5
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = call i32 @s2n_print_stacktrace(ptr noundef %6531) #13
  %6533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6534 = trunc nuw i8 %6533 to i1
  br i1 %6534, label %6535, label %6539

6535:                                             ; preds = %6529
  %6536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6537 = call i32 @fileno(ptr noundef %6536) #13
  %6538 = call i32 @isatty(i32 noundef %6537) #13
  %.not1401 = icmp eq i32 %6538, 0
  br i1 %.not1401, label %6539, label %6540

6539:                                             ; preds = %6535, %6529
  br label %6540

6540:                                             ; preds = %6535, %6539
  %.str.5.sink3699 = phi ptr [ @.str.5, %6539 ], [ @.str.2, %6535 ]
  store i32 %6530, ptr %684, align 4, !tbaa !5
  %6541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6542 = load i32, ptr @test_count, align 4, !tbaa !5
  %6543 = load i32, ptr %630, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror(i32 noundef %6543, ptr noundef nonnull @.str.4) #13
  %6545 = load i32, ptr %630, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror_debug(i32 noundef %6545, ptr noundef nonnull @.str.4) #13
  %6547 = load i32, ptr %684, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #13
  %6549 = load i32, ptr %684, align 4, !tbaa !5
  %6550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6541, ptr noundef nonnull %.str.5.sink3699, i32 noundef %6542, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %6544, ptr noundef %6546, ptr noundef %6548, i32 noundef %6549) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6551:                                             ; preds = %6524
  call void @llvm.lifetime.start.p0(i64 33, ptr nonnull %36) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(33) %36, ptr noundef nonnull align 16 dereferenceable(33) @__const.main.der_ext_value.176, i64 33, i1 false)
  %6552 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %36) #17
  %6553 = load i32, ptr @test_count, align 4, !tbaa !5
  %6554 = add nsw i32 %6553, 1
  store i32 %6554, ptr @test_count, align 4, !tbaa !5
  %6555 = call i32 @s2n_alloc(ptr noundef nonnull %20, i32 noundef 65535) #13
  %6556 = icmp eq i32 %6555, -1
  br i1 %6556, label %6557, label %6579

6557:                                             ; preds = %6551
  %6558 = load i32, ptr %684, align 4, !tbaa !5
  %6559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6560 = call i32 @s2n_print_stacktrace(ptr noundef %6559) #13
  %6561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6562 = trunc nuw i8 %6561 to i1
  br i1 %6562, label %6563, label %6567

6563:                                             ; preds = %6557
  %6564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6565 = call i32 @fileno(ptr noundef %6564) #13
  %6566 = call i32 @isatty(i32 noundef %6565) #13
  %.not1400 = icmp eq i32 %6566, 0
  br i1 %.not1400, label %6567, label %6568

6567:                                             ; preds = %6563, %6557
  br label %6568

6568:                                             ; preds = %6563, %6567
  %.str.5.sink3708 = phi ptr [ @.str.5, %6567 ], [ @.str.2, %6563 ]
  store i32 %6558, ptr %684, align 4, !tbaa !5
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = load i32, ptr @test_count, align 4, !tbaa !5
  %6571 = load i32, ptr %630, align 4, !tbaa !5
  %6572 = call ptr @s2n_strerror(i32 noundef %6571, ptr noundef nonnull @.str.4) #13
  %6573 = load i32, ptr %630, align 4, !tbaa !5
  %6574 = call ptr @s2n_strerror_debug(i32 noundef %6573, ptr noundef nonnull @.str.4) #13
  %6575 = load i32, ptr %684, align 4, !tbaa !5
  %6576 = call ptr @strerror(i32 noundef %6575) #13
  %6577 = load i32, ptr %684, align 4, !tbaa !5
  %6578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6569, ptr noundef nonnull %.str.5.sink3708, i32 noundef %6570, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %6572, ptr noundef %6574, ptr noundef %6576, i32 noundef %6577) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6579:                                             ; preds = %6551
  %6580 = load i32, ptr @test_count, align 4, !tbaa !5
  %6581 = add nsw i32 %6580, 1
  store i32 %6581, ptr @test_count, align 4, !tbaa !5
  %6582 = trunc i64 %6552 to i32
  %6583 = load ptr, ptr %20, align 8, !tbaa !69
  %6584 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef null, i32 noundef %6582, ptr noundef %6583, ptr noundef nonnull %6446) #13
  %6585 = icmp eq i32 %6584, -1
  br i1 %6585, label %6608, label %6586

6586:                                             ; preds = %6579
  %6587 = load i32, ptr %684, align 4, !tbaa !5
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = call i32 @s2n_print_stacktrace(ptr noundef %6588) #13
  %6590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6591 = trunc nuw i8 %6590 to i1
  br i1 %6591, label %6592, label %6596

6592:                                             ; preds = %6586
  %6593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6594 = call i32 @fileno(ptr noundef %6593) #13
  %6595 = call i32 @isatty(i32 noundef %6594) #13
  %.not1198 = icmp eq i32 %6595, 0
  br i1 %.not1198, label %6596, label %6597

6596:                                             ; preds = %6592, %6586
  br label %6597

6597:                                             ; preds = %6592, %6596
  %.str.5.sink3717 = phi ptr [ @.str.5, %6596 ], [ @.str.2, %6592 ]
  store i32 %6587, ptr %684, align 4, !tbaa !5
  %6598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6599 = load i32, ptr @test_count, align 4, !tbaa !5
  %6600 = load i32, ptr %630, align 4, !tbaa !5
  %6601 = call ptr @s2n_strerror(i32 noundef %6600, ptr noundef nonnull @.str.4) #13
  %6602 = load i32, ptr %630, align 4, !tbaa !5
  %6603 = call ptr @s2n_strerror_debug(i32 noundef %6602, ptr noundef nonnull @.str.4) #13
  %6604 = load i32, ptr %684, align 4, !tbaa !5
  %6605 = call ptr @strerror(i32 noundef %6604) #13
  %6606 = load i32, ptr %684, align 4, !tbaa !5
  %6607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6598, ptr noundef nonnull %.str.5.sink3717, i32 noundef %6599, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %6601, ptr noundef %6603, ptr noundef %6605, i32 noundef %6606) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6608:                                             ; preds = %6579
  %6609 = load i32, ptr @test_count, align 4, !tbaa !5
  %6610 = add nsw i32 %6609, 1
  store i32 %6610, ptr @test_count, align 4, !tbaa !5
  %6611 = load i32, ptr %630, align 4, !tbaa !5
  %6612 = icmp eq i32 %6611, 402653193
  br i1 %6612, label %6635, label %6613

6613:                                             ; preds = %6608
  %6614 = load i32, ptr %684, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = call i32 @s2n_print_stacktrace(ptr noundef %6615) #13
  %6617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6618 = trunc nuw i8 %6617 to i1
  br i1 %6618, label %6619, label %6623

6619:                                             ; preds = %6613
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = call i32 @fileno(ptr noundef %6620) #13
  %6622 = call i32 @isatty(i32 noundef %6621) #13
  %.not1199 = icmp eq i32 %6622, 0
  br i1 %.not1199, label %6623, label %6624

6623:                                             ; preds = %6619, %6613
  br label %6624

6624:                                             ; preds = %6619, %6623
  %.str.5.sink3726 = phi ptr [ @.str.5, %6623 ], [ @.str.2, %6619 ]
  store i32 %6614, ptr %684, align 4, !tbaa !5
  %6625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6626 = load i32, ptr @test_count, align 4, !tbaa !5
  %6627 = load i32, ptr %630, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror(i32 noundef %6627, ptr noundef nonnull @.str.4) #13
  %6629 = load i32, ptr %630, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror_debug(i32 noundef %6629, ptr noundef nonnull @.str.4) #13
  %6631 = load i32, ptr %684, align 4, !tbaa !5
  %6632 = call ptr @strerror(i32 noundef %6631) #13
  %6633 = load i32, ptr %684, align 4, !tbaa !5
  %6634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6625, ptr noundef nonnull %.str.5.sink3726, i32 noundef %6626, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %6628, ptr noundef %6630, ptr noundef %6632, i32 noundef %6633) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6635:                                             ; preds = %6608
  %6636 = add nsw i32 %6609, 2
  store i32 %6636, ptr @test_count, align 4, !tbaa !5
  %6637 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6638 = icmp eq ptr %6637, null
  br i1 %6638, label %6639, label %6661

6639:                                             ; preds = %6635
  %6640 = load i32, ptr %684, align 4, !tbaa !5
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = call i32 @s2n_print_stacktrace(ptr noundef %6641) #13
  %6643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6644 = trunc nuw i8 %6643 to i1
  br i1 %6644, label %6645, label %6649

6645:                                             ; preds = %6639
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = call i32 @fileno(ptr noundef %6646) #13
  %6648 = call i32 @isatty(i32 noundef %6647) #13
  %.not1399 = icmp eq i32 %6648, 0
  br i1 %.not1399, label %6649, label %6650

6649:                                             ; preds = %6645, %6639
  br label %6650

6650:                                             ; preds = %6645, %6649
  %.str.5.sink3735 = phi ptr [ @.str.5, %6649 ], [ @.str.2, %6645 ]
  store i32 %6640, ptr %684, align 4, !tbaa !5
  %6651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6652 = load i32, ptr @test_count, align 4, !tbaa !5
  %6653 = load i32, ptr %630, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror(i32 noundef %6653, ptr noundef nonnull @.str.4) #13
  %6655 = load i32, ptr %630, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror_debug(i32 noundef %6655, ptr noundef nonnull @.str.4) #13
  %6657 = load i32, ptr %684, align 4, !tbaa !5
  %6658 = call ptr @strerror(i32 noundef %6657) #13
  %6659 = load i32, ptr %684, align 4, !tbaa !5
  %6660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6651, ptr noundef nonnull %.str.5.sink3735, i32 noundef %6652, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %6654, ptr noundef %6656, ptr noundef %6658, i32 noundef %6659) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6661:                                             ; preds = %6635
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %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 = load ptr, ptr %20, align 8, !tbaa !69
  %6665 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef nonnull %36, i32 noundef 0, ptr noundef %6664, ptr noundef nonnull %6446) #13
  %6666 = icmp eq i32 %6665, -1
  br i1 %6666, label %6689, label %6667

6667:                                             ; preds = %6661
  %6668 = load i32, ptr %684, align 4, !tbaa !5
  %6669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6670 = call i32 @s2n_print_stacktrace(ptr noundef %6669) #13
  %6671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6672 = trunc nuw i8 %6671 to i1
  br i1 %6672, label %6673, label %6677

6673:                                             ; preds = %6667
  %6674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6675 = call i32 @fileno(ptr noundef %6674) #13
  %6676 = call i32 @isatty(i32 noundef %6675) #13
  %.not1200 = icmp eq i32 %6676, 0
  br i1 %.not1200, label %6677, label %6678

6677:                                             ; preds = %6673, %6667
  br label %6678

6678:                                             ; preds = %6673, %6677
  %.str.5.sink3744 = phi ptr [ @.str.5, %6677 ], [ @.str.2, %6673 ]
  store i32 %6668, ptr %684, align 4, !tbaa !5
  %6679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6680 = load i32, ptr @test_count, align 4, !tbaa !5
  %6681 = load i32, ptr %630, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror(i32 noundef %6681, ptr noundef nonnull @.str.4) #13
  %6683 = load i32, ptr %630, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror_debug(i32 noundef %6683, ptr noundef nonnull @.str.4) #13
  %6685 = load i32, ptr %684, align 4, !tbaa !5
  %6686 = call ptr @strerror(i32 noundef %6685) #13
  %6687 = load i32, ptr %684, align 4, !tbaa !5
  %6688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6679, ptr noundef nonnull %.str.5.sink3744, i32 noundef %6680, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %6682, ptr noundef %6684, ptr noundef %6686, i32 noundef %6687) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6689:                                             ; preds = %6661
  %6690 = load i32, ptr @test_count, align 4, !tbaa !5
  %6691 = add nsw i32 %6690, 1
  store i32 %6691, ptr @test_count, align 4, !tbaa !5
  %6692 = load i32, ptr %630, align 4, !tbaa !5
  %6693 = icmp eq i32 %6692, 402653194
  br i1 %6693, label %6716, label %6694

6694:                                             ; preds = %6689
  %6695 = load i32, ptr %684, align 4, !tbaa !5
  %6696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6697 = call i32 @s2n_print_stacktrace(ptr noundef %6696) #13
  %6698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6699 = trunc nuw i8 %6698 to i1
  br i1 %6699, label %6700, label %6704

6700:                                             ; preds = %6694
  %6701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6702 = call i32 @fileno(ptr noundef %6701) #13
  %6703 = call i32 @isatty(i32 noundef %6702) #13
  %.not1201 = icmp eq i32 %6703, 0
  br i1 %.not1201, label %6704, label %6705

6704:                                             ; preds = %6700, %6694
  br label %6705

6705:                                             ; preds = %6700, %6704
  %.str.5.sink3753 = phi ptr [ @.str.5, %6704 ], [ @.str.2, %6700 ]
  store i32 %6695, ptr %684, align 4, !tbaa !5
  %6706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6707 = load i32, ptr @test_count, align 4, !tbaa !5
  %6708 = load i32, ptr %630, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror(i32 noundef %6708, ptr noundef nonnull @.str.4) #13
  %6710 = load i32, ptr %630, align 4, !tbaa !5
  %6711 = call ptr @s2n_strerror_debug(i32 noundef %6710, ptr noundef nonnull @.str.4) #13
  %6712 = load i32, ptr %684, align 4, !tbaa !5
  %6713 = call ptr @strerror(i32 noundef %6712) #13
  %6714 = load i32, ptr %684, align 4, !tbaa !5
  %6715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6706, ptr noundef nonnull %.str.5.sink3753, i32 noundef %6707, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %6709, ptr noundef %6711, ptr noundef %6713, i32 noundef %6714) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6716:                                             ; preds = %6689
  %6717 = add nsw i32 %6690, 2
  store i32 %6717, ptr @test_count, align 4, !tbaa !5
  %6718 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #13
  %6719 = icmp eq ptr %6718, null
  br i1 %6719, label %6720, label %6742

6720:                                             ; preds = %6716
  %6721 = load i32, ptr %684, align 4, !tbaa !5
  %6722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6723 = call i32 @s2n_print_stacktrace(ptr noundef %6722) #13
  %6724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6725 = trunc nuw i8 %6724 to i1
  br i1 %6725, label %6726, label %6730

6726:                                             ; preds = %6720
  %6727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6728 = call i32 @fileno(ptr noundef %6727) #13
  %6729 = call i32 @isatty(i32 noundef %6728) #13
  %.not1398 = icmp eq i32 %6729, 0
  br i1 %.not1398, label %6730, label %6731

6730:                                             ; preds = %6726, %6720
  br label %6731

6731:                                             ; preds = %6726, %6730
  %.str.5.sink3762 = phi ptr [ @.str.5, %6730 ], [ @.str.2, %6726 ]
  store i32 %6721, ptr %684, align 4, !tbaa !5
  %6732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6733 = load i32, ptr @test_count, align 4, !tbaa !5
  %6734 = load i32, ptr %630, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror(i32 noundef %6734, ptr noundef nonnull @.str.4) #13
  %6736 = load i32, ptr %630, align 4, !tbaa !5
  %6737 = call ptr @s2n_strerror_debug(i32 noundef %6736, ptr noundef nonnull @.str.4) #13
  %6738 = load i32, ptr %684, align 4, !tbaa !5
  %6739 = call ptr @strerror(i32 noundef %6738) #13
  %6740 = load i32, ptr %684, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6732, ptr noundef nonnull %.str.5.sink3762, i32 noundef %6733, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %6735, ptr noundef %6737, ptr noundef %6739, i32 noundef %6740) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6742:                                             ; preds = %6716
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6743 = load i32, ptr @test_count, align 4, !tbaa !5
  %6744 = add nsw i32 %6743, 1
  store i32 %6744, ptr @test_count, align 4, !tbaa !5
  %6745 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef nonnull %36, i32 noundef %6582, ptr noundef null, ptr noundef nonnull %6446) #13
  %6746 = icmp eq i32 %6745, -1
  br i1 %6746, label %6769, label %6747

6747:                                             ; preds = %6742
  %6748 = load i32, ptr %684, align 4, !tbaa !5
  %6749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6750 = call i32 @s2n_print_stacktrace(ptr noundef %6749) #13
  %6751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6752 = trunc nuw i8 %6751 to i1
  br i1 %6752, label %6753, label %6757

6753:                                             ; preds = %6747
  %6754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6755 = call i32 @fileno(ptr noundef %6754) #13
  %6756 = call i32 @isatty(i32 noundef %6755) #13
  %.not1202 = icmp eq i32 %6756, 0
  br i1 %.not1202, label %6757, label %6758

6757:                                             ; preds = %6753, %6747
  br label %6758

6758:                                             ; preds = %6753, %6757
  %.str.5.sink3771 = phi ptr [ @.str.5, %6757 ], [ @.str.2, %6753 ]
  store i32 %6748, ptr %684, align 4, !tbaa !5
  %6759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6760 = load i32, ptr @test_count, align 4, !tbaa !5
  %6761 = load i32, ptr %630, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror(i32 noundef %6761, ptr noundef nonnull @.str.4) #13
  %6763 = load i32, ptr %630, align 4, !tbaa !5
  %6764 = call ptr @s2n_strerror_debug(i32 noundef %6763, ptr noundef nonnull @.str.4) #13
  %6765 = load i32, ptr %684, align 4, !tbaa !5
  %6766 = call ptr @strerror(i32 noundef %6765) #13
  %6767 = load i32, ptr %684, align 4, !tbaa !5
  %6768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6759, ptr noundef nonnull %.str.5.sink3771, i32 noundef %6760, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %6762, ptr noundef %6764, ptr noundef %6766, i32 noundef %6767) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6769:                                             ; preds = %6742
  %6770 = load i32, ptr @test_count, align 4, !tbaa !5
  %6771 = add nsw i32 %6770, 1
  store i32 %6771, ptr @test_count, align 4, !tbaa !5
  %6772 = load i32, ptr %630, align 4, !tbaa !5
  %6773 = icmp eq i32 %6772, 402653193
  br i1 %6773, label %6796, label %6774

6774:                                             ; preds = %6769
  %6775 = load i32, ptr %684, align 4, !tbaa !5
  %6776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6777 = call i32 @s2n_print_stacktrace(ptr noundef %6776) #13
  %6778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6779 = trunc nuw i8 %6778 to i1
  br i1 %6779, label %6780, label %6784

6780:                                             ; preds = %6774
  %6781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6782 = call i32 @fileno(ptr noundef %6781) #13
  %6783 = call i32 @isatty(i32 noundef %6782) #13
  %.not1203 = icmp eq i32 %6783, 0
  br i1 %.not1203, label %6784, label %6785

6784:                                             ; preds = %6780, %6774
  br label %6785

6785:                                             ; preds = %6780, %6784
  %.str.5.sink3780 = phi ptr [ @.str.5, %6784 ], [ @.str.2, %6780 ]
  store i32 %6775, ptr %684, align 4, !tbaa !5
  %6786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6787 = load i32, ptr @test_count, align 4, !tbaa !5
  %6788 = load i32, ptr %630, align 4, !tbaa !5
  %6789 = call ptr @s2n_strerror(i32 noundef %6788, ptr noundef nonnull @.str.4) #13
  %6790 = load i32, ptr %630, align 4, !tbaa !5
  %6791 = call ptr @s2n_strerror_debug(i32 noundef %6790, ptr noundef nonnull @.str.4) #13
  %6792 = load i32, ptr %684, align 4, !tbaa !5
  %6793 = call ptr @strerror(i32 noundef %6792) #13
  %6794 = load i32, ptr %684, align 4, !tbaa !5
  %6795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6786, ptr noundef nonnull %.str.5.sink3780, i32 noundef %6787, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %6789, ptr noundef %6791, ptr noundef %6793, i32 noundef %6794) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6796:                                             ; preds = %6769
  %6797 = add nsw i32 %6770, 2
  store i32 %6797, ptr @test_count, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6799 = icmp eq ptr %6798, null
  br i1 %6799, label %6800, label %6822

6800:                                             ; preds = %6796
  %6801 = load i32, ptr %684, align 4, !tbaa !5
  %6802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6803 = call i32 @s2n_print_stacktrace(ptr noundef %6802) #13
  %6804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6805 = trunc nuw i8 %6804 to i1
  br i1 %6805, label %6806, label %6810

6806:                                             ; preds = %6800
  %6807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6808 = call i32 @fileno(ptr noundef %6807) #13
  %6809 = call i32 @isatty(i32 noundef %6808) #13
  %.not1397 = icmp eq i32 %6809, 0
  br i1 %.not1397, label %6810, label %6811

6810:                                             ; preds = %6806, %6800
  br label %6811

6811:                                             ; preds = %6806, %6810
  %.str.5.sink3789 = phi ptr [ @.str.5, %6810 ], [ @.str.2, %6806 ]
  store i32 %6801, ptr %684, align 4, !tbaa !5
  %6812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6813 = load i32, ptr @test_count, align 4, !tbaa !5
  %6814 = load i32, ptr %630, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror(i32 noundef %6814, ptr noundef nonnull @.str.4) #13
  %6816 = load i32, ptr %630, align 4, !tbaa !5
  %6817 = call ptr @s2n_strerror_debug(i32 noundef %6816, ptr noundef nonnull @.str.4) #13
  %6818 = load i32, ptr %684, align 4, !tbaa !5
  %6819 = call ptr @strerror(i32 noundef %6818) #13
  %6820 = load i32, ptr %684, align 4, !tbaa !5
  %6821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6812, ptr noundef nonnull %.str.5.sink3789, i32 noundef %6813, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %6815, ptr noundef %6817, ptr noundef %6819, i32 noundef %6820) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6822:                                             ; preds = %6796
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6823 = load i32, ptr @test_count, align 4, !tbaa !5
  %6824 = add nsw i32 %6823, 1
  store i32 %6824, ptr @test_count, align 4, !tbaa !5
  %6825 = load ptr, ptr %20, align 8, !tbaa !69
  %6826 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef nonnull %36, i32 noundef %6582, ptr noundef %6825, ptr noundef null) #13
  %6827 = icmp eq i32 %6826, -1
  br i1 %6827, label %6850, label %6828

6828:                                             ; preds = %6822
  %6829 = load i32, ptr %684, align 4, !tbaa !5
  %6830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6831 = call i32 @s2n_print_stacktrace(ptr noundef %6830) #13
  %6832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6833 = trunc nuw i8 %6832 to i1
  br i1 %6833, label %6834, label %6838

6834:                                             ; preds = %6828
  %6835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6836 = call i32 @fileno(ptr noundef %6835) #13
  %6837 = call i32 @isatty(i32 noundef %6836) #13
  %.not1204 = icmp eq i32 %6837, 0
  br i1 %.not1204, label %6838, label %6839

6838:                                             ; preds = %6834, %6828
  br label %6839

6839:                                             ; preds = %6834, %6838
  %.str.5.sink3798 = phi ptr [ @.str.5, %6838 ], [ @.str.2, %6834 ]
  store i32 %6829, ptr %684, align 4, !tbaa !5
  %6840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6841 = load i32, ptr @test_count, align 4, !tbaa !5
  %6842 = load i32, ptr %630, align 4, !tbaa !5
  %6843 = call ptr @s2n_strerror(i32 noundef %6842, ptr noundef nonnull @.str.4) #13
  %6844 = load i32, ptr %630, align 4, !tbaa !5
  %6845 = call ptr @s2n_strerror_debug(i32 noundef %6844, ptr noundef nonnull @.str.4) #13
  %6846 = load i32, ptr %684, align 4, !tbaa !5
  %6847 = call ptr @strerror(i32 noundef %6846) #13
  %6848 = load i32, ptr %684, align 4, !tbaa !5
  %6849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6840, ptr noundef nonnull %.str.5.sink3798, i32 noundef %6841, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %6843, ptr noundef %6845, ptr noundef %6847, i32 noundef %6848) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6850:                                             ; preds = %6822
  %6851 = load i32, ptr @test_count, align 4, !tbaa !5
  %6852 = add nsw i32 %6851, 1
  store i32 %6852, ptr @test_count, align 4, !tbaa !5
  %6853 = load i32, ptr %630, align 4, !tbaa !5
  %6854 = icmp eq i32 %6853, 402653193
  br i1 %6854, label %6877, label %6855

6855:                                             ; preds = %6850
  %6856 = load i32, ptr %684, align 4, !tbaa !5
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @s2n_print_stacktrace(ptr noundef %6857) #13
  %6859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6860 = trunc nuw i8 %6859 to i1
  br i1 %6860, label %6861, label %6865

6861:                                             ; preds = %6855
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = call i32 @fileno(ptr noundef %6862) #13
  %6864 = call i32 @isatty(i32 noundef %6863) #13
  %.not1205 = icmp eq i32 %6864, 0
  br i1 %.not1205, label %6865, label %6866

6865:                                             ; preds = %6861, %6855
  br label %6866

6866:                                             ; preds = %6861, %6865
  %.str.5.sink3807 = phi ptr [ @.str.5, %6865 ], [ @.str.2, %6861 ]
  store i32 %6856, ptr %684, align 4, !tbaa !5
  %6867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6868 = load i32, ptr @test_count, align 4, !tbaa !5
  %6869 = load i32, ptr %630, align 4, !tbaa !5
  %6870 = call ptr @s2n_strerror(i32 noundef %6869, ptr noundef nonnull @.str.4) #13
  %6871 = load i32, ptr %630, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror_debug(i32 noundef %6871, ptr noundef nonnull @.str.4) #13
  %6873 = load i32, ptr %684, align 4, !tbaa !5
  %6874 = call ptr @strerror(i32 noundef %6873) #13
  %6875 = load i32, ptr %684, align 4, !tbaa !5
  %6876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6867, ptr noundef nonnull %.str.5.sink3807, i32 noundef %6868, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %6870, ptr noundef %6872, ptr noundef %6874, i32 noundef %6875) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6877:                                             ; preds = %6850
  %6878 = add nsw i32 %6851, 2
  store i32 %6878, ptr @test_count, align 4, !tbaa !5
  %6879 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6880 = icmp eq ptr %6879, null
  br i1 %6880, label %6881, label %6903

6881:                                             ; preds = %6877
  %6882 = load i32, ptr %684, align 4, !tbaa !5
  %6883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6884 = call i32 @s2n_print_stacktrace(ptr noundef %6883) #13
  %6885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6886 = trunc nuw i8 %6885 to i1
  br i1 %6886, label %6887, label %6891

6887:                                             ; preds = %6881
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = call i32 @fileno(ptr noundef %6888) #13
  %6890 = call i32 @isatty(i32 noundef %6889) #13
  %.not1396 = icmp eq i32 %6890, 0
  br i1 %.not1396, label %6891, label %6892

6891:                                             ; preds = %6887, %6881
  br label %6892

6892:                                             ; preds = %6887, %6891
  %.str.5.sink3816 = phi ptr [ @.str.5, %6891 ], [ @.str.2, %6887 ]
  store i32 %6882, ptr %684, align 4, !tbaa !5
  %6893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6894 = load i32, ptr @test_count, align 4, !tbaa !5
  %6895 = load i32, ptr %630, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror(i32 noundef %6895, ptr noundef nonnull @.str.4) #13
  %6897 = load i32, ptr %630, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror_debug(i32 noundef %6897, ptr noundef nonnull @.str.4) #13
  %6899 = load i32, ptr %684, align 4, !tbaa !5
  %6900 = call ptr @strerror(i32 noundef %6899) #13
  %6901 = load i32, ptr %684, align 4, !tbaa !5
  %6902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6893, ptr noundef nonnull %.str.5.sink3816, i32 noundef %6894, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %6896, ptr noundef %6898, ptr noundef %6900, i32 noundef %6901) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6903:                                             ; preds = %6877
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6904 = load i32, ptr @test_count, align 4, !tbaa !5
  %6905 = add nsw i32 %6904, 1
  store i32 %6905, ptr @test_count, align 4, !tbaa !5
  %6906 = call i32 @s2n_free(ptr noundef nonnull %20) #13
  %6907 = icmp eq i32 %6906, -1
  br i1 %6907, label %6908, label %6930

6908:                                             ; preds = %6903
  %6909 = load i32, ptr %684, align 4, !tbaa !5
  %6910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6911 = call i32 @s2n_print_stacktrace(ptr noundef %6910) #13
  %6912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6913 = trunc nuw i8 %6912 to i1
  br i1 %6913, label %6914, label %6918

6914:                                             ; preds = %6908
  %6915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6916 = call i32 @fileno(ptr noundef %6915) #13
  %6917 = call i32 @isatty(i32 noundef %6916) #13
  %.not1395 = icmp eq i32 %6917, 0
  br i1 %.not1395, label %6918, label %6919

6918:                                             ; preds = %6914, %6908
  br label %6919

6919:                                             ; preds = %6914, %6918
  %.str.5.sink3825 = phi ptr [ @.str.5, %6918 ], [ @.str.2, %6914 ]
  store i32 %6909, ptr %684, align 4, !tbaa !5
  %6920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6921 = load i32, ptr @test_count, align 4, !tbaa !5
  %6922 = load i32, ptr %630, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror(i32 noundef %6922, ptr noundef nonnull @.str.4) #13
  %6924 = load i32, ptr %630, align 4, !tbaa !5
  %6925 = call ptr @s2n_strerror_debug(i32 noundef %6924, ptr noundef nonnull @.str.4) #13
  %6926 = load i32, ptr %684, align 4, !tbaa !5
  %6927 = call ptr @strerror(i32 noundef %6926) #13
  %6928 = load i32, ptr %684, align 4, !tbaa !5
  %6929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6920, ptr noundef nonnull %.str.5.sink3825, i32 noundef %6921, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %6923, ptr noundef %6925, ptr noundef %6927, i32 noundef %6928) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6930:                                             ; preds = %6903
  call void @llvm.lifetime.end.p0(i64 33, ptr nonnull %36) #13
  %6931 = load i32, ptr @test_count, align 4, !tbaa !5
  %6932 = add nsw i32 %6931, 1
  store i32 %6932, ptr @test_count, align 4, !tbaa !5
  %6933 = load ptr, ptr %4604, align 16, !tbaa !73
  %6934 = load i32, ptr %4917, align 8, !tbaa !68
  %6935 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %4605, ptr noundef %6933, i32 noundef 65535, i32 noundef %6934)
  %6936 = call zeroext i1 @s2n_result_is_error(i32 %6935)
  br i1 %6936, label %6937, label %7031

6937:                                             ; preds = %6930
  %6938 = load i32, ptr @test_count, align 4, !tbaa !5
  %6939 = add nsw i32 %6938, 1
  store i32 %6939, ptr @test_count, align 4, !tbaa !5
  %6940 = load i32, ptr %630, align 4, !tbaa !5
  %6941 = icmp eq i32 %6940, 469762119
  br i1 %6941, label %6942, label %7053

6942:                                             ; preds = %6937
  %6943 = add nsw i32 %6938, 2
  store i32 %6943, ptr @test_count, align 4, !tbaa !5
  %6944 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6945 = icmp eq ptr %6944, null
  br i1 %6945, label %7075, label %6946

6946:                                             ; preds = %6942
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = add nsw i32 %6947, 1
  store i32 %6948, ptr @test_count, align 4, !tbaa !5
  %6949 = getelementptr inbounds i8, ptr %30, i64 144
  %6950 = getelementptr inbounds i8, ptr %30, i64 120
  %6951 = load ptr, ptr %6950, align 8, !tbaa !73
  %6952 = load i32, ptr %4952, align 16, !tbaa !68
  %6953 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %6949, ptr noundef %6951, i32 noundef 65535, i32 noundef %6952)
  %6954 = call zeroext i1 @s2n_result_is_error(i32 %6953)
  br i1 %6954, label %6955, label %7031

6955:                                             ; preds = %6946
  %6956 = load i32, ptr @test_count, align 4, !tbaa !5
  %6957 = add nsw i32 %6956, 1
  store i32 %6957, ptr @test_count, align 4, !tbaa !5
  %6958 = load i32, ptr %630, align 4, !tbaa !5
  %6959 = icmp eq i32 %6958, 469762119
  br i1 %6959, label %6960, label %7053

6960:                                             ; preds = %6955
  %6961 = add nsw i32 %6956, 2
  store i32 %6961, ptr @test_count, align 4, !tbaa !5
  %6962 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6963 = icmp eq ptr %6962, null
  br i1 %6963, label %7075, label %6964

6964:                                             ; preds = %6960
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6965 = load i32, ptr @test_count, align 4, !tbaa !5
  %6966 = add nsw i32 %6965, 1
  store i32 %6966, ptr @test_count, align 4, !tbaa !5
  %6967 = getelementptr inbounds i8, ptr %30, i64 232
  %6968 = getelementptr inbounds i8, ptr %30, i64 208
  %6969 = load ptr, ptr %6968, align 16, !tbaa !73
  %6970 = load i32, ptr %4965, align 8, !tbaa !68
  %6971 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %6967, ptr noundef %6969, i32 noundef 65535, i32 noundef %6970)
  %6972 = call zeroext i1 @s2n_result_is_error(i32 %6971)
  br i1 %6972, label %6973, label %7031

6973:                                             ; preds = %6964
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = add nsw i32 %6974, 1
  store i32 %6975, ptr @test_count, align 4, !tbaa !5
  %6976 = load i32, ptr %630, align 4, !tbaa !5
  %6977 = icmp eq i32 %6976, 469762119
  br i1 %6977, label %6978, label %7053

6978:                                             ; preds = %6973
  %6979 = add nsw i32 %6974, 2
  store i32 %6979, ptr @test_count, align 4, !tbaa !5
  %6980 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6981 = icmp eq ptr %6980, null
  br i1 %6981, label %7075, label %6982

6982:                                             ; preds = %6978
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = add nsw i32 %6983, 1
  store i32 %6984, ptr @test_count, align 4, !tbaa !5
  %6985 = getelementptr inbounds i8, ptr %30, i64 320
  %6986 = getelementptr inbounds i8, ptr %30, i64 296
  %6987 = load ptr, ptr %6986, align 8, !tbaa !73
  %6988 = load i32, ptr %4978, align 16, !tbaa !68
  %6989 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %6985, ptr noundef %6987, i32 noundef 65535, i32 noundef %6988)
  %6990 = call zeroext i1 @s2n_result_is_error(i32 %6989)
  br i1 %6990, label %6991, label %7031

6991:                                             ; preds = %6982
  %6992 = load i32, ptr @test_count, align 4, !tbaa !5
  %6993 = add nsw i32 %6992, 1
  store i32 %6993, ptr @test_count, align 4, !tbaa !5
  %6994 = load i32, ptr %630, align 4, !tbaa !5
  %6995 = icmp eq i32 %6994, 469762119
  br i1 %6995, label %6996, label %7053

6996:                                             ; preds = %6991
  %6997 = add nsw i32 %6992, 2
  store i32 %6997, ptr @test_count, align 4, !tbaa !5
  %6998 = call ptr @s2n_strerror_debug(i32 noundef 469762119, ptr noundef nonnull @.str.4) #13
  %6999 = icmp eq ptr %6998, null
  br i1 %6999, label %7075, label %.peel.next1584

.peel.next1584:                                   ; preds = %6996
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %7000 = load i32, ptr @test_count, align 4, !tbaa !5
  %7001 = add nsw i32 %7000, 1
  store i32 %7001, ptr @test_count, align 4, !tbaa !5
  %7002 = getelementptr inbounds i8, ptr %30, i64 408
  %7003 = getelementptr inbounds i8, ptr %30, i64 368
  %7004 = load ptr, ptr %7003, align 16, !tbaa !63
  %7005 = getelementptr inbounds i8, ptr %30, i64 376
  %7006 = load i32, ptr %7005, align 8, !tbaa !64
  %7007 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %7004) #17
  %7008 = trunc i64 %7007 to i32
  %7009 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %7002, ptr noundef %7004, i32 noundef %7006, i32 noundef %7008)
  %7010 = call zeroext i1 @s2n_result_is_ok(i32 %7009)
  br i1 %7010, label %7097, label %7011

7011:                                             ; preds = %7109, %7097, %.peel.next1584
  %.pre1623 = load i32, ptr %684, align 4, !tbaa !5
  %.pre1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7012 = call i32 @s2n_print_stacktrace(ptr noundef %.pre1624) #13
  %7013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7014 = trunc nuw i8 %7013 to i1
  br i1 %7014, label %7015, label %7019

7015:                                             ; preds = %7011
  %7016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7017 = call i32 @fileno(ptr noundef %7016) #13
  %7018 = call i32 @isatty(i32 noundef %7017) #13
  %.not1394 = icmp eq i32 %7018, 0
  br i1 %.not1394, label %7019, label %7020

7019:                                             ; preds = %7015, %7011
  br label %7020

7020:                                             ; preds = %7015, %7019
  %.str.5.sink3834 = phi ptr [ @.str.5, %7019 ], [ @.str.2, %7015 ]
  store i32 %.pre1623, ptr %684, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = load i32, ptr %630, align 4, !tbaa !5
  %7024 = call ptr @s2n_strerror(i32 noundef %7023, ptr noundef nonnull @.str.4) #13
  %7025 = load i32, ptr %630, align 4, !tbaa !5
  %7026 = call ptr @s2n_strerror_debug(i32 noundef %7025, ptr noundef nonnull @.str.4) #13
  %7027 = load i32, ptr %684, align 4, !tbaa !5
  %7028 = call ptr @strerror(i32 noundef %7027) #13
  %7029 = load i32, ptr %684, align 4, !tbaa !5
  %7030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7021, ptr noundef nonnull %.str.5.sink3834, i32 noundef %7022, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 637, ptr noundef %7024, ptr noundef %7026, ptr noundef %7028, i32 noundef %7029) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7031:                                             ; preds = %6982, %6964, %6946, %6930
  %7032 = load i32, ptr %684, align 4, !tbaa !5
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @s2n_print_stacktrace(ptr noundef %7033) #13
  %7035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7036 = trunc nuw i8 %7035 to i1
  br i1 %7036, label %7037, label %7041

7037:                                             ; preds = %7031
  %7038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7039 = call i32 @fileno(ptr noundef %7038) #13
  %7040 = call i32 @isatty(i32 noundef %7039) #13
  %.not1391 = icmp eq i32 %7040, 0
  br i1 %.not1391, label %7041, label %7042

7041:                                             ; preds = %7037, %7031
  br label %7042

7042:                                             ; preds = %7037, %7041
  %.str.5.sink3843 = phi ptr [ @.str.5, %7041 ], [ @.str.2, %7037 ]
  store i32 %7032, ptr %684, align 4, !tbaa !5
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = load i32, ptr @test_count, align 4, !tbaa !5
  %7045 = load i32, ptr %630, align 4, !tbaa !5
  %7046 = call ptr @s2n_strerror(i32 noundef %7045, ptr noundef nonnull @.str.4) #13
  %7047 = load i32, ptr %630, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror_debug(i32 noundef %7047, ptr noundef nonnull @.str.4) #13
  %7049 = load i32, ptr %684, align 4, !tbaa !5
  %7050 = call ptr @strerror(i32 noundef %7049) #13
  %7051 = load i32, ptr %684, align 4, !tbaa !5
  %7052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7043, ptr noundef nonnull %.str.5.sink3843, i32 noundef %7044, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %7046, ptr noundef %7048, ptr noundef %7050, i32 noundef %7051) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7053:                                             ; preds = %6991, %6973, %6955, %6937
  %7054 = load i32, ptr %684, align 4, !tbaa !5
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = call i32 @s2n_print_stacktrace(ptr noundef %7055) #13
  %7057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7058 = trunc nuw i8 %7057 to i1
  br i1 %7058, label %7059, label %7063

7059:                                             ; preds = %7053
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = call i32 @fileno(ptr noundef %7060) #13
  %7062 = call i32 @isatty(i32 noundef %7061) #13
  %.not1392 = icmp eq i32 %7062, 0
  br i1 %.not1392, label %7063, label %7064

7063:                                             ; preds = %7059, %7053
  br label %7064

7064:                                             ; preds = %7059, %7063
  %.str.5.sink3852 = phi ptr [ @.str.5, %7063 ], [ @.str.2, %7059 ]
  store i32 %7054, ptr %684, align 4, !tbaa !5
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = load i32, ptr @test_count, align 4, !tbaa !5
  %7067 = load i32, ptr %630, align 4, !tbaa !5
  %7068 = call ptr @s2n_strerror(i32 noundef %7067, ptr noundef nonnull @.str.4) #13
  %7069 = load i32, ptr %630, align 4, !tbaa !5
  %7070 = call ptr @s2n_strerror_debug(i32 noundef %7069, ptr noundef nonnull @.str.4) #13
  %7071 = load i32, ptr %684, align 4, !tbaa !5
  %7072 = call ptr @strerror(i32 noundef %7071) #13
  %7073 = load i32, ptr %684, align 4, !tbaa !5
  %7074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7065, ptr noundef nonnull %.str.5.sink3852, i32 noundef %7066, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %7068, ptr noundef %7070, ptr noundef %7072, i32 noundef %7073) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7075:                                             ; preds = %6996, %6978, %6960, %6942
  %7076 = load i32, ptr %684, align 4, !tbaa !5
  %7077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7078 = call i32 @s2n_print_stacktrace(ptr noundef %7077) #13
  %7079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7080 = trunc nuw i8 %7079 to i1
  br i1 %7080, label %7081, label %7085

7081:                                             ; preds = %7075
  %7082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7083 = call i32 @fileno(ptr noundef %7082) #13
  %7084 = call i32 @isatty(i32 noundef %7083) #13
  %.not1393 = icmp eq i32 %7084, 0
  br i1 %.not1393, label %7085, label %7086

7085:                                             ; preds = %7081, %7075
  br label %7086

7086:                                             ; preds = %7081, %7085
  %.str.5.sink3861 = phi ptr [ @.str.5, %7085 ], [ @.str.2, %7081 ]
  store i32 %7076, ptr %684, align 4, !tbaa !5
  %7087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7088 = load i32, ptr @test_count, align 4, !tbaa !5
  %7089 = load i32, ptr %630, align 4, !tbaa !5
  %7090 = call ptr @s2n_strerror(i32 noundef %7089, ptr noundef nonnull @.str.4) #13
  %7091 = load i32, ptr %630, align 4, !tbaa !5
  %7092 = call ptr @s2n_strerror_debug(i32 noundef %7091, ptr noundef nonnull @.str.4) #13
  %7093 = load i32, ptr %684, align 4, !tbaa !5
  %7094 = call ptr @strerror(i32 noundef %7093) #13
  %7095 = load i32, ptr %684, align 4, !tbaa !5
  %7096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7087, ptr noundef nonnull %.str.5.sink3861, i32 noundef %7088, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %7090, ptr noundef %7092, ptr noundef %7094, i32 noundef %7095) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7097:                                             ; preds = %.peel.next1584
  %7098 = load i32, ptr @test_count, align 4, !tbaa !5
  %7099 = add nsw i32 %7098, 1
  store i32 %7099, ptr @test_count, align 4, !tbaa !5
  %7100 = getelementptr inbounds i8, ptr %30, i64 496
  %7101 = getelementptr inbounds i8, ptr %30, i64 456
  %7102 = load ptr, ptr %7101, align 8, !tbaa !63
  %7103 = getelementptr inbounds i8, ptr %30, i64 464
  %7104 = load i32, ptr %7103, align 16, !tbaa !64
  %7105 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %7102) #17
  %7106 = trunc i64 %7105 to i32
  %7107 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %7100, ptr noundef %7102, i32 noundef %7104, i32 noundef %7106)
  %7108 = call zeroext i1 @s2n_result_is_ok(i32 %7107)
  br i1 %7108, label %7109, label %7011

7109:                                             ; preds = %7097
  %7110 = load i32, ptr @test_count, align 4, !tbaa !5
  %7111 = add nsw i32 %7110, 1
  store i32 %7111, ptr @test_count, align 4, !tbaa !5
  %7112 = getelementptr inbounds i8, ptr %30, i64 584
  %7113 = getelementptr inbounds i8, ptr %30, i64 544
  %7114 = load ptr, ptr %7113, align 16, !tbaa !63
  %7115 = getelementptr inbounds i8, ptr %30, i64 552
  %7116 = load i32, ptr %7115, align 8, !tbaa !64
  %7117 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %7114) #17
  %7118 = trunc i64 %7117 to i32
  %7119 = call i32 @s2n_compare_utf8_strings(ptr noundef nonnull %7112, ptr noundef %7114, i32 noundef %7116, i32 noundef %7118)
  %7120 = call zeroext i1 @s2n_result_is_ok(i32 %7119)
  br i1 %7120, label %.loopexit1591, label %7011

.loopexit1591:                                    ; preds = %7109
  %7121 = load i32, ptr @test_count, align 4, !tbaa !5
  %7122 = add nsw i32 %7121, 1
  store i32 %7122, ptr @test_count, align 4, !tbaa !5
  %7123 = load i32, ptr %6413, align 16, !tbaa !74
  %7124 = add i32 %7123, -3
  %7125 = call i32 @s2n_alloc(ptr noundef nonnull %20, i32 noundef %7124) #13
  %7126 = icmp eq i32 %7125, -1
  br i1 %7126, label %7127, label %7149

7127:                                             ; preds = %.loopexit1591
  %7128 = load i32, ptr %684, align 4, !tbaa !5
  %7129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7130 = call i32 @s2n_print_stacktrace(ptr noundef %7129) #13
  %7131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7132 = trunc nuw i8 %7131 to i1
  br i1 %7132, label %7133, label %7137

7133:                                             ; preds = %7127
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @fileno(ptr noundef %7134) #13
  %7136 = call i32 @isatty(i32 noundef %7135) #13
  %.not1390 = icmp eq i32 %7136, 0
  br i1 %.not1390, label %7137, label %7138

7137:                                             ; preds = %7133, %7127
  br label %7138

7138:                                             ; preds = %7133, %7137
  %.str.5.sink3870 = phi ptr [ @.str.5, %7137 ], [ @.str.2, %7133 ]
  store i32 %7128, ptr %684, align 4, !tbaa !5
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = load i32, ptr @test_count, align 4, !tbaa !5
  %7141 = load i32, ptr %630, align 4, !tbaa !5
  %7142 = call ptr @s2n_strerror(i32 noundef %7141, ptr noundef nonnull @.str.4) #13
  %7143 = load i32, ptr %630, align 4, !tbaa !5
  %7144 = call ptr @s2n_strerror_debug(i32 noundef %7143, ptr noundef nonnull @.str.4) #13
  %7145 = load i32, ptr %684, align 4, !tbaa !5
  %7146 = call ptr @strerror(i32 noundef %7145) #13
  %7147 = load i32, ptr %684, align 4, !tbaa !5
  %7148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7139, ptr noundef nonnull %.str.5.sink3870, i32 noundef %7140, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.1, i32 noundef 649, ptr noundef %7142, ptr noundef %7144, ptr noundef %7146, i32 noundef %7147) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7149:                                             ; preds = %.loopexit1591
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = add nsw i32 %7150, 1
  store i32 %7151, ptr @test_count, align 4, !tbaa !5
  %7152 = load ptr, ptr %4631, align 8, !tbaa !72
  %7153 = load i32, ptr %6413, align 16, !tbaa !74
  %7154 = load ptr, ptr %20, align 8, !tbaa !69
  %7155 = call i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef %7152, i32 noundef %7153, ptr noundef %7154, ptr noundef nonnull %6446) #13
  %7156 = icmp eq i32 %7155, -1
  br i1 %7156, label %7179, label %7157

7157:                                             ; preds = %7149
  %7158 = load i32, ptr %684, align 4, !tbaa !5
  %7159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7160 = call i32 @s2n_print_stacktrace(ptr noundef %7159) #13
  %7161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7162 = trunc nuw i8 %7161 to i1
  br i1 %7162, label %7163, label %7167

7163:                                             ; preds = %7157
  %7164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7165 = call i32 @fileno(ptr noundef %7164) #13
  %7166 = call i32 @isatty(i32 noundef %7165) #13
  %.not1206 = icmp eq i32 %7166, 0
  br i1 %.not1206, label %7167, label %7168

7167:                                             ; preds = %7163, %7157
  br label %7168

7168:                                             ; preds = %7163, %7167
  %.str.5.sink3879 = phi ptr [ @.str.5, %7167 ], [ @.str.2, %7163 ]
  store i32 %7158, ptr %684, align 4, !tbaa !5
  %7169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7170 = load i32, ptr @test_count, align 4, !tbaa !5
  %7171 = load i32, ptr %630, align 4, !tbaa !5
  %7172 = call ptr @s2n_strerror(i32 noundef %7171, ptr noundef nonnull @.str.4) #13
  %7173 = load i32, ptr %630, align 4, !tbaa !5
  %7174 = call ptr @s2n_strerror_debug(i32 noundef %7173, ptr noundef nonnull @.str.4) #13
  %7175 = load i32, ptr %684, align 4, !tbaa !5
  %7176 = call ptr @strerror(i32 noundef %7175) #13
  %7177 = load i32, ptr %684, align 4, !tbaa !5
  %7178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7169, ptr noundef nonnull %.str.5.sink3879, i32 noundef %7170, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %7172, ptr noundef %7174, ptr noundef %7176, i32 noundef %7177) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7179:                                             ; preds = %7149
  %7180 = load i32, ptr @test_count, align 4, !tbaa !5
  %7181 = add nsw i32 %7180, 1
  store i32 %7181, ptr @test_count, align 4, !tbaa !5
  %7182 = load i32, ptr %630, align 4, !tbaa !5
  %7183 = icmp eq i32 %7182, 469762120
  br i1 %7183, label %7206, label %7184

7184:                                             ; preds = %7179
  %7185 = load i32, ptr %684, align 4, !tbaa !5
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = call i32 @s2n_print_stacktrace(ptr noundef %7186) #13
  %7188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7189 = trunc nuw i8 %7188 to i1
  br i1 %7189, label %7190, label %7194

7190:                                             ; preds = %7184
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = call i32 @fileno(ptr noundef %7191) #13
  %7193 = call i32 @isatty(i32 noundef %7192) #13
  %.not1207 = icmp eq i32 %7193, 0
  br i1 %.not1207, label %7194, label %7195

7194:                                             ; preds = %7190, %7184
  br label %7195

7195:                                             ; preds = %7190, %7194
  %.str.5.sink3888 = phi ptr [ @.str.5, %7194 ], [ @.str.2, %7190 ]
  store i32 %7185, ptr %684, align 4, !tbaa !5
  %7196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = load i32, ptr %630, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror(i32 noundef %7198, ptr noundef nonnull @.str.4) #13
  %7200 = load i32, ptr %630, align 4, !tbaa !5
  %7201 = call ptr @s2n_strerror_debug(i32 noundef %7200, ptr noundef nonnull @.str.4) #13
  %7202 = load i32, ptr %684, align 4, !tbaa !5
  %7203 = call ptr @strerror(i32 noundef %7202) #13
  %7204 = load i32, ptr %684, align 4, !tbaa !5
  %7205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7196, ptr noundef nonnull %.str.5.sink3888, i32 noundef %7197, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %7199, ptr noundef %7201, ptr noundef %7203, i32 noundef %7204) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7206:                                             ; preds = %7179
  %7207 = add nsw i32 %7180, 2
  store i32 %7207, ptr @test_count, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #13
  %7209 = icmp eq ptr %7208, null
  br i1 %7209, label %7210, label %7232

7210:                                             ; preds = %7206
  %7211 = load i32, ptr %684, align 4, !tbaa !5
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @s2n_print_stacktrace(ptr noundef %7212) #13
  %7214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7215 = trunc nuw i8 %7214 to i1
  br i1 %7215, label %7216, label %7220

7216:                                             ; preds = %7210
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = call i32 @fileno(ptr noundef %7217) #13
  %7219 = call i32 @isatty(i32 noundef %7218) #13
  %.not1389 = icmp eq i32 %7219, 0
  br i1 %.not1389, label %7220, label %7221

7220:                                             ; preds = %7216, %7210
  br label %7221

7221:                                             ; preds = %7216, %7220
  %.str.5.sink3897 = phi ptr [ @.str.5, %7220 ], [ @.str.2, %7216 ]
  store i32 %7211, ptr %684, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = load i32, ptr @test_count, align 4, !tbaa !5
  %7224 = load i32, ptr %630, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef nonnull @.str.4) #13
  %7226 = load i32, ptr %630, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror_debug(i32 noundef %7226, ptr noundef nonnull @.str.4) #13
  %7228 = load i32, ptr %684, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #13
  %7230 = load i32, ptr %684, align 4, !tbaa !5
  %7231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7222, ptr noundef nonnull %.str.5.sink3897, i32 noundef %7223, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %7225, ptr noundef %7227, ptr noundef %7229, i32 noundef %7230) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7232:                                             ; preds = %7206
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %7233 = load i32, ptr @test_count, align 4, !tbaa !5
  %7234 = add nsw i32 %7233, 1
  store i32 %7234, ptr @test_count, align 4, !tbaa !5
  %7235 = call i32 @s2n_free(ptr noundef nonnull %20) #13
  %7236 = icmp eq i32 %7235, -1
  br i1 %7236, label %7241, label %.preheader.preheader

.preheader.preheader:                             ; preds = %7232
  %7237 = load i32, ptr @test_count, align 4, !tbaa !5
  %7238 = add nsw i32 %7237, 1
  store i32 %7238, ptr @test_count, align 4, !tbaa !5
  %7239 = call i32 @s2n_free(ptr noundef nonnull %4605) #13
  %7240 = icmp eq i32 %7239, -1
  br i1 %7240, label %7297, label %.preheader.1

7241:                                             ; preds = %7232
  %7242 = load i32, ptr %684, align 4, !tbaa !5
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = call i32 @s2n_print_stacktrace(ptr noundef %7243) #13
  %7245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7246 = trunc nuw i8 %7245 to i1
  br i1 %7246, label %7247, label %7251

7247:                                             ; preds = %7241
  %7248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7249 = call i32 @fileno(ptr noundef %7248) #13
  %7250 = call i32 @isatty(i32 noundef %7249) #13
  %.not1388 = icmp eq i32 %7250, 0
  br i1 %.not1388, label %7251, label %7252

7251:                                             ; preds = %7247, %7241
  br label %7252

7252:                                             ; preds = %7247, %7251
  %.str.5.sink3906 = phi ptr [ @.str.5, %7251 ], [ @.str.2, %7247 ]
  store i32 %7242, ptr %684, align 4, !tbaa !5
  %7253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7254 = load i32, ptr @test_count, align 4, !tbaa !5
  %7255 = load i32, ptr %630, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror(i32 noundef %7255, ptr noundef nonnull @.str.4) #13
  %7257 = load i32, ptr %630, align 4, !tbaa !5
  %7258 = call ptr @s2n_strerror_debug(i32 noundef %7257, ptr noundef nonnull @.str.4) #13
  %7259 = load i32, ptr %684, align 4, !tbaa !5
  %7260 = call ptr @strerror(i32 noundef %7259) #13
  %7261 = load i32, ptr %684, align 4, !tbaa !5
  %7262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7253, ptr noundef nonnull %.str.5.sink3906, i32 noundef %7254, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 655, ptr noundef %7256, ptr noundef %7258, ptr noundef %7260, i32 noundef %7261) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader.1:                                     ; preds = %.preheader.preheader
  %7263 = load i32, ptr @test_count, align 4, !tbaa !5
  %7264 = add nsw i32 %7263, 1
  store i32 %7264, ptr @test_count, align 4, !tbaa !5
  %7265 = call i32 @s2n_free(ptr noundef nonnull %4611) #13
  %7266 = icmp eq i32 %7265, -1
  br i1 %7266, label %7297, label %.preheader.2

.preheader.2:                                     ; preds = %.preheader.1
  %7267 = load i32, ptr @test_count, align 4, !tbaa !5
  %7268 = add nsw i32 %7267, 1
  store i32 %7268, ptr @test_count, align 4, !tbaa !5
  %7269 = call i32 @s2n_free(ptr noundef nonnull %4617) #13
  %7270 = icmp eq i32 %7269, -1
  br i1 %7270, label %7297, label %.preheader.3

.preheader.3:                                     ; preds = %.preheader.2
  %7271 = load i32, ptr @test_count, align 4, !tbaa !5
  %7272 = add nsw i32 %7271, 1
  store i32 %7272, ptr @test_count, align 4, !tbaa !5
  %7273 = call i32 @s2n_free(ptr noundef nonnull %4624) #13
  %7274 = icmp eq i32 %7273, -1
  br i1 %7274, label %7297, label %.preheader.4

.preheader.4:                                     ; preds = %.preheader.3
  %7275 = load i32, ptr @test_count, align 4, !tbaa !5
  %7276 = add nsw i32 %7275, 1
  store i32 %7276, ptr @test_count, align 4, !tbaa !5
  %7277 = call i32 @s2n_free(ptr noundef nonnull %4631) #13
  %7278 = icmp eq i32 %7277, -1
  br i1 %7278, label %7297, label %.preheader.5

.preheader.5:                                     ; preds = %.preheader.4
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = add nsw i32 %7279, 1
  store i32 %7280, ptr @test_count, align 4, !tbaa !5
  %7281 = call i32 @s2n_free(ptr noundef nonnull %4637) #13
  %7282 = icmp eq i32 %7281, -1
  br i1 %7282, label %7297, label %.preheader.6

.preheader.6:                                     ; preds = %.preheader.5
  %7283 = load i32, ptr @test_count, align 4, !tbaa !5
  %7284 = add nsw i32 %7283, 1
  store i32 %7284, ptr @test_count, align 4, !tbaa !5
  %7285 = call i32 @s2n_free(ptr noundef nonnull %4643) #13
  %7286 = icmp eq i32 %7285, -1
  br i1 %7286, label %7297, label %.preheader.7

.preheader.7:                                     ; preds = %.preheader.6
  %7287 = load i32, ptr @test_count, align 4, !tbaa !5
  %7288 = add nsw i32 %7287, 1
  store i32 %7288, ptr @test_count, align 4, !tbaa !5
  %7289 = call i32 @s2n_free(ptr noundef nonnull %5826) #13
  %7290 = icmp eq i32 %7289, -1
  br i1 %7290, label %7297, label %7291

7291:                                             ; preds = %.preheader.7
  %7292 = load i32, ptr @test_count, align 4, !tbaa !5
  %7293 = add nsw i32 %7292, 1
  store i32 %7293, ptr @test_count, align 4, !tbaa !5
  %7294 = load ptr, ptr %22, align 8, !tbaa !9
  %7295 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %7294) #13
  %7296 = icmp eq i32 %7295, -1
  br i1 %7296, label %7319, label %7341

7297:                                             ; preds = %.preheader.7, %.preheader.6, %.preheader.5, %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %7298 = load i32, ptr %684, align 4, !tbaa !5
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = call i32 @s2n_print_stacktrace(ptr noundef %7299) #13
  %7301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7302 = trunc nuw i8 %7301 to i1
  br i1 %7302, label %7303, label %7307

7303:                                             ; preds = %7297
  %7304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7305 = call i32 @fileno(ptr noundef %7304) #13
  %7306 = call i32 @isatty(i32 noundef %7305) #13
  %.not1387 = icmp eq i32 %7306, 0
  br i1 %.not1387, label %7307, label %7308

7307:                                             ; preds = %7303, %7297
  br label %7308

7308:                                             ; preds = %7303, %7307
  %.str.5.sink3915 = phi ptr [ @.str.5, %7307 ], [ @.str.2, %7303 ]
  store i32 %7298, ptr %684, align 4, !tbaa !5
  %7309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7310 = load i32, ptr @test_count, align 4, !tbaa !5
  %7311 = load i32, ptr %630, align 4, !tbaa !5
  %7312 = call ptr @s2n_strerror(i32 noundef %7311, ptr noundef nonnull @.str.4) #13
  %7313 = load i32, ptr %630, align 4, !tbaa !5
  %7314 = call ptr @s2n_strerror_debug(i32 noundef %7313, ptr noundef nonnull @.str.4) #13
  %7315 = load i32, ptr %684, align 4, !tbaa !5
  %7316 = call ptr @strerror(i32 noundef %7315) #13
  %7317 = load i32, ptr %684, align 4, !tbaa !5
  %7318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7309, ptr noundef nonnull %.str.5.sink3915, i32 noundef %7310, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 661, ptr noundef %7312, ptr noundef %7314, ptr noundef %7316, i32 noundef %7317) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7319:                                             ; preds = %7291
  %7320 = load i32, ptr %684, align 4, !tbaa !5
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = call i32 @s2n_print_stacktrace(ptr noundef %7321) #13
  %7323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7324 = trunc nuw i8 %7323 to i1
  br i1 %7324, label %7325, label %7329

7325:                                             ; preds = %7319
  %7326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7327 = call i32 @fileno(ptr noundef %7326) #13
  %7328 = call i32 @isatty(i32 noundef %7327) #13
  %.not1386 = icmp eq i32 %7328, 0
  br i1 %.not1386, label %7329, label %7330

7329:                                             ; preds = %7325, %7319
  br label %7330

7330:                                             ; preds = %7325, %7329
  %.str.5.sink3924 = phi ptr [ @.str.5, %7329 ], [ @.str.2, %7325 ]
  store i32 %7320, ptr %684, align 4, !tbaa !5
  %7331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7332 = load i32, ptr @test_count, align 4, !tbaa !5
  %7333 = load i32, ptr %630, align 4, !tbaa !5
  %7334 = call ptr @s2n_strerror(i32 noundef %7333, ptr noundef nonnull @.str.4) #13
  %7335 = load i32, ptr %630, align 4, !tbaa !5
  %7336 = call ptr @s2n_strerror_debug(i32 noundef %7335, ptr noundef nonnull @.str.4) #13
  %7337 = load i32, ptr %684, align 4, !tbaa !5
  %7338 = call ptr @strerror(i32 noundef %7337) #13
  %7339 = load i32, ptr %684, align 4, !tbaa !5
  %7340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7331, ptr noundef nonnull %.str.5.sink3924, i32 noundef %7332, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.1, i32 noundef 663, ptr noundef %7334, ptr noundef %7336, ptr noundef %7338, i32 noundef %7339) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7341:                                             ; preds = %7291
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %30) #13
  br label %7342

7342:                                             ; preds = %4597, %7341
  %.01087 = phi i32 [ 0, %7341 ], [ 1, %4597 ]
  %.0 = phi i32 [ 0, %7341 ], [ -1, %4597 ]
  %7343 = call i32 @s2n_free(ptr noundef nonnull %29) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #13
  br label %7344

7344:                                             ; preds = %4594, %7342
  %.11088 = phi i32 [ %.01087, %7342 ], [ 1, %4594 ]
  %.1 = phi i32 [ %.0, %7342 ], [ -1, %4594 ]
  %7345 = call i32 @s2n_free(ptr noundef nonnull %28) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #13
  br label %7346

7346:                                             ; preds = %4591, %7344
  %.21089 = phi i32 [ %.11088, %7344 ], [ 1, %4591 ]
  %.2 = phi i32 [ %.1, %7344 ], [ -1, %4591 ]
  %7347 = call i32 @s2n_free(ptr noundef nonnull %27) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #13
  br label %7348

7348:                                             ; preds = %4588, %7346
  %.31090 = phi i32 [ %.21089, %7346 ], [ 1, %4588 ]
  %.3 = phi i32 [ %.2, %7346 ], [ -1, %4588 ]
  %7349 = call i32 @s2n_free(ptr noundef nonnull %26) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #13
  br label %7350

7350:                                             ; preds = %4585, %7348
  %.41091 = phi i32 [ %.31090, %7348 ], [ 1, %4585 ]
  %.4 = phi i32 [ %.3, %7348 ], [ -1, %4585 ]
  %7351 = call i32 @s2n_free(ptr noundef nonnull %25) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #13
  br label %7352

7352:                                             ; preds = %7350, %4582
  %.51092 = phi i32 [ %.41091, %7350 ], [ 1, %4582 ]
  %.5 = phi i32 [ %.4, %7350 ], [ -1, %4582 ]
  %7353 = call i32 @s2n_free(ptr noundef nonnull %24) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #13
  %7354 = call i32 @s2n_free(ptr noundef nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #13
  %cond = icmp eq i32 %.51092, 0
  br i1 %cond, label %7355, label %11940

7355:                                             ; preds = %7352
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #13
  %7356 = call ptr @s2n_config_new() #13
  store ptr %7356, ptr %37, align 8, !tbaa !9
  %7357 = load i32, ptr @test_count, align 4, !tbaa !5
  %7358 = add nsw i32 %7357, 1
  store i32 %7358, ptr @test_count, align 4, !tbaa !5
  %7359 = call i32 @s2n_config_set_client_auth_type(ptr noundef %7356, i32 noundef 1) #13
  %7360 = icmp eq i32 %7359, -1
  br i1 %7360, label %7361, label %7383

7361:                                             ; preds = %7355
  %7362 = load i32, ptr %684, align 4, !tbaa !5
  %7363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7364 = call i32 @s2n_print_stacktrace(ptr noundef %7363) #13
  %7365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7366 = trunc nuw i8 %7365 to i1
  br i1 %7366, label %7367, label %7371

7367:                                             ; preds = %7361
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = call i32 @fileno(ptr noundef %7368) #13
  %7370 = call i32 @isatty(i32 noundef %7369) #13
  %.not1385 = icmp eq i32 %7370, 0
  br i1 %.not1385, label %7371, label %7372

7371:                                             ; preds = %7367, %7361
  br label %7372

7372:                                             ; preds = %7367, %7371
  %.str.5.sink3933 = phi ptr [ @.str.5, %7371 ], [ @.str.2, %7367 ]
  store i32 %7362, ptr %684, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = load i32, ptr %630, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror(i32 noundef %7375, ptr noundef nonnull @.str.4) #13
  %7377 = load i32, ptr %630, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef nonnull @.str.4) #13
  %7379 = load i32, ptr %684, align 4, !tbaa !5
  %7380 = call ptr @strerror(i32 noundef %7379) #13
  %7381 = load i32, ptr %684, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef nonnull %.str.5.sink3933, i32 noundef %7374, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.1, i32 noundef 669, ptr noundef %7376, ptr noundef %7378, ptr noundef %7380, i32 noundef %7381) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7383:                                             ; preds = %7355
  %7384 = load i32, ptr @test_count, align 4, !tbaa !5
  %7385 = add nsw i32 %7384, 1
  store i32 %7385, ptr @test_count, align 4, !tbaa !5
  %7386 = load ptr, ptr %37, align 8, !tbaa !9
  %7387 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %7386, ptr noundef nonnull @always_verify_host_fn, ptr noundef null) #13
  %7388 = icmp eq i32 %7387, -1
  br i1 %7388, label %7389, label %7411

7389:                                             ; preds = %7383
  %7390 = load i32, ptr %684, align 4, !tbaa !5
  %7391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7392 = call i32 @s2n_print_stacktrace(ptr noundef %7391) #13
  %7393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7394 = trunc nuw i8 %7393 to i1
  br i1 %7394, label %7395, label %7399

7395:                                             ; preds = %7389
  %7396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7397 = call i32 @fileno(ptr noundef %7396) #13
  %7398 = call i32 @isatty(i32 noundef %7397) #13
  %.not1384 = icmp eq i32 %7398, 0
  br i1 %.not1384, label %7399, label %7400

7399:                                             ; preds = %7395, %7389
  br label %7400

7400:                                             ; preds = %7395, %7399
  %.str.5.sink3942 = phi ptr [ @.str.5, %7399 ], [ @.str.2, %7395 ]
  store i32 %7390, ptr %684, align 4, !tbaa !5
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = load i32, ptr @test_count, align 4, !tbaa !5
  %7403 = load i32, ptr %630, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror(i32 noundef %7403, ptr noundef nonnull @.str.4) #13
  %7405 = load i32, ptr %630, align 4, !tbaa !5
  %7406 = call ptr @s2n_strerror_debug(i32 noundef %7405, ptr noundef nonnull @.str.4) #13
  %7407 = load i32, ptr %684, align 4, !tbaa !5
  %7408 = call ptr @strerror(i32 noundef %7407) #13
  %7409 = load i32, ptr %684, align 4, !tbaa !5
  %7410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7401, ptr noundef nonnull %.str.5.sink3942, i32 noundef %7402, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %7404, ptr noundef %7406, ptr noundef %7408, i32 noundef %7409) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7411:                                             ; preds = %7383
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = add nsw i32 %7412, 1
  store i32 %7413, ptr @test_count, align 4, !tbaa !5
  %7414 = load ptr, ptr %37, align 8, !tbaa !9
  %7415 = load ptr, ptr %5, align 8, !tbaa !9
  %7416 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7414, ptr noundef %7415) #13
  %7417 = icmp eq i32 %7416, -1
  br i1 %7417, label %7418, label %7440

7418:                                             ; preds = %7411
  %7419 = load i32, ptr %684, align 4, !tbaa !5
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = call i32 @s2n_print_stacktrace(ptr noundef %7420) #13
  %7422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7423 = trunc nuw i8 %7422 to i1
  br i1 %7423, label %7424, label %7428

7424:                                             ; preds = %7418
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = call i32 @fileno(ptr noundef %7425) #13
  %7427 = call i32 @isatty(i32 noundef %7426) #13
  %.not1383 = icmp eq i32 %7427, 0
  br i1 %.not1383, label %7428, label %7429

7428:                                             ; preds = %7424, %7418
  br label %7429

7429:                                             ; preds = %7424, %7428
  %.str.5.sink3951 = phi ptr [ @.str.5, %7428 ], [ @.str.2, %7424 ]
  store i32 %7419, ptr %684, align 4, !tbaa !5
  %7430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7431 = load i32, ptr @test_count, align 4, !tbaa !5
  %7432 = load i32, ptr %630, align 4, !tbaa !5
  %7433 = call ptr @s2n_strerror(i32 noundef %7432, ptr noundef nonnull @.str.4) #13
  %7434 = load i32, ptr %630, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror_debug(i32 noundef %7434, ptr noundef nonnull @.str.4) #13
  %7436 = load i32, ptr %684, align 4, !tbaa !5
  %7437 = call ptr @strerror(i32 noundef %7436) #13
  %7438 = load i32, ptr %684, align 4, !tbaa !5
  %7439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7430, ptr noundef nonnull %.str.5.sink3951, i32 noundef %7431, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.1, i32 noundef 671, ptr noundef %7433, ptr noundef %7435, ptr noundef %7437, i32 noundef %7438) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7440:                                             ; preds = %7411
  %7441 = load i32, ptr @test_count, align 4, !tbaa !5
  %7442 = add nsw i32 %7441, 1
  store i32 %7442, ptr @test_count, align 4, !tbaa !5
  %7443 = load ptr, ptr %37, align 8, !tbaa !9
  %7444 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %7443, ptr noundef nonnull @.str.11, ptr noundef null) #13
  %7445 = icmp eq i32 %7444, -1
  br i1 %7445, label %7446, label %7468

7446:                                             ; preds = %7440
  %7447 = load i32, ptr %684, align 4, !tbaa !5
  %7448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7449 = call i32 @s2n_print_stacktrace(ptr noundef %7448) #13
  %7450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7451 = trunc nuw i8 %7450 to i1
  br i1 %7451, label %7452, label %7456

7452:                                             ; preds = %7446
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = call i32 @fileno(ptr noundef %7453) #13
  %7455 = call i32 @isatty(i32 noundef %7454) #13
  %.not1382 = icmp eq i32 %7455, 0
  br i1 %.not1382, label %7456, label %7457

7456:                                             ; preds = %7452, %7446
  br label %7457

7457:                                             ; preds = %7452, %7456
  %.str.5.sink3960 = phi ptr [ @.str.5, %7456 ], [ @.str.2, %7452 ]
  store i32 %7447, ptr %684, align 4, !tbaa !5
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = load i32, ptr @test_count, align 4, !tbaa !5
  %7460 = load i32, ptr %630, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror(i32 noundef %7460, ptr noundef nonnull @.str.4) #13
  %7462 = load i32, ptr %630, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror_debug(i32 noundef %7462, ptr noundef nonnull @.str.4) #13
  %7464 = load i32, ptr %684, align 4, !tbaa !5
  %7465 = call ptr @strerror(i32 noundef %7464) #13
  %7466 = load i32, ptr %684, align 4, !tbaa !5
  %7467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7458, ptr noundef nonnull %.str.5.sink3960, i32 noundef %7459, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.1, i32 noundef 672, ptr noundef %7461, ptr noundef %7463, ptr noundef %7465, i32 noundef %7466) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7468:                                             ; preds = %7440
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #13
  %7469 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %7469, ptr %38, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #13
  %7470 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %7470, ptr %39, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #13
  %7471 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %7471, ptr %40, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #13
  %7472 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %7472, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #13
  store ptr null, ptr %42, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #13
  store i32 0, ptr %43, align 4, !tbaa !5
  %7473 = load i32, ptr @test_count, align 4, !tbaa !5
  %7474 = add nsw i32 %7473, 1
  store i32 %7474, ptr @test_count, align 4, !tbaa !5
  %7475 = load ptr, ptr %39, align 8, !tbaa !9
  %7476 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %7475, ptr noundef nonnull %42, ptr noundef nonnull %43) #13
  %7477 = icmp eq i32 %7476, -1
  br i1 %7477, label %7500, label %7478

7478:                                             ; preds = %7468
  %7479 = load i32, ptr %684, align 4, !tbaa !5
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @s2n_print_stacktrace(ptr noundef %7480) #13
  %7482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7483 = trunc nuw i8 %7482 to i1
  br i1 %7483, label %7484, label %7488

7484:                                             ; preds = %7478
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = call i32 @fileno(ptr noundef %7485) #13
  %7487 = call i32 @isatty(i32 noundef %7486) #13
  %.not1208 = icmp eq i32 %7487, 0
  br i1 %.not1208, label %7488, label %7489

7488:                                             ; preds = %7484, %7478
  br label %7489

7489:                                             ; preds = %7484, %7488
  %.str.5.sink3969 = phi ptr [ @.str.5, %7488 ], [ @.str.2, %7484 ]
  store i32 %7479, ptr %684, align 4, !tbaa !5
  %7490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = load i32, ptr %630, align 4, !tbaa !5
  %7493 = call ptr @s2n_strerror(i32 noundef %7492, ptr noundef nonnull @.str.4) #13
  %7494 = load i32, ptr %630, align 4, !tbaa !5
  %7495 = call ptr @s2n_strerror_debug(i32 noundef %7494, ptr noundef nonnull @.str.4) #13
  %7496 = load i32, ptr %684, align 4, !tbaa !5
  %7497 = call ptr @strerror(i32 noundef %7496) #13
  %7498 = load i32, ptr %684, align 4, !tbaa !5
  %7499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7490, ptr noundef nonnull %.str.5.sink3969, i32 noundef %7491, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 687, ptr noundef %7493, ptr noundef %7495, ptr noundef %7497, i32 noundef %7498) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7500:                                             ; preds = %7468
  %7501 = load i32, ptr @test_count, align 4, !tbaa !5
  %7502 = add nsw i32 %7501, 1
  store i32 %7502, ptr @test_count, align 4, !tbaa !5
  %7503 = load i32, ptr %630, align 4, !tbaa !5
  %7504 = icmp eq i32 %7503, 402653193
  br i1 %7504, label %7527, label %7505

7505:                                             ; preds = %7500
  %7506 = load i32, ptr %684, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @s2n_print_stacktrace(ptr noundef %7507) #13
  %7509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7510 = trunc nuw i8 %7509 to i1
  br i1 %7510, label %7511, label %7515

7511:                                             ; preds = %7505
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = call i32 @fileno(ptr noundef %7512) #13
  %7514 = call i32 @isatty(i32 noundef %7513) #13
  %.not1209 = icmp eq i32 %7514, 0
  br i1 %.not1209, label %7515, label %7516

7515:                                             ; preds = %7511, %7505
  br label %7516

7516:                                             ; preds = %7511, %7515
  %.str.5.sink3978 = phi ptr [ @.str.5, %7515 ], [ @.str.2, %7511 ]
  store i32 %7506, ptr %684, align 4, !tbaa !5
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = load i32, ptr @test_count, align 4, !tbaa !5
  %7519 = load i32, ptr %630, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror(i32 noundef %7519, ptr noundef nonnull @.str.4) #13
  %7521 = load i32, ptr %630, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef nonnull @.str.4) #13
  %7523 = load i32, ptr %684, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #13
  %7525 = load i32, ptr %684, align 4, !tbaa !5
  %7526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7517, ptr noundef nonnull %.str.5.sink3978, i32 noundef %7518, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 687, ptr noundef %7520, ptr noundef %7522, ptr noundef %7524, i32 noundef %7525) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7527:                                             ; preds = %7500
  %7528 = add nsw i32 %7501, 2
  store i32 %7528, ptr @test_count, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %7530 = icmp eq ptr %7529, null
  br i1 %7530, label %7531, label %7553

7531:                                             ; preds = %7527
  %7532 = load i32, ptr %684, align 4, !tbaa !5
  %7533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7534 = call i32 @s2n_print_stacktrace(ptr noundef %7533) #13
  %7535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7536 = trunc nuw i8 %7535 to i1
  br i1 %7536, label %7537, label %7541

7537:                                             ; preds = %7531
  %7538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7539 = call i32 @fileno(ptr noundef %7538) #13
  %7540 = call i32 @isatty(i32 noundef %7539) #13
  %.not1381 = icmp eq i32 %7540, 0
  br i1 %.not1381, label %7541, label %7542

7541:                                             ; preds = %7537, %7531
  br label %7542

7542:                                             ; preds = %7537, %7541
  %.str.5.sink3987 = phi ptr [ @.str.5, %7541 ], [ @.str.2, %7537 ]
  store i32 %7532, ptr %684, align 4, !tbaa !5
  %7543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7544 = load i32, ptr @test_count, align 4, !tbaa !5
  %7545 = load i32, ptr %630, align 4, !tbaa !5
  %7546 = call ptr @s2n_strerror(i32 noundef %7545, ptr noundef nonnull @.str.4) #13
  %7547 = load i32, ptr %630, align 4, !tbaa !5
  %7548 = call ptr @s2n_strerror_debug(i32 noundef %7547, ptr noundef nonnull @.str.4) #13
  %7549 = load i32, ptr %684, align 4, !tbaa !5
  %7550 = call ptr @strerror(i32 noundef %7549) #13
  %7551 = load i32, ptr %684, align 4, !tbaa !5
  %7552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7543, ptr noundef nonnull %.str.5.sink3987, i32 noundef %7544, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 687, ptr noundef %7546, ptr noundef %7548, ptr noundef %7550, i32 noundef %7551) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7553:                                             ; preds = %7527
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %7554 = load i32, ptr @test_count, align 4, !tbaa !5
  %7555 = add nsw i32 %7554, 1
  store i32 %7555, ptr @test_count, align 4, !tbaa !5
  %7556 = load ptr, ptr %41, align 8, !tbaa !9
  %7557 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %7556, ptr noundef nonnull %42, ptr noundef nonnull %43) #13
  %7558 = icmp eq i32 %7557, -1
  br i1 %7558, label %7581, label %7559

7559:                                             ; preds = %7553
  %7560 = load i32, ptr %684, align 4, !tbaa !5
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = call i32 @s2n_print_stacktrace(ptr noundef %7561) #13
  %7563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7564 = trunc nuw i8 %7563 to i1
  br i1 %7564, label %7565, label %7569

7565:                                             ; preds = %7559
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = call i32 @fileno(ptr noundef %7566) #13
  %7568 = call i32 @isatty(i32 noundef %7567) #13
  %.not1210 = icmp eq i32 %7568, 0
  br i1 %.not1210, label %7569, label %7570

7569:                                             ; preds = %7565, %7559
  br label %7570

7570:                                             ; preds = %7565, %7569
  %.str.5.sink3996 = phi ptr [ @.str.5, %7569 ], [ @.str.2, %7565 ]
  store i32 %7560, ptr %684, align 4, !tbaa !5
  %7571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7572 = load i32, ptr @test_count, align 4, !tbaa !5
  %7573 = load i32, ptr %630, align 4, !tbaa !5
  %7574 = call ptr @s2n_strerror(i32 noundef %7573, ptr noundef nonnull @.str.4) #13
  %7575 = load i32, ptr %630, align 4, !tbaa !5
  %7576 = call ptr @s2n_strerror_debug(i32 noundef %7575, ptr noundef nonnull @.str.4) #13
  %7577 = load i32, ptr %684, align 4, !tbaa !5
  %7578 = call ptr @strerror(i32 noundef %7577) #13
  %7579 = load i32, ptr %684, align 4, !tbaa !5
  %7580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7571, ptr noundef nonnull %.str.5.sink3996, i32 noundef %7572, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %7574, ptr noundef %7576, ptr noundef %7578, i32 noundef %7579) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7581:                                             ; preds = %7553
  %7582 = load i32, ptr @test_count, align 4, !tbaa !5
  %7583 = add nsw i32 %7582, 1
  store i32 %7583, ptr @test_count, align 4, !tbaa !5
  %7584 = load i32, ptr %630, align 4, !tbaa !5
  %7585 = icmp eq i32 %7584, 402653193
  br i1 %7585, label %7608, label %7586

7586:                                             ; preds = %7581
  %7587 = load i32, ptr %684, align 4, !tbaa !5
  %7588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7589 = call i32 @s2n_print_stacktrace(ptr noundef %7588) #13
  %7590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7591 = trunc nuw i8 %7590 to i1
  br i1 %7591, label %7592, label %7596

7592:                                             ; preds = %7586
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = call i32 @fileno(ptr noundef %7593) #13
  %7595 = call i32 @isatty(i32 noundef %7594) #13
  %.not1211 = icmp eq i32 %7595, 0
  br i1 %.not1211, label %7596, label %7597

7596:                                             ; preds = %7592, %7586
  br label %7597

7597:                                             ; preds = %7592, %7596
  %.str.5.sink4005 = phi ptr [ @.str.5, %7596 ], [ @.str.2, %7592 ]
  store i32 %7587, ptr %684, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = load i32, ptr @test_count, align 4, !tbaa !5
  %7600 = load i32, ptr %630, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror(i32 noundef %7600, ptr noundef nonnull @.str.4) #13
  %7602 = load i32, ptr %630, align 4, !tbaa !5
  %7603 = call ptr @s2n_strerror_debug(i32 noundef %7602, ptr noundef nonnull @.str.4) #13
  %7604 = load i32, ptr %684, align 4, !tbaa !5
  %7605 = call ptr @strerror(i32 noundef %7604) #13
  %7606 = load i32, ptr %684, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7598, ptr noundef nonnull %.str.5.sink4005, i32 noundef %7599, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %7601, ptr noundef %7603, ptr noundef %7605, i32 noundef %7606) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7608:                                             ; preds = %7581
  %7609 = add nsw i32 %7582, 2
  store i32 %7609, ptr @test_count, align 4, !tbaa !5
  %7610 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %7611 = icmp eq ptr %7610, null
  br i1 %7611, label %7612, label %7634

7612:                                             ; preds = %7608
  %7613 = load i32, ptr %684, align 4, !tbaa !5
  %7614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7615 = call i32 @s2n_print_stacktrace(ptr noundef %7614) #13
  %7616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7617 = trunc nuw i8 %7616 to i1
  br i1 %7617, label %7618, label %7622

7618:                                             ; preds = %7612
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = call i32 @fileno(ptr noundef %7619) #13
  %7621 = call i32 @isatty(i32 noundef %7620) #13
  %.not1380 = icmp eq i32 %7621, 0
  br i1 %.not1380, label %7622, label %7623

7622:                                             ; preds = %7618, %7612
  br label %7623

7623:                                             ; preds = %7618, %7622
  %.str.5.sink4014 = phi ptr [ @.str.5, %7622 ], [ @.str.2, %7618 ]
  store i32 %7613, ptr %684, align 4, !tbaa !5
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = load i32, ptr @test_count, align 4, !tbaa !5
  %7626 = load i32, ptr %630, align 4, !tbaa !5
  %7627 = call ptr @s2n_strerror(i32 noundef %7626, ptr noundef nonnull @.str.4) #13
  %7628 = load i32, ptr %630, align 4, !tbaa !5
  %7629 = call ptr @s2n_strerror_debug(i32 noundef %7628, ptr noundef nonnull @.str.4) #13
  %7630 = load i32, ptr %684, align 4, !tbaa !5
  %7631 = call ptr @strerror(i32 noundef %7630) #13
  %7632 = load i32, ptr %684, align 4, !tbaa !5
  %7633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7624, ptr noundef nonnull %.str.5.sink4014, i32 noundef %7625, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %7627, ptr noundef %7629, ptr noundef %7631, i32 noundef %7632) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7634:                                             ; preds = %7608
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %7635 = load i32, ptr @test_count, align 4, !tbaa !5
  %7636 = add nsw i32 %7635, 1
  store i32 %7636, ptr @test_count, align 4, !tbaa !5
  %7637 = load ptr, ptr %42, align 8, !tbaa !9
  %7638 = icmp eq ptr %7637, null
  br i1 %7638, label %7661, label %7639

7639:                                             ; preds = %7634
  %7640 = load i32, ptr %684, align 4, !tbaa !5
  %7641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7642 = call i32 @s2n_print_stacktrace(ptr noundef %7641) #13
  %7643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7644 = trunc nuw i8 %7643 to i1
  br i1 %7644, label %7645, label %7649

7645:                                             ; preds = %7639
  %7646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7647 = call i32 @fileno(ptr noundef %7646) #13
  %7648 = call i32 @isatty(i32 noundef %7647) #13
  %.not1212 = icmp eq i32 %7648, 0
  br i1 %.not1212, label %7649, label %7650

7649:                                             ; preds = %7645, %7639
  br label %7650

7650:                                             ; preds = %7645, %7649
  %.str.5.sink4023 = phi ptr [ @.str.5, %7649 ], [ @.str.2, %7645 ]
  store i32 %7640, ptr %684, align 4, !tbaa !5
  %7651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7652 = load i32, ptr @test_count, align 4, !tbaa !5
  %7653 = load i32, ptr %630, align 4, !tbaa !5
  %7654 = call ptr @s2n_strerror(i32 noundef %7653, ptr noundef nonnull @.str.4) #13
  %7655 = load i32, ptr %630, align 4, !tbaa !5
  %7656 = call ptr @s2n_strerror_debug(i32 noundef %7655, ptr noundef nonnull @.str.4) #13
  %7657 = load i32, ptr %684, align 4, !tbaa !5
  %7658 = call ptr @strerror(i32 noundef %7657) #13
  %7659 = load i32, ptr %684, align 4, !tbaa !5
  %7660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7651, ptr noundef nonnull %.str.5.sink4023, i32 noundef %7652, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 690, ptr noundef %7654, ptr noundef %7656, ptr noundef %7658, i32 noundef %7659) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7661:                                             ; preds = %7634
  %7662 = add nsw i32 %7635, 2
  store i32 %7662, ptr @test_count, align 4, !tbaa !5
  %7663 = load i32, ptr %43, align 4, !tbaa !5
  %7664 = icmp eq i32 %7663, 0
  br i1 %7664, label %7687, label %7665

7665:                                             ; preds = %7661
  %7666 = load i32, ptr %684, align 4, !tbaa !5
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = call i32 @s2n_print_stacktrace(ptr noundef %7667) #13
  %7669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7670 = trunc nuw i8 %7669 to i1
  br i1 %7670, label %7671, label %7675

7671:                                             ; preds = %7665
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = call i32 @fileno(ptr noundef %7672) #13
  %7674 = call i32 @isatty(i32 noundef %7673) #13
  %.not1213 = icmp eq i32 %7674, 0
  br i1 %.not1213, label %7675, label %7676

7675:                                             ; preds = %7671, %7665
  br label %7676

7676:                                             ; preds = %7671, %7675
  %.str.5.sink4032 = phi ptr [ @.str.5, %7675 ], [ @.str.2, %7671 ]
  store i32 %7666, ptr %684, align 4, !tbaa !5
  %7677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7678 = load i32, ptr @test_count, align 4, !tbaa !5
  %7679 = load i32, ptr %630, align 4, !tbaa !5
  %7680 = call ptr @s2n_strerror(i32 noundef %7679, ptr noundef nonnull @.str.4) #13
  %7681 = load i32, ptr %630, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror_debug(i32 noundef %7681, ptr noundef nonnull @.str.4) #13
  %7683 = load i32, ptr %684, align 4, !tbaa !5
  %7684 = call ptr @strerror(i32 noundef %7683) #13
  %7685 = load i32, ptr %684, align 4, !tbaa !5
  %7686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7677, ptr noundef nonnull %.str.5.sink4032, i32 noundef %7678, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 691, ptr noundef %7680, ptr noundef %7682, ptr noundef %7684, i32 noundef %7685) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7687:                                             ; preds = %7661
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #13
  %7688 = add nsw i32 %7635, 3
  store i32 %7688, ptr @test_count, align 4, !tbaa !5
  %7689 = load ptr, ptr %38, align 8, !tbaa !9
  %7690 = load ptr, ptr %37, align 8, !tbaa !9
  %7691 = call i32 @s2n_connection_set_config(ptr noundef %7689, ptr noundef %7690) #13
  %7692 = icmp eq i32 %7691, -1
  br i1 %7692, label %7693, label %7715

7693:                                             ; preds = %7687
  %7694 = load i32, ptr %684, align 4, !tbaa !5
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @s2n_print_stacktrace(ptr noundef %7695) #13
  %7697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7698 = trunc nuw i8 %7697 to i1
  br i1 %7698, label %7699, label %7703

7699:                                             ; preds = %7693
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @fileno(ptr noundef %7700) #13
  %7702 = call i32 @isatty(i32 noundef %7701) #13
  %.not1379 = icmp eq i32 %7702, 0
  br i1 %.not1379, label %7703, label %7704

7703:                                             ; preds = %7699, %7693
  br label %7704

7704:                                             ; preds = %7699, %7703
  %.str.5.sink4041 = phi ptr [ @.str.5, %7703 ], [ @.str.2, %7699 ]
  store i32 %7694, ptr %684, align 4, !tbaa !5
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = load i32, ptr @test_count, align 4, !tbaa !5
  %7707 = load i32, ptr %630, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror(i32 noundef %7707, ptr noundef nonnull @.str.4) #13
  %7709 = load i32, ptr %630, align 4, !tbaa !5
  %7710 = call ptr @s2n_strerror_debug(i32 noundef %7709, ptr noundef nonnull @.str.4) #13
  %7711 = load i32, ptr %684, align 4, !tbaa !5
  %7712 = call ptr @strerror(i32 noundef %7711) #13
  %7713 = load i32, ptr %684, align 4, !tbaa !5
  %7714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7705, ptr noundef nonnull %.str.5.sink4041, i32 noundef %7706, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 696, ptr noundef %7708, ptr noundef %7710, ptr noundef %7712, i32 noundef %7713) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7715:                                             ; preds = %7687
  %7716 = load i32, ptr @test_count, align 4, !tbaa !5
  %7717 = add nsw i32 %7716, 1
  store i32 %7717, ptr @test_count, align 4, !tbaa !5
  %7718 = load ptr, ptr %39, align 8, !tbaa !9
  %7719 = load ptr, ptr %37, align 8, !tbaa !9
  %7720 = call i32 @s2n_connection_set_config(ptr noundef %7718, ptr noundef %7719) #13
  %7721 = icmp eq i32 %7720, -1
  br i1 %7721, label %7722, label %7744

7722:                                             ; preds = %7715
  %7723 = load i32, ptr %684, align 4, !tbaa !5
  %7724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7725 = call i32 @s2n_print_stacktrace(ptr noundef %7724) #13
  %7726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7727 = trunc nuw i8 %7726 to i1
  br i1 %7727, label %7728, label %7732

7728:                                             ; preds = %7722
  %7729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7730 = call i32 @fileno(ptr noundef %7729) #13
  %7731 = call i32 @isatty(i32 noundef %7730) #13
  %.not1378 = icmp eq i32 %7731, 0
  br i1 %.not1378, label %7732, label %7733

7732:                                             ; preds = %7728, %7722
  br label %7733

7733:                                             ; preds = %7728, %7732
  %.str.5.sink4050 = phi ptr [ @.str.5, %7732 ], [ @.str.2, %7728 ]
  store i32 %7723, ptr %684, align 4, !tbaa !5
  %7734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7735 = load i32, ptr @test_count, align 4, !tbaa !5
  %7736 = load i32, ptr %630, align 4, !tbaa !5
  %7737 = call ptr @s2n_strerror(i32 noundef %7736, ptr noundef nonnull @.str.4) #13
  %7738 = load i32, ptr %630, align 4, !tbaa !5
  %7739 = call ptr @s2n_strerror_debug(i32 noundef %7738, ptr noundef nonnull @.str.4) #13
  %7740 = load i32, ptr %684, align 4, !tbaa !5
  %7741 = call ptr @strerror(i32 noundef %7740) #13
  %7742 = load i32, ptr %684, align 4, !tbaa !5
  %7743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7734, ptr noundef nonnull %.str.5.sink4050, i32 noundef %7735, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %7737, ptr noundef %7739, ptr noundef %7741, i32 noundef %7742) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7744:                                             ; preds = %7715
  %7745 = load i32, ptr @test_count, align 4, !tbaa !5
  %7746 = add nsw i32 %7745, 1
  store i32 %7746, ptr @test_count, align 4, !tbaa !5
  %7747 = load ptr, ptr %38, align 8, !tbaa !9
  %7748 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %7747, ptr noundef nonnull @.str.196) #13
  %7749 = icmp eq i32 %7748, -1
  br i1 %7749, label %7750, label %7772

7750:                                             ; preds = %7744
  %7751 = load i32, ptr %684, align 4, !tbaa !5
  %7752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7753 = call i32 @s2n_print_stacktrace(ptr noundef %7752) #13
  %7754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7755 = trunc nuw i8 %7754 to i1
  br i1 %7755, label %7756, label %7760

7756:                                             ; preds = %7750
  %7757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7758 = call i32 @fileno(ptr noundef %7757) #13
  %7759 = call i32 @isatty(i32 noundef %7758) #13
  %.not1377 = icmp eq i32 %7759, 0
  br i1 %.not1377, label %7760, label %7761

7760:                                             ; preds = %7756, %7750
  br label %7761

7761:                                             ; preds = %7756, %7760
  %.str.5.sink4059 = phi ptr [ @.str.5, %7760 ], [ @.str.2, %7756 ]
  store i32 %7751, ptr %684, align 4, !tbaa !5
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = load i32, ptr %630, align 4, !tbaa !5
  %7765 = call ptr @s2n_strerror(i32 noundef %7764, ptr noundef nonnull @.str.4) #13
  %7766 = load i32, ptr %630, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror_debug(i32 noundef %7766, ptr noundef nonnull @.str.4) #13
  %7768 = load i32, ptr %684, align 4, !tbaa !5
  %7769 = call ptr @strerror(i32 noundef %7768) #13
  %7770 = load i32, ptr %684, align 4, !tbaa !5
  %7771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7762, ptr noundef nonnull %.str.5.sink4059, i32 noundef %7763, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 698, ptr noundef %7765, ptr noundef %7767, ptr noundef %7769, i32 noundef %7770) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7772:                                             ; preds = %7744
  %7773 = load i32, ptr @test_count, align 4, !tbaa !5
  %7774 = add nsw i32 %7773, 1
  store i32 %7774, ptr @test_count, align 4, !tbaa !5
  %7775 = load ptr, ptr %39, align 8, !tbaa !9
  %7776 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %7775, ptr noundef nonnull @.str.196) #13
  %7777 = icmp eq i32 %7776, -1
  br i1 %7777, label %7778, label %7800

7778:                                             ; preds = %7772
  %7779 = load i32, ptr %684, align 4, !tbaa !5
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = call i32 @s2n_print_stacktrace(ptr noundef %7780) #13
  %7782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7783 = trunc nuw i8 %7782 to i1
  br i1 %7783, label %7784, label %7788

7784:                                             ; preds = %7778
  %7785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7786 = call i32 @fileno(ptr noundef %7785) #13
  %7787 = call i32 @isatty(i32 noundef %7786) #13
  %.not1376 = icmp eq i32 %7787, 0
  br i1 %.not1376, label %7788, label %7789

7788:                                             ; preds = %7784, %7778
  br label %7789

7789:                                             ; preds = %7784, %7788
  %.str.5.sink4068 = phi ptr [ @.str.5, %7788 ], [ @.str.2, %7784 ]
  store i32 %7779, ptr %684, align 4, !tbaa !5
  %7790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7791 = load i32, ptr @test_count, align 4, !tbaa !5
  %7792 = load i32, ptr %630, align 4, !tbaa !5
  %7793 = call ptr @s2n_strerror(i32 noundef %7792, ptr noundef nonnull @.str.4) #13
  %7794 = load i32, ptr %630, align 4, !tbaa !5
  %7795 = call ptr @s2n_strerror_debug(i32 noundef %7794, ptr noundef nonnull @.str.4) #13
  %7796 = load i32, ptr %684, align 4, !tbaa !5
  %7797 = call ptr @strerror(i32 noundef %7796) #13
  %7798 = load i32, ptr %684, align 4, !tbaa !5
  %7799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7790, ptr noundef nonnull %.str.5.sink4068, i32 noundef %7791, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %7793, ptr noundef %7795, ptr noundef %7797, i32 noundef %7798) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7800:                                             ; preds = %7772
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #13
  store i64 0, ptr %44, align 8
  %7801 = load i32, ptr @test_count, align 4, !tbaa !5
  %7802 = add nsw i32 %7801, 1
  store i32 %7802, ptr @test_count, align 4, !tbaa !5
  %7803 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %44) #13
  %7804 = icmp eq i32 %7803, -1
  br i1 %7804, label %7805, label %7827

7805:                                             ; preds = %7800
  %7806 = load i32, ptr %684, align 4, !tbaa !5
  %7807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7808 = call i32 @s2n_print_stacktrace(ptr noundef %7807) #13
  %7809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7810 = trunc nuw i8 %7809 to i1
  br i1 %7810, label %7811, label %7815

7811:                                             ; preds = %7805
  %7812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7813 = call i32 @fileno(ptr noundef %7812) #13
  %7814 = call i32 @isatty(i32 noundef %7813) #13
  %.not1375 = icmp eq i32 %7814, 0
  br i1 %.not1375, label %7815, label %7816

7815:                                             ; preds = %7811, %7805
  br label %7816

7816:                                             ; preds = %7811, %7815
  %.str.5.sink4077 = phi ptr [ @.str.5, %7815 ], [ @.str.2, %7811 ]
  store i32 %7806, ptr %684, align 4, !tbaa !5
  %7817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7818 = load i32, ptr @test_count, align 4, !tbaa !5
  %7819 = load i32, ptr %630, align 4, !tbaa !5
  %7820 = call ptr @s2n_strerror(i32 noundef %7819, ptr noundef nonnull @.str.4) #13
  %7821 = load i32, ptr %630, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror_debug(i32 noundef %7821, ptr noundef nonnull @.str.4) #13
  %7823 = load i32, ptr %684, align 4, !tbaa !5
  %7824 = call ptr @strerror(i32 noundef %7823) #13
  %7825 = load i32, ptr %684, align 4, !tbaa !5
  %7826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7817, ptr noundef nonnull %.str.5.sink4077, i32 noundef %7818, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 702, ptr noundef %7820, ptr noundef %7822, ptr noundef %7824, i32 noundef %7825) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7827:                                             ; preds = %7800
  %7828 = load i32, ptr @test_count, align 4, !tbaa !5
  %7829 = add nsw i32 %7828, 1
  store i32 %7829, ptr @test_count, align 4, !tbaa !5
  %7830 = load ptr, ptr %38, align 8, !tbaa !9
  %7831 = load ptr, ptr %39, align 8, !tbaa !9
  %7832 = call i32 @s2n_connections_set_io_pair(ptr noundef %7830, ptr noundef %7831, ptr noundef nonnull %44) #13
  %7833 = icmp eq i32 %7832, -1
  br i1 %7833, label %7834, label %7856

7834:                                             ; preds = %7827
  %7835 = load i32, ptr %684, align 4, !tbaa !5
  %7836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7837 = call i32 @s2n_print_stacktrace(ptr noundef %7836) #13
  %7838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7839 = trunc nuw i8 %7838 to i1
  br i1 %7839, label %7840, label %7844

7840:                                             ; preds = %7834
  %7841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7842 = call i32 @fileno(ptr noundef %7841) #13
  %7843 = call i32 @isatty(i32 noundef %7842) #13
  %.not1374 = icmp eq i32 %7843, 0
  br i1 %.not1374, label %7844, label %7845

7844:                                             ; preds = %7840, %7834
  br label %7845

7845:                                             ; preds = %7840, %7844
  %.str.5.sink4086 = phi ptr [ @.str.5, %7844 ], [ @.str.2, %7840 ]
  store i32 %7835, ptr %684, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = load i32, ptr %630, align 4, !tbaa !5
  %7849 = call ptr @s2n_strerror(i32 noundef %7848, ptr noundef nonnull @.str.4) #13
  %7850 = load i32, ptr %630, align 4, !tbaa !5
  %7851 = call ptr @s2n_strerror_debug(i32 noundef %7850, ptr noundef nonnull @.str.4) #13
  %7852 = load i32, ptr %684, align 4, !tbaa !5
  %7853 = call ptr @strerror(i32 noundef %7852) #13
  %7854 = load i32, ptr %684, align 4, !tbaa !5
  %7855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7846, ptr noundef nonnull %.str.5.sink4086, i32 noundef %7847, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %7849, ptr noundef %7851, ptr noundef %7853, i32 noundef %7854) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7856:                                             ; preds = %7827
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = add nsw i32 %7857, 1
  store i32 %7858, ptr @test_count, align 4, !tbaa !5
  %7859 = load ptr, ptr %39, align 8, !tbaa !9
  %7860 = load ptr, ptr %38, align 8, !tbaa !9
  %7861 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7859, ptr noundef %7860) #13
  %7862 = icmp eq i32 %7861, -1
  br i1 %7862, label %7863, label %7885

7863:                                             ; preds = %7856
  %7864 = load i32, ptr %684, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = call i32 @s2n_print_stacktrace(ptr noundef %7865) #13
  %7867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7868 = trunc nuw i8 %7867 to i1
  br i1 %7868, label %7869, label %7873

7869:                                             ; preds = %7863
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = call i32 @fileno(ptr noundef %7870) #13
  %7872 = call i32 @isatty(i32 noundef %7871) #13
  %.not1373 = icmp eq i32 %7872, 0
  br i1 %.not1373, label %7873, label %7874

7873:                                             ; preds = %7869, %7863
  br label %7874

7874:                                             ; preds = %7869, %7873
  %.str.5.sink4095 = phi ptr [ @.str.5, %7873 ], [ @.str.2, %7869 ]
  store i32 %7864, ptr %684, align 4, !tbaa !5
  %7875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7876 = load i32, ptr @test_count, align 4, !tbaa !5
  %7877 = load i32, ptr %630, align 4, !tbaa !5
  %7878 = call ptr @s2n_strerror(i32 noundef %7877, ptr noundef nonnull @.str.4) #13
  %7879 = load i32, ptr %630, align 4, !tbaa !5
  %7880 = call ptr @s2n_strerror_debug(i32 noundef %7879, ptr noundef nonnull @.str.4) #13
  %7881 = load i32, ptr %684, align 4, !tbaa !5
  %7882 = call ptr @strerror(i32 noundef %7881) #13
  %7883 = load i32, ptr %684, align 4, !tbaa !5
  %7884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7875, ptr noundef nonnull %.str.5.sink4095, i32 noundef %7876, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %7878, ptr noundef %7880, ptr noundef %7882, i32 noundef %7883) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7885:                                             ; preds = %7856
  %7886 = load i32, ptr @test_count, align 4, !tbaa !5
  %7887 = add nsw i32 %7886, 1
  store i32 %7887, ptr @test_count, align 4, !tbaa !5
  %7888 = load ptr, ptr %39, align 8, !tbaa !9
  %7889 = getelementptr inbounds i8, ptr %7888, i64 220
  %7890 = load i8, ptr %7889, align 4, !tbaa !75
  %7891 = icmp eq i8 %7890, 33
  br i1 %7891, label %7914, label %7892

7892:                                             ; preds = %7885
  %7893 = load i32, ptr %684, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = call i32 @s2n_print_stacktrace(ptr noundef %7894) #13
  %7896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7897 = trunc nuw i8 %7896 to i1
  br i1 %7897, label %7898, label %7902

7898:                                             ; preds = %7892
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @fileno(ptr noundef %7899) #13
  %7901 = call i32 @isatty(i32 noundef %7900) #13
  %.not1214 = icmp eq i32 %7901, 0
  br i1 %.not1214, label %7902, label %7903

7902:                                             ; preds = %7898, %7892
  br label %7903

7903:                                             ; preds = %7898, %7902
  %.str.5.sink4104 = phi ptr [ @.str.5, %7902 ], [ @.str.2, %7898 ]
  store i32 %7893, ptr %684, align 4, !tbaa !5
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = load i32, ptr @test_count, align 4, !tbaa !5
  %7906 = load i32, ptr %630, align 4, !tbaa !5
  %7907 = call ptr @s2n_strerror(i32 noundef %7906, ptr noundef nonnull @.str.4) #13
  %7908 = load i32, ptr %630, align 4, !tbaa !5
  %7909 = call ptr @s2n_strerror_debug(i32 noundef %7908, ptr noundef nonnull @.str.4) #13
  %7910 = load i32, ptr %684, align 4, !tbaa !5
  %7911 = call ptr @strerror(i32 noundef %7910) #13
  %7912 = load i32, ptr %684, align 4, !tbaa !5
  %7913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7904, ptr noundef nonnull %.str.5.sink4104, i32 noundef %7905, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %7907, ptr noundef %7909, ptr noundef %7911, i32 noundef %7912) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7914:                                             ; preds = %7885
  %7915 = add nsw i32 %7886, 2
  store i32 %7915, ptr @test_count, align 4, !tbaa !5
  %7916 = getelementptr inbounds i8, ptr %7888, i64 1240
  %7917 = load ptr, ptr %7916, align 8, !tbaa !76
  %7918 = icmp eq ptr %7917, null
  br i1 %7918, label %7919, label %7941

7919:                                             ; preds = %7914
  %7920 = load i32, ptr %684, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = call i32 @s2n_print_stacktrace(ptr noundef %7921) #13
  %7923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7924 = trunc nuw i8 %7923 to i1
  br i1 %7924, label %7925, label %7929

7925:                                             ; preds = %7919
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @fileno(ptr noundef %7926) #13
  %7928 = call i32 @isatty(i32 noundef %7927) #13
  %.not1372 = icmp eq i32 %7928, 0
  br i1 %.not1372, label %7929, label %7930

7929:                                             ; preds = %7925, %7919
  br label %7930

7930:                                             ; preds = %7925, %7929
  %.str.5.sink4113 = phi ptr [ @.str.5, %7929 ], [ @.str.2, %7925 ]
  store i32 %7920, ptr %684, align 4, !tbaa !5
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = load i32, ptr @test_count, align 4, !tbaa !5
  %7933 = load i32, ptr %630, align 4, !tbaa !5
  %7934 = call ptr @s2n_strerror(i32 noundef %7933, ptr noundef nonnull @.str.4) #13
  %7935 = load i32, ptr %630, align 4, !tbaa !5
  %7936 = call ptr @s2n_strerror_debug(i32 noundef %7935, ptr noundef nonnull @.str.4) #13
  %7937 = load i32, ptr %684, align 4, !tbaa !5
  %7938 = call ptr @strerror(i32 noundef %7937) #13
  %7939 = load i32, ptr %684, align 4, !tbaa !5
  %7940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7931, ptr noundef nonnull %.str.5.sink4113, i32 noundef %7932, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.1, i32 noundef 707, ptr noundef %7934, ptr noundef %7936, ptr noundef %7938, i32 noundef %7939) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7941:                                             ; preds = %7914
  %7942 = add nsw i32 %7886, 3
  store i32 %7942, ptr @test_count, align 4, !tbaa !5
  %7943 = getelementptr inbounds i8, ptr %7888, i64 1248
  %7944 = load i32, ptr %7943, align 8, !tbaa !77
  %7945 = icmp eq i32 %7944, 0
  br i1 %7945, label %7946, label %7968

7946:                                             ; preds = %7941
  %7947 = load i32, ptr %684, align 4, !tbaa !5
  %7948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7949 = call i32 @s2n_print_stacktrace(ptr noundef %7948) #13
  %7950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7951 = trunc nuw i8 %7950 to i1
  br i1 %7951, label %7952, label %7956

7952:                                             ; preds = %7946
  %7953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7954 = call i32 @fileno(ptr noundef %7953) #13
  %7955 = call i32 @isatty(i32 noundef %7954) #13
  %.not1371 = icmp eq i32 %7955, 0
  br i1 %.not1371, label %7956, label %7957

7956:                                             ; preds = %7952, %7946
  br label %7957

7957:                                             ; preds = %7952, %7956
  %.str.5.sink4122 = phi ptr [ @.str.5, %7956 ], [ @.str.2, %7952 ]
  store i32 %7947, ptr %684, align 4, !tbaa !5
  %7958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7959 = load i32, ptr @test_count, align 4, !tbaa !5
  %7960 = load i32, ptr %630, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror(i32 noundef %7960, ptr noundef nonnull @.str.4) #13
  %7962 = load i32, ptr %630, align 4, !tbaa !5
  %7963 = call ptr @s2n_strerror_debug(i32 noundef %7962, ptr noundef nonnull @.str.4) #13
  %7964 = load i32, ptr %684, align 4, !tbaa !5
  %7965 = call ptr @strerror(i32 noundef %7964) #13
  %7966 = load i32, ptr %684, align 4, !tbaa !5
  %7967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7958, ptr noundef nonnull %.str.5.sink4122, i32 noundef %7959, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %7961, ptr noundef %7963, ptr noundef %7965, i32 noundef %7966) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7968:                                             ; preds = %7941
  %7969 = call i32 @s2n_io_pair_close(ptr noundef nonnull %44) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #13
  %7970 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %7970, label %7971, label %8255

7971:                                             ; preds = %7968
  %7972 = load i32, ptr @test_count, align 4, !tbaa !5
  %7973 = add nsw i32 %7972, 1
  store i32 %7973, ptr @test_count, align 4, !tbaa !5
  %7974 = load ptr, ptr %40, align 8, !tbaa !9
  %7975 = load ptr, ptr %37, align 8, !tbaa !9
  %7976 = call i32 @s2n_connection_set_config(ptr noundef %7974, ptr noundef %7975) #13
  %7977 = icmp eq i32 %7976, -1
  br i1 %7977, label %7978, label %8000

7978:                                             ; preds = %7971
  %7979 = load i32, ptr %684, align 4, !tbaa !5
  %7980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7981 = call i32 @s2n_print_stacktrace(ptr noundef %7980) #13
  %7982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7983 = trunc nuw i8 %7982 to i1
  br i1 %7983, label %7984, label %7988

7984:                                             ; preds = %7978
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = call i32 @fileno(ptr noundef %7985) #13
  %7987 = call i32 @isatty(i32 noundef %7986) #13
  %.not1370 = icmp eq i32 %7987, 0
  br i1 %.not1370, label %7988, label %7989

7988:                                             ; preds = %7984, %7978
  br label %7989

7989:                                             ; preds = %7984, %7988
  %.str.5.sink4131 = phi ptr [ @.str.5, %7988 ], [ @.str.2, %7984 ]
  store i32 %7979, ptr %684, align 4, !tbaa !5
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = load i32, ptr @test_count, align 4, !tbaa !5
  %7992 = load i32, ptr %630, align 4, !tbaa !5
  %7993 = call ptr @s2n_strerror(i32 noundef %7992, ptr noundef nonnull @.str.4) #13
  %7994 = load i32, ptr %630, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror_debug(i32 noundef %7994, ptr noundef nonnull @.str.4) #13
  %7996 = load i32, ptr %684, align 4, !tbaa !5
  %7997 = call ptr @strerror(i32 noundef %7996) #13
  %7998 = load i32, ptr %684, align 4, !tbaa !5
  %7999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7990, ptr noundef nonnull %.str.5.sink4131, i32 noundef %7991, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %7993, ptr noundef %7995, ptr noundef %7997, i32 noundef %7998) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8000:                                             ; preds = %7971
  %8001 = load i32, ptr @test_count, align 4, !tbaa !5
  %8002 = add nsw i32 %8001, 1
  store i32 %8002, ptr @test_count, align 4, !tbaa !5
  %8003 = load ptr, ptr %41, align 8, !tbaa !9
  %8004 = load ptr, ptr %37, align 8, !tbaa !9
  %8005 = call i32 @s2n_connection_set_config(ptr noundef %8003, ptr noundef %8004) #13
  %8006 = icmp eq i32 %8005, -1
  br i1 %8006, label %8007, label %8029

8007:                                             ; preds = %8000
  %8008 = load i32, ptr %684, align 4, !tbaa !5
  %8009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8010 = call i32 @s2n_print_stacktrace(ptr noundef %8009) #13
  %8011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8012 = trunc nuw i8 %8011 to i1
  br i1 %8012, label %8013, label %8017

8013:                                             ; preds = %8007
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = call i32 @fileno(ptr noundef %8014) #13
  %8016 = call i32 @isatty(i32 noundef %8015) #13
  %.not1369 = icmp eq i32 %8016, 0
  br i1 %.not1369, label %8017, label %8018

8017:                                             ; preds = %8013, %8007
  br label %8018

8018:                                             ; preds = %8013, %8017
  %.str.5.sink4140 = phi ptr [ @.str.5, %8017 ], [ @.str.2, %8013 ]
  store i32 %8008, ptr %684, align 4, !tbaa !5
  %8019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8020 = load i32, ptr @test_count, align 4, !tbaa !5
  %8021 = load i32, ptr %630, align 4, !tbaa !5
  %8022 = call ptr @s2n_strerror(i32 noundef %8021, ptr noundef nonnull @.str.4) #13
  %8023 = load i32, ptr %630, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror_debug(i32 noundef %8023, ptr noundef nonnull @.str.4) #13
  %8025 = load i32, ptr %684, align 4, !tbaa !5
  %8026 = call ptr @strerror(i32 noundef %8025) #13
  %8027 = load i32, ptr %684, align 4, !tbaa !5
  %8028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8019, ptr noundef nonnull %.str.5.sink4140, i32 noundef %8020, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.1, i32 noundef 718, ptr noundef %8022, ptr noundef %8024, ptr noundef %8026, i32 noundef %8027) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8029:                                             ; preds = %8000
  %8030 = load i32, ptr @test_count, align 4, !tbaa !5
  %8031 = add nsw i32 %8030, 1
  store i32 %8031, ptr @test_count, align 4, !tbaa !5
  %8032 = load ptr, ptr %40, align 8, !tbaa !9
  %8033 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %8032, ptr noundef nonnull @.str.206) #13
  %8034 = icmp eq i32 %8033, -1
  br i1 %8034, label %8035, label %8057

8035:                                             ; preds = %8029
  %8036 = load i32, ptr %684, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @s2n_print_stacktrace(ptr noundef %8037) #13
  %8039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8040 = trunc nuw i8 %8039 to i1
  br i1 %8040, label %8041, label %8045

8041:                                             ; preds = %8035
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = call i32 @fileno(ptr noundef %8042) #13
  %8044 = call i32 @isatty(i32 noundef %8043) #13
  %.not1368 = icmp eq i32 %8044, 0
  br i1 %.not1368, label %8045, label %8046

8045:                                             ; preds = %8041, %8035
  br label %8046

8046:                                             ; preds = %8041, %8045
  %.str.5.sink4149 = phi ptr [ @.str.5, %8045 ], [ @.str.2, %8041 ]
  store i32 %8036, ptr %684, align 4, !tbaa !5
  %8047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8048 = load i32, ptr @test_count, align 4, !tbaa !5
  %8049 = load i32, ptr %630, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror(i32 noundef %8049, ptr noundef nonnull @.str.4) #13
  %8051 = load i32, ptr %630, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror_debug(i32 noundef %8051, ptr noundef nonnull @.str.4) #13
  %8053 = load i32, ptr %684, align 4, !tbaa !5
  %8054 = call ptr @strerror(i32 noundef %8053) #13
  %8055 = load i32, ptr %684, align 4, !tbaa !5
  %8056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8047, ptr noundef nonnull %.str.5.sink4149, i32 noundef %8048, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 719, ptr noundef %8050, ptr noundef %8052, ptr noundef %8054, i32 noundef %8055) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8057:                                             ; preds = %8029
  %8058 = load i32, ptr @test_count, align 4, !tbaa !5
  %8059 = add nsw i32 %8058, 1
  store i32 %8059, ptr @test_count, align 4, !tbaa !5
  %8060 = load ptr, ptr %41, align 8, !tbaa !9
  %8061 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %8060, ptr noundef nonnull @.str.206) #13
  %8062 = icmp eq i32 %8061, -1
  br i1 %8062, label %8063, label %8085

8063:                                             ; preds = %8057
  %8064 = load i32, ptr %684, align 4, !tbaa !5
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = call i32 @s2n_print_stacktrace(ptr noundef %8065) #13
  %8067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8068 = trunc nuw i8 %8067 to i1
  br i1 %8068, label %8069, label %8073

8069:                                             ; preds = %8063
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = call i32 @fileno(ptr noundef %8070) #13
  %8072 = call i32 @isatty(i32 noundef %8071) #13
  %.not1367 = icmp eq i32 %8072, 0
  br i1 %.not1367, label %8073, label %8074

8073:                                             ; preds = %8069, %8063
  br label %8074

8074:                                             ; preds = %8069, %8073
  %.str.5.sink4158 = phi ptr [ @.str.5, %8073 ], [ @.str.2, %8069 ]
  store i32 %8064, ptr %684, align 4, !tbaa !5
  %8075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8076 = load i32, ptr @test_count, align 4, !tbaa !5
  %8077 = load i32, ptr %630, align 4, !tbaa !5
  %8078 = call ptr @s2n_strerror(i32 noundef %8077, ptr noundef nonnull @.str.4) #13
  %8079 = load i32, ptr %630, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror_debug(i32 noundef %8079, ptr noundef nonnull @.str.4) #13
  %8081 = load i32, ptr %684, align 4, !tbaa !5
  %8082 = call ptr @strerror(i32 noundef %8081) #13
  %8083 = load i32, ptr %684, align 4, !tbaa !5
  %8084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8075, ptr noundef nonnull %.str.5.sink4158, i32 noundef %8076, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.1, i32 noundef 720, ptr noundef %8078, ptr noundef %8080, ptr noundef %8082, i32 noundef %8083) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8085:                                             ; preds = %8057
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #13
  store i64 0, ptr %45, align 8
  %8086 = load i32, ptr @test_count, align 4, !tbaa !5
  %8087 = add nsw i32 %8086, 1
  store i32 %8087, ptr @test_count, align 4, !tbaa !5
  %8088 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %45) #13
  %8089 = icmp eq i32 %8088, -1
  br i1 %8089, label %8090, label %8112

8090:                                             ; preds = %8085
  %8091 = load i32, ptr %684, align 4, !tbaa !5
  %8092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8093 = call i32 @s2n_print_stacktrace(ptr noundef %8092) #13
  %8094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8095 = trunc nuw i8 %8094 to i1
  br i1 %8095, label %8096, label %8100

8096:                                             ; preds = %8090
  %8097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8098 = call i32 @fileno(ptr noundef %8097) #13
  %8099 = call i32 @isatty(i32 noundef %8098) #13
  %.not1366 = icmp eq i32 %8099, 0
  br i1 %.not1366, label %8100, label %8101

8100:                                             ; preds = %8096, %8090
  br label %8101

8101:                                             ; preds = %8096, %8100
  %.str.5.sink4167 = phi ptr [ @.str.5, %8100 ], [ @.str.2, %8096 ]
  store i32 %8091, ptr %684, align 4, !tbaa !5
  %8102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8103 = load i32, ptr @test_count, align 4, !tbaa !5
  %8104 = load i32, ptr %630, align 4, !tbaa !5
  %8105 = call ptr @s2n_strerror(i32 noundef %8104, ptr noundef nonnull @.str.4) #13
  %8106 = load i32, ptr %630, align 4, !tbaa !5
  %8107 = call ptr @s2n_strerror_debug(i32 noundef %8106, ptr noundef nonnull @.str.4) #13
  %8108 = load i32, ptr %684, align 4, !tbaa !5
  %8109 = call ptr @strerror(i32 noundef %8108) #13
  %8110 = load i32, ptr %684, align 4, !tbaa !5
  %8111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8102, ptr noundef nonnull %.str.5.sink4167, i32 noundef %8103, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 723, ptr noundef %8105, ptr noundef %8107, ptr noundef %8109, i32 noundef %8110) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8112:                                             ; preds = %8085
  %8113 = load i32, ptr @test_count, align 4, !tbaa !5
  %8114 = add nsw i32 %8113, 1
  store i32 %8114, ptr @test_count, align 4, !tbaa !5
  %8115 = load ptr, ptr %40, align 8, !tbaa !9
  %8116 = load ptr, ptr %41, align 8, !tbaa !9
  %8117 = call i32 @s2n_connections_set_io_pair(ptr noundef %8115, ptr noundef %8116, ptr noundef nonnull %45) #13
  %8118 = icmp eq i32 %8117, -1
  br i1 %8118, label %8119, label %8141

8119:                                             ; preds = %8112
  %8120 = load i32, ptr %684, align 4, !tbaa !5
  %8121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8122 = call i32 @s2n_print_stacktrace(ptr noundef %8121) #13
  %8123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8124 = trunc nuw i8 %8123 to i1
  br i1 %8124, label %8125, label %8129

8125:                                             ; preds = %8119
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = call i32 @fileno(ptr noundef %8126) #13
  %8128 = call i32 @isatty(i32 noundef %8127) #13
  %.not1365 = icmp eq i32 %8128, 0
  br i1 %.not1365, label %8129, label %8130

8129:                                             ; preds = %8125, %8119
  br label %8130

8130:                                             ; preds = %8125, %8129
  %.str.5.sink4176 = phi ptr [ @.str.5, %8129 ], [ @.str.2, %8125 ]
  store i32 %8120, ptr %684, align 4, !tbaa !5
  %8131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8132 = load i32, ptr @test_count, align 4, !tbaa !5
  %8133 = load i32, ptr %630, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror(i32 noundef %8133, ptr noundef nonnull @.str.4) #13
  %8135 = load i32, ptr %630, align 4, !tbaa !5
  %8136 = call ptr @s2n_strerror_debug(i32 noundef %8135, ptr noundef nonnull @.str.4) #13
  %8137 = load i32, ptr %684, align 4, !tbaa !5
  %8138 = call ptr @strerror(i32 noundef %8137) #13
  %8139 = load i32, ptr %684, align 4, !tbaa !5
  %8140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8131, ptr noundef nonnull %.str.5.sink4176, i32 noundef %8132, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %8134, ptr noundef %8136, ptr noundef %8138, i32 noundef %8139) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8141:                                             ; preds = %8112
  %8142 = load i32, ptr @test_count, align 4, !tbaa !5
  %8143 = add nsw i32 %8142, 1
  store i32 %8143, ptr @test_count, align 4, !tbaa !5
  %8144 = load ptr, ptr %41, align 8, !tbaa !9
  %8145 = load ptr, ptr %40, align 8, !tbaa !9
  %8146 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8144, ptr noundef %8145) #13
  %8147 = icmp eq i32 %8146, -1
  br i1 %8147, label %8148, label %8170

8148:                                             ; preds = %8141
  %8149 = load i32, ptr %684, align 4, !tbaa !5
  %8150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8151 = call i32 @s2n_print_stacktrace(ptr noundef %8150) #13
  %8152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8153 = trunc nuw i8 %8152 to i1
  br i1 %8153, label %8154, label %8158

8154:                                             ; preds = %8148
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = call i32 @fileno(ptr noundef %8155) #13
  %8157 = call i32 @isatty(i32 noundef %8156) #13
  %.not1364 = icmp eq i32 %8157, 0
  br i1 %.not1364, label %8158, label %8159

8158:                                             ; preds = %8154, %8148
  br label %8159

8159:                                             ; preds = %8154, %8158
  %.str.5.sink4185 = phi ptr [ @.str.5, %8158 ], [ @.str.2, %8154 ]
  store i32 %8149, ptr %684, align 4, !tbaa !5
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = load i32, ptr @test_count, align 4, !tbaa !5
  %8162 = load i32, ptr %630, align 4, !tbaa !5
  %8163 = call ptr @s2n_strerror(i32 noundef %8162, ptr noundef nonnull @.str.4) #13
  %8164 = load i32, ptr %630, align 4, !tbaa !5
  %8165 = call ptr @s2n_strerror_debug(i32 noundef %8164, ptr noundef nonnull @.str.4) #13
  %8166 = load i32, ptr %684, align 4, !tbaa !5
  %8167 = call ptr @strerror(i32 noundef %8166) #13
  %8168 = load i32, ptr %684, align 4, !tbaa !5
  %8169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8160, ptr noundef nonnull %.str.5.sink4185, i32 noundef %8161, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 725, ptr noundef %8163, ptr noundef %8165, ptr noundef %8167, i32 noundef %8168) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8170:                                             ; preds = %8141
  %8171 = load i32, ptr @test_count, align 4, !tbaa !5
  %8172 = add nsw i32 %8171, 1
  store i32 %8172, ptr @test_count, align 4, !tbaa !5
  %8173 = load ptr, ptr %41, align 8, !tbaa !9
  %8174 = getelementptr inbounds i8, ptr %8173, i64 220
  %8175 = load i8, ptr %8174, align 4, !tbaa !75
  %8176 = icmp eq i8 %8175, 34
  br i1 %8176, label %8199, label %8177

8177:                                             ; preds = %8170
  %8178 = load i32, ptr %684, align 4, !tbaa !5
  %8179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8180 = call i32 @s2n_print_stacktrace(ptr noundef %8179) #13
  %8181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8182 = trunc nuw i8 %8181 to i1
  br i1 %8182, label %8183, label %8187

8183:                                             ; preds = %8177
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = call i32 @fileno(ptr noundef %8184) #13
  %8186 = call i32 @isatty(i32 noundef %8185) #13
  %.not1215 = icmp eq i32 %8186, 0
  br i1 %.not1215, label %8187, label %8188

8187:                                             ; preds = %8183, %8177
  br label %8188

8188:                                             ; preds = %8183, %8187
  %.str.5.sink4194 = phi ptr [ @.str.5, %8187 ], [ @.str.2, %8183 ]
  store i32 %8178, ptr %684, align 4, !tbaa !5
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = load i32, ptr @test_count, align 4, !tbaa !5
  %8191 = load i32, ptr %630, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror(i32 noundef %8191, ptr noundef nonnull @.str.4) #13
  %8193 = load i32, ptr %630, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror_debug(i32 noundef %8193, ptr noundef nonnull @.str.4) #13
  %8195 = load i32, ptr %684, align 4, !tbaa !5
  %8196 = call ptr @strerror(i32 noundef %8195) #13
  %8197 = load i32, ptr %684, align 4, !tbaa !5
  %8198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8189, ptr noundef nonnull %.str.5.sink4194, i32 noundef %8190, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %8192, ptr noundef %8194, ptr noundef %8196, i32 noundef %8197) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8199:                                             ; preds = %8170
  %8200 = add nsw i32 %8171, 2
  store i32 %8200, ptr @test_count, align 4, !tbaa !5
  %8201 = getelementptr inbounds i8, ptr %8173, i64 1240
  %8202 = load ptr, ptr %8201, align 8, !tbaa !76
  %8203 = icmp eq ptr %8202, null
  br i1 %8203, label %8204, label %8226

8204:                                             ; preds = %8199
  %8205 = load i32, ptr %684, align 4, !tbaa !5
  %8206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8207 = call i32 @s2n_print_stacktrace(ptr noundef %8206) #13
  %8208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8209 = trunc nuw i8 %8208 to i1
  br i1 %8209, label %8210, label %8214

8210:                                             ; preds = %8204
  %8211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8212 = call i32 @fileno(ptr noundef %8211) #13
  %8213 = call i32 @isatty(i32 noundef %8212) #13
  %.not1363 = icmp eq i32 %8213, 0
  br i1 %.not1363, label %8214, label %8215

8214:                                             ; preds = %8210, %8204
  br label %8215

8215:                                             ; preds = %8210, %8214
  %.str.5.sink4203 = phi ptr [ @.str.5, %8214 ], [ @.str.2, %8210 ]
  store i32 %8205, ptr %684, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = load i32, ptr @test_count, align 4, !tbaa !5
  %8218 = load i32, ptr %630, align 4, !tbaa !5
  %8219 = call ptr @s2n_strerror(i32 noundef %8218, ptr noundef nonnull @.str.4) #13
  %8220 = load i32, ptr %630, align 4, !tbaa !5
  %8221 = call ptr @s2n_strerror_debug(i32 noundef %8220, ptr noundef nonnull @.str.4) #13
  %8222 = load i32, ptr %684, align 4, !tbaa !5
  %8223 = call ptr @strerror(i32 noundef %8222) #13
  %8224 = load i32, ptr %684, align 4, !tbaa !5
  %8225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8216, ptr noundef nonnull %.str.5.sink4203, i32 noundef %8217, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %8219, ptr noundef %8221, ptr noundef %8223, i32 noundef %8224) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8226:                                             ; preds = %8199
  %8227 = add nsw i32 %8171, 3
  store i32 %8227, ptr @test_count, align 4, !tbaa !5
  %8228 = getelementptr inbounds i8, ptr %8173, i64 1248
  %8229 = load i32, ptr %8228, align 8, !tbaa !77
  %8230 = icmp eq i32 %8229, 0
  br i1 %8230, label %8231, label %8253

8231:                                             ; preds = %8226
  %8232 = load i32, ptr %684, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = call i32 @s2n_print_stacktrace(ptr noundef %8233) #13
  %8235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8236 = trunc nuw i8 %8235 to i1
  br i1 %8236, label %8237, label %8241

8237:                                             ; preds = %8231
  %8238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8239 = call i32 @fileno(ptr noundef %8238) #13
  %8240 = call i32 @isatty(i32 noundef %8239) #13
  %.not1362 = icmp eq i32 %8240, 0
  br i1 %.not1362, label %8241, label %8242

8241:                                             ; preds = %8237, %8231
  br label %8242

8242:                                             ; preds = %8237, %8241
  %.str.5.sink4212 = phi ptr [ @.str.5, %8241 ], [ @.str.2, %8237 ]
  store i32 %8232, ptr %684, align 4, !tbaa !5
  %8243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8244 = load i32, ptr @test_count, align 4, !tbaa !5
  %8245 = load i32, ptr %630, align 4, !tbaa !5
  %8246 = call ptr @s2n_strerror(i32 noundef %8245, ptr noundef nonnull @.str.4) #13
  %8247 = load i32, ptr %630, align 4, !tbaa !5
  %8248 = call ptr @s2n_strerror_debug(i32 noundef %8247, ptr noundef nonnull @.str.4) #13
  %8249 = load i32, ptr %684, align 4, !tbaa !5
  %8250 = call ptr @strerror(i32 noundef %8249) #13
  %8251 = load i32, ptr %684, align 4, !tbaa !5
  %8252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8243, ptr noundef nonnull %.str.5.sink4212, i32 noundef %8244, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %8246, ptr noundef %8248, ptr noundef %8250, i32 noundef %8251) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8253:                                             ; preds = %8226
  %8254 = call i32 @s2n_io_pair_close(ptr noundef nonnull %45) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #13
  br label %8255

8255:                                             ; preds = %8253, %7968
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #13
  store ptr null, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #13
  store i32 0, ptr %47, align 4, !tbaa !5
  %8256 = load i32, ptr @test_count, align 4, !tbaa !5
  %8257 = add nsw i32 %8256, 1
  store i32 %8257, ptr @test_count, align 4, !tbaa !5
  %8258 = load ptr, ptr %38, align 8, !tbaa !9
  %8259 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %8258, ptr noundef nonnull %46, ptr noundef nonnull %47) #13
  %8260 = icmp eq i32 %8259, -1
  br i1 %8260, label %8283, label %8261

8261:                                             ; preds = %8255
  %8262 = load i32, ptr %684, align 4, !tbaa !5
  %8263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8264 = call i32 @s2n_print_stacktrace(ptr noundef %8263) #13
  %8265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8266 = trunc nuw i8 %8265 to i1
  br i1 %8266, label %8267, label %8271

8267:                                             ; preds = %8261
  %8268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8269 = call i32 @fileno(ptr noundef %8268) #13
  %8270 = call i32 @isatty(i32 noundef %8269) #13
  %.not1216 = icmp eq i32 %8270, 0
  br i1 %.not1216, label %8271, label %8272

8271:                                             ; preds = %8267, %8261
  br label %8272

8272:                                             ; preds = %8267, %8271
  %.str.5.sink4221 = phi ptr [ @.str.5, %8271 ], [ @.str.2, %8267 ]
  store i32 %8262, ptr %684, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = load i32, ptr %630, align 4, !tbaa !5
  %8276 = call ptr @s2n_strerror(i32 noundef %8275, ptr noundef nonnull @.str.4) #13
  %8277 = load i32, ptr %630, align 4, !tbaa !5
  %8278 = call ptr @s2n_strerror_debug(i32 noundef %8277, ptr noundef nonnull @.str.4) #13
  %8279 = load i32, ptr %684, align 4, !tbaa !5
  %8280 = call ptr @strerror(i32 noundef %8279) #13
  %8281 = load i32, ptr %684, align 4, !tbaa !5
  %8282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8273, ptr noundef nonnull %.str.5.sink4221, i32 noundef %8274, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %8276, ptr noundef %8278, ptr noundef %8280, i32 noundef %8281) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8283:                                             ; preds = %8255
  %8284 = load i32, ptr @test_count, align 4, !tbaa !5
  %8285 = add nsw i32 %8284, 1
  store i32 %8285, ptr @test_count, align 4, !tbaa !5
  %8286 = load i32, ptr %630, align 4, !tbaa !5
  %8287 = icmp eq i32 %8286, 402653193
  br i1 %8287, label %8310, label %8288

8288:                                             ; preds = %8283
  %8289 = load i32, ptr %684, align 4, !tbaa !5
  %8290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8291 = call i32 @s2n_print_stacktrace(ptr noundef %8290) #13
  %8292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8293 = trunc nuw i8 %8292 to i1
  br i1 %8293, label %8294, label %8298

8294:                                             ; preds = %8288
  %8295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8296 = call i32 @fileno(ptr noundef %8295) #13
  %8297 = call i32 @isatty(i32 noundef %8296) #13
  %.not1217 = icmp eq i32 %8297, 0
  br i1 %.not1217, label %8298, label %8299

8298:                                             ; preds = %8294, %8288
  br label %8299

8299:                                             ; preds = %8294, %8298
  %.str.5.sink4230 = phi ptr [ @.str.5, %8298 ], [ @.str.2, %8294 ]
  store i32 %8289, ptr %684, align 4, !tbaa !5
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = load i32, ptr @test_count, align 4, !tbaa !5
  %8302 = load i32, ptr %630, align 4, !tbaa !5
  %8303 = call ptr @s2n_strerror(i32 noundef %8302, ptr noundef nonnull @.str.4) #13
  %8304 = load i32, ptr %630, align 4, !tbaa !5
  %8305 = call ptr @s2n_strerror_debug(i32 noundef %8304, ptr noundef nonnull @.str.4) #13
  %8306 = load i32, ptr %684, align 4, !tbaa !5
  %8307 = call ptr @strerror(i32 noundef %8306) #13
  %8308 = load i32, ptr %684, align 4, !tbaa !5
  %8309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8300, ptr noundef nonnull %.str.5.sink4230, i32 noundef %8301, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %8303, ptr noundef %8305, ptr noundef %8307, i32 noundef %8308) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8310:                                             ; preds = %8283
  %8311 = add nsw i32 %8284, 2
  store i32 %8311, ptr @test_count, align 4, !tbaa !5
  %8312 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %8313 = icmp eq ptr %8312, null
  br i1 %8313, label %8314, label %8336

8314:                                             ; preds = %8310
  %8315 = load i32, ptr %684, align 4, !tbaa !5
  %8316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8317 = call i32 @s2n_print_stacktrace(ptr noundef %8316) #13
  %8318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8319 = trunc nuw i8 %8318 to i1
  br i1 %8319, label %8320, label %8324

8320:                                             ; preds = %8314
  %8321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8322 = call i32 @fileno(ptr noundef %8321) #13
  %8323 = call i32 @isatty(i32 noundef %8322) #13
  %.not1361 = icmp eq i32 %8323, 0
  br i1 %.not1361, label %8324, label %8325

8324:                                             ; preds = %8320, %8314
  br label %8325

8325:                                             ; preds = %8320, %8324
  %.str.5.sink4239 = phi ptr [ @.str.5, %8324 ], [ @.str.2, %8320 ]
  store i32 %8315, ptr %684, align 4, !tbaa !5
  %8326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8327 = load i32, ptr @test_count, align 4, !tbaa !5
  %8328 = load i32, ptr %630, align 4, !tbaa !5
  %8329 = call ptr @s2n_strerror(i32 noundef %8328, ptr noundef nonnull @.str.4) #13
  %8330 = load i32, ptr %630, align 4, !tbaa !5
  %8331 = call ptr @s2n_strerror_debug(i32 noundef %8330, ptr noundef nonnull @.str.4) #13
  %8332 = load i32, ptr %684, align 4, !tbaa !5
  %8333 = call ptr @strerror(i32 noundef %8332) #13
  %8334 = load i32, ptr %684, align 4, !tbaa !5
  %8335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8326, ptr noundef nonnull %.str.5.sink4239, i32 noundef %8327, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %8329, ptr noundef %8331, ptr noundef %8333, i32 noundef %8334) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8336:                                             ; preds = %8310
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = add nsw i32 %8337, 1
  store i32 %8338, ptr @test_count, align 4, !tbaa !5
  %8339 = load ptr, ptr %40, align 8, !tbaa !9
  %8340 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %8339, ptr noundef nonnull %46, ptr noundef nonnull %47) #13
  %8341 = icmp eq i32 %8340, -1
  br i1 %8341, label %8364, label %8342

8342:                                             ; preds = %8336
  %8343 = load i32, ptr %684, align 4, !tbaa !5
  %8344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8345 = call i32 @s2n_print_stacktrace(ptr noundef %8344) #13
  %8346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8347 = trunc nuw i8 %8346 to i1
  br i1 %8347, label %8348, label %8352

8348:                                             ; preds = %8342
  %8349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8350 = call i32 @fileno(ptr noundef %8349) #13
  %8351 = call i32 @isatty(i32 noundef %8350) #13
  %.not1218 = icmp eq i32 %8351, 0
  br i1 %.not1218, label %8352, label %8353

8352:                                             ; preds = %8348, %8342
  br label %8353

8353:                                             ; preds = %8348, %8352
  %.str.5.sink4248 = phi ptr [ @.str.5, %8352 ], [ @.str.2, %8348 ]
  store i32 %8343, ptr %684, align 4, !tbaa !5
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = load i32, ptr @test_count, align 4, !tbaa !5
  %8356 = load i32, ptr %630, align 4, !tbaa !5
  %8357 = call ptr @s2n_strerror(i32 noundef %8356, ptr noundef nonnull @.str.4) #13
  %8358 = load i32, ptr %630, align 4, !tbaa !5
  %8359 = call ptr @s2n_strerror_debug(i32 noundef %8358, ptr noundef nonnull @.str.4) #13
  %8360 = load i32, ptr %684, align 4, !tbaa !5
  %8361 = call ptr @strerror(i32 noundef %8360) #13
  %8362 = load i32, ptr %684, align 4, !tbaa !5
  %8363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8354, ptr noundef nonnull %.str.5.sink4248, i32 noundef %8355, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %8357, ptr noundef %8359, ptr noundef %8361, i32 noundef %8362) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8364:                                             ; preds = %8336
  %8365 = load i32, ptr @test_count, align 4, !tbaa !5
  %8366 = add nsw i32 %8365, 1
  store i32 %8366, ptr @test_count, align 4, !tbaa !5
  %8367 = load i32, ptr %630, align 4, !tbaa !5
  %8368 = icmp eq i32 %8367, 402653193
  br i1 %8368, label %8391, label %8369

8369:                                             ; preds = %8364
  %8370 = load i32, ptr %684, align 4, !tbaa !5
  %8371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8372 = call i32 @s2n_print_stacktrace(ptr noundef %8371) #13
  %8373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8374 = trunc nuw i8 %8373 to i1
  br i1 %8374, label %8375, label %8379

8375:                                             ; preds = %8369
  %8376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8377 = call i32 @fileno(ptr noundef %8376) #13
  %8378 = call i32 @isatty(i32 noundef %8377) #13
  %.not1219 = icmp eq i32 %8378, 0
  br i1 %.not1219, label %8379, label %8380

8379:                                             ; preds = %8375, %8369
  br label %8380

8380:                                             ; preds = %8375, %8379
  %.str.5.sink4257 = phi ptr [ @.str.5, %8379 ], [ @.str.2, %8375 ]
  store i32 %8370, ptr %684, align 4, !tbaa !5
  %8381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8382 = load i32, ptr @test_count, align 4, !tbaa !5
  %8383 = load i32, ptr %630, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror(i32 noundef %8383, ptr noundef nonnull @.str.4) #13
  %8385 = load i32, ptr %630, align 4, !tbaa !5
  %8386 = call ptr @s2n_strerror_debug(i32 noundef %8385, ptr noundef nonnull @.str.4) #13
  %8387 = load i32, ptr %684, align 4, !tbaa !5
  %8388 = call ptr @strerror(i32 noundef %8387) #13
  %8389 = load i32, ptr %684, align 4, !tbaa !5
  %8390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8381, ptr noundef nonnull %.str.5.sink4257, i32 noundef %8382, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %8384, ptr noundef %8386, ptr noundef %8388, i32 noundef %8389) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8391:                                             ; preds = %8364
  %8392 = add nsw i32 %8365, 2
  store i32 %8392, ptr @test_count, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %8394 = icmp eq ptr %8393, null
  br i1 %8394, label %8395, label %8417

8395:                                             ; preds = %8391
  %8396 = load i32, ptr %684, align 4, !tbaa !5
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = call i32 @s2n_print_stacktrace(ptr noundef %8397) #13
  %8399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8400 = trunc nuw i8 %8399 to i1
  br i1 %8400, label %8401, label %8405

8401:                                             ; preds = %8395
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = call i32 @fileno(ptr noundef %8402) #13
  %8404 = call i32 @isatty(i32 noundef %8403) #13
  %.not1360 = icmp eq i32 %8404, 0
  br i1 %.not1360, label %8405, label %8406

8405:                                             ; preds = %8401, %8395
  br label %8406

8406:                                             ; preds = %8401, %8405
  %.str.5.sink4266 = phi ptr [ @.str.5, %8405 ], [ @.str.2, %8401 ]
  store i32 %8396, ptr %684, align 4, !tbaa !5
  %8407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8408 = load i32, ptr @test_count, align 4, !tbaa !5
  %8409 = load i32, ptr %630, align 4, !tbaa !5
  %8410 = call ptr @s2n_strerror(i32 noundef %8409, ptr noundef nonnull @.str.4) #13
  %8411 = load i32, ptr %630, align 4, !tbaa !5
  %8412 = call ptr @s2n_strerror_debug(i32 noundef %8411, ptr noundef nonnull @.str.4) #13
  %8413 = load i32, ptr %684, align 4, !tbaa !5
  %8414 = call ptr @strerror(i32 noundef %8413) #13
  %8415 = load i32, ptr %684, align 4, !tbaa !5
  %8416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8407, ptr noundef nonnull %.str.5.sink4266, i32 noundef %8408, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %8410, ptr noundef %8412, ptr noundef %8414, i32 noundef %8415) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8417:                                             ; preds = %8391
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %8418 = load i32, ptr @test_count, align 4, !tbaa !5
  %8419 = add nsw i32 %8418, 1
  store i32 %8419, ptr @test_count, align 4, !tbaa !5
  %8420 = load ptr, ptr %46, align 8, !tbaa !9
  %8421 = icmp eq ptr %8420, null
  br i1 %8421, label %8444, label %8422

8422:                                             ; preds = %8417
  %8423 = load i32, ptr %684, align 4, !tbaa !5
  %8424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8425 = call i32 @s2n_print_stacktrace(ptr noundef %8424) #13
  %8426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8427 = trunc nuw i8 %8426 to i1
  br i1 %8427, label %8428, label %8432

8428:                                             ; preds = %8422
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = call i32 @fileno(ptr noundef %8429) #13
  %8431 = call i32 @isatty(i32 noundef %8430) #13
  %.not1220 = icmp eq i32 %8431, 0
  br i1 %.not1220, label %8432, label %8433

8432:                                             ; preds = %8428, %8422
  br label %8433

8433:                                             ; preds = %8428, %8432
  %.str.5.sink4275 = phi ptr [ @.str.5, %8432 ], [ @.str.2, %8428 ]
  store i32 %8423, ptr %684, align 4, !tbaa !5
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = load i32, ptr @test_count, align 4, !tbaa !5
  %8436 = load i32, ptr %630, align 4, !tbaa !5
  %8437 = call ptr @s2n_strerror(i32 noundef %8436, ptr noundef nonnull @.str.4) #13
  %8438 = load i32, ptr %630, align 4, !tbaa !5
  %8439 = call ptr @s2n_strerror_debug(i32 noundef %8438, ptr noundef nonnull @.str.4) #13
  %8440 = load i32, ptr %684, align 4, !tbaa !5
  %8441 = call ptr @strerror(i32 noundef %8440) #13
  %8442 = load i32, ptr %684, align 4, !tbaa !5
  %8443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8434, ptr noundef nonnull %.str.5.sink4275, i32 noundef %8435, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 740, ptr noundef %8437, ptr noundef %8439, ptr noundef %8441, i32 noundef %8442) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8444:                                             ; preds = %8417
  %8445 = add nsw i32 %8418, 2
  store i32 %8445, ptr @test_count, align 4, !tbaa !5
  %8446 = load i32, ptr %47, align 4, !tbaa !5
  %8447 = icmp eq i32 %8446, 0
  br i1 %8447, label %8470, label %8448

8448:                                             ; preds = %8444
  %8449 = load i32, ptr %684, align 4, !tbaa !5
  %8450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8451 = call i32 @s2n_print_stacktrace(ptr noundef %8450) #13
  %8452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8453 = trunc nuw i8 %8452 to i1
  br i1 %8453, label %8454, label %8458

8454:                                             ; preds = %8448
  %8455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8456 = call i32 @fileno(ptr noundef %8455) #13
  %8457 = call i32 @isatty(i32 noundef %8456) #13
  %.not1221 = icmp eq i32 %8457, 0
  br i1 %.not1221, label %8458, label %8459

8458:                                             ; preds = %8454, %8448
  br label %8459

8459:                                             ; preds = %8454, %8458
  %.str.5.sink4284 = phi ptr [ @.str.5, %8458 ], [ @.str.2, %8454 ]
  store i32 %8449, ptr %684, align 4, !tbaa !5
  %8460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8461 = load i32, ptr @test_count, align 4, !tbaa !5
  %8462 = load i32, ptr %630, align 4, !tbaa !5
  %8463 = call ptr @s2n_strerror(i32 noundef %8462, ptr noundef nonnull @.str.4) #13
  %8464 = load i32, ptr %630, align 4, !tbaa !5
  %8465 = call ptr @s2n_strerror_debug(i32 noundef %8464, ptr noundef nonnull @.str.4) #13
  %8466 = load i32, ptr %684, align 4, !tbaa !5
  %8467 = call ptr @strerror(i32 noundef %8466) #13
  %8468 = load i32, ptr %684, align 4, !tbaa !5
  %8469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8460, ptr noundef nonnull %.str.5.sink4284, i32 noundef %8461, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %8463, ptr noundef %8465, ptr noundef %8467, i32 noundef %8468) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8470:                                             ; preds = %8444
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #13
  %8471 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %8471, label %8472, label %8586

8472:                                             ; preds = %8470
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #13
  store ptr null, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #13
  store i32 0, ptr %49, align 4, !tbaa !5
  %8473 = load i32, ptr @test_count, align 4, !tbaa !5
  %8474 = add nsw i32 %8473, 1
  store i32 %8474, ptr @test_count, align 4, !tbaa !5
  %8475 = load ptr, ptr %39, align 8, !tbaa !9
  %8476 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %8475, ptr noundef nonnull %48, ptr noundef nonnull %49) #13
  %8477 = icmp eq i32 %8476, -1
  br i1 %8477, label %8478, label %8500

8478:                                             ; preds = %8472
  %8479 = load i32, ptr %684, align 4, !tbaa !5
  %8480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8481 = call i32 @s2n_print_stacktrace(ptr noundef %8480) #13
  %8482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8483 = trunc nuw i8 %8482 to i1
  br i1 %8483, label %8484, label %8488

8484:                                             ; preds = %8478
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = call i32 @fileno(ptr noundef %8485) #13
  %8487 = call i32 @isatty(i32 noundef %8486) #13
  %.not1359 = icmp eq i32 %8487, 0
  br i1 %.not1359, label %8488, label %8489

8488:                                             ; preds = %8484, %8478
  br label %8489

8489:                                             ; preds = %8484, %8488
  %.str.5.sink4293 = phi ptr [ @.str.5, %8488 ], [ @.str.2, %8484 ]
  store i32 %8479, ptr %684, align 4, !tbaa !5
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = load i32, ptr @test_count, align 4, !tbaa !5
  %8492 = load i32, ptr %630, align 4, !tbaa !5
  %8493 = call ptr @s2n_strerror(i32 noundef %8492, ptr noundef nonnull @.str.4) #13
  %8494 = load i32, ptr %630, align 4, !tbaa !5
  %8495 = call ptr @s2n_strerror_debug(i32 noundef %8494, ptr noundef nonnull @.str.4) #13
  %8496 = load i32, ptr %684, align 4, !tbaa !5
  %8497 = call ptr @strerror(i32 noundef %8496) #13
  %8498 = load i32, ptr %684, align 4, !tbaa !5
  %8499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8490, ptr noundef nonnull %.str.5.sink4293, i32 noundef %8491, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 750, ptr noundef %8493, ptr noundef %8495, ptr noundef %8497, i32 noundef %8498) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8500:                                             ; preds = %8472
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #13
  store ptr null, ptr %50, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #13
  store i32 0, ptr %51, align 4, !tbaa !5
  %8501 = load i32, ptr @test_count, align 4, !tbaa !5
  %8502 = add nsw i32 %8501, 1
  store i32 %8502, ptr @test_count, align 4, !tbaa !5
  %8503 = load ptr, ptr %41, align 8, !tbaa !9
  %8504 = call i32 @s2n_connection_get_client_cert_chain(ptr noundef %8503, ptr noundef nonnull %50, ptr noundef nonnull %51) #13
  %8505 = icmp eq i32 %8504, -1
  br i1 %8505, label %8506, label %8528

8506:                                             ; preds = %8500
  %8507 = load i32, ptr %684, align 4, !tbaa !5
  %8508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8509 = call i32 @s2n_print_stacktrace(ptr noundef %8508) #13
  %8510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8511 = trunc nuw i8 %8510 to i1
  br i1 %8511, label %8512, label %8516

8512:                                             ; preds = %8506
  %8513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8514 = call i32 @fileno(ptr noundef %8513) #13
  %8515 = call i32 @isatty(i32 noundef %8514) #13
  %.not1358 = icmp eq i32 %8515, 0
  br i1 %.not1358, label %8516, label %8517

8516:                                             ; preds = %8512, %8506
  br label %8517

8517:                                             ; preds = %8512, %8516
  %.str.5.sink4302 = phi ptr [ @.str.5, %8516 ], [ @.str.2, %8512 ]
  store i32 %8507, ptr %684, align 4, !tbaa !5
  %8518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8519 = load i32, ptr @test_count, align 4, !tbaa !5
  %8520 = load i32, ptr %630, align 4, !tbaa !5
  %8521 = call ptr @s2n_strerror(i32 noundef %8520, ptr noundef nonnull @.str.4) #13
  %8522 = load i32, ptr %630, align 4, !tbaa !5
  %8523 = call ptr @s2n_strerror_debug(i32 noundef %8522, ptr noundef nonnull @.str.4) #13
  %8524 = load i32, ptr %684, align 4, !tbaa !5
  %8525 = call ptr @strerror(i32 noundef %8524) #13
  %8526 = load i32, ptr %684, align 4, !tbaa !5
  %8527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8518, ptr noundef nonnull %.str.5.sink4302, i32 noundef %8519, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.1, i32 noundef 754, ptr noundef %8521, ptr noundef %8523, ptr noundef %8525, i32 noundef %8526) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8528:                                             ; preds = %8500
  %8529 = load i32, ptr @test_count, align 4, !tbaa !5
  %8530 = add nsw i32 %8529, 1
  store i32 %8530, ptr @test_count, align 4, !tbaa !5
  %8531 = load i32, ptr %49, align 4, !tbaa !5
  %8532 = load i32, ptr %51, align 4, !tbaa !5
  %8533 = icmp eq i32 %8531, %8532
  br i1 %8533, label %8556, label %8534

8534:                                             ; preds = %8528
  %8535 = load i32, ptr %684, align 4, !tbaa !5
  %8536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8537 = call i32 @s2n_print_stacktrace(ptr noundef %8536) #13
  %8538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8539 = trunc nuw i8 %8538 to i1
  br i1 %8539, label %8540, label %8544

8540:                                             ; preds = %8534
  %8541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8542 = call i32 @fileno(ptr noundef %8541) #13
  %8543 = call i32 @isatty(i32 noundef %8542) #13
  %.not1222 = icmp eq i32 %8543, 0
  br i1 %.not1222, label %8544, label %8545

8544:                                             ; preds = %8540, %8534
  br label %8545

8545:                                             ; preds = %8540, %8544
  %.str.5.sink4311 = phi ptr [ @.str.5, %8544 ], [ @.str.2, %8540 ]
  store i32 %8535, ptr %684, align 4, !tbaa !5
  %8546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8547 = load i32, ptr @test_count, align 4, !tbaa !5
  %8548 = load i32, ptr %630, align 4, !tbaa !5
  %8549 = call ptr @s2n_strerror(i32 noundef %8548, ptr noundef nonnull @.str.4) #13
  %8550 = load i32, ptr %630, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror_debug(i32 noundef %8550, ptr noundef nonnull @.str.4) #13
  %8552 = load i32, ptr %684, align 4, !tbaa !5
  %8553 = call ptr @strerror(i32 noundef %8552) #13
  %8554 = load i32, ptr %684, align 4, !tbaa !5
  %8555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8546, ptr noundef nonnull %.str.5.sink4311, i32 noundef %8547, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %8549, ptr noundef %8551, ptr noundef %8553, i32 noundef %8554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8556:                                             ; preds = %8528
  %.not1223 = icmp eq i32 %8531, 0
  br i1 %.not1223, label %8585, label %8557

8557:                                             ; preds = %8556
  %8558 = add nsw i32 %8529, 2
  store i32 %8558, ptr @test_count, align 4, !tbaa !5
  %8559 = load ptr, ptr %48, align 8, !tbaa !9
  %8560 = load ptr, ptr %50, align 8, !tbaa !9
  %8561 = zext i32 %8531 to i64
  %bcmp1224 = call i32 @bcmp(ptr %8559, ptr %8560, i64 %8561)
  %8562 = icmp eq i32 %bcmp1224, 0
  br i1 %8562, label %8585, label %8563

8563:                                             ; preds = %8557
  %8564 = load i32, ptr %684, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @s2n_print_stacktrace(ptr noundef %8565) #13
  %8567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8568 = trunc nuw i8 %8567 to i1
  br i1 %8568, label %8569, label %8573

8569:                                             ; preds = %8563
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = call i32 @fileno(ptr noundef %8570) #13
  %8572 = call i32 @isatty(i32 noundef %8571) #13
  %.not1225 = icmp eq i32 %8572, 0
  br i1 %.not1225, label %8573, label %8574

8573:                                             ; preds = %8569, %8563
  br label %8574

8574:                                             ; preds = %8569, %8573
  %.str.5.sink4320 = phi ptr [ @.str.5, %8573 ], [ @.str.2, %8569 ]
  store i32 %8564, ptr %684, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = load i32, ptr %630, align 4, !tbaa !5
  %8578 = call ptr @s2n_strerror(i32 noundef %8577, ptr noundef nonnull @.str.4) #13
  %8579 = load i32, ptr %630, align 4, !tbaa !5
  %8580 = call ptr @s2n_strerror_debug(i32 noundef %8579, ptr noundef nonnull @.str.4) #13
  %8581 = load i32, ptr %684, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #13
  %8583 = load i32, ptr %684, align 4, !tbaa !5
  %8584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef nonnull %.str.5.sink4320, i32 noundef %8576, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.1, i32 noundef 757, ptr noundef %8578, ptr noundef %8580, ptr noundef %8582, i32 noundef %8583) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8585:                                             ; preds = %8557, %8556
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #13
  br label %8586

8586:                                             ; preds = %8585, %8470
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #13
  %8587 = call ptr @s2n_config_new() #13
  store ptr %8587, ptr %52, align 8, !tbaa !9
  %8588 = load i32, ptr @test_count, align 4, !tbaa !5
  %8589 = add nsw i32 %8588, 1
  store i32 %8589, ptr @test_count, align 4, !tbaa !5
  %8590 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8587, i32 noundef 1) #13
  %8591 = icmp eq i32 %8590, -1
  br i1 %8591, label %8592, label %8614

8592:                                             ; preds = %8586
  %8593 = load i32, ptr %684, align 4, !tbaa !5
  %8594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8595 = call i32 @s2n_print_stacktrace(ptr noundef %8594) #13
  %8596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8597 = trunc nuw i8 %8596 to i1
  br i1 %8597, label %8598, label %8602

8598:                                             ; preds = %8592
  %8599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8600 = call i32 @fileno(ptr noundef %8599) #13
  %8601 = call i32 @isatty(i32 noundef %8600) #13
  %.not1357 = icmp eq i32 %8601, 0
  br i1 %.not1357, label %8602, label %8603

8602:                                             ; preds = %8598, %8592
  br label %8603

8603:                                             ; preds = %8598, %8602
  %.str.5.sink4329 = phi ptr [ @.str.5, %8602 ], [ @.str.2, %8598 ]
  store i32 %8593, ptr %684, align 4, !tbaa !5
  %8604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8605 = load i32, ptr @test_count, align 4, !tbaa !5
  %8606 = load i32, ptr %630, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror(i32 noundef %8606, ptr noundef nonnull @.str.4) #13
  %8608 = load i32, ptr %630, align 4, !tbaa !5
  %8609 = call ptr @s2n_strerror_debug(i32 noundef %8608, ptr noundef nonnull @.str.4) #13
  %8610 = load i32, ptr %684, align 4, !tbaa !5
  %8611 = call ptr @strerror(i32 noundef %8610) #13
  %8612 = load i32, ptr %684, align 4, !tbaa !5
  %8613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8604, ptr noundef nonnull %.str.5.sink4329, i32 noundef %8605, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.1, i32 noundef 764, ptr noundef %8607, ptr noundef %8609, ptr noundef %8611, i32 noundef %8612) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8614:                                             ; preds = %8586
  %8615 = load i32, ptr @test_count, align 4, !tbaa !5
  %8616 = add nsw i32 %8615, 1
  store i32 %8616, ptr @test_count, align 4, !tbaa !5
  %8617 = load ptr, ptr %52, align 8, !tbaa !9
  %8618 = load ptr, ptr %4, align 8, !tbaa !9
  %8619 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8617, ptr noundef %8618) #13
  %8620 = icmp eq i32 %8619, -1
  br i1 %8620, label %8621, label %8643

8621:                                             ; preds = %8614
  %8622 = load i32, ptr %684, align 4, !tbaa !5
  %8623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8624 = call i32 @s2n_print_stacktrace(ptr noundef %8623) #13
  %8625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8626 = trunc nuw i8 %8625 to i1
  br i1 %8626, label %8627, label %8631

8627:                                             ; preds = %8621
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = call i32 @fileno(ptr noundef %8628) #13
  %8630 = call i32 @isatty(i32 noundef %8629) #13
  %.not1356 = icmp eq i32 %8630, 0
  br i1 %.not1356, label %8631, label %8632

8631:                                             ; preds = %8627, %8621
  br label %8632

8632:                                             ; preds = %8627, %8631
  %.str.5.sink4338 = phi ptr [ @.str.5, %8631 ], [ @.str.2, %8627 ]
  store i32 %8622, ptr %684, align 4, !tbaa !5
  %8633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8634 = load i32, ptr @test_count, align 4, !tbaa !5
  %8635 = load i32, ptr %630, align 4, !tbaa !5
  %8636 = call ptr @s2n_strerror(i32 noundef %8635, ptr noundef nonnull @.str.4) #13
  %8637 = load i32, ptr %630, align 4, !tbaa !5
  %8638 = call ptr @s2n_strerror_debug(i32 noundef %8637, ptr noundef nonnull @.str.4) #13
  %8639 = load i32, ptr %684, align 4, !tbaa !5
  %8640 = call ptr @strerror(i32 noundef %8639) #13
  %8641 = load i32, ptr %684, align 4, !tbaa !5
  %8642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8633, ptr noundef nonnull %.str.5.sink4338, i32 noundef %8634, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %8636, ptr noundef %8638, ptr noundef %8640, i32 noundef %8641) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8643:                                             ; preds = %8614
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = add nsw i32 %8644, 1
  store i32 %8645, ptr @test_count, align 4, !tbaa !5
  %8646 = load ptr, ptr %52, align 8, !tbaa !9
  %8647 = call i32 @s2n_config_disable_x509_verification(ptr noundef %8646) #13
  %8648 = icmp eq i32 %8647, -1
  br i1 %8648, label %8649, label %8671

8649:                                             ; preds = %8643
  %8650 = load i32, ptr %684, align 4, !tbaa !5
  %8651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8652 = call i32 @s2n_print_stacktrace(ptr noundef %8651) #13
  %8653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8654 = trunc nuw i8 %8653 to i1
  br i1 %8654, label %8655, label %8659

8655:                                             ; preds = %8649
  %8656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8657 = call i32 @fileno(ptr noundef %8656) #13
  %8658 = call i32 @isatty(i32 noundef %8657) #13
  %.not1355 = icmp eq i32 %8658, 0
  br i1 %.not1355, label %8659, label %8660

8659:                                             ; preds = %8655, %8649
  br label %8660

8660:                                             ; preds = %8655, %8659
  %.str.5.sink4347 = phi ptr [ @.str.5, %8659 ], [ @.str.2, %8655 ]
  store i32 %8650, ptr %684, align 4, !tbaa !5
  %8661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8662 = load i32, ptr @test_count, align 4, !tbaa !5
  %8663 = load i32, ptr %630, align 4, !tbaa !5
  %8664 = call ptr @s2n_strerror(i32 noundef %8663, ptr noundef nonnull @.str.4) #13
  %8665 = load i32, ptr %630, align 4, !tbaa !5
  %8666 = call ptr @s2n_strerror_debug(i32 noundef %8665, ptr noundef nonnull @.str.4) #13
  %8667 = load i32, ptr %684, align 4, !tbaa !5
  %8668 = call ptr @strerror(i32 noundef %8667) #13
  %8669 = load i32, ptr %684, align 4, !tbaa !5
  %8670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8661, ptr noundef nonnull %.str.5.sink4347, i32 noundef %8662, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.1, i32 noundef 768, ptr noundef %8664, ptr noundef %8666, ptr noundef %8668, i32 noundef %8669) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8671:                                             ; preds = %8643
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #13
  %8672 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %8672, ptr %53, align 8, !tbaa !9
  %8673 = load i32, ptr @test_count, align 4, !tbaa !5
  %8674 = add nsw i32 %8673, 1
  store i32 %8674, ptr @test_count, align 4, !tbaa !5
  %8675 = load ptr, ptr %52, align 8, !tbaa !9
  %8676 = call i32 @s2n_connection_set_config(ptr noundef %8672, ptr noundef %8675) #13
  %8677 = icmp eq i32 %8676, -1
  br i1 %8677, label %8678, label %8700

8678:                                             ; preds = %8671
  %8679 = load i32, ptr %684, align 4, !tbaa !5
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @s2n_print_stacktrace(ptr noundef %8680) #13
  %8682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8683 = trunc nuw i8 %8682 to i1
  br i1 %8683, label %8684, label %8688

8684:                                             ; preds = %8678
  %8685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8686 = call i32 @fileno(ptr noundef %8685) #13
  %8687 = call i32 @isatty(i32 noundef %8686) #13
  %.not1354 = icmp eq i32 %8687, 0
  br i1 %.not1354, label %8688, label %8689

8688:                                             ; preds = %8684, %8678
  br label %8689

8689:                                             ; preds = %8684, %8688
  %.str.5.sink4356 = phi ptr [ @.str.5, %8688 ], [ @.str.2, %8684 ]
  store i32 %8679, ptr %684, align 4, !tbaa !5
  %8690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8691 = load i32, ptr @test_count, align 4, !tbaa !5
  %8692 = load i32, ptr %630, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror(i32 noundef %8692, ptr noundef nonnull @.str.4) #13
  %8694 = load i32, ptr %630, align 4, !tbaa !5
  %8695 = call ptr @s2n_strerror_debug(i32 noundef %8694, ptr noundef nonnull @.str.4) #13
  %8696 = load i32, ptr %684, align 4, !tbaa !5
  %8697 = call ptr @strerror(i32 noundef %8696) #13
  %8698 = load i32, ptr %684, align 4, !tbaa !5
  %8699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8690, ptr noundef nonnull %.str.5.sink4356, i32 noundef %8691, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.1, i32 noundef 772, ptr noundef %8693, ptr noundef %8695, ptr noundef %8697, i32 noundef %8698) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8700:                                             ; preds = %8671
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #13
  %8701 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %8701, ptr %54, align 8, !tbaa !9
  %8702 = load i32, ptr @test_count, align 4, !tbaa !5
  %8703 = add nsw i32 %8702, 1
  store i32 %8703, ptr @test_count, align 4, !tbaa !5
  %8704 = load ptr, ptr %52, align 8, !tbaa !9
  %8705 = call i32 @s2n_connection_set_config(ptr noundef %8701, ptr noundef %8704) #13
  %8706 = icmp eq i32 %8705, -1
  br i1 %8706, label %8707, label %8729

8707:                                             ; preds = %8700
  %8708 = load i32, ptr %684, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = call i32 @s2n_print_stacktrace(ptr noundef %8709) #13
  %8711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8712 = trunc nuw i8 %8711 to i1
  br i1 %8712, label %8713, label %8717

8713:                                             ; preds = %8707
  %8714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8715 = call i32 @fileno(ptr noundef %8714) #13
  %8716 = call i32 @isatty(i32 noundef %8715) #13
  %.not1353 = icmp eq i32 %8716, 0
  br i1 %.not1353, label %8717, label %8718

8717:                                             ; preds = %8713, %8707
  br label %8718

8718:                                             ; preds = %8713, %8717
  %.str.5.sink4365 = phi ptr [ @.str.5, %8717 ], [ @.str.2, %8713 ]
  store i32 %8708, ptr %684, align 4, !tbaa !5
  %8719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8720 = load i32, ptr @test_count, align 4, !tbaa !5
  %8721 = load i32, ptr %630, align 4, !tbaa !5
  %8722 = call ptr @s2n_strerror(i32 noundef %8721, ptr noundef nonnull @.str.4) #13
  %8723 = load i32, ptr %630, align 4, !tbaa !5
  %8724 = call ptr @s2n_strerror_debug(i32 noundef %8723, ptr noundef nonnull @.str.4) #13
  %8725 = load i32, ptr %684, align 4, !tbaa !5
  %8726 = call ptr @strerror(i32 noundef %8725) #13
  %8727 = load i32, ptr %684, align 4, !tbaa !5
  %8728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8719, ptr noundef nonnull %.str.5.sink4365, i32 noundef %8720, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.1, i32 noundef 776, ptr noundef %8722, ptr noundef %8724, ptr noundef %8726, i32 noundef %8727) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8729:                                             ; preds = %8700
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  store i64 0, ptr %55, align 8
  %8730 = load i32, ptr @test_count, align 4, !tbaa !5
  %8731 = add nsw i32 %8730, 1
  store i32 %8731, ptr @test_count, align 4, !tbaa !5
  %8732 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %55) #13
  %8733 = icmp eq i32 %8732, -1
  br i1 %8733, label %8734, label %8756

8734:                                             ; preds = %8729
  %8735 = load i32, ptr %684, align 4, !tbaa !5
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = call i32 @s2n_print_stacktrace(ptr noundef %8736) #13
  %8738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8739 = trunc nuw i8 %8738 to i1
  br i1 %8739, label %8740, label %8744

8740:                                             ; preds = %8734
  %8741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8742 = call i32 @fileno(ptr noundef %8741) #13
  %8743 = call i32 @isatty(i32 noundef %8742) #13
  %.not1352 = icmp eq i32 %8743, 0
  br i1 %.not1352, label %8744, label %8745

8744:                                             ; preds = %8740, %8734
  br label %8745

8745:                                             ; preds = %8740, %8744
  %.str.5.sink4374 = phi ptr [ @.str.5, %8744 ], [ @.str.2, %8740 ]
  store i32 %8735, ptr %684, align 4, !tbaa !5
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = load i32, ptr @test_count, align 4, !tbaa !5
  %8748 = load i32, ptr %630, align 4, !tbaa !5
  %8749 = call ptr @s2n_strerror(i32 noundef %8748, ptr noundef nonnull @.str.4) #13
  %8750 = load i32, ptr %630, align 4, !tbaa !5
  %8751 = call ptr @s2n_strerror_debug(i32 noundef %8750, ptr noundef nonnull @.str.4) #13
  %8752 = load i32, ptr %684, align 4, !tbaa !5
  %8753 = call ptr @strerror(i32 noundef %8752) #13
  %8754 = load i32, ptr %684, align 4, !tbaa !5
  %8755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8746, ptr noundef nonnull %.str.5.sink4374, i32 noundef %8747, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 779, ptr noundef %8749, ptr noundef %8751, ptr noundef %8753, i32 noundef %8754) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8756:                                             ; preds = %8729
  %8757 = load i32, ptr @test_count, align 4, !tbaa !5
  %8758 = add nsw i32 %8757, 1
  store i32 %8758, ptr @test_count, align 4, !tbaa !5
  %8759 = load ptr, ptr %53, align 8, !tbaa !9
  %8760 = load ptr, ptr %54, align 8, !tbaa !9
  %8761 = call i32 @s2n_connections_set_io_pair(ptr noundef %8759, ptr noundef %8760, ptr noundef nonnull %55) #13
  %8762 = icmp eq i32 %8761, -1
  br i1 %8762, label %8763, label %8785

8763:                                             ; preds = %8756
  %8764 = load i32, ptr %684, align 4, !tbaa !5
  %8765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8766 = call i32 @s2n_print_stacktrace(ptr noundef %8765) #13
  %8767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8768 = trunc nuw i8 %8767 to i1
  br i1 %8768, label %8769, label %8773

8769:                                             ; preds = %8763
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = call i32 @fileno(ptr noundef %8770) #13
  %8772 = call i32 @isatty(i32 noundef %8771) #13
  %.not1351 = icmp eq i32 %8772, 0
  br i1 %.not1351, label %8773, label %8774

8773:                                             ; preds = %8769, %8763
  br label %8774

8774:                                             ; preds = %8769, %8773
  %.str.5.sink4383 = phi ptr [ @.str.5, %8773 ], [ @.str.2, %8769 ]
  store i32 %8764, ptr %684, align 4, !tbaa !5
  %8775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8776 = load i32, ptr @test_count, align 4, !tbaa !5
  %8777 = load i32, ptr %630, align 4, !tbaa !5
  %8778 = call ptr @s2n_strerror(i32 noundef %8777, ptr noundef nonnull @.str.4) #13
  %8779 = load i32, ptr %630, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror_debug(i32 noundef %8779, ptr noundef nonnull @.str.4) #13
  %8781 = load i32, ptr %684, align 4, !tbaa !5
  %8782 = call ptr @strerror(i32 noundef %8781) #13
  %8783 = load i32, ptr %684, align 4, !tbaa !5
  %8784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8775, ptr noundef nonnull %.str.5.sink4383, i32 noundef %8776, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %8778, ptr noundef %8780, ptr noundef %8782, i32 noundef %8783) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8785:                                             ; preds = %8756
  %8786 = load i32, ptr @test_count, align 4, !tbaa !5
  %8787 = add nsw i32 %8786, 1
  store i32 %8787, ptr @test_count, align 4, !tbaa !5
  %8788 = load ptr, ptr %54, align 8, !tbaa !9
  %8789 = load ptr, ptr %53, align 8, !tbaa !9
  %8790 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8788, ptr noundef %8789) #13
  %8791 = icmp eq i32 %8790, -1
  br i1 %8791, label %8792, label %8814

8792:                                             ; preds = %8785
  %8793 = load i32, ptr %684, align 4, !tbaa !5
  %8794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8795 = call i32 @s2n_print_stacktrace(ptr noundef %8794) #13
  %8796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8797 = trunc nuw i8 %8796 to i1
  br i1 %8797, label %8798, label %8802

8798:                                             ; preds = %8792
  %8799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8800 = call i32 @fileno(ptr noundef %8799) #13
  %8801 = call i32 @isatty(i32 noundef %8800) #13
  %.not1350 = icmp eq i32 %8801, 0
  br i1 %.not1350, label %8802, label %8803

8802:                                             ; preds = %8798, %8792
  br label %8803

8803:                                             ; preds = %8798, %8802
  %.str.5.sink4392 = phi ptr [ @.str.5, %8802 ], [ @.str.2, %8798 ]
  store i32 %8793, ptr %684, align 4, !tbaa !5
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = load i32, ptr @test_count, align 4, !tbaa !5
  %8806 = load i32, ptr %630, align 4, !tbaa !5
  %8807 = call ptr @s2n_strerror(i32 noundef %8806, ptr noundef nonnull @.str.4) #13
  %8808 = load i32, ptr %630, align 4, !tbaa !5
  %8809 = call ptr @s2n_strerror_debug(i32 noundef %8808, ptr noundef nonnull @.str.4) #13
  %8810 = load i32, ptr %684, align 4, !tbaa !5
  %8811 = call ptr @strerror(i32 noundef %8810) #13
  %8812 = load i32, ptr %684, align 4, !tbaa !5
  %8813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8804, ptr noundef nonnull %.str.5.sink4392, i32 noundef %8805, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %8807, ptr noundef %8809, ptr noundef %8811, i32 noundef %8812) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8814:                                             ; preds = %8785
  %8815 = load i32, ptr @test_count, align 4, !tbaa !5
  %8816 = add nsw i32 %8815, 1
  store i32 %8816, ptr @test_count, align 4, !tbaa !5
  %8817 = load ptr, ptr %54, align 8, !tbaa !9
  %8818 = getelementptr inbounds i8, ptr %8817, i64 1248
  %8819 = load i32, ptr %8818, align 8, !tbaa !77
  %8820 = icmp eq i32 %8819, 0
  br i1 %8820, label %8821, label %8843

8821:                                             ; preds = %8814
  %8822 = load i32, ptr %684, align 4, !tbaa !5
  %8823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8824 = call i32 @s2n_print_stacktrace(ptr noundef %8823) #13
  %8825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8826 = trunc nuw i8 %8825 to i1
  br i1 %8826, label %8827, label %8831

8827:                                             ; preds = %8821
  %8828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8829 = call i32 @fileno(ptr noundef %8828) #13
  %8830 = call i32 @isatty(i32 noundef %8829) #13
  %.not1349 = icmp eq i32 %8830, 0
  br i1 %.not1349, label %8831, label %8832

8831:                                             ; preds = %8827, %8821
  br label %8832

8832:                                             ; preds = %8827, %8831
  %.str.5.sink4401 = phi ptr [ @.str.5, %8831 ], [ @.str.2, %8827 ]
  store i32 %8822, ptr %684, align 4, !tbaa !5
  %8833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8834 = load i32, ptr @test_count, align 4, !tbaa !5
  %8835 = load i32, ptr %630, align 4, !tbaa !5
  %8836 = call ptr @s2n_strerror(i32 noundef %8835, ptr noundef nonnull @.str.4) #13
  %8837 = load i32, ptr %630, align 4, !tbaa !5
  %8838 = call ptr @s2n_strerror_debug(i32 noundef %8837, ptr noundef nonnull @.str.4) #13
  %8839 = load i32, ptr %684, align 4, !tbaa !5
  %8840 = call ptr @strerror(i32 noundef %8839) #13
  %8841 = load i32, ptr %684, align 4, !tbaa !5
  %8842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8833, ptr noundef nonnull %.str.5.sink4401, i32 noundef %8834, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 783, ptr noundef %8836, ptr noundef %8838, ptr noundef %8840, i32 noundef %8841) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8843:                                             ; preds = %8814
  %8844 = add nsw i32 %8815, 2
  store i32 %8844, ptr @test_count, align 4, !tbaa !5
  %8845 = getelementptr inbounds i8, ptr %8817, i64 1240
  %8846 = load ptr, ptr %8845, align 8, !tbaa !76
  %8847 = icmp eq ptr %8846, null
  br i1 %8847, label %8848, label %8870

8848:                                             ; preds = %8843
  %8849 = load i32, ptr %684, align 4, !tbaa !5
  %8850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8851 = call i32 @s2n_print_stacktrace(ptr noundef %8850) #13
  %8852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8853 = trunc nuw i8 %8852 to i1
  br i1 %8853, label %8854, label %8858

8854:                                             ; preds = %8848
  %8855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8856 = call i32 @fileno(ptr noundef %8855) #13
  %8857 = call i32 @isatty(i32 noundef %8856) #13
  %.not1348 = icmp eq i32 %8857, 0
  br i1 %.not1348, label %8858, label %8859

8858:                                             ; preds = %8854, %8848
  br label %8859

8859:                                             ; preds = %8854, %8858
  %.str.5.sink4410 = phi ptr [ @.str.5, %8858 ], [ @.str.2, %8854 ]
  store i32 %8849, ptr %684, align 4, !tbaa !5
  %8860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8861 = load i32, ptr @test_count, align 4, !tbaa !5
  %8862 = load i32, ptr %630, align 4, !tbaa !5
  %8863 = call ptr @s2n_strerror(i32 noundef %8862, ptr noundef nonnull @.str.4) #13
  %8864 = load i32, ptr %630, align 4, !tbaa !5
  %8865 = call ptr @s2n_strerror_debug(i32 noundef %8864, ptr noundef nonnull @.str.4) #13
  %8866 = load i32, ptr %684, align 4, !tbaa !5
  %8867 = call ptr @strerror(i32 noundef %8866) #13
  %8868 = load i32, ptr %684, align 4, !tbaa !5
  %8869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8860, ptr noundef nonnull %.str.5.sink4410, i32 noundef %8861, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %8863, ptr noundef %8865, ptr noundef %8867, i32 noundef %8868) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8870:                                             ; preds = %8843
  %8871 = call i32 @s2n_io_pair_close(ptr noundef nonnull %55) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  %8872 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #13
  %8873 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %53) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #13
  %8874 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %52) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #13
  %8875 = call ptr @s2n_config_new() #13
  store ptr %8875, ptr %56, align 8, !tbaa !9
  %8876 = load i32, ptr @test_count, align 4, !tbaa !5
  %8877 = add nsw i32 %8876, 1
  store i32 %8877, ptr @test_count, align 4, !tbaa !5
  %8878 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8875, i32 noundef 1) #13
  %8879 = icmp eq i32 %8878, -1
  br i1 %8879, label %8880, label %8902

8880:                                             ; preds = %8870
  %8881 = load i32, ptr %684, align 4, !tbaa !5
  %8882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8883 = call i32 @s2n_print_stacktrace(ptr noundef %8882) #13
  %8884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8885 = trunc nuw i8 %8884 to i1
  br i1 %8885, label %8886, label %8890

8886:                                             ; preds = %8880
  %8887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8888 = call i32 @fileno(ptr noundef %8887) #13
  %8889 = call i32 @isatty(i32 noundef %8888) #13
  %.not1347 = icmp eq i32 %8889, 0
  br i1 %.not1347, label %8890, label %8891

8890:                                             ; preds = %8886, %8880
  br label %8891

8891:                                             ; preds = %8886, %8890
  %.str.5.sink4419 = phi ptr [ @.str.5, %8890 ], [ @.str.2, %8886 ]
  store i32 %8881, ptr %684, align 4, !tbaa !5
  %8892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8893 = load i32, ptr @test_count, align 4, !tbaa !5
  %8894 = load i32, ptr %630, align 4, !tbaa !5
  %8895 = call ptr @s2n_strerror(i32 noundef %8894, ptr noundef nonnull @.str.4) #13
  %8896 = load i32, ptr %630, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror_debug(i32 noundef %8896, ptr noundef nonnull @.str.4) #13
  %8898 = load i32, ptr %684, align 4, !tbaa !5
  %8899 = call ptr @strerror(i32 noundef %8898) #13
  %8900 = load i32, ptr %684, align 4, !tbaa !5
  %8901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8892, ptr noundef nonnull %.str.5.sink4419, i32 noundef %8893, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.1, i32 noundef 791, ptr noundef %8895, ptr noundef %8897, ptr noundef %8899, i32 noundef %8900) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8902:                                             ; preds = %8870
  %8903 = load i32, ptr @test_count, align 4, !tbaa !5
  %8904 = add nsw i32 %8903, 1
  store i32 %8904, ptr @test_count, align 4, !tbaa !5
  %8905 = load ptr, ptr %56, align 8, !tbaa !9
  %8906 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %8905, ptr noundef nonnull @always_verify_host_fn, ptr noundef null) #13
  %8907 = icmp eq i32 %8906, -1
  br i1 %8907, label %8908, label %8930

8908:                                             ; preds = %8902
  %8909 = load i32, ptr %684, align 4, !tbaa !5
  %8910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8911 = call i32 @s2n_print_stacktrace(ptr noundef %8910) #13
  %8912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8913 = trunc nuw i8 %8912 to i1
  br i1 %8913, label %8914, label %8918

8914:                                             ; preds = %8908
  %8915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8916 = call i32 @fileno(ptr noundef %8915) #13
  %8917 = call i32 @isatty(i32 noundef %8916) #13
  %.not1346 = icmp eq i32 %8917, 0
  br i1 %.not1346, label %8918, label %8919

8918:                                             ; preds = %8914, %8908
  br label %8919

8919:                                             ; preds = %8914, %8918
  %.str.5.sink4428 = phi ptr [ @.str.5, %8918 ], [ @.str.2, %8914 ]
  store i32 %8909, ptr %684, align 4, !tbaa !5
  %8920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8921 = load i32, ptr @test_count, align 4, !tbaa !5
  %8922 = load i32, ptr %630, align 4, !tbaa !5
  %8923 = call ptr @s2n_strerror(i32 noundef %8922, ptr noundef nonnull @.str.4) #13
  %8924 = load i32, ptr %630, align 4, !tbaa !5
  %8925 = call ptr @s2n_strerror_debug(i32 noundef %8924, ptr noundef nonnull @.str.4) #13
  %8926 = load i32, ptr %684, align 4, !tbaa !5
  %8927 = call ptr @strerror(i32 noundef %8926) #13
  %8928 = load i32, ptr %684, align 4, !tbaa !5
  %8929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8920, ptr noundef nonnull %.str.5.sink4428, i32 noundef %8921, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %8923, ptr noundef %8925, ptr noundef %8927, i32 noundef %8928) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8930:                                             ; preds = %8902
  %8931 = load i32, ptr @test_count, align 4, !tbaa !5
  %8932 = add nsw i32 %8931, 1
  store i32 %8932, ptr @test_count, align 4, !tbaa !5
  %8933 = load ptr, ptr %56, align 8, !tbaa !9
  %8934 = load ptr, ptr %4, align 8, !tbaa !9
  %8935 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8933, ptr noundef %8934) #13
  %8936 = icmp eq i32 %8935, -1
  br i1 %8936, label %8937, label %8959

8937:                                             ; preds = %8930
  %8938 = load i32, ptr %684, align 4, !tbaa !5
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = call i32 @s2n_print_stacktrace(ptr noundef %8939) #13
  %8941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8942 = trunc nuw i8 %8941 to i1
  br i1 %8942, label %8943, label %8947

8943:                                             ; preds = %8937
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @fileno(ptr noundef %8944) #13
  %8946 = call i32 @isatty(i32 noundef %8945) #13
  %.not1345 = icmp eq i32 %8946, 0
  br i1 %.not1345, label %8947, label %8948

8947:                                             ; preds = %8943, %8937
  br label %8948

8948:                                             ; preds = %8943, %8947
  %.str.5.sink4437 = phi ptr [ @.str.5, %8947 ], [ @.str.2, %8943 ]
  store i32 %8938, ptr %684, align 4, !tbaa !5
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = load i32, ptr @test_count, align 4, !tbaa !5
  %8951 = load i32, ptr %630, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror(i32 noundef %8951, ptr noundef nonnull @.str.4) #13
  %8953 = load i32, ptr %630, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror_debug(i32 noundef %8953, ptr noundef nonnull @.str.4) #13
  %8955 = load i32, ptr %684, align 4, !tbaa !5
  %8956 = call ptr @strerror(i32 noundef %8955) #13
  %8957 = load i32, ptr %684, align 4, !tbaa !5
  %8958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8949, ptr noundef nonnull %.str.5.sink4437, i32 noundef %8950, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %8952, ptr noundef %8954, ptr noundef %8956, i32 noundef %8957) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8959:                                             ; preds = %8930
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  %8960 = call ptr @s2n_config_new() #13
  store ptr %8960, ptr %57, align 8, !tbaa !9
  %8961 = load i32, ptr @test_count, align 4, !tbaa !5
  %8962 = add nsw i32 %8961, 1
  store i32 %8962, ptr @test_count, align 4, !tbaa !5
  %8963 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8960, i32 noundef 1) #13
  %8964 = icmp eq i32 %8963, -1
  br i1 %8964, label %8965, label %8987

8965:                                             ; preds = %8959
  %8966 = load i32, ptr %684, align 4, !tbaa !5
  %8967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8968 = call i32 @s2n_print_stacktrace(ptr noundef %8967) #13
  %8969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8970 = trunc nuw i8 %8969 to i1
  br i1 %8970, label %8971, label %8975

8971:                                             ; preds = %8965
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @fileno(ptr noundef %8972) #13
  %8974 = call i32 @isatty(i32 noundef %8973) #13
  %.not1344 = icmp eq i32 %8974, 0
  br i1 %.not1344, label %8975, label %8976

8975:                                             ; preds = %8971, %8965
  br label %8976

8976:                                             ; preds = %8971, %8975
  %.str.5.sink4446 = phi ptr [ @.str.5, %8975 ], [ @.str.2, %8971 ]
  store i32 %8966, ptr %684, align 4, !tbaa !5
  %8977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8978 = load i32, ptr @test_count, align 4, !tbaa !5
  %8979 = load i32, ptr %630, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror(i32 noundef %8979, ptr noundef nonnull @.str.4) #13
  %8981 = load i32, ptr %630, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror_debug(i32 noundef %8981, ptr noundef nonnull @.str.4) #13
  %8983 = load i32, ptr %684, align 4, !tbaa !5
  %8984 = call ptr @strerror(i32 noundef %8983) #13
  %8985 = load i32, ptr %684, align 4, !tbaa !5
  %8986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8977, ptr noundef nonnull %.str.5.sink4446, i32 noundef %8978, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 797, ptr noundef %8980, ptr noundef %8982, ptr noundef %8984, i32 noundef %8985) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8987:                                             ; preds = %8959
  %8988 = load i32, ptr @test_count, align 4, !tbaa !5
  %8989 = add nsw i32 %8988, 1
  store i32 %8989, ptr @test_count, align 4, !tbaa !5
  %8990 = load ptr, ptr %57, align 8, !tbaa !9
  %8991 = call i32 @s2n_config_set_verify_host_callback(ptr noundef %8990, ptr noundef nonnull @always_verify_host_fn, ptr noundef null) #13
  %8992 = icmp eq i32 %8991, -1
  br i1 %8992, label %8993, label %9015

8993:                                             ; preds = %8987
  %8994 = load i32, ptr %684, align 4, !tbaa !5
  %8995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8996 = call i32 @s2n_print_stacktrace(ptr noundef %8995) #13
  %8997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8998 = trunc nuw i8 %8997 to i1
  br i1 %8998, label %8999, label %9003

8999:                                             ; preds = %8993
  %9000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9001 = call i32 @fileno(ptr noundef %9000) #13
  %9002 = call i32 @isatty(i32 noundef %9001) #13
  %.not1343 = icmp eq i32 %9002, 0
  br i1 %.not1343, label %9003, label %9004

9003:                                             ; preds = %8999, %8993
  br label %9004

9004:                                             ; preds = %8999, %9003
  %.str.5.sink4455 = phi ptr [ @.str.5, %9003 ], [ @.str.2, %8999 ]
  store i32 %8994, ptr %684, align 4, !tbaa !5
  %9005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9006 = load i32, ptr @test_count, align 4, !tbaa !5
  %9007 = load i32, ptr %630, align 4, !tbaa !5
  %9008 = call ptr @s2n_strerror(i32 noundef %9007, ptr noundef nonnull @.str.4) #13
  %9009 = load i32, ptr %630, align 4, !tbaa !5
  %9010 = call ptr @s2n_strerror_debug(i32 noundef %9009, ptr noundef nonnull @.str.4) #13
  %9011 = load i32, ptr %684, align 4, !tbaa !5
  %9012 = call ptr @strerror(i32 noundef %9011) #13
  %9013 = load i32, ptr %684, align 4, !tbaa !5
  %9014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9005, ptr noundef nonnull %.str.5.sink4455, i32 noundef %9006, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.1, i32 noundef 798, ptr noundef %9008, ptr noundef %9010, ptr noundef %9012, i32 noundef %9013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9015:                                             ; preds = %8987
  %9016 = load i32, ptr @test_count, align 4, !tbaa !5
  %9017 = add nsw i32 %9016, 1
  store i32 %9017, ptr @test_count, align 4, !tbaa !5
  %9018 = load ptr, ptr %57, align 8, !tbaa !9
  %9019 = load ptr, ptr %4, align 8, !tbaa !9
  %9020 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %9018, ptr noundef %9019) #13
  %9021 = icmp eq i32 %9020, -1
  br i1 %9021, label %9022, label %9044

9022:                                             ; preds = %9015
  %9023 = load i32, ptr %684, align 4, !tbaa !5
  %9024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9025 = call i32 @s2n_print_stacktrace(ptr noundef %9024) #13
  %9026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9027 = trunc nuw i8 %9026 to i1
  br i1 %9027, label %9028, label %9032

9028:                                             ; preds = %9022
  %9029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9030 = call i32 @fileno(ptr noundef %9029) #13
  %9031 = call i32 @isatty(i32 noundef %9030) #13
  %.not1342 = icmp eq i32 %9031, 0
  br i1 %.not1342, label %9032, label %9033

9032:                                             ; preds = %9028, %9022
  br label %9033

9033:                                             ; preds = %9028, %9032
  %.str.5.sink4464 = phi ptr [ @.str.5, %9032 ], [ @.str.2, %9028 ]
  store i32 %9023, ptr %684, align 4, !tbaa !5
  %9034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9035 = load i32, ptr @test_count, align 4, !tbaa !5
  %9036 = load i32, ptr %630, align 4, !tbaa !5
  %9037 = call ptr @s2n_strerror(i32 noundef %9036, ptr noundef nonnull @.str.4) #13
  %9038 = load i32, ptr %630, align 4, !tbaa !5
  %9039 = call ptr @s2n_strerror_debug(i32 noundef %9038, ptr noundef nonnull @.str.4) #13
  %9040 = load i32, ptr %684, align 4, !tbaa !5
  %9041 = call ptr @strerror(i32 noundef %9040) #13
  %9042 = load i32, ptr %684, align 4, !tbaa !5
  %9043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9034, ptr noundef nonnull %.str.5.sink4464, i32 noundef %9035, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %9037, ptr noundef %9039, ptr noundef %9041, i32 noundef %9042) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9044:                                             ; preds = %9015
  %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 %56, align 8, !tbaa !9
  %9048 = call i32 @s2n_config_disable_x509_verification(ptr noundef %9047) #13
  %9049 = icmp eq i32 %9048, -1
  br i1 %9049, label %9050, label %9072

9050:                                             ; preds = %9044
  %9051 = load i32, ptr %684, align 4, !tbaa !5
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = call i32 @s2n_print_stacktrace(ptr noundef %9052) #13
  %9054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9055 = trunc nuw i8 %9054 to i1
  br i1 %9055, label %9056, label %9060

9056:                                             ; preds = %9050
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = call i32 @fileno(ptr noundef %9057) #13
  %9059 = call i32 @isatty(i32 noundef %9058) #13
  %.not1341 = icmp eq i32 %9059, 0
  br i1 %.not1341, label %9060, label %9061

9060:                                             ; preds = %9056, %9050
  br label %9061

9061:                                             ; preds = %9056, %9060
  %.str.5.sink4473 = phi ptr [ @.str.5, %9060 ], [ @.str.2, %9056 ]
  store i32 %9051, ptr %684, align 4, !tbaa !5
  %9062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9063 = load i32, ptr @test_count, align 4, !tbaa !5
  %9064 = load i32, ptr %630, align 4, !tbaa !5
  %9065 = call ptr @s2n_strerror(i32 noundef %9064, ptr noundef nonnull @.str.4) #13
  %9066 = load i32, ptr %630, align 4, !tbaa !5
  %9067 = call ptr @s2n_strerror_debug(i32 noundef %9066, ptr noundef nonnull @.str.4) #13
  %9068 = load i32, ptr %684, align 4, !tbaa !5
  %9069 = call ptr @strerror(i32 noundef %9068) #13
  %9070 = load i32, ptr %684, align 4, !tbaa !5
  %9071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9062, ptr noundef nonnull %.str.5.sink4473, i32 noundef %9063, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %9065, ptr noundef %9067, ptr noundef %9069, i32 noundef %9070) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9072:                                             ; preds = %9044
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #13
  %9073 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %9073, ptr %58, align 8, !tbaa !9
  %9074 = load i32, ptr @test_count, align 4, !tbaa !5
  %9075 = add nsw i32 %9074, 1
  store i32 %9075, ptr @test_count, align 4, !tbaa !5
  %9076 = call i32 @s2n_connection_set_blinding(ptr noundef %9073, i32 noundef 1) #13
  %9077 = icmp eq i32 %9076, -1
  br i1 %9077, label %9078, label %9100

9078:                                             ; preds = %9072
  %9079 = load i32, ptr %684, align 4, !tbaa !5
  %9080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9081 = call i32 @s2n_print_stacktrace(ptr noundef %9080) #13
  %9082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9083 = trunc nuw i8 %9082 to i1
  br i1 %9083, label %9084, label %9088

9084:                                             ; preds = %9078
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = call i32 @fileno(ptr noundef %9085) #13
  %9087 = call i32 @isatty(i32 noundef %9086) #13
  %.not1340 = icmp eq i32 %9087, 0
  br i1 %.not1340, label %9088, label %9089

9088:                                             ; preds = %9084, %9078
  br label %9089

9089:                                             ; preds = %9084, %9088
  %.str.5.sink4482 = phi ptr [ @.str.5, %9088 ], [ @.str.2, %9084 ]
  store i32 %9079, ptr %684, align 4, !tbaa !5
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = load i32, ptr @test_count, align 4, !tbaa !5
  %9092 = load i32, ptr %630, align 4, !tbaa !5
  %9093 = call ptr @s2n_strerror(i32 noundef %9092, ptr noundef nonnull @.str.4) #13
  %9094 = load i32, ptr %630, align 4, !tbaa !5
  %9095 = call ptr @s2n_strerror_debug(i32 noundef %9094, ptr noundef nonnull @.str.4) #13
  %9096 = load i32, ptr %684, align 4, !tbaa !5
  %9097 = call ptr @strerror(i32 noundef %9096) #13
  %9098 = load i32, ptr %684, align 4, !tbaa !5
  %9099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9090, ptr noundef nonnull %.str.5.sink4482, i32 noundef %9091, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.1, i32 noundef 809, ptr noundef %9093, ptr noundef %9095, ptr noundef %9097, i32 noundef %9098) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9100:                                             ; preds = %9072
  %9101 = load i32, ptr @test_count, align 4, !tbaa !5
  %9102 = add nsw i32 %9101, 1
  store i32 %9102, ptr @test_count, align 4, !tbaa !5
  %9103 = load ptr, ptr %58, align 8, !tbaa !9
  %9104 = load ptr, ptr %56, align 8, !tbaa !9
  %9105 = call i32 @s2n_connection_set_config(ptr noundef %9103, ptr noundef %9104) #13
  %9106 = icmp eq i32 %9105, -1
  br i1 %9106, label %9107, label %9129

9107:                                             ; preds = %9100
  %9108 = load i32, ptr %684, align 4, !tbaa !5
  %9109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9110 = call i32 @s2n_print_stacktrace(ptr noundef %9109) #13
  %9111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9112 = trunc nuw i8 %9111 to i1
  br i1 %9112, label %9113, label %9117

9113:                                             ; preds = %9107
  %9114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9115 = call i32 @fileno(ptr noundef %9114) #13
  %9116 = call i32 @isatty(i32 noundef %9115) #13
  %.not1339 = icmp eq i32 %9116, 0
  br i1 %.not1339, label %9117, label %9118

9117:                                             ; preds = %9113, %9107
  br label %9118

9118:                                             ; preds = %9113, %9117
  %.str.5.sink4491 = phi ptr [ @.str.5, %9117 ], [ @.str.2, %9113 ]
  store i32 %9108, ptr %684, align 4, !tbaa !5
  %9119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9120 = load i32, ptr @test_count, align 4, !tbaa !5
  %9121 = load i32, ptr %630, align 4, !tbaa !5
  %9122 = call ptr @s2n_strerror(i32 noundef %9121, ptr noundef nonnull @.str.4) #13
  %9123 = load i32, ptr %630, align 4, !tbaa !5
  %9124 = call ptr @s2n_strerror_debug(i32 noundef %9123, ptr noundef nonnull @.str.4) #13
  %9125 = load i32, ptr %684, align 4, !tbaa !5
  %9126 = call ptr @strerror(i32 noundef %9125) #13
  %9127 = load i32, ptr %684, align 4, !tbaa !5
  %9128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9119, ptr noundef nonnull %.str.5.sink4491, i32 noundef %9120, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %9122, ptr noundef %9124, ptr noundef %9126, i32 noundef %9127) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9129:                                             ; preds = %9100
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #13
  %9130 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %9130, ptr %59, align 8, !tbaa !9
  %9131 = load i32, ptr @test_count, align 4, !tbaa !5
  %9132 = add nsw i32 %9131, 1
  store i32 %9132, ptr @test_count, align 4, !tbaa !5
  %9133 = call i32 @s2n_connection_set_blinding(ptr noundef %9130, i32 noundef 1) #13
  %9134 = icmp eq i32 %9133, -1
  br i1 %9134, label %9135, label %9157

9135:                                             ; preds = %9129
  %9136 = load i32, ptr %684, align 4, !tbaa !5
  %9137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9138 = call i32 @s2n_print_stacktrace(ptr noundef %9137) #13
  %9139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9140 = trunc nuw i8 %9139 to i1
  br i1 %9140, label %9141, label %9145

9141:                                             ; preds = %9135
  %9142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9143 = call i32 @fileno(ptr noundef %9142) #13
  %9144 = call i32 @isatty(i32 noundef %9143) #13
  %.not1338 = icmp eq i32 %9144, 0
  br i1 %.not1338, label %9145, label %9146

9145:                                             ; preds = %9141, %9135
  br label %9146

9146:                                             ; preds = %9141, %9145
  %.str.5.sink4500 = phi ptr [ @.str.5, %9145 ], [ @.str.2, %9141 ]
  store i32 %9136, ptr %684, align 4, !tbaa !5
  %9147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9148 = load i32, ptr @test_count, align 4, !tbaa !5
  %9149 = load i32, ptr %630, align 4, !tbaa !5
  %9150 = call ptr @s2n_strerror(i32 noundef %9149, ptr noundef nonnull @.str.4) #13
  %9151 = load i32, ptr %630, align 4, !tbaa !5
  %9152 = call ptr @s2n_strerror_debug(i32 noundef %9151, ptr noundef nonnull @.str.4) #13
  %9153 = load i32, ptr %684, align 4, !tbaa !5
  %9154 = call ptr @strerror(i32 noundef %9153) #13
  %9155 = load i32, ptr %684, align 4, !tbaa !5
  %9156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9147, ptr noundef nonnull %.str.5.sink4500, i32 noundef %9148, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.1, i32 noundef 814, ptr noundef %9150, ptr noundef %9152, ptr noundef %9154, i32 noundef %9155) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9157:                                             ; preds = %9129
  %9158 = load i32, ptr @test_count, align 4, !tbaa !5
  %9159 = add nsw i32 %9158, 1
  store i32 %9159, ptr @test_count, align 4, !tbaa !5
  %9160 = load ptr, ptr %59, align 8, !tbaa !9
  %9161 = load ptr, ptr %57, align 8, !tbaa !9
  %9162 = call i32 @s2n_connection_set_config(ptr noundef %9160, ptr noundef %9161) #13
  %9163 = icmp eq i32 %9162, -1
  br i1 %9163, label %9164, label %9186

9164:                                             ; preds = %9157
  %9165 = load i32, ptr %684, align 4, !tbaa !5
  %9166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9167 = call i32 @s2n_print_stacktrace(ptr noundef %9166) #13
  %9168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9169 = trunc nuw i8 %9168 to i1
  br i1 %9169, label %9170, label %9174

9170:                                             ; preds = %9164
  %9171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9172 = call i32 @fileno(ptr noundef %9171) #13
  %9173 = call i32 @isatty(i32 noundef %9172) #13
  %.not1337 = icmp eq i32 %9173, 0
  br i1 %.not1337, label %9174, label %9175

9174:                                             ; preds = %9170, %9164
  br label %9175

9175:                                             ; preds = %9170, %9174
  %.str.5.sink4509 = phi ptr [ @.str.5, %9174 ], [ @.str.2, %9170 ]
  store i32 %9165, ptr %684, align 4, !tbaa !5
  %9176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9177 = load i32, ptr @test_count, align 4, !tbaa !5
  %9178 = load i32, ptr %630, align 4, !tbaa !5
  %9179 = call ptr @s2n_strerror(i32 noundef %9178, ptr noundef nonnull @.str.4) #13
  %9180 = load i32, ptr %630, align 4, !tbaa !5
  %9181 = call ptr @s2n_strerror_debug(i32 noundef %9180, ptr noundef nonnull @.str.4) #13
  %9182 = load i32, ptr %684, align 4, !tbaa !5
  %9183 = call ptr @strerror(i32 noundef %9182) #13
  %9184 = load i32, ptr %684, align 4, !tbaa !5
  %9185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9176, ptr noundef nonnull %.str.5.sink4509, i32 noundef %9177, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.1, i32 noundef 815, ptr noundef %9179, ptr noundef %9181, ptr noundef %9183, i32 noundef %9184) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9186:                                             ; preds = %9157
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #13
  store i64 0, ptr %60, align 8
  %9187 = load i32, ptr @test_count, align 4, !tbaa !5
  %9188 = add nsw i32 %9187, 1
  store i32 %9188, ptr @test_count, align 4, !tbaa !5
  %9189 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %60) #13
  %9190 = icmp eq i32 %9189, -1
  br i1 %9190, label %9191, label %9213

9191:                                             ; preds = %9186
  %9192 = load i32, ptr %684, align 4, !tbaa !5
  %9193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9194 = call i32 @s2n_print_stacktrace(ptr noundef %9193) #13
  %9195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9196 = trunc nuw i8 %9195 to i1
  br i1 %9196, label %9197, label %9201

9197:                                             ; preds = %9191
  %9198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9199 = call i32 @fileno(ptr noundef %9198) #13
  %9200 = call i32 @isatty(i32 noundef %9199) #13
  %.not1336 = icmp eq i32 %9200, 0
  br i1 %.not1336, label %9201, label %9202

9201:                                             ; preds = %9197, %9191
  br label %9202

9202:                                             ; preds = %9197, %9201
  %.str.5.sink4518 = phi ptr [ @.str.5, %9201 ], [ @.str.2, %9197 ]
  store i32 %9192, ptr %684, align 4, !tbaa !5
  %9203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9204 = load i32, ptr @test_count, align 4, !tbaa !5
  %9205 = load i32, ptr %630, align 4, !tbaa !5
  %9206 = call ptr @s2n_strerror(i32 noundef %9205, ptr noundef nonnull @.str.4) #13
  %9207 = load i32, ptr %630, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror_debug(i32 noundef %9207, ptr noundef nonnull @.str.4) #13
  %9209 = load i32, ptr %684, align 4, !tbaa !5
  %9210 = call ptr @strerror(i32 noundef %9209) #13
  %9211 = load i32, ptr %684, align 4, !tbaa !5
  %9212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9203, ptr noundef nonnull %.str.5.sink4518, i32 noundef %9204, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %9206, ptr noundef %9208, ptr noundef %9210, i32 noundef %9211) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9213:                                             ; preds = %9186
  %9214 = load i32, ptr @test_count, align 4, !tbaa !5
  %9215 = add nsw i32 %9214, 1
  store i32 %9215, ptr @test_count, align 4, !tbaa !5
  %9216 = load ptr, ptr %58, align 8, !tbaa !9
  %9217 = load ptr, ptr %59, align 8, !tbaa !9
  %9218 = call i32 @s2n_connections_set_io_pair(ptr noundef %9216, ptr noundef %9217, ptr noundef nonnull %60) #13
  %9219 = icmp eq i32 %9218, -1
  br i1 %9219, label %9220, label %9242

9220:                                             ; preds = %9213
  %9221 = load i32, ptr %684, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = call i32 @s2n_print_stacktrace(ptr noundef %9222) #13
  %9224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9225 = trunc nuw i8 %9224 to i1
  br i1 %9225, label %9226, label %9230

9226:                                             ; preds = %9220
  %9227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9228 = call i32 @fileno(ptr noundef %9227) #13
  %9229 = call i32 @isatty(i32 noundef %9228) #13
  %.not1335 = icmp eq i32 %9229, 0
  br i1 %.not1335, label %9230, label %9231

9230:                                             ; preds = %9226, %9220
  br label %9231

9231:                                             ; preds = %9226, %9230
  %.str.5.sink4527 = phi ptr [ @.str.5, %9230 ], [ @.str.2, %9226 ]
  store i32 %9221, ptr %684, align 4, !tbaa !5
  %9232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = load i32, ptr %630, align 4, !tbaa !5
  %9235 = call ptr @s2n_strerror(i32 noundef %9234, ptr noundef nonnull @.str.4) #13
  %9236 = load i32, ptr %630, align 4, !tbaa !5
  %9237 = call ptr @s2n_strerror_debug(i32 noundef %9236, ptr noundef nonnull @.str.4) #13
  %9238 = load i32, ptr %684, align 4, !tbaa !5
  %9239 = call ptr @strerror(i32 noundef %9238) #13
  %9240 = load i32, ptr %684, align 4, !tbaa !5
  %9241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9232, ptr noundef nonnull %.str.5.sink4527, i32 noundef %9233, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %9235, ptr noundef %9237, ptr noundef %9239, i32 noundef %9240) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9242:                                             ; preds = %9213
  %9243 = load i32, ptr @test_count, align 4, !tbaa !5
  %9244 = add nsw i32 %9243, 1
  store i32 %9244, ptr @test_count, align 4, !tbaa !5
  %9245 = load ptr, ptr %59, align 8, !tbaa !9
  %9246 = load ptr, ptr %58, align 8, !tbaa !9
  %9247 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9245, ptr noundef %9246) #13
  %9248 = icmp eq i32 %9247, -1
  br i1 %9248, label %9271, label %9249

9249:                                             ; preds = %9242
  %9250 = load i32, ptr %684, align 4, !tbaa !5
  %9251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9252 = call i32 @s2n_print_stacktrace(ptr noundef %9251) #13
  %9253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9254 = trunc nuw i8 %9253 to i1
  br i1 %9254, label %9255, label %9259

9255:                                             ; preds = %9249
  %9256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9257 = call i32 @fileno(ptr noundef %9256) #13
  %9258 = call i32 @isatty(i32 noundef %9257) #13
  %.not1226 = icmp eq i32 %9258, 0
  br i1 %.not1226, label %9259, label %9260

9259:                                             ; preds = %9255, %9249
  br label %9260

9260:                                             ; preds = %9255, %9259
  %.str.5.sink4536 = phi ptr [ @.str.5, %9259 ], [ @.str.2, %9255 ]
  store i32 %9250, ptr %684, align 4, !tbaa !5
  %9261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9262 = load i32, ptr @test_count, align 4, !tbaa !5
  %9263 = load i32, ptr %630, align 4, !tbaa !5
  %9264 = call ptr @s2n_strerror(i32 noundef %9263, ptr noundef nonnull @.str.4) #13
  %9265 = load i32, ptr %630, align 4, !tbaa !5
  %9266 = call ptr @s2n_strerror_debug(i32 noundef %9265, ptr noundef nonnull @.str.4) #13
  %9267 = load i32, ptr %684, align 4, !tbaa !5
  %9268 = call ptr @strerror(i32 noundef %9267) #13
  %9269 = load i32, ptr %684, align 4, !tbaa !5
  %9270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9261, ptr noundef nonnull %.str.5.sink4536, i32 noundef %9262, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %9264, ptr noundef %9266, ptr noundef %9268, i32 noundef %9269) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9271:                                             ; preds = %9242
  %9272 = load i32, ptr @test_count, align 4, !tbaa !5
  %9273 = add nsw i32 %9272, 1
  store i32 %9273, ptr @test_count, align 4, !tbaa !5
  %9274 = load i32, ptr %630, align 4, !tbaa !5
  %9275 = icmp eq i32 %9274, 335544366
  br i1 %9275, label %9298, label %9276

9276:                                             ; preds = %9271
  %9277 = load i32, ptr %684, align 4, !tbaa !5
  %9278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9279 = call i32 @s2n_print_stacktrace(ptr noundef %9278) #13
  %9280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9281 = trunc nuw i8 %9280 to i1
  br i1 %9281, label %9282, label %9286

9282:                                             ; preds = %9276
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = call i32 @fileno(ptr noundef %9283) #13
  %9285 = call i32 @isatty(i32 noundef %9284) #13
  %.not1227 = icmp eq i32 %9285, 0
  br i1 %.not1227, label %9286, label %9287

9286:                                             ; preds = %9282, %9276
  br label %9287

9287:                                             ; preds = %9282, %9286
  %.str.5.sink4545 = phi ptr [ @.str.5, %9286 ], [ @.str.2, %9282 ]
  store i32 %9277, ptr %684, align 4, !tbaa !5
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = load i32, ptr @test_count, align 4, !tbaa !5
  %9290 = load i32, ptr %630, align 4, !tbaa !5
  %9291 = call ptr @s2n_strerror(i32 noundef %9290, ptr noundef nonnull @.str.4) #13
  %9292 = load i32, ptr %630, align 4, !tbaa !5
  %9293 = call ptr @s2n_strerror_debug(i32 noundef %9292, ptr noundef nonnull @.str.4) #13
  %9294 = load i32, ptr %684, align 4, !tbaa !5
  %9295 = call ptr @strerror(i32 noundef %9294) #13
  %9296 = load i32, ptr %684, align 4, !tbaa !5
  %9297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9288, ptr noundef nonnull %.str.5.sink4545, i32 noundef %9289, ptr noundef nonnull @.str.241, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %9291, ptr noundef %9293, ptr noundef %9295, i32 noundef %9296) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9298:                                             ; preds = %9271
  %9299 = add nsw i32 %9272, 2
  store i32 %9299, ptr @test_count, align 4, !tbaa !5
  %9300 = call ptr @s2n_strerror_debug(i32 noundef 335544366, ptr noundef nonnull @.str.4) #13
  %9301 = icmp eq ptr %9300, null
  br i1 %9301, label %9302, label %9324

9302:                                             ; preds = %9298
  %9303 = load i32, ptr %684, align 4, !tbaa !5
  %9304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9305 = call i32 @s2n_print_stacktrace(ptr noundef %9304) #13
  %9306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9307 = trunc nuw i8 %9306 to i1
  br i1 %9307, label %9308, label %9312

9308:                                             ; preds = %9302
  %9309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9310 = call i32 @fileno(ptr noundef %9309) #13
  %9311 = call i32 @isatty(i32 noundef %9310) #13
  %.not1334 = icmp eq i32 %9311, 0
  br i1 %.not1334, label %9312, label %9313

9312:                                             ; preds = %9308, %9302
  br label %9313

9313:                                             ; preds = %9308, %9312
  %.str.5.sink4554 = phi ptr [ @.str.5, %9312 ], [ @.str.2, %9308 ]
  store i32 %9303, ptr %684, align 4, !tbaa !5
  %9314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9315 = load i32, ptr @test_count, align 4, !tbaa !5
  %9316 = load i32, ptr %630, align 4, !tbaa !5
  %9317 = call ptr @s2n_strerror(i32 noundef %9316, ptr noundef nonnull @.str.4) #13
  %9318 = load i32, ptr %630, align 4, !tbaa !5
  %9319 = call ptr @s2n_strerror_debug(i32 noundef %9318, ptr noundef nonnull @.str.4) #13
  %9320 = load i32, ptr %684, align 4, !tbaa !5
  %9321 = call ptr @strerror(i32 noundef %9320) #13
  %9322 = load i32, ptr %684, align 4, !tbaa !5
  %9323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9314, ptr noundef nonnull %.str.5.sink4554, i32 noundef %9315, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %9317, ptr noundef %9319, ptr noundef %9321, i32 noundef %9322) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9324:                                             ; preds = %9298
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %9325 = load i32, ptr @test_count, align 4, !tbaa !5
  %9326 = add nsw i32 %9325, 1
  store i32 %9326, ptr @test_count, align 4, !tbaa !5
  %9327 = load ptr, ptr %59, align 8, !tbaa !9
  %9328 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9327, i32 noundef 3) #13
  br i1 %9328, label %9351, label %9329

9329:                                             ; preds = %9324
  %9330 = load i32, ptr %684, align 4, !tbaa !5
  %9331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9332 = call i32 @s2n_print_stacktrace(ptr noundef %9331) #13
  %9333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9334 = trunc nuw i8 %9333 to i1
  br i1 %9334, label %9335, label %9339

9335:                                             ; preds = %9329
  %9336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9337 = call i32 @fileno(ptr noundef %9336) #13
  %9338 = call i32 @isatty(i32 noundef %9337) #13
  %.not1228 = icmp eq i32 %9338, 0
  br i1 %.not1228, label %9339, label %9340

9339:                                             ; preds = %9335, %9329
  br label %9340

9340:                                             ; preds = %9335, %9339
  %.str.5.sink4563 = phi ptr [ @.str.5, %9339 ], [ @.str.2, %9335 ]
  store i32 %9330, ptr %684, align 4, !tbaa !5
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = load i32, ptr @test_count, align 4, !tbaa !5
  %9343 = load i32, ptr %630, align 4, !tbaa !5
  %9344 = call ptr @s2n_strerror(i32 noundef %9343, ptr noundef nonnull @.str.4) #13
  %9345 = load i32, ptr %630, align 4, !tbaa !5
  %9346 = call ptr @s2n_strerror_debug(i32 noundef %9345, ptr noundef nonnull @.str.4) #13
  %9347 = load i32, ptr %684, align 4, !tbaa !5
  %9348 = call ptr @strerror(i32 noundef %9347) #13
  %9349 = load i32, ptr %684, align 4, !tbaa !5
  %9350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9341, ptr noundef nonnull %.str.5.sink4563, i32 noundef %9342, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.1, i32 noundef 827, ptr noundef %9344, ptr noundef %9346, ptr noundef %9348, i32 noundef %9349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9351:                                             ; preds = %9324
  %9352 = load i32, ptr @test_count, align 4, !tbaa !5
  %9353 = add nsw i32 %9352, 1
  store i32 %9353, ptr @test_count, align 4, !tbaa !5
  %9354 = load ptr, ptr %58, align 8, !tbaa !9
  %9355 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9354, i32 noundef 3) #13
  br i1 %9355, label %9356, label %9378

9356:                                             ; preds = %9351
  %9357 = load i32, ptr %684, align 4, !tbaa !5
  %9358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9359 = call i32 @s2n_print_stacktrace(ptr noundef %9358) #13
  %9360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9361 = trunc nuw i8 %9360 to i1
  br i1 %9361, label %9362, label %9366

9362:                                             ; preds = %9356
  %9363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9364 = call i32 @fileno(ptr noundef %9363) #13
  %9365 = call i32 @isatty(i32 noundef %9364) #13
  %.not1333 = icmp eq i32 %9365, 0
  br i1 %.not1333, label %9366, label %9367

9366:                                             ; preds = %9362, %9356
  br label %9367

9367:                                             ; preds = %9362, %9366
  %.str.5.sink4572 = phi ptr [ @.str.5, %9366 ], [ @.str.2, %9362 ]
  store i32 %9357, ptr %684, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = load i32, ptr @test_count, align 4, !tbaa !5
  %9370 = load i32, ptr %630, align 4, !tbaa !5
  %9371 = call ptr @s2n_strerror(i32 noundef %9370, ptr noundef nonnull @.str.4) #13
  %9372 = load i32, ptr %630, align 4, !tbaa !5
  %9373 = call ptr @s2n_strerror_debug(i32 noundef %9372, ptr noundef nonnull @.str.4) #13
  %9374 = load i32, ptr %684, align 4, !tbaa !5
  %9375 = call ptr @strerror(i32 noundef %9374) #13
  %9376 = load i32, ptr %684, align 4, !tbaa !5
  %9377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9368, ptr noundef nonnull %.str.5.sink4572, i32 noundef %9369, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %9371, ptr noundef %9373, ptr noundef %9375, i32 noundef %9376) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9378:                                             ; preds = %9351
  %9379 = load i32, ptr @test_count, align 4, !tbaa !5
  %9380 = add nsw i32 %9379, 1
  store i32 %9380, ptr @test_count, align 4, !tbaa !5
  %9381 = load ptr, ptr %59, align 8, !tbaa !9
  %9382 = getelementptr inbounds i8, ptr %9381, i64 1248
  %9383 = load i32, ptr %9382, align 8, !tbaa !77
  %9384 = icmp eq i32 %9383, 0
  br i1 %9384, label %9385, label %9407

9385:                                             ; preds = %9378
  %9386 = load i32, ptr %684, align 4, !tbaa !5
  %9387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9388 = call i32 @s2n_print_stacktrace(ptr noundef %9387) #13
  %9389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9390 = trunc nuw i8 %9389 to i1
  br i1 %9390, label %9391, label %9395

9391:                                             ; preds = %9385
  %9392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9393 = call i32 @fileno(ptr noundef %9392) #13
  %9394 = call i32 @isatty(i32 noundef %9393) #13
  %.not1332 = icmp eq i32 %9394, 0
  br i1 %.not1332, label %9395, label %9396

9395:                                             ; preds = %9391, %9385
  br label %9396

9396:                                             ; preds = %9391, %9395
  %.str.5.sink4581 = phi ptr [ @.str.5, %9395 ], [ @.str.2, %9391 ]
  store i32 %9386, ptr %684, align 4, !tbaa !5
  %9397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9398 = load i32, ptr @test_count, align 4, !tbaa !5
  %9399 = load i32, ptr %630, align 4, !tbaa !5
  %9400 = call ptr @s2n_strerror(i32 noundef %9399, ptr noundef nonnull @.str.4) #13
  %9401 = load i32, ptr %630, align 4, !tbaa !5
  %9402 = call ptr @s2n_strerror_debug(i32 noundef %9401, ptr noundef nonnull @.str.4) #13
  %9403 = load i32, ptr %684, align 4, !tbaa !5
  %9404 = call ptr @strerror(i32 noundef %9403) #13
  %9405 = load i32, ptr %684, align 4, !tbaa !5
  %9406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9397, ptr noundef nonnull %.str.5.sink4581, i32 noundef %9398, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 830, ptr noundef %9400, ptr noundef %9402, ptr noundef %9404, i32 noundef %9405) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9407:                                             ; preds = %9378
  %9408 = add nsw i32 %9379, 2
  store i32 %9408, ptr @test_count, align 4, !tbaa !5
  %9409 = getelementptr inbounds i8, ptr %9381, i64 1240
  %9410 = load ptr, ptr %9409, align 8, !tbaa !76
  %9411 = icmp eq ptr %9410, null
  br i1 %9411, label %9412, label %9434

9412:                                             ; preds = %9407
  %9413 = load i32, ptr %684, align 4, !tbaa !5
  %9414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9415 = call i32 @s2n_print_stacktrace(ptr noundef %9414) #13
  %9416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9417 = trunc nuw i8 %9416 to i1
  br i1 %9417, label %9418, label %9422

9418:                                             ; preds = %9412
  %9419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9420 = call i32 @fileno(ptr noundef %9419) #13
  %9421 = call i32 @isatty(i32 noundef %9420) #13
  %.not1331 = icmp eq i32 %9421, 0
  br i1 %.not1331, label %9422, label %9423

9422:                                             ; preds = %9418, %9412
  br label %9423

9423:                                             ; preds = %9418, %9422
  %.str.5.sink4590 = phi ptr [ @.str.5, %9422 ], [ @.str.2, %9418 ]
  store i32 %9413, ptr %684, align 4, !tbaa !5
  %9424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9425 = load i32, ptr @test_count, align 4, !tbaa !5
  %9426 = load i32, ptr %630, align 4, !tbaa !5
  %9427 = call ptr @s2n_strerror(i32 noundef %9426, ptr noundef nonnull @.str.4) #13
  %9428 = load i32, ptr %630, align 4, !tbaa !5
  %9429 = call ptr @s2n_strerror_debug(i32 noundef %9428, ptr noundef nonnull @.str.4) #13
  %9430 = load i32, ptr %684, align 4, !tbaa !5
  %9431 = call ptr @strerror(i32 noundef %9430) #13
  %9432 = load i32, ptr %684, align 4, !tbaa !5
  %9433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9424, ptr noundef nonnull %.str.5.sink4590, i32 noundef %9425, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 831, ptr noundef %9427, ptr noundef %9429, ptr noundef %9431, i32 noundef %9432) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9434:                                             ; preds = %9407
  %9435 = call i32 @s2n_io_pair_close(ptr noundef nonnull %60) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #13
  %9436 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %59) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #13
  %9437 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %58) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #13
  %9438 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %57) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  %9439 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %56) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %61) #13
  %9440 = load i32, ptr @test_count, align 4, !tbaa !5
  %9441 = add nsw i32 %9440, 1
  store i32 %9441, ptr @test_count, align 4, !tbaa !5
  %9442 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %61, i32 noundef 0) #13
  %9443 = icmp eq i32 %9442, -1
  br i1 %9443, label %9444, label %9466

9444:                                             ; preds = %9434
  %9445 = load i32, ptr %684, align 4, !tbaa !5
  %9446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9447 = call i32 @s2n_print_stacktrace(ptr noundef %9446) #13
  %9448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9449 = trunc nuw i8 %9448 to i1
  br i1 %9449, label %9450, label %9454

9450:                                             ; preds = %9444
  %9451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9452 = call i32 @fileno(ptr noundef %9451) #13
  %9453 = call i32 @isatty(i32 noundef %9452) #13
  %.not1330 = icmp eq i32 %9453, 0
  br i1 %.not1330, label %9454, label %9455

9454:                                             ; preds = %9450, %9444
  br label %9455

9455:                                             ; preds = %9450, %9454
  %.str.5.sink4599 = phi ptr [ @.str.5, %9454 ], [ @.str.2, %9450 ]
  store i32 %9445, ptr %684, align 4, !tbaa !5
  %9456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9457 = load i32, ptr @test_count, align 4, !tbaa !5
  %9458 = load i32, ptr %630, align 4, !tbaa !5
  %9459 = call ptr @s2n_strerror(i32 noundef %9458, ptr noundef nonnull @.str.4) #13
  %9460 = load i32, ptr %630, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror_debug(i32 noundef %9460, ptr noundef nonnull @.str.4) #13
  %9462 = load i32, ptr %684, align 4, !tbaa !5
  %9463 = call ptr @strerror(i32 noundef %9462) #13
  %9464 = load i32, ptr %684, align 4, !tbaa !5
  %9465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9456, ptr noundef nonnull %.str.5.sink4599, i32 noundef %9457, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %9459, ptr noundef %9461, ptr noundef %9463, i32 noundef %9464) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9466:                                             ; preds = %9434
  %9467 = load i32, ptr @test_count, align 4, !tbaa !5
  %9468 = add nsw i32 %9467, 1
  store i32 %9468, ptr @test_count, align 4, !tbaa !5
  %9469 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %61, i32 noundef 24) #13
  %9470 = icmp eq i32 %9469, -1
  br i1 %9470, label %9471, label %9493

9471:                                             ; preds = %9466
  %9472 = load i32, ptr %684, align 4, !tbaa !5
  %9473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9474 = call i32 @s2n_print_stacktrace(ptr noundef %9473) #13
  %9475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9476 = trunc nuw i8 %9475 to i1
  br i1 %9476, label %9477, label %9481

9477:                                             ; preds = %9471
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = call i32 @fileno(ptr noundef %9478) #13
  %9480 = call i32 @isatty(i32 noundef %9479) #13
  %.not1329 = icmp eq i32 %9480, 0
  br i1 %.not1329, label %9481, label %9482

9481:                                             ; preds = %9477, %9471
  br label %9482

9482:                                             ; preds = %9477, %9481
  %.str.5.sink4608 = phi ptr [ @.str.5, %9481 ], [ @.str.2, %9477 ]
  store i32 %9472, ptr %684, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = load i32, ptr @test_count, align 4, !tbaa !5
  %9485 = load i32, ptr %630, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror(i32 noundef %9485, ptr noundef nonnull @.str.4) #13
  %9487 = load i32, ptr %630, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror_debug(i32 noundef %9487, ptr noundef nonnull @.str.4) #13
  %9489 = load i32, ptr %684, align 4, !tbaa !5
  %9490 = call ptr @strerror(i32 noundef %9489) #13
  %9491 = load i32, ptr %684, align 4, !tbaa !5
  %9492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9483, ptr noundef nonnull %.str.5.sink4608, i32 noundef %9484, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.1, i32 noundef 846, ptr noundef %9486, ptr noundef %9488, ptr noundef %9490, i32 noundef %9491) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9493:                                             ; preds = %9466
  %9494 = load i32, ptr @test_count, align 4, !tbaa !5
  %9495 = add nsw i32 %9494, 1
  store i32 %9495, ptr @test_count, align 4, !tbaa !5
  %9496 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %61, i32 noundef 24) #13
  %9497 = icmp eq i32 %9496, -1
  br i1 %9497, label %9498, label %9520

9498:                                             ; preds = %9493
  %9499 = load i32, ptr %684, align 4, !tbaa !5
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = call i32 @s2n_print_stacktrace(ptr noundef %9500) #13
  %9502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9503 = trunc nuw i8 %9502 to i1
  br i1 %9503, label %9504, label %9508

9504:                                             ; preds = %9498
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = call i32 @fileno(ptr noundef %9505) #13
  %9507 = call i32 @isatty(i32 noundef %9506) #13
  %.not1328 = icmp eq i32 %9507, 0
  br i1 %.not1328, label %9508, label %9509

9508:                                             ; preds = %9504, %9498
  br label %9509

9509:                                             ; preds = %9504, %9508
  %.str.5.sink4617 = phi ptr [ @.str.5, %9508 ], [ @.str.2, %9504 ]
  store i32 %9499, ptr %684, align 4, !tbaa !5
  %9510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9511 = load i32, ptr @test_count, align 4, !tbaa !5
  %9512 = load i32, ptr %630, align 4, !tbaa !5
  %9513 = call ptr @s2n_strerror(i32 noundef %9512, ptr noundef nonnull @.str.4) #13
  %9514 = load i32, ptr %630, align 4, !tbaa !5
  %9515 = call ptr @s2n_strerror_debug(i32 noundef %9514, ptr noundef nonnull @.str.4) #13
  %9516 = load i32, ptr %684, align 4, !tbaa !5
  %9517 = call ptr @strerror(i32 noundef %9516) #13
  %9518 = load i32, ptr %684, align 4, !tbaa !5
  %9519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9510, ptr noundef nonnull %.str.5.sink4617, i32 noundef %9511, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.1, i32 noundef 847, ptr noundef %9513, ptr noundef %9515, ptr noundef %9517, i32 noundef %9518) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9520:                                             ; preds = %9493
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  %9521 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %9521, ptr %62, align 8, !tbaa !9
  %9522 = getelementptr inbounds i8, ptr %9521, i64 220
  store i8 33, ptr %9522, align 4, !tbaa !75
  %9523 = load i32, ptr @test_count, align 4, !tbaa !5
  %9524 = add nsw i32 %9523, 1
  store i32 %9524, ptr @test_count, align 4, !tbaa !5
  %9525 = getelementptr inbounds i8, ptr %9521, i64 2016
  %9526 = getelementptr inbounds i8, ptr %61, i64 28
  %9527 = load i32, ptr %9526, align 4, !tbaa !78
  %9528 = getelementptr inbounds i8, ptr %61, i64 24
  %9529 = load i32, ptr %9528, align 8, !tbaa !79
  %9530 = sub i32 %9527, %9529
  %9531 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %61, ptr noundef nonnull %9525, i32 noundef %9530) #13
  %9532 = icmp eq i32 %9531, -1
  br i1 %9532, label %9533, label %9555

9533:                                             ; preds = %9520
  %9534 = load i32, ptr %684, align 4, !tbaa !5
  %9535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9536 = call i32 @s2n_print_stacktrace(ptr noundef %9535) #13
  %9537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9538 = trunc nuw i8 %9537 to i1
  br i1 %9538, label %9539, label %9543

9539:                                             ; preds = %9533
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = call i32 @fileno(ptr noundef %9540) #13
  %9542 = call i32 @isatty(i32 noundef %9541) #13
  %.not1327 = icmp eq i32 %9542, 0
  br i1 %.not1327, label %9543, label %9544

9543:                                             ; preds = %9539, %9533
  br label %9544

9544:                                             ; preds = %9539, %9543
  %.str.5.sink4626 = phi ptr [ @.str.5, %9543 ], [ @.str.2, %9539 ]
  store i32 %9534, ptr %684, align 4, !tbaa !5
  %9545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9546 = load i32, ptr @test_count, align 4, !tbaa !5
  %9547 = load i32, ptr %630, align 4, !tbaa !5
  %9548 = call ptr @s2n_strerror(i32 noundef %9547, ptr noundef nonnull @.str.4) #13
  %9549 = load i32, ptr %630, align 4, !tbaa !5
  %9550 = call ptr @s2n_strerror_debug(i32 noundef %9549, ptr noundef nonnull @.str.4) #13
  %9551 = load i32, ptr %684, align 4, !tbaa !5
  %9552 = call ptr @strerror(i32 noundef %9551) #13
  %9553 = load i32, ptr %684, align 4, !tbaa !5
  %9554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9545, ptr noundef nonnull %.str.5.sink4626, i32 noundef %9546, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 853, ptr noundef %9548, ptr noundef %9550, ptr noundef %9552, i32 noundef %9553) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9555:                                             ; preds = %9520
  %9556 = load i32, ptr @test_count, align 4, !tbaa !5
  %9557 = add nsw i32 %9556, 1
  store i32 %9557, ptr @test_count, align 4, !tbaa !5
  %9558 = load ptr, ptr %62, align 8, !tbaa !9
  %9559 = call i32 @s2n_client_cert_recv(ptr noundef %9558) #13
  %9560 = icmp eq i32 %9559, -1
  br i1 %9560, label %9583, label %9561

9561:                                             ; preds = %9555
  %9562 = load i32, ptr %684, align 4, !tbaa !5
  %9563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9564 = call i32 @s2n_print_stacktrace(ptr noundef %9563) #13
  %9565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9566 = trunc nuw i8 %9565 to i1
  br i1 %9566, label %9567, label %9571

9567:                                             ; preds = %9561
  %9568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9569 = call i32 @fileno(ptr noundef %9568) #13
  %9570 = call i32 @isatty(i32 noundef %9569) #13
  %.not1229 = icmp eq i32 %9570, 0
  br i1 %.not1229, label %9571, label %9572

9571:                                             ; preds = %9567, %9561
  br label %9572

9572:                                             ; preds = %9567, %9571
  %.str.5.sink4635 = phi ptr [ @.str.5, %9571 ], [ @.str.2, %9567 ]
  store i32 %9562, ptr %684, align 4, !tbaa !5
  %9573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9574 = load i32, ptr @test_count, align 4, !tbaa !5
  %9575 = load i32, ptr %630, align 4, !tbaa !5
  %9576 = call ptr @s2n_strerror(i32 noundef %9575, ptr noundef nonnull @.str.4) #13
  %9577 = load i32, ptr %630, align 4, !tbaa !5
  %9578 = call ptr @s2n_strerror_debug(i32 noundef %9577, ptr noundef nonnull @.str.4) #13
  %9579 = load i32, ptr %684, align 4, !tbaa !5
  %9580 = call ptr @strerror(i32 noundef %9579) #13
  %9581 = load i32, ptr %684, align 4, !tbaa !5
  %9582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9573, ptr noundef nonnull %.str.5.sink4635, i32 noundef %9574, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.1, i32 noundef 855, ptr noundef %9576, ptr noundef %9578, ptr noundef %9580, i32 noundef %9581) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9583:                                             ; preds = %9555
  %9584 = load i32, ptr @test_count, align 4, !tbaa !5
  %9585 = add nsw i32 %9584, 1
  store i32 %9585, ptr @test_count, align 4, !tbaa !5
  %9586 = load i32, ptr %630, align 4, !tbaa !5
  %9587 = icmp eq i32 %9586, 335544371
  br i1 %9587, label %9610, label %9588

9588:                                             ; preds = %9583
  %9589 = load i32, ptr %684, align 4, !tbaa !5
  %9590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9591 = call i32 @s2n_print_stacktrace(ptr noundef %9590) #13
  %9592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9593 = trunc nuw i8 %9592 to i1
  br i1 %9593, label %9594, label %9598

9594:                                             ; preds = %9588
  %9595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9596 = call i32 @fileno(ptr noundef %9595) #13
  %9597 = call i32 @isatty(i32 noundef %9596) #13
  %.not1230 = icmp eq i32 %9597, 0
  br i1 %.not1230, label %9598, label %9599

9598:                                             ; preds = %9594, %9588
  br label %9599

9599:                                             ; preds = %9594, %9598
  %.str.5.sink4644 = phi ptr [ @.str.5, %9598 ], [ @.str.2, %9594 ]
  store i32 %9589, ptr %684, align 4, !tbaa !5
  %9600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9601 = load i32, ptr @test_count, align 4, !tbaa !5
  %9602 = load i32, ptr %630, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror(i32 noundef %9602, ptr noundef nonnull @.str.4) #13
  %9604 = load i32, ptr %630, align 4, !tbaa !5
  %9605 = call ptr @s2n_strerror_debug(i32 noundef %9604, ptr noundef nonnull @.str.4) #13
  %9606 = load i32, ptr %684, align 4, !tbaa !5
  %9607 = call ptr @strerror(i32 noundef %9606) #13
  %9608 = load i32, ptr %684, align 4, !tbaa !5
  %9609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9600, ptr noundef nonnull %.str.5.sink4644, i32 noundef %9601, ptr noundef nonnull @.str.249, ptr noundef nonnull @.str.1, i32 noundef 855, ptr noundef %9603, ptr noundef %9605, ptr noundef %9607, i32 noundef %9608) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9610:                                             ; preds = %9583
  %9611 = add nsw i32 %9584, 2
  store i32 %9611, ptr @test_count, align 4, !tbaa !5
  %9612 = call ptr @s2n_strerror_debug(i32 noundef 335544371, ptr noundef nonnull @.str.4) #13
  %9613 = icmp eq ptr %9612, null
  br i1 %9613, label %9614, label %9636

9614:                                             ; preds = %9610
  %9615 = load i32, ptr %684, align 4, !tbaa !5
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @s2n_print_stacktrace(ptr noundef %9616) #13
  %9618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9619 = trunc nuw i8 %9618 to i1
  br i1 %9619, label %9620, label %9624

9620:                                             ; preds = %9614
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = call i32 @fileno(ptr noundef %9621) #13
  %9623 = call i32 @isatty(i32 noundef %9622) #13
  %.not1326 = icmp eq i32 %9623, 0
  br i1 %.not1326, label %9624, label %9625

9624:                                             ; preds = %9620, %9614
  br label %9625

9625:                                             ; preds = %9620, %9624
  %.str.5.sink4653 = phi ptr [ @.str.5, %9624 ], [ @.str.2, %9620 ]
  store i32 %9615, ptr %684, align 4, !tbaa !5
  %9626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9627 = load i32, ptr @test_count, align 4, !tbaa !5
  %9628 = load i32, ptr %630, align 4, !tbaa !5
  %9629 = call ptr @s2n_strerror(i32 noundef %9628, ptr noundef nonnull @.str.4) #13
  %9630 = load i32, ptr %630, align 4, !tbaa !5
  %9631 = call ptr @s2n_strerror_debug(i32 noundef %9630, ptr noundef nonnull @.str.4) #13
  %9632 = load i32, ptr %684, align 4, !tbaa !5
  %9633 = call ptr @strerror(i32 noundef %9632) #13
  %9634 = load i32, ptr %684, align 4, !tbaa !5
  %9635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9626, ptr noundef nonnull %.str.5.sink4653, i32 noundef %9627, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 855, ptr noundef %9629, ptr noundef %9631, ptr noundef %9633, i32 noundef %9634) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9636:                                             ; preds = %9610
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = add nsw i32 %9637, 1
  store i32 %9638, ptr @test_count, align 4, !tbaa !5
  %9639 = load ptr, ptr %62, align 8, !tbaa !9
  %9640 = getelementptr inbounds i8, ptr %9639, i64 1248
  %9641 = load i32, ptr %9640, align 8, !tbaa !77
  %9642 = icmp eq i32 %9641, 0
  br i1 %9642, label %9643, label %9665

9643:                                             ; preds = %9636
  %9644 = load i32, ptr %684, align 4, !tbaa !5
  %9645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9646 = call i32 @s2n_print_stacktrace(ptr noundef %9645) #13
  %9647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9648 = trunc nuw i8 %9647 to i1
  br i1 %9648, label %9649, label %9653

9649:                                             ; preds = %9643
  %9650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9651 = call i32 @fileno(ptr noundef %9650) #13
  %9652 = call i32 @isatty(i32 noundef %9651) #13
  %.not1325 = icmp eq i32 %9652, 0
  br i1 %.not1325, label %9653, label %9654

9653:                                             ; preds = %9649, %9643
  br label %9654

9654:                                             ; preds = %9649, %9653
  %.str.5.sink4662 = phi ptr [ @.str.5, %9653 ], [ @.str.2, %9649 ]
  store i32 %9644, ptr %684, align 4, !tbaa !5
  %9655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9656 = load i32, ptr @test_count, align 4, !tbaa !5
  %9657 = load i32, ptr %630, align 4, !tbaa !5
  %9658 = call ptr @s2n_strerror(i32 noundef %9657, ptr noundef nonnull @.str.4) #13
  %9659 = load i32, ptr %630, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror_debug(i32 noundef %9659, ptr noundef nonnull @.str.4) #13
  %9661 = load i32, ptr %684, align 4, !tbaa !5
  %9662 = call ptr @strerror(i32 noundef %9661) #13
  %9663 = load i32, ptr %684, align 4, !tbaa !5
  %9664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9655, ptr noundef nonnull %.str.5.sink4662, i32 noundef %9656, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 856, ptr noundef %9658, ptr noundef %9660, ptr noundef %9662, i32 noundef %9663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9665:                                             ; preds = %9636
  %9666 = add nsw i32 %9637, 2
  store i32 %9666, ptr @test_count, align 4, !tbaa !5
  %9667 = getelementptr inbounds i8, ptr %9639, i64 1240
  %9668 = load ptr, ptr %9667, align 8, !tbaa !76
  %9669 = icmp eq ptr %9668, null
  br i1 %9669, label %9670, label %9692

9670:                                             ; preds = %9665
  %9671 = load i32, ptr %684, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = call i32 @s2n_print_stacktrace(ptr noundef %9672) #13
  %9674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9675 = trunc nuw i8 %9674 to i1
  br i1 %9675, label %9676, label %9680

9676:                                             ; preds = %9670
  %9677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9678 = call i32 @fileno(ptr noundef %9677) #13
  %9679 = call i32 @isatty(i32 noundef %9678) #13
  %.not1324 = icmp eq i32 %9679, 0
  br i1 %.not1324, label %9680, label %9681

9680:                                             ; preds = %9676, %9670
  br label %9681

9681:                                             ; preds = %9676, %9680
  %.str.5.sink4671 = phi ptr [ @.str.5, %9680 ], [ @.str.2, %9676 ]
  store i32 %9671, ptr %684, align 4, !tbaa !5
  %9682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9683 = load i32, ptr @test_count, align 4, !tbaa !5
  %9684 = load i32, ptr %630, align 4, !tbaa !5
  %9685 = call ptr @s2n_strerror(i32 noundef %9684, ptr noundef nonnull @.str.4) #13
  %9686 = load i32, ptr %630, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror_debug(i32 noundef %9686, ptr noundef nonnull @.str.4) #13
  %9688 = load i32, ptr %684, align 4, !tbaa !5
  %9689 = call ptr @strerror(i32 noundef %9688) #13
  %9690 = load i32, ptr %684, align 4, !tbaa !5
  %9691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9682, ptr noundef nonnull %.str.5.sink4671, i32 noundef %9683, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 857, ptr noundef %9685, ptr noundef %9687, ptr noundef %9689, i32 noundef %9690) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9692:                                             ; preds = %9665
  %9693 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %62) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  %9694 = call i32 @s2n_stuffer_free(ptr noundef nonnull %61) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %63) #13
  %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 nonnull %63, i32 noundef 0) #13
  %9698 = icmp eq i32 %9697, -1
  br i1 %9698, label %9699, label %9721

9699:                                             ; preds = %9692
  %9700 = load i32, ptr %684, align 4, !tbaa !5
  %9701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9702 = call i32 @s2n_print_stacktrace(ptr noundef %9701) #13
  %9703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9704 = trunc nuw i8 %9703 to i1
  br i1 %9704, label %9705, label %9709

9705:                                             ; preds = %9699
  %9706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9707 = call i32 @fileno(ptr noundef %9706) #13
  %9708 = call i32 @isatty(i32 noundef %9707) #13
  %.not1323 = icmp eq i32 %9708, 0
  br i1 %.not1323, label %9709, label %9710

9709:                                             ; preds = %9705, %9699
  br label %9710

9710:                                             ; preds = %9705, %9709
  %.str.5.sink4680 = phi ptr [ @.str.5, %9709 ], [ @.str.2, %9705 ]
  store i32 %9700, ptr %684, align 4, !tbaa !5
  %9711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9712 = load i32, ptr @test_count, align 4, !tbaa !5
  %9713 = load i32, ptr %630, align 4, !tbaa !5
  %9714 = call ptr @s2n_strerror(i32 noundef %9713, ptr noundef nonnull @.str.4) #13
  %9715 = load i32, ptr %630, align 4, !tbaa !5
  %9716 = call ptr @s2n_strerror_debug(i32 noundef %9715, ptr noundef nonnull @.str.4) #13
  %9717 = load i32, ptr %684, align 4, !tbaa !5
  %9718 = call ptr @strerror(i32 noundef %9717) #13
  %9719 = load i32, ptr %684, align 4, !tbaa !5
  %9720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9711, ptr noundef nonnull %.str.5.sink4680, i32 noundef %9712, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.1, i32 noundef 863, ptr noundef %9714, ptr noundef %9716, ptr noundef %9718, i32 noundef %9719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9721:                                             ; preds = %9692
  %9722 = load i32, ptr @test_count, align 4, !tbaa !5
  %9723 = add nsw i32 %9722, 1
  store i32 %9723, ptr @test_count, align 4, !tbaa !5
  %9724 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %63, i8 noundef zeroext 0) #13
  %9725 = icmp eq i32 %9724, -1
  br i1 %9725, label %9726, label %9748

9726:                                             ; preds = %9721
  %9727 = load i32, ptr %684, align 4, !tbaa !5
  %9728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9729 = call i32 @s2n_print_stacktrace(ptr noundef %9728) #13
  %9730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9731 = trunc nuw i8 %9730 to i1
  br i1 %9731, label %9732, label %9736

9732:                                             ; preds = %9726
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = call i32 @fileno(ptr noundef %9733) #13
  %9735 = call i32 @isatty(i32 noundef %9734) #13
  %.not1322 = icmp eq i32 %9735, 0
  br i1 %.not1322, label %9736, label %9737

9736:                                             ; preds = %9732, %9726
  br label %9737

9737:                                             ; preds = %9732, %9736
  %.str.5.sink4689 = phi ptr [ @.str.5, %9736 ], [ @.str.2, %9732 ]
  store i32 %9727, ptr %684, align 4, !tbaa !5
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = load i32, ptr @test_count, align 4, !tbaa !5
  %9740 = load i32, ptr %630, align 4, !tbaa !5
  %9741 = call ptr @s2n_strerror(i32 noundef %9740, ptr noundef nonnull @.str.4) #13
  %9742 = load i32, ptr %630, align 4, !tbaa !5
  %9743 = call ptr @s2n_strerror_debug(i32 noundef %9742, ptr noundef nonnull @.str.4) #13
  %9744 = load i32, ptr %684, align 4, !tbaa !5
  %9745 = call ptr @strerror(i32 noundef %9744) #13
  %9746 = load i32, ptr %684, align 4, !tbaa !5
  %9747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9738, ptr noundef nonnull %.str.5.sink4689, i32 noundef %9739, ptr noundef nonnull @.str.250, ptr noundef nonnull @.str.1, i32 noundef 866, ptr noundef %9741, ptr noundef %9743, ptr noundef %9745, i32 noundef %9746) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9748:                                             ; preds = %9721
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %64, i8 0, i64 16, i1 false)
  %9749 = load i32, ptr @test_count, align 4, !tbaa !5
  %9750 = add nsw i32 %9749, 1
  store i32 %9750, ptr @test_count, align 4, !tbaa !5
  %9751 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef nonnull %63, ptr noundef nonnull %64) #13
  %9752 = icmp eq i32 %9751, -1
  br i1 %9752, label %9753, label %9775

9753:                                             ; preds = %9748
  %9754 = load i32, ptr %684, align 4, !tbaa !5
  %9755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9756 = call i32 @s2n_print_stacktrace(ptr noundef %9755) #13
  %9757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9758 = trunc nuw i8 %9757 to i1
  br i1 %9758, label %9759, label %9763

9759:                                             ; preds = %9753
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = call i32 @fileno(ptr noundef %9760) #13
  %9762 = call i32 @isatty(i32 noundef %9761) #13
  %.not1321 = icmp eq i32 %9762, 0
  br i1 %.not1321, label %9763, label %9764

9763:                                             ; preds = %9759, %9753
  br label %9764

9764:                                             ; preds = %9759, %9763
  %.str.5.sink4698 = phi ptr [ @.str.5, %9763 ], [ @.str.2, %9759 ]
  store i32 %9754, ptr %684, align 4, !tbaa !5
  %9765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9766 = load i32, ptr @test_count, align 4, !tbaa !5
  %9767 = load i32, ptr %630, align 4, !tbaa !5
  %9768 = call ptr @s2n_strerror(i32 noundef %9767, ptr noundef nonnull @.str.4) #13
  %9769 = load i32, ptr %630, align 4, !tbaa !5
  %9770 = call ptr @s2n_strerror_debug(i32 noundef %9769, ptr noundef nonnull @.str.4) #13
  %9771 = load i32, ptr %684, align 4, !tbaa !5
  %9772 = call ptr @strerror(i32 noundef %9771) #13
  %9773 = load i32, ptr %684, align 4, !tbaa !5
  %9774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9765, ptr noundef nonnull %.str.5.sink4698, i32 noundef %9766, ptr noundef nonnull @.str.251, ptr noundef nonnull @.str.1, i32 noundef 884, ptr noundef %9768, ptr noundef %9770, ptr noundef %9772, i32 noundef %9773) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9775:                                             ; preds = %9748
  %9776 = load i32, ptr @test_count, align 4, !tbaa !5
  %9777 = add nsw i32 %9776, 1
  store i32 %9777, ptr @test_count, align 4, !tbaa !5
  %9778 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %63, i32 noundef 24) #13
  %9779 = icmp eq i32 %9778, -1
  br i1 %9779, label %9780, label %9802

9780:                                             ; preds = %9775
  %9781 = load i32, ptr %684, align 4, !tbaa !5
  %9782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9783 = call i32 @s2n_print_stacktrace(ptr noundef %9782) #13
  %9784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9785 = trunc nuw i8 %9784 to i1
  br i1 %9785, label %9786, label %9790

9786:                                             ; preds = %9780
  %9787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9788 = call i32 @fileno(ptr noundef %9787) #13
  %9789 = call i32 @isatty(i32 noundef %9788) #13
  %.not1320 = icmp eq i32 %9789, 0
  br i1 %.not1320, label %9790, label %9791

9790:                                             ; preds = %9786, %9780
  br label %9791

9791:                                             ; preds = %9786, %9790
  %.str.5.sink4707 = phi ptr [ @.str.5, %9790 ], [ @.str.2, %9786 ]
  store i32 %9781, ptr %684, align 4, !tbaa !5
  %9792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9793 = load i32, ptr @test_count, align 4, !tbaa !5
  %9794 = load i32, ptr %630, align 4, !tbaa !5
  %9795 = call ptr @s2n_strerror(i32 noundef %9794, ptr noundef nonnull @.str.4) #13
  %9796 = load i32, ptr %630, align 4, !tbaa !5
  %9797 = call ptr @s2n_strerror_debug(i32 noundef %9796, ptr noundef nonnull @.str.4) #13
  %9798 = load i32, ptr %684, align 4, !tbaa !5
  %9799 = call ptr @strerror(i32 noundef %9798) #13
  %9800 = load i32, ptr %684, align 4, !tbaa !5
  %9801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9792, ptr noundef nonnull %.str.5.sink4707, i32 noundef %9793, ptr noundef nonnull @.str.252, ptr noundef nonnull @.str.1, i32 noundef 885, ptr noundef %9795, ptr noundef %9797, ptr noundef %9799, i32 noundef %9800) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9802:                                             ; preds = %9775
  %9803 = load i32, ptr @test_count, align 4, !tbaa !5
  %9804 = add nsw i32 %9803, 1
  store i32 %9804, ptr @test_count, align 4, !tbaa !5
  %9805 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %63, i32 noundef 24) #13
  %9806 = icmp eq i32 %9805, -1
  br i1 %9806, label %9807, label %9829

9807:                                             ; preds = %9802
  %9808 = load i32, ptr %684, align 4, !tbaa !5
  %9809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9810 = call i32 @s2n_print_stacktrace(ptr noundef %9809) #13
  %9811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9812 = trunc nuw i8 %9811 to i1
  br i1 %9812, label %9813, label %9817

9813:                                             ; preds = %9807
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = call i32 @fileno(ptr noundef %9814) #13
  %9816 = call i32 @isatty(i32 noundef %9815) #13
  %.not1319 = icmp eq i32 %9816, 0
  br i1 %.not1319, label %9817, label %9818

9817:                                             ; preds = %9813, %9807
  br label %9818

9818:                                             ; preds = %9813, %9817
  %.str.5.sink4716 = phi ptr [ @.str.5, %9817 ], [ @.str.2, %9813 ]
  store i32 %9808, ptr %684, align 4, !tbaa !5
  %9819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9820 = load i32, ptr @test_count, align 4, !tbaa !5
  %9821 = load i32, ptr %630, align 4, !tbaa !5
  %9822 = call ptr @s2n_strerror(i32 noundef %9821, ptr noundef nonnull @.str.4) #13
  %9823 = load i32, ptr %630, align 4, !tbaa !5
  %9824 = call ptr @s2n_strerror_debug(i32 noundef %9823, ptr noundef nonnull @.str.4) #13
  %9825 = load i32, ptr %684, align 4, !tbaa !5
  %9826 = call ptr @strerror(i32 noundef %9825) #13
  %9827 = load i32, ptr %684, align 4, !tbaa !5
  %9828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9819, ptr noundef nonnull %.str.5.sink4716, i32 noundef %9820, ptr noundef nonnull @.str.253, ptr noundef nonnull @.str.1, i32 noundef 886, ptr noundef %9822, ptr noundef %9824, ptr noundef %9826, i32 noundef %9827) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9829:                                             ; preds = %9802
  %9830 = load i32, ptr @test_count, align 4, !tbaa !5
  %9831 = add nsw i32 %9830, 1
  store i32 %9831, ptr @test_count, align 4, !tbaa !5
  %9832 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %63, i16 noundef zeroext 20) #13
  %9833 = icmp eq i32 %9832, -1
  br i1 %9833, label %9834, label %9856

9834:                                             ; preds = %9829
  %9835 = load i32, ptr %684, align 4, !tbaa !5
  %9836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9837 = call i32 @s2n_print_stacktrace(ptr noundef %9836) #13
  %9838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9839 = trunc nuw i8 %9838 to i1
  br i1 %9839, label %9840, label %9844

9840:                                             ; preds = %9834
  %9841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9842 = call i32 @fileno(ptr noundef %9841) #13
  %9843 = call i32 @isatty(i32 noundef %9842) #13
  %.not1318 = icmp eq i32 %9843, 0
  br i1 %.not1318, label %9844, label %9845

9844:                                             ; preds = %9840, %9834
  br label %9845

9845:                                             ; preds = %9840, %9844
  %.str.5.sink4725 = phi ptr [ @.str.5, %9844 ], [ @.str.2, %9840 ]
  store i32 %9835, ptr %684, align 4, !tbaa !5
  %9846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9847 = load i32, ptr @test_count, align 4, !tbaa !5
  %9848 = load i32, ptr %630, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror(i32 noundef %9848, ptr noundef nonnull @.str.4) #13
  %9850 = load i32, ptr %630, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef nonnull @.str.4) #13
  %9852 = load i32, ptr %684, align 4, !tbaa !5
  %9853 = call ptr @strerror(i32 noundef %9852) #13
  %9854 = load i32, ptr %684, align 4, !tbaa !5
  %9855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9846, ptr noundef nonnull %.str.5.sink4725, i32 noundef %9847, ptr noundef nonnull @.str.254, ptr noundef nonnull @.str.1, i32 noundef 887, ptr noundef %9849, ptr noundef %9851, ptr noundef %9853, i32 noundef %9854) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9856:                                             ; preds = %9829
  %9857 = load i32, ptr @test_count, align 4, !tbaa !5
  %9858 = add nsw i32 %9857, 1
  store i32 %9858, ptr @test_count, align 4, !tbaa !5
  %9859 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %63, i32 noundef 20) #13
  %9860 = icmp eq i32 %9859, -1
  br i1 %9860, label %9861, label %9883

9861:                                             ; preds = %9856
  %9862 = load i32, ptr %684, align 4, !tbaa !5
  %9863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9864 = call i32 @s2n_print_stacktrace(ptr noundef %9863) #13
  %9865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9866 = trunc nuw i8 %9865 to i1
  br i1 %9866, label %9867, label %9871

9867:                                             ; preds = %9861
  %9868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9869 = call i32 @fileno(ptr noundef %9868) #13
  %9870 = call i32 @isatty(i32 noundef %9869) #13
  %.not1317 = icmp eq i32 %9870, 0
  br i1 %.not1317, label %9871, label %9872

9871:                                             ; preds = %9867, %9861
  br label %9872

9872:                                             ; preds = %9867, %9871
  %.str.5.sink4734 = phi ptr [ @.str.5, %9871 ], [ @.str.2, %9867 ]
  store i32 %9862, ptr %684, align 4, !tbaa !5
  %9873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9874 = load i32, ptr @test_count, align 4, !tbaa !5
  %9875 = load i32, ptr %630, align 4, !tbaa !5
  %9876 = call ptr @s2n_strerror(i32 noundef %9875, ptr noundef nonnull @.str.4) #13
  %9877 = load i32, ptr %630, align 4, !tbaa !5
  %9878 = call ptr @s2n_strerror_debug(i32 noundef %9877, ptr noundef nonnull @.str.4) #13
  %9879 = load i32, ptr %684, align 4, !tbaa !5
  %9880 = call ptr @strerror(i32 noundef %9879) #13
  %9881 = load i32, ptr %684, align 4, !tbaa !5
  %9882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9873, ptr noundef nonnull %.str.5.sink4734, i32 noundef %9874, ptr noundef nonnull @.str.255, ptr noundef nonnull @.str.1, i32 noundef 888, ptr noundef %9876, ptr noundef %9878, ptr noundef %9880, i32 noundef %9881) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9883:                                             ; preds = %9856
  %9884 = load i32, ptr @test_count, align 4, !tbaa !5
  %9885 = add nsw i32 %9884, 1
  store i32 %9885, ptr @test_count, align 4, !tbaa !5
  %9886 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %63, i32 noundef 24) #13
  %9887 = icmp eq i32 %9886, -1
  br i1 %9887, label %9888, label %9910

9888:                                             ; preds = %9883
  %9889 = load i32, ptr %684, align 4, !tbaa !5
  %9890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9891 = call i32 @s2n_print_stacktrace(ptr noundef %9890) #13
  %9892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9893 = trunc nuw i8 %9892 to i1
  br i1 %9893, label %9894, label %9898

9894:                                             ; preds = %9888
  %9895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9896 = call i32 @fileno(ptr noundef %9895) #13
  %9897 = call i32 @isatty(i32 noundef %9896) #13
  %.not1316 = icmp eq i32 %9897, 0
  br i1 %.not1316, label %9898, label %9899

9898:                                             ; preds = %9894, %9888
  br label %9899

9899:                                             ; preds = %9894, %9898
  %.str.5.sink4743 = phi ptr [ @.str.5, %9898 ], [ @.str.2, %9894 ]
  store i32 %9889, ptr %684, align 4, !tbaa !5
  %9900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9901 = load i32, ptr @test_count, align 4, !tbaa !5
  %9902 = load i32, ptr %630, align 4, !tbaa !5
  %9903 = call ptr @s2n_strerror(i32 noundef %9902, ptr noundef nonnull @.str.4) #13
  %9904 = load i32, ptr %630, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror_debug(i32 noundef %9904, ptr noundef nonnull @.str.4) #13
  %9906 = load i32, ptr %684, align 4, !tbaa !5
  %9907 = call ptr @strerror(i32 noundef %9906) #13
  %9908 = load i32, ptr %684, align 4, !tbaa !5
  %9909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9900, ptr noundef nonnull %.str.5.sink4743, i32 noundef %9901, ptr noundef nonnull @.str.252, ptr noundef nonnull @.str.1, i32 noundef 889, ptr noundef %9903, ptr noundef %9905, ptr noundef %9907, i32 noundef %9908) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9910:                                             ; preds = %9883
  %9911 = load i32, ptr @test_count, align 4, !tbaa !5
  %9912 = add nsw i32 %9911, 1
  store i32 %9912, ptr @test_count, align 4, !tbaa !5
  %9913 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %63, i32 noundef 24) #13
  %9914 = icmp eq i32 %9913, -1
  br i1 %9914, label %9915, label %9937

9915:                                             ; preds = %9910
  %9916 = load i32, ptr %684, align 4, !tbaa !5
  %9917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9918 = call i32 @s2n_print_stacktrace(ptr noundef %9917) #13
  %9919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9920 = trunc nuw i8 %9919 to i1
  br i1 %9920, label %9921, label %9925

9921:                                             ; preds = %9915
  %9922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9923 = call i32 @fileno(ptr noundef %9922) #13
  %9924 = call i32 @isatty(i32 noundef %9923) #13
  %.not1315 = icmp eq i32 %9924, 0
  br i1 %.not1315, label %9925, label %9926

9925:                                             ; preds = %9921, %9915
  br label %9926

9926:                                             ; preds = %9921, %9925
  %.str.5.sink4752 = phi ptr [ @.str.5, %9925 ], [ @.str.2, %9921 ]
  store i32 %9916, ptr %684, align 4, !tbaa !5
  %9927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9928 = load i32, ptr @test_count, align 4, !tbaa !5
  %9929 = load i32, ptr %630, align 4, !tbaa !5
  %9930 = call ptr @s2n_strerror(i32 noundef %9929, ptr noundef nonnull @.str.4) #13
  %9931 = load i32, ptr %630, align 4, !tbaa !5
  %9932 = call ptr @s2n_strerror_debug(i32 noundef %9931, ptr noundef nonnull @.str.4) #13
  %9933 = load i32, ptr %684, align 4, !tbaa !5
  %9934 = call ptr @strerror(i32 noundef %9933) #13
  %9935 = load i32, ptr %684, align 4, !tbaa !5
  %9936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9927, ptr noundef nonnull %.str.5.sink4752, i32 noundef %9928, ptr noundef nonnull @.str.253, ptr noundef nonnull @.str.1, i32 noundef 890, ptr noundef %9930, ptr noundef %9932, ptr noundef %9934, i32 noundef %9935) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9937:                                             ; preds = %9910
  %9938 = load i32, ptr @test_count, align 4, !tbaa !5
  %9939 = add nsw i32 %9938, 1
  store i32 %9939, ptr @test_count, align 4, !tbaa !5
  %9940 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %63, i16 noundef zeroext 20) #13
  %9941 = icmp eq i32 %9940, -1
  br i1 %9941, label %9942, label %9964

9942:                                             ; preds = %9937
  %9943 = load i32, ptr %684, align 4, !tbaa !5
  %9944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9945 = call i32 @s2n_print_stacktrace(ptr noundef %9944) #13
  %9946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9947 = trunc nuw i8 %9946 to i1
  br i1 %9947, label %9948, label %9952

9948:                                             ; preds = %9942
  %9949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9950 = call i32 @fileno(ptr noundef %9949) #13
  %9951 = call i32 @isatty(i32 noundef %9950) #13
  %.not1314 = icmp eq i32 %9951, 0
  br i1 %.not1314, label %9952, label %9953

9952:                                             ; preds = %9948, %9942
  br label %9953

9953:                                             ; preds = %9948, %9952
  %.str.5.sink4761 = phi ptr [ @.str.5, %9952 ], [ @.str.2, %9948 ]
  store i32 %9943, ptr %684, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = load i32, ptr @test_count, align 4, !tbaa !5
  %9956 = load i32, ptr %630, align 4, !tbaa !5
  %9957 = call ptr @s2n_strerror(i32 noundef %9956, ptr noundef nonnull @.str.4) #13
  %9958 = load i32, ptr %630, align 4, !tbaa !5
  %9959 = call ptr @s2n_strerror_debug(i32 noundef %9958, ptr noundef nonnull @.str.4) #13
  %9960 = load i32, ptr %684, align 4, !tbaa !5
  %9961 = call ptr @strerror(i32 noundef %9960) #13
  %9962 = load i32, ptr %684, align 4, !tbaa !5
  %9963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9954, ptr noundef nonnull %.str.5.sink4761, i32 noundef %9955, ptr noundef nonnull @.str.254, ptr noundef nonnull @.str.1, i32 noundef 891, ptr noundef %9957, ptr noundef %9959, ptr noundef %9961, i32 noundef %9962) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9964:                                             ; preds = %9937
  %9965 = load i32, ptr @test_count, align 4, !tbaa !5
  %9966 = add nsw i32 %9965, 1
  store i32 %9966, ptr @test_count, align 4, !tbaa !5
  %9967 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %63, i32 noundef 20) #13
  %9968 = icmp eq i32 %9967, -1
  br i1 %9968, label %9969, label %9991

9969:                                             ; preds = %9964
  %9970 = load i32, ptr %684, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = call i32 @s2n_print_stacktrace(ptr noundef %9971) #13
  %9973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9974 = trunc nuw i8 %9973 to i1
  br i1 %9974, label %9975, label %9979

9975:                                             ; preds = %9969
  %9976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9977 = call i32 @fileno(ptr noundef %9976) #13
  %9978 = call i32 @isatty(i32 noundef %9977) #13
  %.not1313 = icmp eq i32 %9978, 0
  br i1 %.not1313, label %9979, label %9980

9979:                                             ; preds = %9975, %9969
  br label %9980

9980:                                             ; preds = %9975, %9979
  %.str.5.sink4770 = phi ptr [ @.str.5, %9979 ], [ @.str.2, %9975 ]
  store i32 %9970, ptr %684, align 4, !tbaa !5
  %9981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9982 = load i32, ptr @test_count, align 4, !tbaa !5
  %9983 = load i32, ptr %630, align 4, !tbaa !5
  %9984 = call ptr @s2n_strerror(i32 noundef %9983, ptr noundef nonnull @.str.4) #13
  %9985 = load i32, ptr %630, align 4, !tbaa !5
  %9986 = call ptr @s2n_strerror_debug(i32 noundef %9985, ptr noundef nonnull @.str.4) #13
  %9987 = load i32, ptr %684, align 4, !tbaa !5
  %9988 = call ptr @strerror(i32 noundef %9987) #13
  %9989 = load i32, ptr %684, align 4, !tbaa !5
  %9990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9981, ptr noundef nonnull %.str.5.sink4770, i32 noundef %9982, ptr noundef nonnull @.str.255, ptr noundef nonnull @.str.1, i32 noundef 892, ptr noundef %9984, ptr noundef %9986, ptr noundef %9988, i32 noundef %9989) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9991:                                             ; preds = %9964
  %9992 = load i32, ptr @test_count, align 4, !tbaa !5
  %9993 = add nsw i32 %9992, 1
  store i32 %9993, ptr @test_count, align 4, !tbaa !5
  %9994 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %64) #13
  %9995 = icmp eq i32 %9994, -1
  br i1 %9995, label %9996, label %10018

9996:                                             ; preds = %9991
  %9997 = load i32, ptr %684, align 4, !tbaa !5
  %9998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9999 = call i32 @s2n_print_stacktrace(ptr noundef %9998) #13
  %10000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10001 = trunc nuw i8 %10000 to i1
  br i1 %10001, label %10002, label %10006

10002:                                            ; preds = %9996
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @fileno(ptr noundef %10003) #13
  %10005 = call i32 @isatty(i32 noundef %10004) #13
  %.not1312 = icmp eq i32 %10005, 0
  br i1 %.not1312, label %10006, label %10007

10006:                                            ; preds = %10002, %9996
  br label %10007

10007:                                            ; preds = %10002, %10006
  %.str.5.sink4779 = phi ptr [ @.str.5, %10006 ], [ @.str.2, %10002 ]
  store i32 %9997, ptr %684, align 4, !tbaa !5
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = load i32, ptr @test_count, align 4, !tbaa !5
  %10010 = load i32, ptr %630, align 4, !tbaa !5
  %10011 = call ptr @s2n_strerror(i32 noundef %10010, ptr noundef nonnull @.str.4) #13
  %10012 = load i32, ptr %630, align 4, !tbaa !5
  %10013 = call ptr @s2n_strerror_debug(i32 noundef %10012, ptr noundef nonnull @.str.4) #13
  %10014 = load i32, ptr %684, align 4, !tbaa !5
  %10015 = call ptr @strerror(i32 noundef %10014) #13
  %10016 = load i32, ptr %684, align 4, !tbaa !5
  %10017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10008, ptr noundef nonnull %.str.5.sink4779, i32 noundef %10009, ptr noundef nonnull @.str.256, ptr noundef nonnull @.str.1, i32 noundef 893, ptr noundef %10011, ptr noundef %10013, ptr noundef %10015, i32 noundef %10016) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10018:                                            ; preds = %9991
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #13
  %10019 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %10019, ptr %65, align 8, !tbaa !9
  %10020 = getelementptr inbounds i8, ptr %10019, i64 220
  store i8 34, ptr %10020, align 4, !tbaa !75
  %10021 = load i32, ptr @test_count, align 4, !tbaa !5
  %10022 = add nsw i32 %10021, 1
  store i32 %10022, ptr @test_count, align 4, !tbaa !5
  %10023 = getelementptr inbounds i8, ptr %10019, i64 2016
  %10024 = getelementptr inbounds i8, ptr %63, i64 28
  %10025 = load i32, ptr %10024, align 4, !tbaa !78
  %10026 = getelementptr inbounds i8, ptr %63, i64 24
  %10027 = load i32, ptr %10026, align 8, !tbaa !79
  %10028 = sub i32 %10025, %10027
  %10029 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %63, ptr noundef nonnull %10023, i32 noundef %10028) #13
  %10030 = icmp eq i32 %10029, -1
  br i1 %10030, label %10031, label %10053

10031:                                            ; preds = %10018
  %10032 = load i32, ptr %684, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = call i32 @s2n_print_stacktrace(ptr noundef %10033) #13
  %10035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10036 = trunc nuw i8 %10035 to i1
  br i1 %10036, label %10037, label %10041

10037:                                            ; preds = %10031
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = call i32 @fileno(ptr noundef %10038) #13
  %10040 = call i32 @isatty(i32 noundef %10039) #13
  %.not1311 = icmp eq i32 %10040, 0
  br i1 %.not1311, label %10041, label %10042

10041:                                            ; preds = %10037, %10031
  br label %10042

10042:                                            ; preds = %10037, %10041
  %.str.5.sink4788 = phi ptr [ @.str.5, %10041 ], [ @.str.2, %10037 ]
  store i32 %10032, ptr %684, align 4, !tbaa !5
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = load i32, ptr @test_count, align 4, !tbaa !5
  %10045 = load i32, ptr %630, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror(i32 noundef %10045, ptr noundef nonnull @.str.4) #13
  %10047 = load i32, ptr %630, align 4, !tbaa !5
  %10048 = call ptr @s2n_strerror_debug(i32 noundef %10047, ptr noundef nonnull @.str.4) #13
  %10049 = load i32, ptr %684, align 4, !tbaa !5
  %10050 = call ptr @strerror(i32 noundef %10049) #13
  %10051 = load i32, ptr %684, align 4, !tbaa !5
  %10052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10043, ptr noundef nonnull %.str.5.sink4788, i32 noundef %10044, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 904, ptr noundef %10046, ptr noundef %10048, ptr noundef %10050, i32 noundef %10051) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10053:                                            ; preds = %10018
  %10054 = load i32, ptr @test_count, align 4, !tbaa !5
  %10055 = add nsw i32 %10054, 1
  store i32 %10055, ptr @test_count, align 4, !tbaa !5
  %10056 = load ptr, ptr %65, align 8, !tbaa !9
  %10057 = call i32 @s2n_client_cert_recv(ptr noundef %10056) #13
  %10058 = icmp eq i32 %10057, -1
  br i1 %10058, label %10081, label %10059

10059:                                            ; preds = %10053
  %10060 = load i32, ptr %684, align 4, !tbaa !5
  %10061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10062 = call i32 @s2n_print_stacktrace(ptr noundef %10061) #13
  %10063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10064 = trunc nuw i8 %10063 to i1
  br i1 %10064, label %10065, label %10069

10065:                                            ; preds = %10059
  %10066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10067 = call i32 @fileno(ptr noundef %10066) #13
  %10068 = call i32 @isatty(i32 noundef %10067) #13
  %.not1231 = icmp eq i32 %10068, 0
  br i1 %.not1231, label %10069, label %10070

10069:                                            ; preds = %10065, %10059
  br label %10070

10070:                                            ; preds = %10065, %10069
  %.str.5.sink4797 = phi ptr [ @.str.5, %10069 ], [ @.str.2, %10065 ]
  store i32 %10060, ptr %684, align 4, !tbaa !5
  %10071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10072 = load i32, ptr @test_count, align 4, !tbaa !5
  %10073 = load i32, ptr %630, align 4, !tbaa !5
  %10074 = call ptr @s2n_strerror(i32 noundef %10073, ptr noundef nonnull @.str.4) #13
  %10075 = load i32, ptr %630, align 4, !tbaa !5
  %10076 = call ptr @s2n_strerror_debug(i32 noundef %10075, ptr noundef nonnull @.str.4) #13
  %10077 = load i32, ptr %684, align 4, !tbaa !5
  %10078 = call ptr @strerror(i32 noundef %10077) #13
  %10079 = load i32, ptr %684, align 4, !tbaa !5
  %10080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10071, ptr noundef nonnull %.str.5.sink4797, i32 noundef %10072, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.1, i32 noundef 906, ptr noundef %10074, ptr noundef %10076, ptr noundef %10078, i32 noundef %10079) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10081:                                            ; preds = %10053
  %10082 = load i32, ptr @test_count, align 4, !tbaa !5
  %10083 = add nsw i32 %10082, 1
  store i32 %10083, ptr @test_count, align 4, !tbaa !5
  %10084 = load i32, ptr %630, align 4, !tbaa !5
  %10085 = icmp eq i32 %10084, 335544344
  br i1 %10085, label %10108, label %10086

10086:                                            ; preds = %10081
  %10087 = load i32, ptr %684, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = call i32 @s2n_print_stacktrace(ptr noundef %10088) #13
  %10090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10091 = trunc nuw i8 %10090 to i1
  br i1 %10091, label %10092, label %10096

10092:                                            ; preds = %10086
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = call i32 @fileno(ptr noundef %10093) #13
  %10095 = call i32 @isatty(i32 noundef %10094) #13
  %.not1232 = icmp eq i32 %10095, 0
  br i1 %.not1232, label %10096, label %10097

10096:                                            ; preds = %10092, %10086
  br label %10097

10097:                                            ; preds = %10092, %10096
  %.str.5.sink4806 = phi ptr [ @.str.5, %10096 ], [ @.str.2, %10092 ]
  store i32 %10087, ptr %684, align 4, !tbaa !5
  %10098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10099 = load i32, ptr @test_count, align 4, !tbaa !5
  %10100 = load i32, ptr %630, align 4, !tbaa !5
  %10101 = call ptr @s2n_strerror(i32 noundef %10100, ptr noundef nonnull @.str.4) #13
  %10102 = load i32, ptr %630, align 4, !tbaa !5
  %10103 = call ptr @s2n_strerror_debug(i32 noundef %10102, ptr noundef nonnull @.str.4) #13
  %10104 = load i32, ptr %684, align 4, !tbaa !5
  %10105 = call ptr @strerror(i32 noundef %10104) #13
  %10106 = load i32, ptr %684, align 4, !tbaa !5
  %10107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10098, ptr noundef nonnull %.str.5.sink4806, i32 noundef %10099, ptr noundef nonnull @.str.257, ptr noundef nonnull @.str.1, i32 noundef 906, ptr noundef %10101, ptr noundef %10103, ptr noundef %10105, i32 noundef %10106) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10108:                                            ; preds = %10081
  %10109 = add nsw i32 %10082, 2
  store i32 %10109, ptr @test_count, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror_debug(i32 noundef 335544344, ptr noundef nonnull @.str.4) #13
  %10111 = icmp eq ptr %10110, null
  br i1 %10111, label %10112, label %10134

10112:                                            ; preds = %10108
  %10113 = load i32, ptr %684, align 4, !tbaa !5
  %10114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10115 = call i32 @s2n_print_stacktrace(ptr noundef %10114) #13
  %10116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10117 = trunc nuw i8 %10116 to i1
  br i1 %10117, label %10118, label %10122

10118:                                            ; preds = %10112
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = call i32 @fileno(ptr noundef %10119) #13
  %10121 = call i32 @isatty(i32 noundef %10120) #13
  %.not1310 = icmp eq i32 %10121, 0
  br i1 %.not1310, label %10122, label %10123

10122:                                            ; preds = %10118, %10112
  br label %10123

10123:                                            ; preds = %10118, %10122
  %.str.5.sink4815 = phi ptr [ @.str.5, %10122 ], [ @.str.2, %10118 ]
  store i32 %10113, ptr %684, align 4, !tbaa !5
  %10124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10125 = load i32, ptr @test_count, align 4, !tbaa !5
  %10126 = load i32, ptr %630, align 4, !tbaa !5
  %10127 = call ptr @s2n_strerror(i32 noundef %10126, ptr noundef nonnull @.str.4) #13
  %10128 = load i32, ptr %630, align 4, !tbaa !5
  %10129 = call ptr @s2n_strerror_debug(i32 noundef %10128, ptr noundef nonnull @.str.4) #13
  %10130 = load i32, ptr %684, align 4, !tbaa !5
  %10131 = call ptr @strerror(i32 noundef %10130) #13
  %10132 = load i32, ptr %684, align 4, !tbaa !5
  %10133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10124, ptr noundef nonnull %.str.5.sink4815, i32 noundef %10125, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 906, ptr noundef %10127, ptr noundef %10129, ptr noundef %10131, i32 noundef %10132) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10134:                                            ; preds = %10108
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %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 %65, align 8, !tbaa !9
  %10138 = getelementptr inbounds i8, ptr %10137, i64 1248
  %10139 = load i32, ptr %10138, align 8, !tbaa !77
  %10140 = icmp eq i32 %10139, 0
  br i1 %10140, label %10141, label %10163

10141:                                            ; preds = %10134
  %10142 = load i32, ptr %684, align 4, !tbaa !5
  %10143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10144 = call i32 @s2n_print_stacktrace(ptr noundef %10143) #13
  %10145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10146 = trunc nuw i8 %10145 to i1
  br i1 %10146, label %10147, label %10151

10147:                                            ; preds = %10141
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = call i32 @fileno(ptr noundef %10148) #13
  %10150 = call i32 @isatty(i32 noundef %10149) #13
  %.not1309 = icmp eq i32 %10150, 0
  br i1 %.not1309, label %10151, label %10152

10151:                                            ; preds = %10147, %10141
  br label %10152

10152:                                            ; preds = %10147, %10151
  %.str.5.sink4824 = phi ptr [ @.str.5, %10151 ], [ @.str.2, %10147 ]
  store i32 %10142, ptr %684, align 4, !tbaa !5
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = load i32, ptr @test_count, align 4, !tbaa !5
  %10155 = load i32, ptr %630, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror(i32 noundef %10155, ptr noundef nonnull @.str.4) #13
  %10157 = load i32, ptr %630, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror_debug(i32 noundef %10157, ptr noundef nonnull @.str.4) #13
  %10159 = load i32, ptr %684, align 4, !tbaa !5
  %10160 = call ptr @strerror(i32 noundef %10159) #13
  %10161 = load i32, ptr %684, align 4, !tbaa !5
  %10162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10153, ptr noundef nonnull %.str.5.sink4824, i32 noundef %10154, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 907, ptr noundef %10156, ptr noundef %10158, ptr noundef %10160, i32 noundef %10161) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10163:                                            ; preds = %10134
  %10164 = add nsw i32 %10135, 2
  store i32 %10164, ptr @test_count, align 4, !tbaa !5
  %10165 = getelementptr inbounds i8, ptr %10137, i64 1240
  %10166 = load ptr, ptr %10165, align 8, !tbaa !76
  %10167 = icmp eq ptr %10166, null
  br i1 %10167, label %10168, label %10190

10168:                                            ; preds = %10163
  %10169 = load i32, ptr %684, align 4, !tbaa !5
  %10170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10171 = call i32 @s2n_print_stacktrace(ptr noundef %10170) #13
  %10172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10173 = trunc nuw i8 %10172 to i1
  br i1 %10173, label %10174, label %10178

10174:                                            ; preds = %10168
  %10175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10176 = call i32 @fileno(ptr noundef %10175) #13
  %10177 = call i32 @isatty(i32 noundef %10176) #13
  %.not1308 = icmp eq i32 %10177, 0
  br i1 %.not1308, label %10178, label %10179

10178:                                            ; preds = %10174, %10168
  br label %10179

10179:                                            ; preds = %10174, %10178
  %.str.5.sink4833 = phi ptr [ @.str.5, %10178 ], [ @.str.2, %10174 ]
  store i32 %10169, ptr %684, align 4, !tbaa !5
  %10180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10181 = load i32, ptr @test_count, align 4, !tbaa !5
  %10182 = load i32, ptr %630, align 4, !tbaa !5
  %10183 = call ptr @s2n_strerror(i32 noundef %10182, ptr noundef nonnull @.str.4) #13
  %10184 = load i32, ptr %630, align 4, !tbaa !5
  %10185 = call ptr @s2n_strerror_debug(i32 noundef %10184, ptr noundef nonnull @.str.4) #13
  %10186 = load i32, ptr %684, align 4, !tbaa !5
  %10187 = call ptr @strerror(i32 noundef %10186) #13
  %10188 = load i32, ptr %684, align 4, !tbaa !5
  %10189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10180, ptr noundef nonnull %.str.5.sink4833, i32 noundef %10181, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %10183, ptr noundef %10185, ptr noundef %10187, i32 noundef %10188) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10190:                                            ; preds = %10163
  %10191 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %65) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #13
  %10192 = load i32, ptr @test_count, align 4, !tbaa !5
  %10193 = add nsw i32 %10192, 1
  store i32 %10193, ptr @test_count, align 4, !tbaa !5
  %10194 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %63) #13
  %10195 = icmp eq i32 %10194, -1
  br i1 %10195, label %10196, label %10218

10196:                                            ; preds = %10190
  %10197 = load i32, ptr %684, align 4, !tbaa !5
  %10198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10199 = call i32 @s2n_print_stacktrace(ptr noundef %10198) #13
  %10200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10201 = trunc nuw i8 %10200 to i1
  br i1 %10201, label %10202, label %10206

10202:                                            ; preds = %10196
  %10203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10204 = call i32 @fileno(ptr noundef %10203) #13
  %10205 = call i32 @isatty(i32 noundef %10204) #13
  %.not1307 = icmp eq i32 %10205, 0
  br i1 %.not1307, label %10206, label %10207

10206:                                            ; preds = %10202, %10196
  br label %10207

10207:                                            ; preds = %10202, %10206
  %.str.5.sink4842 = phi ptr [ @.str.5, %10206 ], [ @.str.2, %10202 ]
  store i32 %10197, ptr %684, align 4, !tbaa !5
  %10208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10209 = load i32, ptr @test_count, align 4, !tbaa !5
  %10210 = load i32, ptr %630, align 4, !tbaa !5
  %10211 = call ptr @s2n_strerror(i32 noundef %10210, ptr noundef nonnull @.str.4) #13
  %10212 = load i32, ptr %630, align 4, !tbaa !5
  %10213 = call ptr @s2n_strerror_debug(i32 noundef %10212, ptr noundef nonnull @.str.4) #13
  %10214 = load i32, ptr %684, align 4, !tbaa !5
  %10215 = call ptr @strerror(i32 noundef %10214) #13
  %10216 = load i32, ptr %684, align 4, !tbaa !5
  %10217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10208, ptr noundef nonnull %.str.5.sink4842, i32 noundef %10209, ptr noundef nonnull @.str.258, ptr noundef nonnull @.str.1, i32 noundef 916, ptr noundef %10211, ptr noundef %10213, ptr noundef %10215, i32 noundef %10216) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10218:                                            ; preds = %10190
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %10220 = add nsw i32 %10219, 1
  store i32 %10220, ptr @test_count, align 4, !tbaa !5
  %10221 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %63, i32 noundef 1) #13
  %10222 = icmp eq i32 %10221, -1
  br i1 %10222, label %10223, label %10245

10223:                                            ; preds = %10218
  %10224 = load i32, ptr %684, align 4, !tbaa !5
  %10225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10226 = call i32 @s2n_print_stacktrace(ptr noundef %10225) #13
  %10227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10228 = trunc nuw i8 %10227 to i1
  br i1 %10228, label %10229, label %10233

10229:                                            ; preds = %10223
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = call i32 @fileno(ptr noundef %10230) #13
  %10232 = call i32 @isatty(i32 noundef %10231) #13
  %.not1306 = icmp eq i32 %10232, 0
  br i1 %.not1306, label %10233, label %10234

10233:                                            ; preds = %10229, %10223
  br label %10234

10234:                                            ; preds = %10229, %10233
  %.str.5.sink4851 = phi ptr [ @.str.5, %10233 ], [ @.str.2, %10229 ]
  store i32 %10224, ptr %684, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = load i32, ptr @test_count, align 4, !tbaa !5
  %10237 = load i32, ptr %630, align 4, !tbaa !5
  %10238 = call ptr @s2n_strerror(i32 noundef %10237, ptr noundef nonnull @.str.4) #13
  %10239 = load i32, ptr %630, align 4, !tbaa !5
  %10240 = call ptr @s2n_strerror_debug(i32 noundef %10239, ptr noundef nonnull @.str.4) #13
  %10241 = load i32, ptr %684, align 4, !tbaa !5
  %10242 = call ptr @strerror(i32 noundef %10241) #13
  %10243 = load i32, ptr %684, align 4, !tbaa !5
  %10244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef nonnull %.str.5.sink4851, i32 noundef %10236, ptr noundef nonnull @.str.259, ptr noundef nonnull @.str.1, i32 noundef 917, ptr noundef %10238, ptr noundef %10240, ptr noundef %10242, i32 noundef %10243) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10245:                                            ; preds = %10218
  %10246 = load i32, ptr @test_count, align 4, !tbaa !5
  %10247 = add nsw i32 %10246, 1
  store i32 %10247, ptr @test_count, align 4, !tbaa !5
  %10248 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %64) #13
  %10249 = icmp eq i32 %10248, -1
  br i1 %10249, label %10250, label %10272

10250:                                            ; preds = %10245
  %10251 = load i32, ptr %684, align 4, !tbaa !5
  %10252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10253 = call i32 @s2n_print_stacktrace(ptr noundef %10252) #13
  %10254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10255 = trunc nuw i8 %10254 to i1
  br i1 %10255, label %10256, label %10260

10256:                                            ; preds = %10250
  %10257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10258 = call i32 @fileno(ptr noundef %10257) #13
  %10259 = call i32 @isatty(i32 noundef %10258) #13
  %.not1305 = icmp eq i32 %10259, 0
  br i1 %.not1305, label %10260, label %10261

10260:                                            ; preds = %10256, %10250
  br label %10261

10261:                                            ; preds = %10256, %10260
  %.str.5.sink4860 = phi ptr [ @.str.5, %10260 ], [ @.str.2, %10256 ]
  store i32 %10251, ptr %684, align 4, !tbaa !5
  %10262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10263 = load i32, ptr @test_count, align 4, !tbaa !5
  %10264 = load i32, ptr %630, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror(i32 noundef %10264, ptr noundef nonnull @.str.4) #13
  %10266 = load i32, ptr %630, align 4, !tbaa !5
  %10267 = call ptr @s2n_strerror_debug(i32 noundef %10266, ptr noundef nonnull @.str.4) #13
  %10268 = load i32, ptr %684, align 4, !tbaa !5
  %10269 = call ptr @strerror(i32 noundef %10268) #13
  %10270 = load i32, ptr %684, align 4, !tbaa !5
  %10271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10262, ptr noundef nonnull %.str.5.sink4860, i32 noundef %10263, ptr noundef nonnull @.str.256, ptr noundef nonnull @.str.1, i32 noundef 918, ptr noundef %10265, ptr noundef %10267, ptr noundef %10269, i32 noundef %10270) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10272:                                            ; preds = %10245
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #13
  %10273 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %10273, ptr %66, align 8, !tbaa !9
  %10274 = getelementptr inbounds i8, ptr %10273, i64 220
  store i8 34, ptr %10274, align 4, !tbaa !75
  %10275 = load i32, ptr @test_count, align 4, !tbaa !5
  %10276 = add nsw i32 %10275, 1
  store i32 %10276, ptr @test_count, align 4, !tbaa !5
  %10277 = getelementptr inbounds i8, ptr %10273, i64 2016
  %10278 = load i32, ptr %10024, align 4, !tbaa !78
  %10279 = load i32, ptr %10026, align 8, !tbaa !79
  %10280 = sub i32 %10278, %10279
  %10281 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %63, ptr noundef nonnull %10277, i32 noundef %10280) #13
  %10282 = icmp eq i32 %10281, -1
  br i1 %10282, label %10283, label %10305

10283:                                            ; preds = %10272
  %10284 = load i32, ptr %684, align 4, !tbaa !5
  %10285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10286 = call i32 @s2n_print_stacktrace(ptr noundef %10285) #13
  %10287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10288 = trunc nuw i8 %10287 to i1
  br i1 %10288, label %10289, label %10293

10289:                                            ; preds = %10283
  %10290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10291 = call i32 @fileno(ptr noundef %10290) #13
  %10292 = call i32 @isatty(i32 noundef %10291) #13
  %.not1304 = icmp eq i32 %10292, 0
  br i1 %.not1304, label %10293, label %10294

10293:                                            ; preds = %10289, %10283
  br label %10294

10294:                                            ; preds = %10289, %10293
  %.str.5.sink4869 = phi ptr [ @.str.5, %10293 ], [ @.str.2, %10289 ]
  store i32 %10284, ptr %684, align 4, !tbaa !5
  %10295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10296 = load i32, ptr @test_count, align 4, !tbaa !5
  %10297 = load i32, ptr %630, align 4, !tbaa !5
  %10298 = call ptr @s2n_strerror(i32 noundef %10297, ptr noundef nonnull @.str.4) #13
  %10299 = load i32, ptr %630, align 4, !tbaa !5
  %10300 = call ptr @s2n_strerror_debug(i32 noundef %10299, ptr noundef nonnull @.str.4) #13
  %10301 = load i32, ptr %684, align 4, !tbaa !5
  %10302 = call ptr @strerror(i32 noundef %10301) #13
  %10303 = load i32, ptr %684, align 4, !tbaa !5
  %10304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10295, ptr noundef nonnull %.str.5.sink4869, i32 noundef %10296, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 924, ptr noundef %10298, ptr noundef %10300, ptr noundef %10302, i32 noundef %10303) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10305:                                            ; preds = %10272
  %10306 = load i32, ptr @test_count, align 4, !tbaa !5
  %10307 = add nsw i32 %10306, 1
  store i32 %10307, ptr @test_count, align 4, !tbaa !5
  %10308 = load ptr, ptr %66, align 8, !tbaa !9
  %10309 = call i32 @s2n_client_cert_recv(ptr noundef %10308) #13
  %10310 = icmp eq i32 %10309, -1
  br i1 %10310, label %10333, label %10311

10311:                                            ; preds = %10305
  %10312 = load i32, ptr %684, align 4, !tbaa !5
  %10313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10314 = call i32 @s2n_print_stacktrace(ptr noundef %10313) #13
  %10315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10316 = trunc nuw i8 %10315 to i1
  br i1 %10316, label %10317, label %10321

10317:                                            ; preds = %10311
  %10318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10319 = call i32 @fileno(ptr noundef %10318) #13
  %10320 = call i32 @isatty(i32 noundef %10319) #13
  %.not1233 = icmp eq i32 %10320, 0
  br i1 %.not1233, label %10321, label %10322

10321:                                            ; preds = %10317, %10311
  br label %10322

10322:                                            ; preds = %10317, %10321
  %.str.5.sink4878 = phi ptr [ @.str.5, %10321 ], [ @.str.2, %10317 ]
  store i32 %10312, ptr %684, align 4, !tbaa !5
  %10323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = load i32, ptr %630, align 4, !tbaa !5
  %10326 = call ptr @s2n_strerror(i32 noundef %10325, ptr noundef nonnull @.str.4) #13
  %10327 = load i32, ptr %630, align 4, !tbaa !5
  %10328 = call ptr @s2n_strerror_debug(i32 noundef %10327, ptr noundef nonnull @.str.4) #13
  %10329 = load i32, ptr %684, align 4, !tbaa !5
  %10330 = call ptr @strerror(i32 noundef %10329) #13
  %10331 = load i32, ptr %684, align 4, !tbaa !5
  %10332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10323, ptr noundef nonnull %.str.5.sink4878, i32 noundef %10324, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %10326, ptr noundef %10328, ptr noundef %10330, i32 noundef %10331) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10333:                                            ; preds = %10305
  %10334 = load i32, ptr @test_count, align 4, !tbaa !5
  %10335 = add nsw i32 %10334, 1
  store i32 %10335, ptr @test_count, align 4, !tbaa !5
  %10336 = load i32, ptr %630, align 4, !tbaa !5
  %10337 = icmp eq i32 %10336, 335544322
  br i1 %10337, label %10360, label %10338

10338:                                            ; preds = %10333
  %10339 = load i32, ptr %684, align 4, !tbaa !5
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = call i32 @s2n_print_stacktrace(ptr noundef %10340) #13
  %10342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10343 = trunc nuw i8 %10342 to i1
  br i1 %10343, label %10344, label %10348

10344:                                            ; preds = %10338
  %10345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10346 = call i32 @fileno(ptr noundef %10345) #13
  %10347 = call i32 @isatty(i32 noundef %10346) #13
  %.not1234 = icmp eq i32 %10347, 0
  br i1 %.not1234, label %10348, label %10349

10348:                                            ; preds = %10344, %10338
  br label %10349

10349:                                            ; preds = %10344, %10348
  %.str.5.sink4887 = phi ptr [ @.str.5, %10348 ], [ @.str.2, %10344 ]
  store i32 %10339, ptr %684, align 4, !tbaa !5
  %10350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10351 = load i32, ptr @test_count, align 4, !tbaa !5
  %10352 = load i32, ptr %630, align 4, !tbaa !5
  %10353 = call ptr @s2n_strerror(i32 noundef %10352, ptr noundef nonnull @.str.4) #13
  %10354 = load i32, ptr %630, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror_debug(i32 noundef %10354, ptr noundef nonnull @.str.4) #13
  %10356 = load i32, ptr %684, align 4, !tbaa !5
  %10357 = call ptr @strerror(i32 noundef %10356) #13
  %10358 = load i32, ptr %684, align 4, !tbaa !5
  %10359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10350, ptr noundef nonnull %.str.5.sink4887, i32 noundef %10351, ptr noundef nonnull @.str.260, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %10353, ptr noundef %10355, ptr noundef %10357, i32 noundef %10358) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10360:                                            ; preds = %10333
  %10361 = add nsw i32 %10334, 2
  store i32 %10361, ptr @test_count, align 4, !tbaa !5
  %10362 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #13
  %10363 = icmp eq ptr %10362, null
  br i1 %10363, label %10364, label %10386

10364:                                            ; preds = %10360
  %10365 = load i32, ptr %684, align 4, !tbaa !5
  %10366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10367 = call i32 @s2n_print_stacktrace(ptr noundef %10366) #13
  %10368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10369 = trunc nuw i8 %10368 to i1
  br i1 %10369, label %10370, label %10374

10370:                                            ; preds = %10364
  %10371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10372 = call i32 @fileno(ptr noundef %10371) #13
  %10373 = call i32 @isatty(i32 noundef %10372) #13
  %.not1303 = icmp eq i32 %10373, 0
  br i1 %.not1303, label %10374, label %10375

10374:                                            ; preds = %10370, %10364
  br label %10375

10375:                                            ; preds = %10370, %10374
  %.str.5.sink4896 = phi ptr [ @.str.5, %10374 ], [ @.str.2, %10370 ]
  store i32 %10365, ptr %684, align 4, !tbaa !5
  %10376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10377 = load i32, ptr @test_count, align 4, !tbaa !5
  %10378 = load i32, ptr %630, align 4, !tbaa !5
  %10379 = call ptr @s2n_strerror(i32 noundef %10378, ptr noundef nonnull @.str.4) #13
  %10380 = load i32, ptr %630, align 4, !tbaa !5
  %10381 = call ptr @s2n_strerror_debug(i32 noundef %10380, ptr noundef nonnull @.str.4) #13
  %10382 = load i32, ptr %684, align 4, !tbaa !5
  %10383 = call ptr @strerror(i32 noundef %10382) #13
  %10384 = load i32, ptr %684, align 4, !tbaa !5
  %10385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10376, ptr noundef nonnull %.str.5.sink4896, i32 noundef %10377, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %10379, ptr noundef %10381, ptr noundef %10383, i32 noundef %10384) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10386:                                            ; preds = %10360
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %10387 = load i32, ptr @test_count, align 4, !tbaa !5
  %10388 = add nsw i32 %10387, 1
  store i32 %10388, ptr @test_count, align 4, !tbaa !5
  %10389 = load ptr, ptr %66, align 8, !tbaa !9
  %10390 = getelementptr inbounds i8, ptr %10389, i64 1248
  %10391 = load i32, ptr %10390, align 8, !tbaa !77
  %10392 = icmp eq i32 %10391, 0
  br i1 %10392, label %10415, label %10393

10393:                                            ; preds = %10386
  %10394 = load i32, ptr %684, align 4, !tbaa !5
  %10395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10396 = call i32 @s2n_print_stacktrace(ptr noundef %10395) #13
  %10397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10398 = trunc nuw i8 %10397 to i1
  br i1 %10398, label %10399, label %10403

10399:                                            ; preds = %10393
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = call i32 @fileno(ptr noundef %10400) #13
  %10402 = call i32 @isatty(i32 noundef %10401) #13
  %.not1235 = icmp eq i32 %10402, 0
  br i1 %.not1235, label %10403, label %10404

10403:                                            ; preds = %10399, %10393
  br label %10404

10404:                                            ; preds = %10399, %10403
  %.str.5.sink4905 = phi ptr [ @.str.5, %10403 ], [ @.str.2, %10399 ]
  store i32 %10394, ptr %684, align 4, !tbaa !5
  %10405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10406 = load i32, ptr @test_count, align 4, !tbaa !5
  %10407 = load i32, ptr %630, align 4, !tbaa !5
  %10408 = call ptr @s2n_strerror(i32 noundef %10407, ptr noundef nonnull @.str.4) #13
  %10409 = load i32, ptr %630, align 4, !tbaa !5
  %10410 = call ptr @s2n_strerror_debug(i32 noundef %10409, ptr noundef nonnull @.str.4) #13
  %10411 = load i32, ptr %684, align 4, !tbaa !5
  %10412 = call ptr @strerror(i32 noundef %10411) #13
  %10413 = load i32, ptr %684, align 4, !tbaa !5
  %10414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10405, ptr noundef nonnull %.str.5.sink4905, i32 noundef %10406, ptr noundef nonnull @.str.261, ptr noundef nonnull @.str.1, i32 noundef 928, ptr noundef %10408, ptr noundef %10410, ptr noundef %10412, i32 noundef %10413) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10415:                                            ; preds = %10386
  %10416 = add nsw i32 %10387, 2
  store i32 %10416, ptr @test_count, align 4, !tbaa !5
  %10417 = getelementptr inbounds i8, ptr %10389, i64 1240
  %10418 = load ptr, ptr %10417, align 8, !tbaa !76
  %10419 = icmp eq ptr %10418, null
  br i1 %10419, label %10442, label %10420

10420:                                            ; preds = %10415
  %10421 = load i32, ptr %684, align 4, !tbaa !5
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = call i32 @s2n_print_stacktrace(ptr noundef %10422) #13
  %10424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10425 = trunc nuw i8 %10424 to i1
  br i1 %10425, label %10426, label %10430

10426:                                            ; preds = %10420
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = call i32 @fileno(ptr noundef %10427) #13
  %10429 = call i32 @isatty(i32 noundef %10428) #13
  %.not1236 = icmp eq i32 %10429, 0
  br i1 %.not1236, label %10430, label %10431

10430:                                            ; preds = %10426, %10420
  br label %10431

10431:                                            ; preds = %10426, %10430
  %.str.5.sink4914 = phi ptr [ @.str.5, %10430 ], [ @.str.2, %10426 ]
  store i32 %10421, ptr %684, align 4, !tbaa !5
  %10432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10433 = load i32, ptr @test_count, align 4, !tbaa !5
  %10434 = load i32, ptr %630, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror(i32 noundef %10434, ptr noundef nonnull @.str.4) #13
  %10436 = load i32, ptr %630, align 4, !tbaa !5
  %10437 = call ptr @s2n_strerror_debug(i32 noundef %10436, ptr noundef nonnull @.str.4) #13
  %10438 = load i32, ptr %684, align 4, !tbaa !5
  %10439 = call ptr @strerror(i32 noundef %10438) #13
  %10440 = load i32, ptr %684, align 4, !tbaa !5
  %10441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10432, ptr noundef nonnull %.str.5.sink4914, i32 noundef %10433, ptr noundef nonnull @.str.262, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %10435, ptr noundef %10437, ptr noundef %10439, i32 noundef %10440) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10442:                                            ; preds = %10415
  %10443 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %66) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #13
  %10444 = call i32 @s2n_stuffer_free(ptr noundef nonnull %63) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %63) #13
  %10445 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #13
  %10446 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #13
  %10447 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %39) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #13
  %10448 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %38) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #13
  %10449 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %37) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #13
  call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %67) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(15) %67, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.more_ocsp_data, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #13
  store ptr null, ptr %68, align 8, !tbaa !9
  %10450 = load i32, ptr @test_count, align 4, !tbaa !5
  %10451 = add nsw i32 %10450, 1
  store i32 %10451, ptr @test_count, align 4, !tbaa !5
  %10452 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %68, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #13
  %10453 = icmp eq i32 %10452, -1
  br i1 %10453, label %10454, label %10476

10454:                                            ; preds = %10442
  %10455 = load i32, ptr %684, align 4, !tbaa !5
  %10456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10457 = call i32 @s2n_print_stacktrace(ptr noundef %10456) #13
  %10458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10459 = trunc nuw i8 %10458 to i1
  br i1 %10459, label %10460, label %10464

10460:                                            ; preds = %10454
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = call i32 @fileno(ptr noundef %10461) #13
  %10463 = call i32 @isatty(i32 noundef %10462) #13
  %.not1302 = icmp eq i32 %10463, 0
  br i1 %.not1302, label %10464, label %10465

10464:                                            ; preds = %10460, %10454
  br label %10465

10465:                                            ; preds = %10460, %10464
  %.str.5.sink4923 = phi ptr [ @.str.5, %10464 ], [ @.str.2, %10460 ]
  store i32 %10455, ptr %684, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = load i32, ptr @test_count, align 4, !tbaa !5
  %10468 = load i32, ptr %630, align 4, !tbaa !5
  %10469 = call ptr @s2n_strerror(i32 noundef %10468, ptr noundef nonnull @.str.4) #13
  %10470 = load i32, ptr %630, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror_debug(i32 noundef %10470, ptr noundef nonnull @.str.4) #13
  %10472 = load i32, ptr %684, align 4, !tbaa !5
  %10473 = call ptr @strerror(i32 noundef %10472) #13
  %10474 = load i32, ptr %684, align 4, !tbaa !5
  %10475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10466, ptr noundef nonnull %.str.5.sink4923, i32 noundef %10467, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.1, i32 noundef 940, ptr noundef %10469, ptr noundef %10471, ptr noundef %10473, i32 noundef %10474) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10476:                                            ; preds = %10442
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = add nsw i32 %10477, 1
  store i32 %10478, ptr @test_count, align 4, !tbaa !5
  %10479 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef null, ptr noundef nonnull %3, i32 noundef 10) #13
  %10480 = icmp eq i32 %10479, -1
  br i1 %10480, label %10503, label %10481

10481:                                            ; preds = %10476
  %10482 = load i32, ptr %684, align 4, !tbaa !5
  %10483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10484 = call i32 @s2n_print_stacktrace(ptr noundef %10483) #13
  %10485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10486 = trunc nuw i8 %10485 to i1
  br i1 %10486, label %10487, label %10491

10487:                                            ; preds = %10481
  %10488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10489 = call i32 @fileno(ptr noundef %10488) #13
  %10490 = call i32 @isatty(i32 noundef %10489) #13
  %.not1237 = icmp eq i32 %10490, 0
  br i1 %.not1237, label %10491, label %10492

10491:                                            ; preds = %10487, %10481
  br label %10492

10492:                                            ; preds = %10487, %10491
  %.str.5.sink4932 = phi ptr [ @.str.5, %10491 ], [ @.str.2, %10487 ]
  store i32 %10482, ptr %684, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = load i32, ptr @test_count, align 4, !tbaa !5
  %10495 = load i32, ptr %630, align 4, !tbaa !5
  %10496 = call ptr @s2n_strerror(i32 noundef %10495, ptr noundef nonnull @.str.4) #13
  %10497 = load i32, ptr %630, align 4, !tbaa !5
  %10498 = call ptr @s2n_strerror_debug(i32 noundef %10497, ptr noundef nonnull @.str.4) #13
  %10499 = load i32, ptr %684, align 4, !tbaa !5
  %10500 = call ptr @strerror(i32 noundef %10499) #13
  %10501 = load i32, ptr %684, align 4, !tbaa !5
  %10502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10493, ptr noundef nonnull %.str.5.sink4932, i32 noundef %10494, ptr noundef nonnull @.str.264, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %10496, ptr noundef %10498, ptr noundef %10500, i32 noundef %10501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10503:                                            ; preds = %10476
  %10504 = load i32, ptr @test_count, align 4, !tbaa !5
  %10505 = add nsw i32 %10504, 1
  store i32 %10505, ptr @test_count, align 4, !tbaa !5
  %10506 = load i32, ptr %630, align 4, !tbaa !5
  %10507 = icmp eq i32 %10506, 0
  br i1 %10507, label %10508, label %10530

10508:                                            ; preds = %10503
  %10509 = load i32, ptr %684, align 4, !tbaa !5
  %10510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10511 = call i32 @s2n_print_stacktrace(ptr noundef %10510) #13
  %10512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10513 = trunc nuw i8 %10512 to i1
  br i1 %10513, label %10514, label %10518

10514:                                            ; preds = %10508
  %10515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10516 = call i32 @fileno(ptr noundef %10515) #13
  %10517 = call i32 @isatty(i32 noundef %10516) #13
  %.not1301 = icmp eq i32 %10517, 0
  br i1 %.not1301, label %10518, label %10519

10518:                                            ; preds = %10514, %10508
  br label %10519

10519:                                            ; preds = %10514, %10518
  %.str.5.sink4941 = phi ptr [ @.str.5, %10518 ], [ @.str.2, %10514 ]
  store i32 %10509, ptr %684, align 4, !tbaa !5
  %10520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10521 = load i32, ptr @test_count, align 4, !tbaa !5
  %10522 = load i32, ptr %630, align 4, !tbaa !5
  %10523 = call ptr @s2n_strerror(i32 noundef %10522, ptr noundef nonnull @.str.4) #13
  %10524 = load i32, ptr %630, align 4, !tbaa !5
  %10525 = call ptr @s2n_strerror_debug(i32 noundef %10524, ptr noundef nonnull @.str.4) #13
  %10526 = load i32, ptr %684, align 4, !tbaa !5
  %10527 = call ptr @strerror(i32 noundef %10526) #13
  %10528 = load i32, ptr %684, align 4, !tbaa !5
  %10529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10520, ptr noundef nonnull %.str.5.sink4941, i32 noundef %10521, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %10523, ptr noundef %10525, ptr noundef %10527, i32 noundef %10528) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10530:                                            ; preds = %10503
  %10531 = add nsw i32 %10504, 2
  store i32 %10531, ptr @test_count, align 4, !tbaa !5
  %10532 = call ptr @s2n_strerror_debug(i32 noundef %10506, ptr noundef nonnull @.str.4) #13
  %10533 = icmp eq ptr %10532, null
  br i1 %10533, label %10534, label %10556

10534:                                            ; preds = %10530
  %10535 = load i32, ptr %684, align 4, !tbaa !5
  %10536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10537 = call i32 @s2n_print_stacktrace(ptr noundef %10536) #13
  %10538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10539 = trunc nuw i8 %10538 to i1
  br i1 %10539, label %10540, label %10544

10540:                                            ; preds = %10534
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = call i32 @fileno(ptr noundef %10541) #13
  %10543 = call i32 @isatty(i32 noundef %10542) #13
  %.not1300 = icmp eq i32 %10543, 0
  br i1 %.not1300, label %10544, label %10545

10544:                                            ; preds = %10540, %10534
  br label %10545

10545:                                            ; preds = %10540, %10544
  %.str.5.sink4950 = phi ptr [ @.str.5, %10544 ], [ @.str.2, %10540 ]
  store i32 %10535, ptr %684, align 4, !tbaa !5
  %10546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10547 = load i32, ptr @test_count, align 4, !tbaa !5
  %10548 = load i32, ptr %630, align 4, !tbaa !5
  %10549 = call ptr @s2n_strerror(i32 noundef %10548, ptr noundef nonnull @.str.4) #13
  %10550 = load i32, ptr %630, align 4, !tbaa !5
  %10551 = call ptr @s2n_strerror_debug(i32 noundef %10550, ptr noundef nonnull @.str.4) #13
  %10552 = load i32, ptr %684, align 4, !tbaa !5
  %10553 = call ptr @strerror(i32 noundef %10552) #13
  %10554 = load i32, ptr %684, align 4, !tbaa !5
  %10555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10546, ptr noundef nonnull %.str.5.sink4950, i32 noundef %10547, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %10549, ptr noundef %10551, ptr noundef %10553, i32 noundef %10554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10556:                                            ; preds = %10530
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %10557 = load i32, ptr @test_count, align 4, !tbaa !5
  %10558 = add nsw i32 %10557, 1
  store i32 %10558, ptr @test_count, align 4, !tbaa !5
  %10559 = load ptr, ptr %68, align 8, !tbaa !9
  %10560 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %10559, ptr noundef nonnull %3, i32 noundef 10) #13
  %10561 = icmp eq i32 %10560, -1
  br i1 %10561, label %10562, label %10584

10562:                                            ; preds = %10556
  %10563 = load i32, ptr %684, align 4, !tbaa !5
  %10564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10565 = call i32 @s2n_print_stacktrace(ptr noundef %10564) #13
  %10566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10567 = trunc nuw i8 %10566 to i1
  br i1 %10567, label %10568, label %10572

10568:                                            ; preds = %10562
  %10569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10570 = call i32 @fileno(ptr noundef %10569) #13
  %10571 = call i32 @isatty(i32 noundef %10570) #13
  %.not1299 = icmp eq i32 %10571, 0
  br i1 %.not1299, label %10572, label %10573

10572:                                            ; preds = %10568, %10562
  br label %10573

10573:                                            ; preds = %10568, %10572
  %.str.5.sink4959 = phi ptr [ @.str.5, %10572 ], [ @.str.2, %10568 ]
  store i32 %10563, ptr %684, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = load i32, ptr @test_count, align 4, !tbaa !5
  %10576 = load i32, ptr %630, align 4, !tbaa !5
  %10577 = call ptr @s2n_strerror(i32 noundef %10576, ptr noundef nonnull @.str.4) #13
  %10578 = load i32, ptr %630, align 4, !tbaa !5
  %10579 = call ptr @s2n_strerror_debug(i32 noundef %10578, ptr noundef nonnull @.str.4) #13
  %10580 = load i32, ptr %684, align 4, !tbaa !5
  %10581 = call ptr @strerror(i32 noundef %10580) #13
  %10582 = load i32, ptr %684, align 4, !tbaa !5
  %10583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10574, ptr noundef nonnull %.str.5.sink4959, i32 noundef %10575, ptr noundef nonnull @.str.265, ptr noundef nonnull @.str.1, i32 noundef 946, ptr noundef %10577, ptr noundef %10579, ptr noundef %10581, i32 noundef %10582) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10584:                                            ; preds = %10556
  %10585 = load i32, ptr @test_count, align 4, !tbaa !5
  %10586 = add nsw i32 %10585, 1
  store i32 %10586, ptr @test_count, align 4, !tbaa !5
  %10587 = load ptr, ptr %68, align 8, !tbaa !9
  %10588 = getelementptr inbounds i8, ptr %10587, i64 24
  %10589 = load i32, ptr %10588, align 8, !tbaa !80
  %10590 = icmp eq i32 %10589, 10
  br i1 %10590, label %10613, label %10591

10591:                                            ; preds = %10584
  %10592 = load i32, ptr %684, align 4, !tbaa !5
  %10593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10594 = call i32 @s2n_print_stacktrace(ptr noundef %10593) #13
  %10595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10596 = trunc nuw i8 %10595 to i1
  br i1 %10596, label %10597, label %10601

10597:                                            ; preds = %10591
  %10598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10599 = call i32 @fileno(ptr noundef %10598) #13
  %10600 = call i32 @isatty(i32 noundef %10599) #13
  %.not1238 = icmp eq i32 %10600, 0
  br i1 %.not1238, label %10601, label %10602

10601:                                            ; preds = %10597, %10591
  br label %10602

10602:                                            ; preds = %10597, %10601
  %.str.5.sink4968 = phi ptr [ @.str.5, %10601 ], [ @.str.2, %10597 ]
  store i32 %10592, ptr %684, align 4, !tbaa !5
  %10603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10604 = load i32, ptr @test_count, align 4, !tbaa !5
  %10605 = load i32, ptr %630, align 4, !tbaa !5
  %10606 = call ptr @s2n_strerror(i32 noundef %10605, ptr noundef nonnull @.str.4) #13
  %10607 = load i32, ptr %630, align 4, !tbaa !5
  %10608 = call ptr @s2n_strerror_debug(i32 noundef %10607, ptr noundef nonnull @.str.4) #13
  %10609 = load i32, ptr %684, align 4, !tbaa !5
  %10610 = call ptr @strerror(i32 noundef %10609) #13
  %10611 = load i32, ptr %684, align 4, !tbaa !5
  %10612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10603, ptr noundef nonnull %.str.5.sink4968, i32 noundef %10604, ptr noundef nonnull @.str.266, ptr noundef nonnull @.str.1, i32 noundef 947, ptr noundef %10606, ptr noundef %10608, ptr noundef %10610, i32 noundef %10611) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10613:                                            ; preds = %10584
  %10614 = add nsw i32 %10585, 2
  store i32 %10614, ptr @test_count, align 4, !tbaa !5
  %10615 = getelementptr inbounds i8, ptr %10587, i64 16
  %10616 = load ptr, ptr %10615, align 8, !tbaa !81
  %bcmp1239 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %10616, ptr noundef nonnull dereferenceable(10) %3, i64 10)
  %10617 = icmp eq i32 %bcmp1239, 0
  br i1 %10617, label %10640, label %10618

10618:                                            ; preds = %10613
  %10619 = load i32, ptr %684, align 4, !tbaa !5
  %10620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10621 = call i32 @s2n_print_stacktrace(ptr noundef %10620) #13
  %10622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10623 = trunc nuw i8 %10622 to i1
  br i1 %10623, label %10624, label %10628

10624:                                            ; preds = %10618
  %10625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10626 = call i32 @fileno(ptr noundef %10625) #13
  %10627 = call i32 @isatty(i32 noundef %10626) #13
  %.not1240 = icmp eq i32 %10627, 0
  br i1 %.not1240, label %10628, label %10629

10628:                                            ; preds = %10624, %10618
  br label %10629

10629:                                            ; preds = %10624, %10628
  %.str.5.sink4977 = phi ptr [ @.str.5, %10628 ], [ @.str.2, %10624 ]
  store i32 %10619, ptr %684, align 4, !tbaa !5
  %10630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10631 = load i32, ptr @test_count, align 4, !tbaa !5
  %10632 = load i32, ptr %630, align 4, !tbaa !5
  %10633 = call ptr @s2n_strerror(i32 noundef %10632, ptr noundef nonnull @.str.4) #13
  %10634 = load i32, ptr %630, align 4, !tbaa !5
  %10635 = call ptr @s2n_strerror_debug(i32 noundef %10634, ptr noundef nonnull @.str.4) #13
  %10636 = load i32, ptr %684, align 4, !tbaa !5
  %10637 = call ptr @strerror(i32 noundef %10636) #13
  %10638 = load i32, ptr %684, align 4, !tbaa !5
  %10639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10630, ptr noundef nonnull %.str.5.sink4977, i32 noundef %10631, ptr noundef nonnull @.str.267, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %10633, ptr noundef %10635, ptr noundef %10637, i32 noundef %10638) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10640:                                            ; preds = %10613
  %10641 = add nsw i32 %10585, 3
  store i32 %10641, ptr @test_count, align 4, !tbaa !5
  %10642 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef nonnull %10587, ptr noundef nonnull %67, i32 noundef 15) #13
  %10643 = icmp eq i32 %10642, -1
  br i1 %10643, label %10644, label %10666

10644:                                            ; preds = %10640
  %10645 = load i32, ptr %684, align 4, !tbaa !5
  %10646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10647 = call i32 @s2n_print_stacktrace(ptr noundef %10646) #13
  %10648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10649 = trunc nuw i8 %10648 to i1
  br i1 %10649, label %10650, label %10654

10650:                                            ; preds = %10644
  %10651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10652 = call i32 @fileno(ptr noundef %10651) #13
  %10653 = call i32 @isatty(i32 noundef %10652) #13
  %.not1298 = icmp eq i32 %10653, 0
  br i1 %.not1298, label %10654, label %10655

10654:                                            ; preds = %10650, %10644
  br label %10655

10655:                                            ; preds = %10650, %10654
  %.str.5.sink4986 = phi ptr [ @.str.5, %10654 ], [ @.str.2, %10650 ]
  store i32 %10645, ptr %684, align 4, !tbaa !5
  %10656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10657 = load i32, ptr @test_count, align 4, !tbaa !5
  %10658 = load i32, ptr %630, align 4, !tbaa !5
  %10659 = call ptr @s2n_strerror(i32 noundef %10658, ptr noundef nonnull @.str.4) #13
  %10660 = load i32, ptr %630, align 4, !tbaa !5
  %10661 = call ptr @s2n_strerror_debug(i32 noundef %10660, ptr noundef nonnull @.str.4) #13
  %10662 = load i32, ptr %684, align 4, !tbaa !5
  %10663 = call ptr @strerror(i32 noundef %10662) #13
  %10664 = load i32, ptr %684, align 4, !tbaa !5
  %10665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10656, ptr noundef nonnull %.str.5.sink4986, i32 noundef %10657, ptr noundef nonnull @.str.268, ptr noundef nonnull @.str.1, i32 noundef 951, ptr noundef %10659, ptr noundef %10661, ptr noundef %10663, i32 noundef %10664) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10666:                                            ; preds = %10640
  %10667 = load i32, ptr @test_count, align 4, !tbaa !5
  %10668 = add nsw i32 %10667, 1
  store i32 %10668, ptr @test_count, align 4, !tbaa !5
  %10669 = load ptr, ptr %68, align 8, !tbaa !9
  %10670 = getelementptr inbounds i8, ptr %10669, i64 24
  %10671 = load i32, ptr %10670, align 8, !tbaa !80
  %10672 = icmp eq i32 %10671, 15
  br i1 %10672, label %10695, label %10673

10673:                                            ; preds = %10666
  %10674 = load i32, ptr %684, align 4, !tbaa !5
  %10675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10676 = call i32 @s2n_print_stacktrace(ptr noundef %10675) #13
  %10677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10678 = trunc nuw i8 %10677 to i1
  br i1 %10678, label %10679, label %10683

10679:                                            ; preds = %10673
  %10680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10681 = call i32 @fileno(ptr noundef %10680) #13
  %10682 = call i32 @isatty(i32 noundef %10681) #13
  %.not1241 = icmp eq i32 %10682, 0
  br i1 %.not1241, label %10683, label %10684

10683:                                            ; preds = %10679, %10673
  br label %10684

10684:                                            ; preds = %10679, %10683
  %.str.5.sink4995 = phi ptr [ @.str.5, %10683 ], [ @.str.2, %10679 ]
  store i32 %10674, ptr %684, align 4, !tbaa !5
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = load i32, ptr @test_count, align 4, !tbaa !5
  %10687 = load i32, ptr %630, align 4, !tbaa !5
  %10688 = call ptr @s2n_strerror(i32 noundef %10687, ptr noundef nonnull @.str.4) #13
  %10689 = load i32, ptr %630, align 4, !tbaa !5
  %10690 = call ptr @s2n_strerror_debug(i32 noundef %10689, ptr noundef nonnull @.str.4) #13
  %10691 = load i32, ptr %684, align 4, !tbaa !5
  %10692 = call ptr @strerror(i32 noundef %10691) #13
  %10693 = load i32, ptr %684, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10685, ptr noundef nonnull %.str.5.sink4995, i32 noundef %10686, ptr noundef nonnull @.str.269, ptr noundef nonnull @.str.1, i32 noundef 952, ptr noundef %10688, ptr noundef %10690, ptr noundef %10692, i32 noundef %10693) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10695:                                            ; preds = %10666
  %10696 = add nsw i32 %10667, 2
  store i32 %10696, ptr @test_count, align 4, !tbaa !5
  %10697 = getelementptr inbounds i8, ptr %10669, i64 16
  %10698 = load ptr, ptr %10697, align 8, !tbaa !81
  %bcmp1242 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %10698, ptr noundef nonnull dereferenceable(15) %67, i64 15)
  %10699 = icmp eq i32 %bcmp1242, 0
  br i1 %10699, label %10722, label %10700

10700:                                            ; preds = %10695
  %10701 = load i32, ptr %684, align 4, !tbaa !5
  %10702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10703 = call i32 @s2n_print_stacktrace(ptr noundef %10702) #13
  %10704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10705 = trunc nuw i8 %10704 to i1
  br i1 %10705, label %10706, label %10710

10706:                                            ; preds = %10700
  %10707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10708 = call i32 @fileno(ptr noundef %10707) #13
  %10709 = call i32 @isatty(i32 noundef %10708) #13
  %.not1243 = icmp eq i32 %10709, 0
  br i1 %.not1243, label %10710, label %10711

10710:                                            ; preds = %10706, %10700
  br label %10711

10711:                                            ; preds = %10706, %10710
  %.str.5.sink5004 = phi ptr [ @.str.5, %10710 ], [ @.str.2, %10706 ]
  store i32 %10701, ptr %684, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = load i32, ptr %630, align 4, !tbaa !5
  %10715 = call ptr @s2n_strerror(i32 noundef %10714, ptr noundef nonnull @.str.4) #13
  %10716 = load i32, ptr %630, align 4, !tbaa !5
  %10717 = call ptr @s2n_strerror_debug(i32 noundef %10716, ptr noundef nonnull @.str.4) #13
  %10718 = load i32, ptr %684, align 4, !tbaa !5
  %10719 = call ptr @strerror(i32 noundef %10718) #13
  %10720 = load i32, ptr %684, align 4, !tbaa !5
  %10721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10712, ptr noundef nonnull %.str.5.sink5004, i32 noundef %10713, ptr noundef nonnull @.str.270, ptr noundef nonnull @.str.1, i32 noundef 953, ptr noundef %10715, ptr noundef %10717, ptr noundef %10719, i32 noundef %10720) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10722:                                            ; preds = %10695
  %10723 = add nsw i32 %10667, 3
  store i32 %10723, ptr @test_count, align 4, !tbaa !5
  %10724 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef nonnull %10669, ptr noundef null, i32 noundef 0) #13
  %10725 = icmp eq i32 %10724, -1
  br i1 %10725, label %10726, label %10748

10726:                                            ; preds = %10722
  %10727 = load i32, ptr %684, align 4, !tbaa !5
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @s2n_print_stacktrace(ptr noundef %10728) #13
  %10730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10731 = trunc nuw i8 %10730 to i1
  br i1 %10731, label %10732, label %10736

10732:                                            ; preds = %10726
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = call i32 @fileno(ptr noundef %10733) #13
  %10735 = call i32 @isatty(i32 noundef %10734) #13
  %.not1297 = icmp eq i32 %10735, 0
  br i1 %.not1297, label %10736, label %10737

10736:                                            ; preds = %10732, %10726
  br label %10737

10737:                                            ; preds = %10732, %10736
  %.str.5.sink5013 = phi ptr [ @.str.5, %10736 ], [ @.str.2, %10732 ]
  store i32 %10727, ptr %684, align 4, !tbaa !5
  %10738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10739 = load i32, ptr @test_count, align 4, !tbaa !5
  %10740 = load i32, ptr %630, align 4, !tbaa !5
  %10741 = call ptr @s2n_strerror(i32 noundef %10740, ptr noundef nonnull @.str.4) #13
  %10742 = load i32, ptr %630, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror_debug(i32 noundef %10742, ptr noundef nonnull @.str.4) #13
  %10744 = load i32, ptr %684, align 4, !tbaa !5
  %10745 = call ptr @strerror(i32 noundef %10744) #13
  %10746 = load i32, ptr %684, align 4, !tbaa !5
  %10747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10738, ptr noundef nonnull %.str.5.sink5013, i32 noundef %10739, ptr noundef nonnull @.str.271, ptr noundef nonnull @.str.1, i32 noundef 956, ptr noundef %10741, ptr noundef %10743, ptr noundef %10745, i32 noundef %10746) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10748:                                            ; preds = %10722
  %10749 = load i32, ptr @test_count, align 4, !tbaa !5
  %10750 = add nsw i32 %10749, 1
  store i32 %10750, ptr @test_count, align 4, !tbaa !5
  %10751 = load ptr, ptr %68, align 8, !tbaa !9
  %10752 = getelementptr inbounds i8, ptr %10751, i64 24
  %10753 = load i32, ptr %10752, align 8, !tbaa !80
  %10754 = icmp eq i32 %10753, 0
  br i1 %10754, label %10777, label %10755

10755:                                            ; preds = %10748
  %10756 = load i32, ptr %684, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = call i32 @s2n_print_stacktrace(ptr noundef %10757) #13
  %10759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10760 = trunc nuw i8 %10759 to i1
  br i1 %10760, label %10761, label %10765

10761:                                            ; preds = %10755
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @fileno(ptr noundef %10762) #13
  %10764 = call i32 @isatty(i32 noundef %10763) #13
  %.not1244 = icmp eq i32 %10764, 0
  br i1 %.not1244, label %10765, label %10766

10765:                                            ; preds = %10761, %10755
  br label %10766

10766:                                            ; preds = %10761, %10765
  %.str.5.sink5022 = phi ptr [ @.str.5, %10765 ], [ @.str.2, %10761 ]
  store i32 %10756, ptr %684, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = load i32, ptr %630, align 4, !tbaa !5
  %10770 = call ptr @s2n_strerror(i32 noundef %10769, ptr noundef nonnull @.str.4) #13
  %10771 = load i32, ptr %630, align 4, !tbaa !5
  %10772 = call ptr @s2n_strerror_debug(i32 noundef %10771, ptr noundef nonnull @.str.4) #13
  %10773 = load i32, ptr %684, align 4, !tbaa !5
  %10774 = call ptr @strerror(i32 noundef %10773) #13
  %10775 = load i32, ptr %684, align 4, !tbaa !5
  %10776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10767, ptr noundef nonnull %.str.5.sink5022, i32 noundef %10768, ptr noundef nonnull @.str.272, ptr noundef nonnull @.str.1, i32 noundef 957, ptr noundef %10770, ptr noundef %10772, ptr noundef %10774, i32 noundef %10775) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10777:                                            ; preds = %10748
  %10778 = add nsw i32 %10749, 2
  store i32 %10778, ptr @test_count, align 4, !tbaa !5
  %10779 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef nonnull %10751, ptr noundef nonnull %3, i32 noundef 10) #13
  %10780 = icmp eq i32 %10779, -1
  br i1 %10780, label %10781, label %10803

10781:                                            ; preds = %10777
  %10782 = load i32, ptr %684, align 4, !tbaa !5
  %10783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10784 = call i32 @s2n_print_stacktrace(ptr noundef %10783) #13
  %10785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10786 = trunc nuw i8 %10785 to i1
  br i1 %10786, label %10787, label %10791

10787:                                            ; preds = %10781
  %10788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10789 = call i32 @fileno(ptr noundef %10788) #13
  %10790 = call i32 @isatty(i32 noundef %10789) #13
  %.not1296 = icmp eq i32 %10790, 0
  br i1 %.not1296, label %10791, label %10792

10791:                                            ; preds = %10787, %10781
  br label %10792

10792:                                            ; preds = %10787, %10791
  %.str.5.sink5031 = phi ptr [ @.str.5, %10791 ], [ @.str.2, %10787 ]
  store i32 %10782, ptr %684, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = load i32, ptr @test_count, align 4, !tbaa !5
  %10795 = load i32, ptr %630, align 4, !tbaa !5
  %10796 = call ptr @s2n_strerror(i32 noundef %10795, ptr noundef nonnull @.str.4) #13
  %10797 = load i32, ptr %630, align 4, !tbaa !5
  %10798 = call ptr @s2n_strerror_debug(i32 noundef %10797, ptr noundef nonnull @.str.4) #13
  %10799 = load i32, ptr %684, align 4, !tbaa !5
  %10800 = call ptr @strerror(i32 noundef %10799) #13
  %10801 = load i32, ptr %684, align 4, !tbaa !5
  %10802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10793, ptr noundef nonnull %.str.5.sink5031, i32 noundef %10794, ptr noundef nonnull @.str.265, ptr noundef nonnull @.str.1, i32 noundef 960, ptr noundef %10796, ptr noundef %10798, ptr noundef %10800, i32 noundef %10801) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10803:                                            ; preds = %10777
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = add nsw i32 %10804, 1
  store i32 %10805, ptr @test_count, align 4, !tbaa !5
  %10806 = load ptr, ptr %68, align 8, !tbaa !9
  %10807 = getelementptr inbounds i8, ptr %10806, i64 24
  %10808 = load i32, ptr %10807, align 8, !tbaa !80
  %10809 = icmp eq i32 %10808, 10
  br i1 %10809, label %10832, label %10810

10810:                                            ; preds = %10803
  %10811 = load i32, ptr %684, align 4, !tbaa !5
  %10812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10813 = call i32 @s2n_print_stacktrace(ptr noundef %10812) #13
  %10814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10815 = trunc nuw i8 %10814 to i1
  br i1 %10815, label %10816, label %10820

10816:                                            ; preds = %10810
  %10817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10818 = call i32 @fileno(ptr noundef %10817) #13
  %10819 = call i32 @isatty(i32 noundef %10818) #13
  %.not1245 = icmp eq i32 %10819, 0
  br i1 %.not1245, label %10820, label %10821

10820:                                            ; preds = %10816, %10810
  br label %10821

10821:                                            ; preds = %10816, %10820
  %.str.5.sink5040 = phi ptr [ @.str.5, %10820 ], [ @.str.2, %10816 ]
  store i32 %10811, ptr %684, align 4, !tbaa !5
  %10822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10823 = load i32, ptr @test_count, align 4, !tbaa !5
  %10824 = load i32, ptr %630, align 4, !tbaa !5
  %10825 = call ptr @s2n_strerror(i32 noundef %10824, ptr noundef nonnull @.str.4) #13
  %10826 = load i32, ptr %630, align 4, !tbaa !5
  %10827 = call ptr @s2n_strerror_debug(i32 noundef %10826, ptr noundef nonnull @.str.4) #13
  %10828 = load i32, ptr %684, align 4, !tbaa !5
  %10829 = call ptr @strerror(i32 noundef %10828) #13
  %10830 = load i32, ptr %684, align 4, !tbaa !5
  %10831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10822, ptr noundef nonnull %.str.5.sink5040, i32 noundef %10823, ptr noundef nonnull @.str.266, ptr noundef nonnull @.str.1, i32 noundef 961, ptr noundef %10825, ptr noundef %10827, ptr noundef %10829, i32 noundef %10830) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10832:                                            ; preds = %10803
  %10833 = add nsw i32 %10804, 2
  store i32 %10833, ptr @test_count, align 4, !tbaa !5
  %10834 = getelementptr inbounds i8, ptr %10806, i64 16
  %10835 = load ptr, ptr %10834, align 8, !tbaa !81
  %bcmp1246 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %10835, ptr noundef nonnull dereferenceable(10) %3, i64 10)
  %10836 = icmp eq i32 %bcmp1246, 0
  br i1 %10836, label %10859, label %10837

10837:                                            ; preds = %10832
  %10838 = load i32, ptr %684, align 4, !tbaa !5
  %10839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10840 = call i32 @s2n_print_stacktrace(ptr noundef %10839) #13
  %10841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10842 = trunc nuw i8 %10841 to i1
  br i1 %10842, label %10843, label %10847

10843:                                            ; preds = %10837
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = call i32 @fileno(ptr noundef %10844) #13
  %10846 = call i32 @isatty(i32 noundef %10845) #13
  %.not1247 = icmp eq i32 %10846, 0
  br i1 %.not1247, label %10847, label %10848

10847:                                            ; preds = %10843, %10837
  br label %10848

10848:                                            ; preds = %10843, %10847
  %.str.5.sink5049 = phi ptr [ @.str.5, %10847 ], [ @.str.2, %10843 ]
  store i32 %10838, ptr %684, align 4, !tbaa !5
  %10849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10850 = load i32, ptr @test_count, align 4, !tbaa !5
  %10851 = load i32, ptr %630, align 4, !tbaa !5
  %10852 = call ptr @s2n_strerror(i32 noundef %10851, ptr noundef nonnull @.str.4) #13
  %10853 = load i32, ptr %630, align 4, !tbaa !5
  %10854 = call ptr @s2n_strerror_debug(i32 noundef %10853, ptr noundef nonnull @.str.4) #13
  %10855 = load i32, ptr %684, align 4, !tbaa !5
  %10856 = call ptr @strerror(i32 noundef %10855) #13
  %10857 = load i32, ptr %684, align 4, !tbaa !5
  %10858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10849, ptr noundef nonnull %.str.5.sink5049, i32 noundef %10850, ptr noundef nonnull @.str.267, ptr noundef nonnull @.str.1, i32 noundef 962, ptr noundef %10852, ptr noundef %10854, ptr noundef %10856, i32 noundef %10857) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10859:                                            ; preds = %10832
  %10860 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %68) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #13
  call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %67) #13
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %69) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %69, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.sct_list, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %70) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(15) %70, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.other_sct_list, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #13
  store ptr null, ptr %71, align 8, !tbaa !9
  %10861 = load i32, ptr @test_count, align 4, !tbaa !5
  %10862 = add nsw i32 %10861, 1
  store i32 %10862, ptr @test_count, align 4, !tbaa !5
  %10863 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %71, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #13
  %10864 = icmp eq i32 %10863, -1
  br i1 %10864, label %10865, label %10887

10865:                                            ; preds = %10859
  %10866 = load i32, ptr %684, align 4, !tbaa !5
  %10867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10868 = call i32 @s2n_print_stacktrace(ptr noundef %10867) #13
  %10869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10870 = trunc nuw i8 %10869 to i1
  br i1 %10870, label %10871, label %10875

10871:                                            ; preds = %10865
  %10872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10873 = call i32 @fileno(ptr noundef %10872) #13
  %10874 = call i32 @isatty(i32 noundef %10873) #13
  %.not1295 = icmp eq i32 %10874, 0
  br i1 %.not1295, label %10875, label %10876

10875:                                            ; preds = %10871, %10865
  br label %10876

10876:                                            ; preds = %10871, %10875
  %.str.5.sink5058 = phi ptr [ @.str.5, %10875 ], [ @.str.2, %10871 ]
  store i32 %10866, ptr %684, align 4, !tbaa !5
  %10877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10878 = load i32, ptr @test_count, align 4, !tbaa !5
  %10879 = load i32, ptr %630, align 4, !tbaa !5
  %10880 = call ptr @s2n_strerror(i32 noundef %10879, ptr noundef nonnull @.str.4) #13
  %10881 = load i32, ptr %630, align 4, !tbaa !5
  %10882 = call ptr @s2n_strerror_debug(i32 noundef %10881, ptr noundef nonnull @.str.4) #13
  %10883 = load i32, ptr %684, align 4, !tbaa !5
  %10884 = call ptr @strerror(i32 noundef %10883) #13
  %10885 = load i32, ptr %684, align 4, !tbaa !5
  %10886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10877, ptr noundef nonnull %.str.5.sink5058, i32 noundef %10878, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.1, i32 noundef 973, ptr noundef %10880, ptr noundef %10882, ptr noundef %10884, i32 noundef %10885) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10887:                                            ; preds = %10859
  %10888 = load i32, ptr @test_count, align 4, !tbaa !5
  %10889 = add nsw i32 %10888, 1
  store i32 %10889, ptr @test_count, align 4, !tbaa !5
  %10890 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef null, ptr noundef nonnull %69, i32 noundef 9) #13
  %10891 = icmp eq i32 %10890, -1
  br i1 %10891, label %10914, label %10892

10892:                                            ; preds = %10887
  %10893 = load i32, ptr %684, align 4, !tbaa !5
  %10894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10895 = call i32 @s2n_print_stacktrace(ptr noundef %10894) #13
  %10896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10897 = trunc nuw i8 %10896 to i1
  br i1 %10897, label %10898, label %10902

10898:                                            ; preds = %10892
  %10899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10900 = call i32 @fileno(ptr noundef %10899) #13
  %10901 = call i32 @isatty(i32 noundef %10900) #13
  %.not1248 = icmp eq i32 %10901, 0
  br i1 %.not1248, label %10902, label %10903

10902:                                            ; preds = %10898, %10892
  br label %10903

10903:                                            ; preds = %10898, %10902
  %.str.5.sink5067 = phi ptr [ @.str.5, %10902 ], [ @.str.2, %10898 ]
  store i32 %10893, ptr %684, align 4, !tbaa !5
  %10904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10905 = load i32, ptr @test_count, align 4, !tbaa !5
  %10906 = load i32, ptr %630, align 4, !tbaa !5
  %10907 = call ptr @s2n_strerror(i32 noundef %10906, ptr noundef nonnull @.str.4) #13
  %10908 = load i32, ptr %630, align 4, !tbaa !5
  %10909 = call ptr @s2n_strerror_debug(i32 noundef %10908, ptr noundef nonnull @.str.4) #13
  %10910 = load i32, ptr %684, align 4, !tbaa !5
  %10911 = call ptr @strerror(i32 noundef %10910) #13
  %10912 = load i32, ptr %684, align 4, !tbaa !5
  %10913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10904, ptr noundef nonnull %.str.5.sink5067, i32 noundef %10905, ptr noundef nonnull @.str.273, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %10907, ptr noundef %10909, ptr noundef %10911, i32 noundef %10912) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10914:                                            ; preds = %10887
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = add nsw i32 %10915, 1
  store i32 %10916, ptr @test_count, align 4, !tbaa !5
  %10917 = load i32, ptr %630, align 4, !tbaa !5
  %10918 = icmp eq i32 %10917, 0
  br i1 %10918, label %10919, label %10941

10919:                                            ; preds = %10914
  %10920 = load i32, ptr %684, align 4, !tbaa !5
  %10921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10922 = call i32 @s2n_print_stacktrace(ptr noundef %10921) #13
  %10923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10924 = trunc nuw i8 %10923 to i1
  br i1 %10924, label %10925, label %10929

10925:                                            ; preds = %10919
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @fileno(ptr noundef %10926) #13
  %10928 = call i32 @isatty(i32 noundef %10927) #13
  %.not1294 = icmp eq i32 %10928, 0
  br i1 %.not1294, label %10929, label %10930

10929:                                            ; preds = %10925, %10919
  br label %10930

10930:                                            ; preds = %10925, %10929
  %.str.5.sink5076 = phi ptr [ @.str.5, %10929 ], [ @.str.2, %10925 ]
  store i32 %10920, ptr %684, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = load i32, ptr @test_count, align 4, !tbaa !5
  %10933 = load i32, ptr %630, align 4, !tbaa !5
  %10934 = call ptr @s2n_strerror(i32 noundef %10933, ptr noundef nonnull @.str.4) #13
  %10935 = load i32, ptr %630, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror_debug(i32 noundef %10935, ptr noundef nonnull @.str.4) #13
  %10937 = load i32, ptr %684, align 4, !tbaa !5
  %10938 = call ptr @strerror(i32 noundef %10937) #13
  %10939 = load i32, ptr %684, align 4, !tbaa !5
  %10940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10931, ptr noundef nonnull %.str.5.sink5076, i32 noundef %10932, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %10934, ptr noundef %10936, ptr noundef %10938, i32 noundef %10939) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10941:                                            ; preds = %10914
  %10942 = add nsw i32 %10915, 2
  store i32 %10942, ptr @test_count, align 4, !tbaa !5
  %10943 = call ptr @s2n_strerror_debug(i32 noundef %10917, ptr noundef nonnull @.str.4) #13
  %10944 = icmp eq ptr %10943, null
  br i1 %10944, label %10945, label %10967

10945:                                            ; preds = %10941
  %10946 = load i32, ptr %684, align 4, !tbaa !5
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = call i32 @s2n_print_stacktrace(ptr noundef %10947) #13
  %10949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10950 = trunc nuw i8 %10949 to i1
  br i1 %10950, label %10951, label %10955

10951:                                            ; preds = %10945
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @fileno(ptr noundef %10952) #13
  %10954 = call i32 @isatty(i32 noundef %10953) #13
  %.not1293 = icmp eq i32 %10954, 0
  br i1 %.not1293, label %10955, label %10956

10955:                                            ; preds = %10951, %10945
  br label %10956

10956:                                            ; preds = %10951, %10955
  %.str.5.sink5085 = phi ptr [ @.str.5, %10955 ], [ @.str.2, %10951 ]
  store i32 %10946, ptr %684, align 4, !tbaa !5
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = load i32, ptr @test_count, align 4, !tbaa !5
  %10959 = load i32, ptr %630, align 4, !tbaa !5
  %10960 = call ptr @s2n_strerror(i32 noundef %10959, ptr noundef nonnull @.str.4) #13
  %10961 = load i32, ptr %630, align 4, !tbaa !5
  %10962 = call ptr @s2n_strerror_debug(i32 noundef %10961, ptr noundef nonnull @.str.4) #13
  %10963 = load i32, ptr %684, align 4, !tbaa !5
  %10964 = call ptr @strerror(i32 noundef %10963) #13
  %10965 = load i32, ptr %684, align 4, !tbaa !5
  %10966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10957, ptr noundef nonnull %.str.5.sink5085, i32 noundef %10958, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %10960, ptr noundef %10962, ptr noundef %10964, i32 noundef %10965) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10967:                                            ; preds = %10941
  store i32 0, ptr %630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %684, align 4, !tbaa !5
  %10968 = load i32, ptr @test_count, align 4, !tbaa !5
  %10969 = add nsw i32 %10968, 1
  store i32 %10969, ptr @test_count, align 4, !tbaa !5
  %10970 = load ptr, ptr %71, align 8, !tbaa !9
  %10971 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef %10970, ptr noundef nonnull %69, i32 noundef 9) #13
  %10972 = icmp eq i32 %10971, -1
  br i1 %10972, label %10973, label %10995

10973:                                            ; preds = %10967
  %10974 = load i32, ptr %684, align 4, !tbaa !5
  %10975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10976 = call i32 @s2n_print_stacktrace(ptr noundef %10975) #13
  %10977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10978 = trunc nuw i8 %10977 to i1
  br i1 %10978, label %10979, label %10983

10979:                                            ; preds = %10973
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = call i32 @fileno(ptr noundef %10980) #13
  %10982 = call i32 @isatty(i32 noundef %10981) #13
  %.not1292 = icmp eq i32 %10982, 0
  br i1 %.not1292, label %10983, label %10984

10983:                                            ; preds = %10979, %10973
  br label %10984

10984:                                            ; preds = %10979, %10983
  %.str.5.sink5094 = phi ptr [ @.str.5, %10983 ], [ @.str.2, %10979 ]
  store i32 %10974, ptr %684, align 4, !tbaa !5
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = load i32, ptr @test_count, align 4, !tbaa !5
  %10987 = load i32, ptr %630, align 4, !tbaa !5
  %10988 = call ptr @s2n_strerror(i32 noundef %10987, ptr noundef nonnull @.str.4) #13
  %10989 = load i32, ptr %630, align 4, !tbaa !5
  %10990 = call ptr @s2n_strerror_debug(i32 noundef %10989, ptr noundef nonnull @.str.4) #13
  %10991 = load i32, ptr %684, align 4, !tbaa !5
  %10992 = call ptr @strerror(i32 noundef %10991) #13
  %10993 = load i32, ptr %684, align 4, !tbaa !5
  %10994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10985, ptr noundef nonnull %.str.5.sink5094, i32 noundef %10986, ptr noundef nonnull @.str.274, ptr noundef nonnull @.str.1, i32 noundef 979, ptr noundef %10988, ptr noundef %10990, ptr noundef %10992, i32 noundef %10993) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10995:                                            ; preds = %10967
  %10996 = load i32, ptr @test_count, align 4, !tbaa !5
  %10997 = add nsw i32 %10996, 1
  store i32 %10997, ptr @test_count, align 4, !tbaa !5
  %10998 = load ptr, ptr %71, align 8, !tbaa !9
  %10999 = getelementptr inbounds i8, ptr %10998, i64 48
  %11000 = load i32, ptr %10999, align 8, !tbaa !82
  %11001 = icmp eq i32 %11000, 9
  br i1 %11001, label %11024, label %11002

11002:                                            ; preds = %10995
  %11003 = load i32, ptr %684, align 4, !tbaa !5
  %11004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11005 = call i32 @s2n_print_stacktrace(ptr noundef %11004) #13
  %11006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11007 = trunc nuw i8 %11006 to i1
  br i1 %11007, label %11008, label %11012

11008:                                            ; preds = %11002
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = call i32 @fileno(ptr noundef %11009) #13
  %11011 = call i32 @isatty(i32 noundef %11010) #13
  %.not1249 = icmp eq i32 %11011, 0
  br i1 %.not1249, label %11012, label %11013

11012:                                            ; preds = %11008, %11002
  br label %11013

11013:                                            ; preds = %11008, %11012
  %.str.5.sink5103 = phi ptr [ @.str.5, %11012 ], [ @.str.2, %11008 ]
  store i32 %11003, ptr %684, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = load i32, ptr @test_count, align 4, !tbaa !5
  %11016 = load i32, ptr %630, align 4, !tbaa !5
  %11017 = call ptr @s2n_strerror(i32 noundef %11016, ptr noundef nonnull @.str.4) #13
  %11018 = load i32, ptr %630, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror_debug(i32 noundef %11018, ptr noundef nonnull @.str.4) #13
  %11020 = load i32, ptr %684, align 4, !tbaa !5
  %11021 = call ptr @strerror(i32 noundef %11020) #13
  %11022 = load i32, ptr %684, align 4, !tbaa !5
  %11023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11014, ptr noundef nonnull %.str.5.sink5103, i32 noundef %11015, ptr noundef nonnull @.str.275, ptr noundef nonnull @.str.1, i32 noundef 980, ptr noundef %11017, ptr noundef %11019, ptr noundef %11021, i32 noundef %11022) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11024:                                            ; preds = %10995
  %11025 = add nsw i32 %10996, 2
  store i32 %11025, ptr @test_count, align 4, !tbaa !5
  %11026 = getelementptr inbounds i8, ptr %10998, i64 40
  %11027 = load ptr, ptr %11026, align 8, !tbaa !83
  %bcmp1250 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %11027, ptr noundef nonnull dereferenceable(9) %69, i64 9)
  %11028 = icmp eq i32 %bcmp1250, 0
  br i1 %11028, label %11051, label %11029

11029:                                            ; preds = %11024
  %11030 = load i32, ptr %684, align 4, !tbaa !5
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = call i32 @s2n_print_stacktrace(ptr noundef %11031) #13
  %11033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11034 = trunc nuw i8 %11033 to i1
  br i1 %11034, label %11035, label %11039

11035:                                            ; preds = %11029
  %11036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11037 = call i32 @fileno(ptr noundef %11036) #13
  %11038 = call i32 @isatty(i32 noundef %11037) #13
  %.not1251 = icmp eq i32 %11038, 0
  br i1 %.not1251, label %11039, label %11040

11039:                                            ; preds = %11035, %11029
  br label %11040

11040:                                            ; preds = %11035, %11039
  %.str.5.sink5112 = phi ptr [ @.str.5, %11039 ], [ @.str.2, %11035 ]
  store i32 %11030, ptr %684, align 4, !tbaa !5
  %11041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = load i32, ptr %630, align 4, !tbaa !5
  %11044 = call ptr @s2n_strerror(i32 noundef %11043, ptr noundef nonnull @.str.4) #13
  %11045 = load i32, ptr %630, align 4, !tbaa !5
  %11046 = call ptr @s2n_strerror_debug(i32 noundef %11045, ptr noundef nonnull @.str.4) #13
  %11047 = load i32, ptr %684, align 4, !tbaa !5
  %11048 = call ptr @strerror(i32 noundef %11047) #13
  %11049 = load i32, ptr %684, align 4, !tbaa !5
  %11050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11041, ptr noundef nonnull %.str.5.sink5112, i32 noundef %11042, ptr noundef nonnull @.str.276, ptr noundef nonnull @.str.1, i32 noundef 981, ptr noundef %11044, ptr noundef %11046, ptr noundef %11048, i32 noundef %11049) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11051:                                            ; preds = %11024
  %11052 = add nsw i32 %10996, 3
  store i32 %11052, ptr @test_count, align 4, !tbaa !5
  %11053 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef nonnull %10998, ptr noundef nonnull %70, i32 noundef 15) #13
  %11054 = icmp eq i32 %11053, -1
  br i1 %11054, label %11055, label %11077

11055:                                            ; preds = %11051
  %11056 = load i32, ptr %684, align 4, !tbaa !5
  %11057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11058 = call i32 @s2n_print_stacktrace(ptr noundef %11057) #13
  %11059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11060 = trunc nuw i8 %11059 to i1
  br i1 %11060, label %11061, label %11065

11061:                                            ; preds = %11055
  %11062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11063 = call i32 @fileno(ptr noundef %11062) #13
  %11064 = call i32 @isatty(i32 noundef %11063) #13
  %.not1291 = icmp eq i32 %11064, 0
  br i1 %.not1291, label %11065, label %11066

11065:                                            ; preds = %11061, %11055
  br label %11066

11066:                                            ; preds = %11061, %11065
  %.str.5.sink5121 = phi ptr [ @.str.5, %11065 ], [ @.str.2, %11061 ]
  store i32 %11056, ptr %684, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = load i32, ptr @test_count, align 4, !tbaa !5
  %11069 = load i32, ptr %630, align 4, !tbaa !5
  %11070 = call ptr @s2n_strerror(i32 noundef %11069, ptr noundef nonnull @.str.4) #13
  %11071 = load i32, ptr %630, align 4, !tbaa !5
  %11072 = call ptr @s2n_strerror_debug(i32 noundef %11071, ptr noundef nonnull @.str.4) #13
  %11073 = load i32, ptr %684, align 4, !tbaa !5
  %11074 = call ptr @strerror(i32 noundef %11073) #13
  %11075 = load i32, ptr %684, align 4, !tbaa !5
  %11076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11067, ptr noundef nonnull %.str.5.sink5121, i32 noundef %11068, ptr noundef nonnull @.str.277, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %11070, ptr noundef %11072, ptr noundef %11074, i32 noundef %11075) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11077:                                            ; preds = %11051
  %11078 = load i32, ptr @test_count, align 4, !tbaa !5
  %11079 = add nsw i32 %11078, 1
  store i32 %11079, ptr @test_count, align 4, !tbaa !5
  %11080 = load ptr, ptr %71, align 8, !tbaa !9
  %11081 = getelementptr inbounds i8, ptr %11080, i64 48
  %11082 = load i32, ptr %11081, align 8, !tbaa !82
  %11083 = icmp eq i32 %11082, 15
  br i1 %11083, label %11106, label %11084

11084:                                            ; preds = %11077
  %11085 = load i32, ptr %684, align 4, !tbaa !5
  %11086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11087 = call i32 @s2n_print_stacktrace(ptr noundef %11086) #13
  %11088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11089 = trunc nuw i8 %11088 to i1
  br i1 %11089, label %11090, label %11094

11090:                                            ; preds = %11084
  %11091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11092 = call i32 @fileno(ptr noundef %11091) #13
  %11093 = call i32 @isatty(i32 noundef %11092) #13
  %.not1252 = icmp eq i32 %11093, 0
  br i1 %.not1252, label %11094, label %11095

11094:                                            ; preds = %11090, %11084
  br label %11095

11095:                                            ; preds = %11090, %11094
  %.str.5.sink5130 = phi ptr [ @.str.5, %11094 ], [ @.str.2, %11090 ]
  store i32 %11085, ptr %684, align 4, !tbaa !5
  %11096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = load i32, ptr %630, align 4, !tbaa !5
  %11099 = call ptr @s2n_strerror(i32 noundef %11098, ptr noundef nonnull @.str.4) #13
  %11100 = load i32, ptr %630, align 4, !tbaa !5
  %11101 = call ptr @s2n_strerror_debug(i32 noundef %11100, ptr noundef nonnull @.str.4) #13
  %11102 = load i32, ptr %684, align 4, !tbaa !5
  %11103 = call ptr @strerror(i32 noundef %11102) #13
  %11104 = load i32, ptr %684, align 4, !tbaa !5
  %11105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11096, ptr noundef nonnull %.str.5.sink5130, i32 noundef %11097, ptr noundef nonnull @.str.278, ptr noundef nonnull @.str.1, i32 noundef 985, ptr noundef %11099, ptr noundef %11101, ptr noundef %11103, i32 noundef %11104) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11106:                                            ; preds = %11077
  %11107 = add nsw i32 %11078, 2
  store i32 %11107, ptr @test_count, align 4, !tbaa !5
  %11108 = getelementptr inbounds i8, ptr %11080, i64 40
  %11109 = load ptr, ptr %11108, align 8, !tbaa !83
  %bcmp1253 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %11109, ptr noundef nonnull dereferenceable(15) %70, i64 15)
  %11110 = icmp eq i32 %bcmp1253, 0
  br i1 %11110, label %11133, label %11111

11111:                                            ; preds = %11106
  %11112 = load i32, ptr %684, align 4, !tbaa !5
  %11113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11114 = call i32 @s2n_print_stacktrace(ptr noundef %11113) #13
  %11115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11116 = trunc nuw i8 %11115 to i1
  br i1 %11116, label %11117, label %11121

11117:                                            ; preds = %11111
  %11118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11119 = call i32 @fileno(ptr noundef %11118) #13
  %11120 = call i32 @isatty(i32 noundef %11119) #13
  %.not1254 = icmp eq i32 %11120, 0
  br i1 %.not1254, label %11121, label %11122

11121:                                            ; preds = %11117, %11111
  br label %11122

11122:                                            ; preds = %11117, %11121
  %.str.5.sink5139 = phi ptr [ @.str.5, %11121 ], [ @.str.2, %11117 ]
  store i32 %11112, ptr %684, align 4, !tbaa !5
  %11123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11124 = load i32, ptr @test_count, align 4, !tbaa !5
  %11125 = load i32, ptr %630, align 4, !tbaa !5
  %11126 = call ptr @s2n_strerror(i32 noundef %11125, ptr noundef nonnull @.str.4) #13
  %11127 = load i32, ptr %630, align 4, !tbaa !5
  %11128 = call ptr @s2n_strerror_debug(i32 noundef %11127, ptr noundef nonnull @.str.4) #13
  %11129 = load i32, ptr %684, align 4, !tbaa !5
  %11130 = call ptr @strerror(i32 noundef %11129) #13
  %11131 = load i32, ptr %684, align 4, !tbaa !5
  %11132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11123, ptr noundef nonnull %.str.5.sink5139, i32 noundef %11124, ptr noundef nonnull @.str.279, ptr noundef nonnull @.str.1, i32 noundef 986, ptr noundef %11126, ptr noundef %11128, ptr noundef %11130, i32 noundef %11131) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11133:                                            ; preds = %11106
  %11134 = add nsw i32 %11078, 3
  store i32 %11134, ptr @test_count, align 4, !tbaa !5
  %11135 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef nonnull %11080, ptr noundef null, i32 noundef 0) #13
  %11136 = icmp eq i32 %11135, -1
  br i1 %11136, label %11137, label %11159

11137:                                            ; preds = %11133
  %11138 = load i32, ptr %684, align 4, !tbaa !5
  %11139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11140 = call i32 @s2n_print_stacktrace(ptr noundef %11139) #13
  %11141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11142 = trunc nuw i8 %11141 to i1
  br i1 %11142, label %11143, label %11147

11143:                                            ; preds = %11137
  %11144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11145 = call i32 @fileno(ptr noundef %11144) #13
  %11146 = call i32 @isatty(i32 noundef %11145) #13
  %.not1290 = icmp eq i32 %11146, 0
  br i1 %.not1290, label %11147, label %11148

11147:                                            ; preds = %11143, %11137
  br label %11148

11148:                                            ; preds = %11143, %11147
  %.str.5.sink5148 = phi ptr [ @.str.5, %11147 ], [ @.str.2, %11143 ]
  store i32 %11138, ptr %684, align 4, !tbaa !5
  %11149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11150 = load i32, ptr @test_count, align 4, !tbaa !5
  %11151 = load i32, ptr %630, align 4, !tbaa !5
  %11152 = call ptr @s2n_strerror(i32 noundef %11151, ptr noundef nonnull @.str.4) #13
  %11153 = load i32, ptr %630, align 4, !tbaa !5
  %11154 = call ptr @s2n_strerror_debug(i32 noundef %11153, ptr noundef nonnull @.str.4) #13
  %11155 = load i32, ptr %684, align 4, !tbaa !5
  %11156 = call ptr @strerror(i32 noundef %11155) #13
  %11157 = load i32, ptr %684, align 4, !tbaa !5
  %11158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11149, ptr noundef nonnull %.str.5.sink5148, i32 noundef %11150, ptr noundef nonnull @.str.280, ptr noundef nonnull @.str.1, i32 noundef 989, ptr noundef %11152, ptr noundef %11154, ptr noundef %11156, i32 noundef %11157) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11159:                                            ; preds = %11133
  %11160 = load i32, ptr @test_count, align 4, !tbaa !5
  %11161 = add nsw i32 %11160, 1
  store i32 %11161, ptr @test_count, align 4, !tbaa !5
  %11162 = load ptr, ptr %71, align 8, !tbaa !9
  %11163 = getelementptr inbounds i8, ptr %11162, i64 48
  %11164 = load i32, ptr %11163, align 8, !tbaa !82
  %11165 = icmp eq i32 %11164, 0
  br i1 %11165, label %11188, label %11166

11166:                                            ; preds = %11159
  %11167 = load i32, ptr %684, align 4, !tbaa !5
  %11168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11169 = call i32 @s2n_print_stacktrace(ptr noundef %11168) #13
  %11170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11171 = trunc nuw i8 %11170 to i1
  br i1 %11171, label %11172, label %11176

11172:                                            ; preds = %11166
  %11173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11174 = call i32 @fileno(ptr noundef %11173) #13
  %11175 = call i32 @isatty(i32 noundef %11174) #13
  %.not1255 = icmp eq i32 %11175, 0
  br i1 %.not1255, label %11176, label %11177

11176:                                            ; preds = %11172, %11166
  br label %11177

11177:                                            ; preds = %11172, %11176
  %.str.5.sink5157 = phi ptr [ @.str.5, %11176 ], [ @.str.2, %11172 ]
  store i32 %11167, ptr %684, align 4, !tbaa !5
  %11178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11179 = load i32, ptr @test_count, align 4, !tbaa !5
  %11180 = load i32, ptr %630, align 4, !tbaa !5
  %11181 = call ptr @s2n_strerror(i32 noundef %11180, ptr noundef nonnull @.str.4) #13
  %11182 = load i32, ptr %630, align 4, !tbaa !5
  %11183 = call ptr @s2n_strerror_debug(i32 noundef %11182, ptr noundef nonnull @.str.4) #13
  %11184 = load i32, ptr %684, align 4, !tbaa !5
  %11185 = call ptr @strerror(i32 noundef %11184) #13
  %11186 = load i32, ptr %684, align 4, !tbaa !5
  %11187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11178, ptr noundef nonnull %.str.5.sink5157, i32 noundef %11179, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.1, i32 noundef 990, ptr noundef %11181, ptr noundef %11183, ptr noundef %11185, i32 noundef %11186) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11188:                                            ; preds = %11159
  %11189 = add nsw i32 %11160, 2
  store i32 %11189, ptr @test_count, align 4, !tbaa !5
  %11190 = call i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef nonnull %11162, ptr noundef nonnull %69, i32 noundef 9) #13
  %11191 = icmp eq i32 %11190, -1
  br i1 %11191, label %11192, label %11214

11192:                                            ; preds = %11188
  %11193 = load i32, ptr %684, align 4, !tbaa !5
  %11194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11195 = call i32 @s2n_print_stacktrace(ptr noundef %11194) #13
  %11196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11197 = trunc nuw i8 %11196 to i1
  br i1 %11197, label %11198, label %11202

11198:                                            ; preds = %11192
  %11199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11200 = call i32 @fileno(ptr noundef %11199) #13
  %11201 = call i32 @isatty(i32 noundef %11200) #13
  %.not1289 = icmp eq i32 %11201, 0
  br i1 %.not1289, label %11202, label %11203

11202:                                            ; preds = %11198, %11192
  br label %11203

11203:                                            ; preds = %11198, %11202
  %.str.5.sink5166 = phi ptr [ @.str.5, %11202 ], [ @.str.2, %11198 ]
  store i32 %11193, ptr %684, align 4, !tbaa !5
  %11204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11205 = load i32, ptr @test_count, align 4, !tbaa !5
  %11206 = load i32, ptr %630, align 4, !tbaa !5
  %11207 = call ptr @s2n_strerror(i32 noundef %11206, ptr noundef nonnull @.str.4) #13
  %11208 = load i32, ptr %630, align 4, !tbaa !5
  %11209 = call ptr @s2n_strerror_debug(i32 noundef %11208, ptr noundef nonnull @.str.4) #13
  %11210 = load i32, ptr %684, align 4, !tbaa !5
  %11211 = call ptr @strerror(i32 noundef %11210) #13
  %11212 = load i32, ptr %684, align 4, !tbaa !5
  %11213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11204, ptr noundef nonnull %.str.5.sink5166, i32 noundef %11205, ptr noundef nonnull @.str.274, ptr noundef nonnull @.str.1, i32 noundef 993, ptr noundef %11207, ptr noundef %11209, ptr noundef %11211, i32 noundef %11212) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11214:                                            ; preds = %11188
  %11215 = load i32, ptr @test_count, align 4, !tbaa !5
  %11216 = add nsw i32 %11215, 1
  store i32 %11216, ptr @test_count, align 4, !tbaa !5
  %11217 = load ptr, ptr %71, align 8, !tbaa !9
  %11218 = getelementptr inbounds i8, ptr %11217, i64 48
  %11219 = load i32, ptr %11218, align 8, !tbaa !82
  %11220 = icmp eq i32 %11219, 9
  br i1 %11220, label %11243, label %11221

11221:                                            ; preds = %11214
  %11222 = load i32, ptr %684, align 4, !tbaa !5
  %11223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11224 = call i32 @s2n_print_stacktrace(ptr noundef %11223) #13
  %11225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11226 = trunc nuw i8 %11225 to i1
  br i1 %11226, label %11227, label %11231

11227:                                            ; preds = %11221
  %11228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11229 = call i32 @fileno(ptr noundef %11228) #13
  %11230 = call i32 @isatty(i32 noundef %11229) #13
  %.not1256 = icmp eq i32 %11230, 0
  br i1 %.not1256, label %11231, label %11232

11231:                                            ; preds = %11227, %11221
  br label %11232

11232:                                            ; preds = %11227, %11231
  %.str.5.sink5175 = phi ptr [ @.str.5, %11231 ], [ @.str.2, %11227 ]
  store i32 %11222, ptr %684, align 4, !tbaa !5
  %11233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11234 = load i32, ptr @test_count, align 4, !tbaa !5
  %11235 = load i32, ptr %630, align 4, !tbaa !5
  %11236 = call ptr @s2n_strerror(i32 noundef %11235, ptr noundef nonnull @.str.4) #13
  %11237 = load i32, ptr %630, align 4, !tbaa !5
  %11238 = call ptr @s2n_strerror_debug(i32 noundef %11237, ptr noundef nonnull @.str.4) #13
  %11239 = load i32, ptr %684, align 4, !tbaa !5
  %11240 = call ptr @strerror(i32 noundef %11239) #13
  %11241 = load i32, ptr %684, align 4, !tbaa !5
  %11242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11233, ptr noundef nonnull %.str.5.sink5175, i32 noundef %11234, ptr noundef nonnull @.str.275, ptr noundef nonnull @.str.1, i32 noundef 994, ptr noundef %11236, ptr noundef %11238, ptr noundef %11240, i32 noundef %11241) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11243:                                            ; preds = %11214
  %11244 = add nsw i32 %11215, 2
  store i32 %11244, ptr @test_count, align 4, !tbaa !5
  %11245 = getelementptr inbounds i8, ptr %11217, i64 40
  %11246 = load ptr, ptr %11245, align 8, !tbaa !83
  %bcmp1257 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %11246, ptr noundef nonnull dereferenceable(9) %69, i64 9)
  %11247 = icmp eq i32 %bcmp1257, 0
  br i1 %11247, label %11270, label %11248

11248:                                            ; preds = %11243
  %11249 = load i32, ptr %684, align 4, !tbaa !5
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = call i32 @s2n_print_stacktrace(ptr noundef %11250) #13
  %11252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11253 = trunc nuw i8 %11252 to i1
  br i1 %11253, label %11254, label %11258

11254:                                            ; preds = %11248
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = call i32 @fileno(ptr noundef %11255) #13
  %11257 = call i32 @isatty(i32 noundef %11256) #13
  %.not1258 = icmp eq i32 %11257, 0
  br i1 %.not1258, label %11258, label %11259

11258:                                            ; preds = %11254, %11248
  br label %11259

11259:                                            ; preds = %11254, %11258
  %.str.5.sink5184 = phi ptr [ @.str.5, %11258 ], [ @.str.2, %11254 ]
  store i32 %11249, ptr %684, align 4, !tbaa !5
  %11260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11261 = load i32, ptr @test_count, align 4, !tbaa !5
  %11262 = load i32, ptr %630, align 4, !tbaa !5
  %11263 = call ptr @s2n_strerror(i32 noundef %11262, ptr noundef nonnull @.str.4) #13
  %11264 = load i32, ptr %630, align 4, !tbaa !5
  %11265 = call ptr @s2n_strerror_debug(i32 noundef %11264, ptr noundef nonnull @.str.4) #13
  %11266 = load i32, ptr %684, align 4, !tbaa !5
  %11267 = call ptr @strerror(i32 noundef %11266) #13
  %11268 = load i32, ptr %684, align 4, !tbaa !5
  %11269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11260, ptr noundef nonnull %.str.5.sink5184, i32 noundef %11261, ptr noundef nonnull @.str.276, ptr noundef nonnull @.str.1, i32 noundef 995, ptr noundef %11263, ptr noundef %11265, ptr noundef %11267, i32 noundef %11268) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11270:                                            ; preds = %11243
  %11271 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %71) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #13
  call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %70) #13
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %69) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #13
  store ptr null, ptr %72, align 8, !tbaa !9
  %11272 = load i32, ptr @test_count, align 4, !tbaa !5
  %11273 = add nsw i32 %11272, 1
  store i32 %11273, ptr @test_count, align 4, !tbaa !5
  %11274 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %72, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #13
  %11275 = icmp eq i32 %11274, -1
  br i1 %11275, label %11276, label %11298

11276:                                            ; preds = %11270
  %11277 = load i32, ptr %684, align 4, !tbaa !5
  %11278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11279 = call i32 @s2n_print_stacktrace(ptr noundef %11278) #13
  %11280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11281 = trunc nuw i8 %11280 to i1
  br i1 %11281, label %11282, label %11286

11282:                                            ; preds = %11276
  %11283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11284 = call i32 @fileno(ptr noundef %11283) #13
  %11285 = call i32 @isatty(i32 noundef %11284) #13
  %.not1288 = icmp eq i32 %11285, 0
  br i1 %.not1288, label %11286, label %11287

11286:                                            ; preds = %11282, %11276
  br label %11287

11287:                                            ; preds = %11282, %11286
  %.str.5.sink5193 = phi ptr [ @.str.5, %11286 ], [ @.str.2, %11282 ]
  store i32 %11277, ptr %684, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = load i32, ptr %630, align 4, !tbaa !5
  %11291 = call ptr @s2n_strerror(i32 noundef %11290, ptr noundef nonnull @.str.4) #13
  %11292 = load i32, ptr %630, align 4, !tbaa !5
  %11293 = call ptr @s2n_strerror_debug(i32 noundef %11292, ptr noundef nonnull @.str.4) #13
  %11294 = load i32, ptr %684, align 4, !tbaa !5
  %11295 = call ptr @strerror(i32 noundef %11294) #13
  %11296 = load i32, ptr %684, align 4, !tbaa !5
  %11297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11288, ptr noundef nonnull %.str.5.sink5193, i32 noundef %11289, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.1, i32 noundef 1004, ptr noundef %11291, ptr noundef %11293, ptr noundef %11295, i32 noundef %11296) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11298:                                            ; preds = %11270
  %11299 = load ptr, ptr %72, align 8, !tbaa !9
  %11300 = load ptr, ptr %11299, align 8, !tbaa !15
  %.not1259 = icmp eq ptr %11300, null
  br i1 %.not1259, label %.thread1551, label %11301

11301:                                            ; preds = %11298
  %11302 = getelementptr inbounds i8, ptr %11300, i64 8
  %11303 = load ptr, ptr %11302, align 8, !tbaa !23
  %.not1261.not = icmp eq ptr %11303, null
  br i1 %.not1261.not, label %.thread1551, label %11304

11304:                                            ; preds = %11301
  %11305 = getelementptr inbounds i8, ptr %11303, i64 80
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #13
  %11306 = load ptr, ptr %11305, align 8, !tbaa !69
  store ptr %11306, ptr %73, align 8, !tbaa !9
  %11307 = load i32, ptr @test_count, align 4, !tbaa !5
  %11308 = add nsw i32 %11307, 1
  store i32 %11308, ptr @test_count, align 4, !tbaa !5
  %11309 = icmp eq ptr %11306, null
  br i1 %11309, label %11310, label %11332

11310:                                            ; preds = %11304
  %11311 = load i32, ptr %684, align 4, !tbaa !5
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = call i32 @s2n_print_stacktrace(ptr noundef %11312) #13
  %11314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11315 = trunc nuw i8 %11314 to i1
  br i1 %11315, label %11316, label %11320

11316:                                            ; preds = %11310
  %11317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11318 = call i32 @fileno(ptr noundef %11317) #13
  %11319 = call i32 @isatty(i32 noundef %11318) #13
  %.not1287 = icmp eq i32 %11319, 0
  br i1 %.not1287, label %11320, label %11321

11320:                                            ; preds = %11316, %11310
  br label %11321

11321:                                            ; preds = %11316, %11320
  %.str.5.sink5202 = phi ptr [ @.str.5, %11320 ], [ @.str.2, %11316 ]
  store i32 %11311, ptr %684, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = load i32, ptr @test_count, align 4, !tbaa !5
  %11324 = load i32, ptr %630, align 4, !tbaa !5
  %11325 = call ptr @s2n_strerror(i32 noundef %11324, ptr noundef nonnull @.str.4) #13
  %11326 = load i32, ptr %630, align 4, !tbaa !5
  %11327 = call ptr @s2n_strerror_debug(i32 noundef %11326, ptr noundef nonnull @.str.4) #13
  %11328 = load i32, ptr %684, align 4, !tbaa !5
  %11329 = call ptr @strerror(i32 noundef %11328) #13
  %11330 = load i32, ptr %684, align 4, !tbaa !5
  %11331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11322, ptr noundef nonnull %.str.5.sink5202, i32 noundef %11323, ptr noundef nonnull @.str.284, ptr noundef nonnull @.str.1, i32 noundef 1012, ptr noundef %11325, ptr noundef %11327, ptr noundef %11329, i32 noundef %11330) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11332:                                            ; preds = %11304
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #13
  %11333 = getelementptr inbounds i8, ptr %11303, i64 88
  %11334 = load i32, ptr %11333, align 8, !tbaa !84
  %11335 = zext i32 %11334 to i64
  %11336 = call ptr @d2i_X509(ptr noundef null, ptr noundef nonnull %73, i64 noundef %11335) #13
  store ptr %11336, ptr %74, align 8, !tbaa !9
  %11337 = load i32, ptr @test_count, align 4, !tbaa !5
  %11338 = add nsw i32 %11337, 1
  store i32 %11338, ptr @test_count, align 4, !tbaa !5
  %11339 = icmp eq ptr %11336, null
  br i1 %11339, label %11340, label %11362

11340:                                            ; preds = %11332
  %11341 = load i32, ptr %684, align 4, !tbaa !5
  %11342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11343 = call i32 @s2n_print_stacktrace(ptr noundef %11342) #13
  %11344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11345 = trunc nuw i8 %11344 to i1
  br i1 %11345, label %11346, label %11350

11346:                                            ; preds = %11340
  %11347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11348 = call i32 @fileno(ptr noundef %11347) #13
  %11349 = call i32 @isatty(i32 noundef %11348) #13
  %.not1286 = icmp eq i32 %11349, 0
  br i1 %.not1286, label %11350, label %11351

11350:                                            ; preds = %11346, %11340
  br label %11351

11351:                                            ; preds = %11346, %11350
  %.str.5.sink5211 = phi ptr [ @.str.5, %11350 ], [ @.str.2, %11346 ]
  store i32 %11341, ptr %684, align 4, !tbaa !5
  %11352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11353 = load i32, ptr @test_count, align 4, !tbaa !5
  %11354 = load i32, ptr %630, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror(i32 noundef %11354, ptr noundef nonnull @.str.4) #13
  %11356 = load i32, ptr %630, align 4, !tbaa !5
  %11357 = call ptr @s2n_strerror_debug(i32 noundef %11356, ptr noundef nonnull @.str.4) #13
  %11358 = load i32, ptr %684, align 4, !tbaa !5
  %11359 = call ptr @strerror(i32 noundef %11358) #13
  %11360 = load i32, ptr %684, align 4, !tbaa !5
  %11361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11352, ptr noundef nonnull %.str.5.sink5211, i32 noundef %11353, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 1016, ptr noundef %11355, ptr noundef %11357, ptr noundef %11359, i32 noundef %11360) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11362:                                            ; preds = %11332
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #13
  %11363 = call ptr @X509_NAME_new() #13
  store ptr %11363, ptr %75, align 8, !tbaa !9
  %11364 = load i32, ptr @test_count, align 4, !tbaa !5
  %11365 = add nsw i32 %11364, 1
  store i32 %11365, ptr @test_count, align 4, !tbaa !5
  %11366 = icmp eq ptr %11363, null
  br i1 %11366, label %11367, label %11389

11367:                                            ; preds = %11362
  %11368 = load i32, ptr %684, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = call i32 @s2n_print_stacktrace(ptr noundef %11369) #13
  %11371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11372 = trunc nuw i8 %11371 to i1
  br i1 %11372, label %11373, label %11377

11373:                                            ; preds = %11367
  %11374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11375 = call i32 @fileno(ptr noundef %11374) #13
  %11376 = call i32 @isatty(i32 noundef %11375) #13
  %.not1285 = icmp eq i32 %11376, 0
  br i1 %.not1285, label %11377, label %11378

11377:                                            ; preds = %11373, %11367
  br label %11378

11378:                                            ; preds = %11373, %11377
  %.str.5.sink5220 = phi ptr [ @.str.5, %11377 ], [ @.str.2, %11373 ]
  store i32 %11368, ptr %684, align 4, !tbaa !5
  %11379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11380 = load i32, ptr @test_count, align 4, !tbaa !5
  %11381 = load i32, ptr %630, align 4, !tbaa !5
  %11382 = call ptr @s2n_strerror(i32 noundef %11381, ptr noundef nonnull @.str.4) #13
  %11383 = load i32, ptr %630, align 4, !tbaa !5
  %11384 = call ptr @s2n_strerror_debug(i32 noundef %11383, ptr noundef nonnull @.str.4) #13
  %11385 = load i32, ptr %684, align 4, !tbaa !5
  %11386 = call ptr @strerror(i32 noundef %11385) #13
  %11387 = load i32, ptr %684, align 4, !tbaa !5
  %11388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11379, ptr noundef nonnull %.str.5.sink5220, i32 noundef %11380, ptr noundef nonnull @.str.285, ptr noundef nonnull @.str.1, i32 noundef 1020, ptr noundef %11382, ptr noundef %11384, ptr noundef %11386, i32 noundef %11387) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11389:                                            ; preds = %11362
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #13
  store i32 0, ptr %76, align 4, !tbaa !5
  %11390 = add nsw i32 %11364, 2
  store i32 %11390, ptr @test_count, align 4, !tbaa !5
  %11391 = load ptr, ptr %72, align 8, !tbaa !9
  %11392 = getelementptr inbounds i8, ptr %11391, i64 72
  %11393 = load ptr, ptr %11392, align 8, !tbaa !19
  %11394 = call i32 @s2n_array_num_elements(ptr noundef %11393, ptr noundef nonnull %76) #13
  %11395 = call zeroext i1 @s2n_result_is_ok(i32 %11394)
  br i1 %11395, label %11418, label %11396

11396:                                            ; preds = %11389
  %11397 = load i32, ptr %684, align 4, !tbaa !5
  %11398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11399 = call i32 @s2n_print_stacktrace(ptr noundef %11398) #13
  %11400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11401 = trunc nuw i8 %11400 to i1
  br i1 %11401, label %11402, label %11406

11402:                                            ; preds = %11396
  %11403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11404 = call i32 @fileno(ptr noundef %11403) #13
  %11405 = call i32 @isatty(i32 noundef %11404) #13
  %.not1263 = icmp eq i32 %11405, 0
  br i1 %.not1263, label %11406, label %11407

11406:                                            ; preds = %11402, %11396
  br label %11407

11407:                                            ; preds = %11402, %11406
  %.str.5.sink5229 = phi ptr [ @.str.5, %11406 ], [ @.str.2, %11402 ]
  store i32 %11397, ptr %684, align 4, !tbaa !5
  %11408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11409 = load i32, ptr @test_count, align 4, !tbaa !5
  %11410 = load i32, ptr %630, align 4, !tbaa !5
  %11411 = call ptr @s2n_strerror(i32 noundef %11410, ptr noundef nonnull @.str.4) #13
  %11412 = load i32, ptr %630, align 4, !tbaa !5
  %11413 = call ptr @s2n_strerror_debug(i32 noundef %11412, ptr noundef nonnull @.str.4) #13
  %11414 = load i32, ptr %684, align 4, !tbaa !5
  %11415 = call ptr @strerror(i32 noundef %11414) #13
  %11416 = load i32, ptr %684, align 4, !tbaa !5
  %11417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11408, ptr noundef nonnull %.str.5.sink5229, i32 noundef %11409, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.1, i32 noundef 1024, ptr noundef %11411, ptr noundef %11413, ptr noundef %11415, i32 noundef %11416) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11418:                                            ; preds = %11389
  %11419 = load i32, ptr @test_count, align 4, !tbaa !5
  %11420 = add nsw i32 %11419, 1
  store i32 %11420, ptr @test_count, align 4, !tbaa !5
  %11421 = load i32, ptr %76, align 4, !tbaa !5
  %11422 = icmp eq i32 %11421, 1
  br i1 %11422, label %11445, label %11423

11423:                                            ; preds = %11418
  %11424 = load i32, ptr %684, align 4, !tbaa !5
  %11425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11426 = call i32 @s2n_print_stacktrace(ptr noundef %11425) #13
  %11427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11428 = trunc nuw i8 %11427 to i1
  br i1 %11428, label %11429, label %11433

11429:                                            ; preds = %11423
  %11430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11431 = call i32 @fileno(ptr noundef %11430) #13
  %11432 = call i32 @isatty(i32 noundef %11431) #13
  %.not1264 = icmp eq i32 %11432, 0
  br i1 %.not1264, label %11433, label %11434

11433:                                            ; preds = %11429, %11423
  br label %11434

11434:                                            ; preds = %11429, %11433
  %.str.5.sink5238 = phi ptr [ @.str.5, %11433 ], [ @.str.2, %11429 ]
  store i32 %11424, ptr %684, align 4, !tbaa !5
  %11435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11436 = load i32, ptr @test_count, align 4, !tbaa !5
  %11437 = load i32, ptr %630, align 4, !tbaa !5
  %11438 = call ptr @s2n_strerror(i32 noundef %11437, ptr noundef nonnull @.str.4) #13
  %11439 = load i32, ptr %630, align 4, !tbaa !5
  %11440 = call ptr @s2n_strerror_debug(i32 noundef %11439, ptr noundef nonnull @.str.4) #13
  %11441 = load i32, ptr %684, align 4, !tbaa !5
  %11442 = call ptr @strerror(i32 noundef %11441) #13
  %11443 = load i32, ptr %684, align 4, !tbaa !5
  %11444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11435, ptr noundef nonnull %.str.5.sink5238, i32 noundef %11436, ptr noundef nonnull @.str.287, ptr noundef nonnull @.str.1, i32 noundef 1025, ptr noundef %11438, ptr noundef %11440, ptr noundef %11442, i32 noundef %11443) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11445:                                            ; preds = %11418
  %11446 = add nsw i32 %11419, 2
  store i32 %11446, ptr @test_count, align 4, !tbaa !5
  %11447 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef nonnull %11363, i32 noundef 13, i32 noundef 22, ptr noundef nonnull @.str.288, i32 noundef -1, i32 noundef -1, i32 noundef 1) #13
  %11448 = icmp eq i32 %11447, -1
  br i1 %11448, label %11449, label %11471

11449:                                            ; preds = %11445
  %11450 = load i32, ptr %684, align 4, !tbaa !5
  %11451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11452 = call i32 @s2n_print_stacktrace(ptr noundef %11451) #13
  %11453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11454 = trunc nuw i8 %11453 to i1
  br i1 %11454, label %11455, label %11459

11455:                                            ; preds = %11449
  %11456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11457 = call i32 @fileno(ptr noundef %11456) #13
  %11458 = call i32 @isatty(i32 noundef %11457) #13
  %.not1284 = icmp eq i32 %11458, 0
  br i1 %.not1284, label %11459, label %11460

11459:                                            ; preds = %11455, %11449
  br label %11460

11460:                                            ; preds = %11455, %11459
  %.str.5.sink5247 = phi ptr [ @.str.5, %11459 ], [ @.str.2, %11455 ]
  store i32 %11450, ptr %684, align 4, !tbaa !5
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = load i32, ptr @test_count, align 4, !tbaa !5
  %11463 = load i32, ptr %630, align 4, !tbaa !5
  %11464 = call ptr @s2n_strerror(i32 noundef %11463, ptr noundef nonnull @.str.4) #13
  %11465 = load i32, ptr %630, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror_debug(i32 noundef %11465, ptr noundef nonnull @.str.4) #13
  %11467 = load i32, ptr %684, align 4, !tbaa !5
  %11468 = call ptr @strerror(i32 noundef %11467) #13
  %11469 = load i32, ptr %684, align 4, !tbaa !5
  %11470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11461, ptr noundef nonnull %.str.5.sink5247, i32 noundef %11462, ptr noundef nonnull @.str.289, ptr noundef nonnull @.str.1, i32 noundef 1029, ptr noundef %11464, ptr noundef %11466, ptr noundef %11468, i32 noundef %11469) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11471:                                            ; preds = %11445
  %11472 = load i32, ptr @test_count, align 4, !tbaa !5
  %11473 = add nsw i32 %11472, 1
  store i32 %11473, ptr @test_count, align 4, !tbaa !5
  %11474 = call i32 @X509_set_subject_name(ptr noundef nonnull %11336, ptr noundef nonnull %11363) #13
  %11475 = icmp eq i32 %11474, 1
  br i1 %11475, label %11498, label %11476

11476:                                            ; preds = %11471
  %11477 = load i32, ptr %684, align 4, !tbaa !5
  %11478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11479 = call i32 @s2n_print_stacktrace(ptr noundef %11478) #13
  %11480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11481 = trunc nuw i8 %11480 to i1
  br i1 %11481, label %11482, label %11486

11482:                                            ; preds = %11476
  %11483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11484 = call i32 @fileno(ptr noundef %11483) #13
  %11485 = call i32 @isatty(i32 noundef %11484) #13
  %.not1265 = icmp eq i32 %11485, 0
  br i1 %.not1265, label %11486, label %11487

11486:                                            ; preds = %11482, %11476
  br label %11487

11487:                                            ; preds = %11482, %11486
  %.str.5.sink5256 = phi ptr [ @.str.5, %11486 ], [ @.str.2, %11482 ]
  store i32 %11477, ptr %684, align 4, !tbaa !5
  %11488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11489 = load i32, ptr @test_count, align 4, !tbaa !5
  %11490 = load i32, ptr %630, align 4, !tbaa !5
  %11491 = call ptr @s2n_strerror(i32 noundef %11490, ptr noundef nonnull @.str.4) #13
  %11492 = load i32, ptr %630, align 4, !tbaa !5
  %11493 = call ptr @s2n_strerror_debug(i32 noundef %11492, ptr noundef nonnull @.str.4) #13
  %11494 = load i32, ptr %684, align 4, !tbaa !5
  %11495 = call ptr @strerror(i32 noundef %11494) #13
  %11496 = load i32, ptr %684, align 4, !tbaa !5
  %11497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11488, ptr noundef nonnull %.str.5.sink5256, i32 noundef %11489, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.1, i32 noundef 1030, ptr noundef %11491, ptr noundef %11493, ptr noundef %11495, i32 noundef %11496) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11498:                                            ; preds = %11471
  %11499 = load i32, ptr @test_count, align 4, !tbaa !5
  %11500 = add nsw i32 %11499, 1
  store i32 %11500, ptr @test_count, align 4, !tbaa !5
  %11501 = load ptr, ptr %72, align 8, !tbaa !9
  %11502 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %11501, ptr noundef nonnull %11336) #13
  %11503 = icmp eq i32 %11502, -1
  br i1 %11503, label %11504, label %11526

11504:                                            ; preds = %11498
  %11505 = load i32, ptr %684, align 4, !tbaa !5
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @s2n_print_stacktrace(ptr noundef %11506) #13
  %11508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11509 = trunc nuw i8 %11508 to i1
  br i1 %11509, label %11510, label %11514

11510:                                            ; preds = %11504
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @fileno(ptr noundef %11511) #13
  %11513 = call i32 @isatty(i32 noundef %11512) #13
  %.not1283 = icmp eq i32 %11513, 0
  br i1 %.not1283, label %11514, label %11515

11514:                                            ; preds = %11510, %11504
  br label %11515

11515:                                            ; preds = %11510, %11514
  %.str.5.sink5265 = phi ptr [ @.str.5, %11514 ], [ @.str.2, %11510 ]
  store i32 %11505, ptr %684, align 4, !tbaa !5
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = load i32, ptr @test_count, align 4, !tbaa !5
  %11518 = load i32, ptr %630, align 4, !tbaa !5
  %11519 = call ptr @s2n_strerror(i32 noundef %11518, ptr noundef nonnull @.str.4) #13
  %11520 = load i32, ptr %630, align 4, !tbaa !5
  %11521 = call ptr @s2n_strerror_debug(i32 noundef %11520, ptr noundef nonnull @.str.4) #13
  %11522 = load i32, ptr %684, align 4, !tbaa !5
  %11523 = call ptr @strerror(i32 noundef %11522) #13
  %11524 = load i32, ptr %684, align 4, !tbaa !5
  %11525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11516, ptr noundef nonnull %.str.5.sink5265, i32 noundef %11517, ptr noundef nonnull @.str.291, ptr noundef nonnull @.str.1, i32 noundef 1031, ptr noundef %11519, ptr noundef %11521, ptr noundef %11523, i32 noundef %11524) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11526:                                            ; preds = %11498
  %11527 = load i32, ptr @test_count, align 4, !tbaa !5
  %11528 = add nsw i32 %11527, 1
  store i32 %11528, ptr @test_count, align 4, !tbaa !5
  %11529 = load ptr, ptr %72, align 8, !tbaa !9
  %11530 = getelementptr inbounds i8, ptr %11529, i64 72
  %11531 = load ptr, ptr %11530, align 8, !tbaa !19
  %11532 = call i32 @s2n_array_num_elements(ptr noundef %11531, ptr noundef nonnull %76) #13
  %11533 = call zeroext i1 @s2n_result_is_ok(i32 %11532)
  br i1 %11533, label %11556, label %11534

11534:                                            ; preds = %11526
  %11535 = load i32, ptr %684, align 4, !tbaa !5
  %11536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11537 = call i32 @s2n_print_stacktrace(ptr noundef %11536) #13
  %11538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11539 = trunc nuw i8 %11538 to i1
  br i1 %11539, label %11540, label %11544

11540:                                            ; preds = %11534
  %11541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11542 = call i32 @fileno(ptr noundef %11541) #13
  %11543 = call i32 @isatty(i32 noundef %11542) #13
  %.not1266 = icmp eq i32 %11543, 0
  br i1 %.not1266, label %11544, label %11545

11544:                                            ; preds = %11540, %11534
  br label %11545

11545:                                            ; preds = %11540, %11544
  %.str.5.sink5274 = phi ptr [ @.str.5, %11544 ], [ @.str.2, %11540 ]
  store i32 %11535, ptr %684, align 4, !tbaa !5
  %11546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11547 = load i32, ptr @test_count, align 4, !tbaa !5
  %11548 = load i32, ptr %630, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror(i32 noundef %11548, ptr noundef nonnull @.str.4) #13
  %11550 = load i32, ptr %630, align 4, !tbaa !5
  %11551 = call ptr @s2n_strerror_debug(i32 noundef %11550, ptr noundef nonnull @.str.4) #13
  %11552 = load i32, ptr %684, align 4, !tbaa !5
  %11553 = call ptr @strerror(i32 noundef %11552) #13
  %11554 = load i32, ptr %684, align 4, !tbaa !5
  %11555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11546, ptr noundef nonnull %.str.5.sink5274, i32 noundef %11547, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.1, i32 noundef 1034, ptr noundef %11549, ptr noundef %11551, ptr noundef %11553, i32 noundef %11554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11556:                                            ; preds = %11526
  %11557 = load i32, ptr @test_count, align 4, !tbaa !5
  %11558 = add nsw i32 %11557, 1
  store i32 %11558, ptr @test_count, align 4, !tbaa !5
  %11559 = load i32, ptr %76, align 4, !tbaa !5
  %11560 = icmp eq i32 %11559, 1
  br i1 %11560, label %11583, label %11561

11561:                                            ; preds = %11556
  %11562 = load i32, ptr %684, align 4, !tbaa !5
  %11563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11564 = call i32 @s2n_print_stacktrace(ptr noundef %11563) #13
  %11565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11566 = trunc nuw i8 %11565 to i1
  br i1 %11566, label %11567, label %11571

11567:                                            ; preds = %11561
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = call i32 @fileno(ptr noundef %11568) #13
  %11570 = call i32 @isatty(i32 noundef %11569) #13
  %.not1267 = icmp eq i32 %11570, 0
  br i1 %.not1267, label %11571, label %11572

11571:                                            ; preds = %11567, %11561
  br label %11572

11572:                                            ; preds = %11567, %11571
  %.str.5.sink5283 = phi ptr [ @.str.5, %11571 ], [ @.str.2, %11567 ]
  store i32 %11562, ptr %684, align 4, !tbaa !5
  %11573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11574 = load i32, ptr @test_count, align 4, !tbaa !5
  %11575 = load i32, ptr %630, align 4, !tbaa !5
  %11576 = call ptr @s2n_strerror(i32 noundef %11575, ptr noundef nonnull @.str.4) #13
  %11577 = load i32, ptr %630, align 4, !tbaa !5
  %11578 = call ptr @s2n_strerror_debug(i32 noundef %11577, ptr noundef nonnull @.str.4) #13
  %11579 = load i32, ptr %684, align 4, !tbaa !5
  %11580 = call ptr @strerror(i32 noundef %11579) #13
  %11581 = load i32, ptr %684, align 4, !tbaa !5
  %11582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11573, ptr noundef nonnull %.str.5.sink5283, i32 noundef %11574, ptr noundef nonnull @.str.287, ptr noundef nonnull @.str.1, i32 noundef 1035, ptr noundef %11576, ptr noundef %11578, ptr noundef %11580, i32 noundef %11581) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11583:                                            ; preds = %11556
  %11584 = add nsw i32 %11557, 2
  store i32 %11584, ptr @test_count, align 4, !tbaa !5
  %11585 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef nonnull %11363, i32 noundef 13, i32 noundef 29, ptr noundef nonnull @.str.292, i32 noundef -1, i32 noundef -1, i32 noundef 1) #13
  %11586 = icmp eq i32 %11585, -1
  br i1 %11586, label %11587, label %11609

11587:                                            ; preds = %11583
  %11588 = load i32, ptr %684, align 4, !tbaa !5
  %11589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11590 = call i32 @s2n_print_stacktrace(ptr noundef %11589) #13
  %11591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11592 = trunc nuw i8 %11591 to i1
  br i1 %11592, label %11593, label %11597

11593:                                            ; preds = %11587
  %11594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11595 = call i32 @fileno(ptr noundef %11594) #13
  %11596 = call i32 @isatty(i32 noundef %11595) #13
  %.not1282 = icmp eq i32 %11596, 0
  br i1 %.not1282, label %11597, label %11598

11597:                                            ; preds = %11593, %11587
  br label %11598

11598:                                            ; preds = %11593, %11597
  %.str.5.sink5292 = phi ptr [ @.str.5, %11597 ], [ @.str.2, %11593 ]
  store i32 %11588, ptr %684, align 4, !tbaa !5
  %11599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11600 = load i32, ptr @test_count, align 4, !tbaa !5
  %11601 = load i32, ptr %630, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror(i32 noundef %11601, ptr noundef nonnull @.str.4) #13
  %11603 = load i32, ptr %630, align 4, !tbaa !5
  %11604 = call ptr @s2n_strerror_debug(i32 noundef %11603, ptr noundef nonnull @.str.4) #13
  %11605 = load i32, ptr %684, align 4, !tbaa !5
  %11606 = call ptr @strerror(i32 noundef %11605) #13
  %11607 = load i32, ptr %684, align 4, !tbaa !5
  %11608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11599, ptr noundef nonnull %.str.5.sink5292, i32 noundef %11600, ptr noundef nonnull @.str.293, ptr noundef nonnull @.str.1, i32 noundef 1039, ptr noundef %11602, ptr noundef %11604, ptr noundef %11606, i32 noundef %11607) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11609:                                            ; preds = %11583
  %11610 = load i32, ptr @test_count, align 4, !tbaa !5
  %11611 = add nsw i32 %11610, 1
  store i32 %11611, ptr @test_count, align 4, !tbaa !5
  %11612 = call i32 @X509_set_subject_name(ptr noundef nonnull %11336, ptr noundef nonnull %11363) #13
  %11613 = icmp eq i32 %11612, 1
  br i1 %11613, label %11636, label %11614

11614:                                            ; preds = %11609
  %11615 = load i32, ptr %684, align 4, !tbaa !5
  %11616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11617 = call i32 @s2n_print_stacktrace(ptr noundef %11616) #13
  %11618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11619 = trunc nuw i8 %11618 to i1
  br i1 %11619, label %11620, label %11624

11620:                                            ; preds = %11614
  %11621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11622 = call i32 @fileno(ptr noundef %11621) #13
  %11623 = call i32 @isatty(i32 noundef %11622) #13
  %.not1268 = icmp eq i32 %11623, 0
  br i1 %.not1268, label %11624, label %11625

11624:                                            ; preds = %11620, %11614
  br label %11625

11625:                                            ; preds = %11620, %11624
  %.str.5.sink5301 = phi ptr [ @.str.5, %11624 ], [ @.str.2, %11620 ]
  store i32 %11615, ptr %684, align 4, !tbaa !5
  %11626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11627 = load i32, ptr @test_count, align 4, !tbaa !5
  %11628 = load i32, ptr %630, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror(i32 noundef %11628, ptr noundef nonnull @.str.4) #13
  %11630 = load i32, ptr %630, align 4, !tbaa !5
  %11631 = call ptr @s2n_strerror_debug(i32 noundef %11630, ptr noundef nonnull @.str.4) #13
  %11632 = load i32, ptr %684, align 4, !tbaa !5
  %11633 = call ptr @strerror(i32 noundef %11632) #13
  %11634 = load i32, ptr %684, align 4, !tbaa !5
  %11635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11626, ptr noundef nonnull %.str.5.sink5301, i32 noundef %11627, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %11629, ptr noundef %11631, ptr noundef %11633, i32 noundef %11634) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11636:                                            ; preds = %11609
  %11637 = load i32, ptr @test_count, align 4, !tbaa !5
  %11638 = add nsw i32 %11637, 1
  store i32 %11638, ptr @test_count, align 4, !tbaa !5
  %11639 = load ptr, ptr %72, align 8, !tbaa !9
  %11640 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %11639, ptr noundef nonnull %11336) #13
  %11641 = icmp eq i32 %11640, -1
  br i1 %11641, label %11642, label %11664

11642:                                            ; preds = %11636
  %11643 = load i32, ptr %684, align 4, !tbaa !5
  %11644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11645 = call i32 @s2n_print_stacktrace(ptr noundef %11644) #13
  %11646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11647 = trunc nuw i8 %11646 to i1
  br i1 %11647, label %11648, label %11652

11648:                                            ; preds = %11642
  %11649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11650 = call i32 @fileno(ptr noundef %11649) #13
  %11651 = call i32 @isatty(i32 noundef %11650) #13
  %.not1281 = icmp eq i32 %11651, 0
  br i1 %.not1281, label %11652, label %11653

11652:                                            ; preds = %11648, %11642
  br label %11653

11653:                                            ; preds = %11648, %11652
  %.str.5.sink5310 = phi ptr [ @.str.5, %11652 ], [ @.str.2, %11648 ]
  store i32 %11643, ptr %684, align 4, !tbaa !5
  %11654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11655 = load i32, ptr @test_count, align 4, !tbaa !5
  %11656 = load i32, ptr %630, align 4, !tbaa !5
  %11657 = call ptr @s2n_strerror(i32 noundef %11656, ptr noundef nonnull @.str.4) #13
  %11658 = load i32, ptr %630, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror_debug(i32 noundef %11658, ptr noundef nonnull @.str.4) #13
  %11660 = load i32, ptr %684, align 4, !tbaa !5
  %11661 = call ptr @strerror(i32 noundef %11660) #13
  %11662 = load i32, ptr %684, align 4, !tbaa !5
  %11663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11654, ptr noundef nonnull %.str.5.sink5310, i32 noundef %11655, ptr noundef nonnull @.str.291, ptr noundef nonnull @.str.1, i32 noundef 1041, ptr noundef %11657, ptr noundef %11659, ptr noundef %11661, i32 noundef %11662) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11664:                                            ; preds = %11636
  %11665 = load i32, ptr @test_count, align 4, !tbaa !5
  %11666 = add nsw i32 %11665, 1
  store i32 %11666, ptr @test_count, align 4, !tbaa !5
  %11667 = load ptr, ptr %72, align 8, !tbaa !9
  %11668 = getelementptr inbounds i8, ptr %11667, i64 72
  %11669 = load ptr, ptr %11668, align 8, !tbaa !19
  %11670 = call i32 @s2n_array_num_elements(ptr noundef %11669, ptr noundef nonnull %76) #13
  %11671 = call zeroext i1 @s2n_result_is_ok(i32 %11670)
  br i1 %11671, label %11694, label %11672

11672:                                            ; preds = %11664
  %11673 = load i32, ptr %684, align 4, !tbaa !5
  %11674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11675 = call i32 @s2n_print_stacktrace(ptr noundef %11674) #13
  %11676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11677 = trunc nuw i8 %11676 to i1
  br i1 %11677, label %11678, label %11682

11678:                                            ; preds = %11672
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = call i32 @fileno(ptr noundef %11679) #13
  %11681 = call i32 @isatty(i32 noundef %11680) #13
  %.not1269 = icmp eq i32 %11681, 0
  br i1 %.not1269, label %11682, label %11683

11682:                                            ; preds = %11678, %11672
  br label %11683

11683:                                            ; preds = %11678, %11682
  %.str.5.sink5319 = phi ptr [ @.str.5, %11682 ], [ @.str.2, %11678 ]
  store i32 %11673, ptr %684, align 4, !tbaa !5
  %11684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11685 = load i32, ptr @test_count, align 4, !tbaa !5
  %11686 = load i32, ptr %630, align 4, !tbaa !5
  %11687 = call ptr @s2n_strerror(i32 noundef %11686, ptr noundef nonnull @.str.4) #13
  %11688 = load i32, ptr %630, align 4, !tbaa !5
  %11689 = call ptr @s2n_strerror_debug(i32 noundef %11688, ptr noundef nonnull @.str.4) #13
  %11690 = load i32, ptr %684, align 4, !tbaa !5
  %11691 = call ptr @strerror(i32 noundef %11690) #13
  %11692 = load i32, ptr %684, align 4, !tbaa !5
  %11693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11684, ptr noundef nonnull %.str.5.sink5319, i32 noundef %11685, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.1, i32 noundef 1044, ptr noundef %11687, ptr noundef %11689, ptr noundef %11691, i32 noundef %11692) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11694:                                            ; preds = %11664
  %11695 = load i32, ptr @test_count, align 4, !tbaa !5
  %11696 = add nsw i32 %11695, 1
  store i32 %11696, ptr @test_count, align 4, !tbaa !5
  %11697 = load i32, ptr %76, align 4, !tbaa !5
  %11698 = icmp eq i32 %11697, 1
  br i1 %11698, label %11721, label %11699

11699:                                            ; preds = %11694
  %11700 = load i32, ptr %684, align 4, !tbaa !5
  %11701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11702 = call i32 @s2n_print_stacktrace(ptr noundef %11701) #13
  %11703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11704 = trunc nuw i8 %11703 to i1
  br i1 %11704, label %11705, label %11709

11705:                                            ; preds = %11699
  %11706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11707 = call i32 @fileno(ptr noundef %11706) #13
  %11708 = call i32 @isatty(i32 noundef %11707) #13
  %.not1270 = icmp eq i32 %11708, 0
  br i1 %.not1270, label %11709, label %11710

11709:                                            ; preds = %11705, %11699
  br label %11710

11710:                                            ; preds = %11705, %11709
  %.str.5.sink5328 = phi ptr [ @.str.5, %11709 ], [ @.str.2, %11705 ]
  store i32 %11700, ptr %684, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = load i32, ptr @test_count, align 4, !tbaa !5
  %11713 = load i32, ptr %630, align 4, !tbaa !5
  %11714 = call ptr @s2n_strerror(i32 noundef %11713, ptr noundef nonnull @.str.4) #13
  %11715 = load i32, ptr %630, align 4, !tbaa !5
  %11716 = call ptr @s2n_strerror_debug(i32 noundef %11715, ptr noundef nonnull @.str.4) #13
  %11717 = load i32, ptr %684, align 4, !tbaa !5
  %11718 = call ptr @strerror(i32 noundef %11717) #13
  %11719 = load i32, ptr %684, align 4, !tbaa !5
  %11720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11711, ptr noundef nonnull %.str.5.sink5328, i32 noundef %11712, ptr noundef nonnull @.str.287, ptr noundef nonnull @.str.1, i32 noundef 1045, ptr noundef %11714, ptr noundef %11716, ptr noundef %11718, i32 noundef %11719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11721:                                            ; preds = %11694
  %11722 = add nsw i32 %11695, 2
  store i32 %11722, ptr @test_count, align 4, !tbaa !5
  %11723 = call i32 @X509_NAME_add_entry_by_NID(ptr noundef nonnull %11363, i32 noundef 13, i32 noundef 22, ptr noundef nonnull @.str.294, i32 noundef -1, i32 noundef -1, i32 noundef 1) #13
  %11724 = icmp eq i32 %11723, -1
  br i1 %11724, label %11725, label %11747

11725:                                            ; preds = %11721
  %11726 = load i32, ptr %684, align 4, !tbaa !5
  %11727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11728 = call i32 @s2n_print_stacktrace(ptr noundef %11727) #13
  %11729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11730 = trunc nuw i8 %11729 to i1
  br i1 %11730, label %11731, label %11735

11731:                                            ; preds = %11725
  %11732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11733 = call i32 @fileno(ptr noundef %11732) #13
  %11734 = call i32 @isatty(i32 noundef %11733) #13
  %.not1280 = icmp eq i32 %11734, 0
  br i1 %.not1280, label %11735, label %11736

11735:                                            ; preds = %11731, %11725
  br label %11736

11736:                                            ; preds = %11731, %11735
  %.str.5.sink5337 = phi ptr [ @.str.5, %11735 ], [ @.str.2, %11731 ]
  store i32 %11726, ptr %684, align 4, !tbaa !5
  %11737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11738 = load i32, ptr @test_count, align 4, !tbaa !5
  %11739 = load i32, ptr %630, align 4, !tbaa !5
  %11740 = call ptr @s2n_strerror(i32 noundef %11739, ptr noundef nonnull @.str.4) #13
  %11741 = load i32, ptr %630, align 4, !tbaa !5
  %11742 = call ptr @s2n_strerror_debug(i32 noundef %11741, ptr noundef nonnull @.str.4) #13
  %11743 = load i32, ptr %684, align 4, !tbaa !5
  %11744 = call ptr @strerror(i32 noundef %11743) #13
  %11745 = load i32, ptr %684, align 4, !tbaa !5
  %11746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11737, ptr noundef nonnull %.str.5.sink5337, i32 noundef %11738, ptr noundef nonnull @.str.295, ptr noundef nonnull @.str.1, i32 noundef 1049, ptr noundef %11740, ptr noundef %11742, ptr noundef %11744, i32 noundef %11745) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11747:                                            ; preds = %11721
  %11748 = load i32, ptr @test_count, align 4, !tbaa !5
  %11749 = add nsw i32 %11748, 1
  store i32 %11749, ptr @test_count, align 4, !tbaa !5
  %11750 = call i32 @X509_set_subject_name(ptr noundef nonnull %11336, ptr noundef nonnull %11363) #13
  %11751 = icmp eq i32 %11750, 1
  br i1 %11751, label %11774, label %11752

11752:                                            ; preds = %11747
  %11753 = load i32, ptr %684, align 4, !tbaa !5
  %11754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11755 = call i32 @s2n_print_stacktrace(ptr noundef %11754) #13
  %11756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11757 = trunc nuw i8 %11756 to i1
  br i1 %11757, label %11758, label %11762

11758:                                            ; preds = %11752
  %11759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11760 = call i32 @fileno(ptr noundef %11759) #13
  %11761 = call i32 @isatty(i32 noundef %11760) #13
  %.not1271 = icmp eq i32 %11761, 0
  br i1 %.not1271, label %11762, label %11763

11762:                                            ; preds = %11758, %11752
  br label %11763

11763:                                            ; preds = %11758, %11762
  %.str.5.sink5346 = phi ptr [ @.str.5, %11762 ], [ @.str.2, %11758 ]
  store i32 %11753, ptr %684, align 4, !tbaa !5
  %11764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11765 = load i32, ptr @test_count, align 4, !tbaa !5
  %11766 = load i32, ptr %630, align 4, !tbaa !5
  %11767 = call ptr @s2n_strerror(i32 noundef %11766, ptr noundef nonnull @.str.4) #13
  %11768 = load i32, ptr %630, align 4, !tbaa !5
  %11769 = call ptr @s2n_strerror_debug(i32 noundef %11768, ptr noundef nonnull @.str.4) #13
  %11770 = load i32, ptr %684, align 4, !tbaa !5
  %11771 = call ptr @strerror(i32 noundef %11770) #13
  %11772 = load i32, ptr %684, align 4, !tbaa !5
  %11773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11764, ptr noundef nonnull %.str.5.sink5346, i32 noundef %11765, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.1, i32 noundef 1050, ptr noundef %11767, ptr noundef %11769, ptr noundef %11771, i32 noundef %11772) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11774:                                            ; preds = %11747
  %11775 = load i32, ptr @test_count, align 4, !tbaa !5
  %11776 = add nsw i32 %11775, 1
  store i32 %11776, ptr @test_count, align 4, !tbaa !5
  %11777 = load ptr, ptr %72, align 8, !tbaa !9
  %11778 = call i32 @s2n_cert_chain_and_key_load_cns(ptr noundef %11777, ptr noundef nonnull %11336) #13
  %11779 = icmp eq i32 %11778, -1
  br i1 %11779, label %11780, label %11802

11780:                                            ; preds = %11774
  %11781 = load i32, ptr %684, align 4, !tbaa !5
  %11782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11783 = call i32 @s2n_print_stacktrace(ptr noundef %11782) #13
  %11784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11785 = trunc nuw i8 %11784 to i1
  br i1 %11785, label %11786, label %11790

11786:                                            ; preds = %11780
  %11787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11788 = call i32 @fileno(ptr noundef %11787) #13
  %11789 = call i32 @isatty(i32 noundef %11788) #13
  %.not1279 = icmp eq i32 %11789, 0
  br i1 %.not1279, label %11790, label %11791

11790:                                            ; preds = %11786, %11780
  br label %11791

11791:                                            ; preds = %11786, %11790
  %.str.5.sink5355 = phi ptr [ @.str.5, %11790 ], [ @.str.2, %11786 ]
  store i32 %11781, ptr %684, align 4, !tbaa !5
  %11792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11793 = load i32, ptr @test_count, align 4, !tbaa !5
  %11794 = load i32, ptr %630, align 4, !tbaa !5
  %11795 = call ptr @s2n_strerror(i32 noundef %11794, ptr noundef nonnull @.str.4) #13
  %11796 = load i32, ptr %630, align 4, !tbaa !5
  %11797 = call ptr @s2n_strerror_debug(i32 noundef %11796, ptr noundef nonnull @.str.4) #13
  %11798 = load i32, ptr %684, align 4, !tbaa !5
  %11799 = call ptr @strerror(i32 noundef %11798) #13
  %11800 = load i32, ptr %684, align 4, !tbaa !5
  %11801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11792, ptr noundef nonnull %.str.5.sink5355, i32 noundef %11793, ptr noundef nonnull @.str.291, ptr noundef nonnull @.str.1, i32 noundef 1051, ptr noundef %11795, ptr noundef %11797, ptr noundef %11799, i32 noundef %11800) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11802:                                            ; preds = %11774
  %11803 = load i32, ptr @test_count, align 4, !tbaa !5
  %11804 = add nsw i32 %11803, 1
  store i32 %11804, ptr @test_count, align 4, !tbaa !5
  %11805 = load ptr, ptr %72, align 8, !tbaa !9
  %11806 = getelementptr inbounds i8, ptr %11805, i64 72
  %11807 = load ptr, ptr %11806, align 8, !tbaa !19
  %11808 = call i32 @s2n_array_num_elements(ptr noundef %11807, ptr noundef nonnull %76) #13
  %11809 = call zeroext i1 @s2n_result_is_ok(i32 %11808)
  br i1 %11809, label %11832, label %11810

11810:                                            ; preds = %11802
  %11811 = load i32, ptr %684, align 4, !tbaa !5
  %11812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11813 = call i32 @s2n_print_stacktrace(ptr noundef %11812) #13
  %11814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11815 = trunc nuw i8 %11814 to i1
  br i1 %11815, label %11816, label %11820

11816:                                            ; preds = %11810
  %11817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11818 = call i32 @fileno(ptr noundef %11817) #13
  %11819 = call i32 @isatty(i32 noundef %11818) #13
  %.not1272 = icmp eq i32 %11819, 0
  br i1 %.not1272, label %11820, label %11821

11820:                                            ; preds = %11816, %11810
  br label %11821

11821:                                            ; preds = %11816, %11820
  %.str.5.sink5364 = phi ptr [ @.str.5, %11820 ], [ @.str.2, %11816 ]
  store i32 %11811, ptr %684, align 4, !tbaa !5
  %11822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11823 = load i32, ptr @test_count, align 4, !tbaa !5
  %11824 = load i32, ptr %630, align 4, !tbaa !5
  %11825 = call ptr @s2n_strerror(i32 noundef %11824, ptr noundef nonnull @.str.4) #13
  %11826 = load i32, ptr %630, align 4, !tbaa !5
  %11827 = call ptr @s2n_strerror_debug(i32 noundef %11826, ptr noundef nonnull @.str.4) #13
  %11828 = load i32, ptr %684, align 4, !tbaa !5
  %11829 = call ptr @strerror(i32 noundef %11828) #13
  %11830 = load i32, ptr %684, align 4, !tbaa !5
  %11831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11822, ptr noundef nonnull %.str.5.sink5364, i32 noundef %11823, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.1, i32 noundef 1054, ptr noundef %11825, ptr noundef %11827, ptr noundef %11829, i32 noundef %11830) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11832:                                            ; preds = %11802
  %11833 = load i32, ptr @test_count, align 4, !tbaa !5
  %11834 = add nsw i32 %11833, 1
  store i32 %11834, ptr @test_count, align 4, !tbaa !5
  %11835 = load i32, ptr %76, align 4, !tbaa !5
  %11836 = icmp eq i32 %11835, 2
  br i1 %11836, label %11866, label %11837

11837:                                            ; preds = %11832
  %11838 = load i32, ptr %684, align 4, !tbaa !5
  %11839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11840 = call i32 @s2n_print_stacktrace(ptr noundef %11839) #13
  %11841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11842 = trunc nuw i8 %11841 to i1
  br i1 %11842, label %11843, label %11847

11843:                                            ; preds = %11837
  %11844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11845 = call i32 @fileno(ptr noundef %11844) #13
  %11846 = call i32 @isatty(i32 noundef %11845) #13
  %.not1273 = icmp eq i32 %11846, 0
  br i1 %.not1273, label %11847, label %11848

11847:                                            ; preds = %11843, %11837
  br label %11848

11848:                                            ; preds = %11843, %11847
  %.str.5.sink5373 = phi ptr [ @.str.5, %11847 ], [ @.str.2, %11843 ]
  store i32 %11838, ptr %684, align 4, !tbaa !5
  %11849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11850 = load i32, ptr @test_count, align 4, !tbaa !5
  %11851 = load i32, ptr %630, align 4, !tbaa !5
  %11852 = call ptr @s2n_strerror(i32 noundef %11851, ptr noundef nonnull @.str.4) #13
  %11853 = load i32, ptr %630, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror_debug(i32 noundef %11853, ptr noundef nonnull @.str.4) #13
  %11855 = load i32, ptr %684, align 4, !tbaa !5
  %11856 = call ptr @strerror(i32 noundef %11855) #13
  %11857 = load i32, ptr %684, align 4, !tbaa !5
  %11858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11849, ptr noundef nonnull %.str.5.sink5373, i32 noundef %11850, ptr noundef nonnull @.str.296, ptr noundef nonnull @.str.1, i32 noundef 1055, ptr noundef %11852, ptr noundef %11854, ptr noundef %11856, i32 noundef %11857) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.thread1551:                                      ; preds = %11301, %11298
  %.str.282.sink = phi ptr [ @.str.282, %11298 ], [ @.str.283, %11301 ]
  %.sink5387 = phi ptr [ getelementptr inbounds (i8, ptr @.str.282, i64 21), %11298 ], [ getelementptr inbounds (i8, ptr @.str.283, i64 21), %11301 ]
  %11859 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  store ptr %.str.282.sink, ptr %11859, align 8, !tbaa !85
  %11860 = call ptr @strrchr(ptr noundef nonnull dereferenceable(1) %.sink5387, i32 noundef 47) #17
  %.not1260 = icmp eq ptr %11860, null
  %11861 = getelementptr inbounds i8, ptr %11860, i64 1
  %11862 = select i1 %.not1260, ptr %.sink5387, ptr %11861
  %11863 = getelementptr inbounds i8, ptr %11859, i64 8
  store ptr %11862, ptr %11863, align 8, !tbaa !87
  store i32 402653193, ptr %630, align 4, !tbaa !5
  %11864 = call i32 @s2n_calculate_stacktrace() #13
  %11865 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %72) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #13
  br label %11940

11866:                                            ; preds = %11832
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #13
  call void @X509_NAME_free_pointer(ptr noundef nonnull %75)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #13
  call void @X509_free_pointer(ptr noundef nonnull %74)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #13
  %11867 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %72) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #13
  %11868 = load i32, ptr @test_count, align 4, !tbaa !5
  %11869 = add nsw i32 %11868, 1
  store i32 %11869, ptr @test_count, align 4, !tbaa !5
  %11870 = call i32 @s2n_cleanup() #13
  %11871 = icmp eq i32 %11870, -1
  br i1 %11871, label %11872, label %11894

11872:                                            ; preds = %11866
  %11873 = load i32, ptr %684, align 4, !tbaa !5
  %11874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11875 = call i32 @s2n_print_stacktrace(ptr noundef %11874) #13
  %11876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11877 = trunc nuw i8 %11876 to i1
  br i1 %11877, label %11878, label %11882

11878:                                            ; preds = %11872
  %11879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11880 = call i32 @fileno(ptr noundef %11879) #13
  %11881 = call i32 @isatty(i32 noundef %11880) #13
  %.not1278 = icmp eq i32 %11881, 0
  br i1 %.not1278, label %11882, label %11883

11882:                                            ; preds = %11878, %11872
  br label %11883

11883:                                            ; preds = %11878, %11882
  %.str.5.sink5388 = phi ptr [ @.str.5, %11882 ], [ @.str.2, %11878 ]
  store i32 %11873, ptr %684, align 4, !tbaa !5
  %11884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11885 = load i32, ptr @test_count, align 4, !tbaa !5
  %11886 = load i32, ptr %630, align 4, !tbaa !5
  %11887 = call ptr @s2n_strerror(i32 noundef %11886, ptr noundef nonnull @.str.4) #13
  %11888 = load i32, ptr %630, align 4, !tbaa !5
  %11889 = call ptr @s2n_strerror_debug(i32 noundef %11888, ptr noundef nonnull @.str.4) #13
  %11890 = load i32, ptr %684, align 4, !tbaa !5
  %11891 = call ptr @strerror(i32 noundef %11890) #13
  %11892 = load i32, ptr %684, align 4, !tbaa !5
  %11893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11884, ptr noundef nonnull %.str.5.sink5388, i32 noundef %11885, ptr noundef nonnull @.str.297, ptr noundef nonnull @.str.1, i32 noundef 1067, ptr noundef %11887, ptr noundef %11889, ptr noundef %11891, i32 noundef %11892) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11894:                                            ; preds = %11866
  %11895 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %11896 = icmp eq i32 %11895, -1
  br i1 %11896, label %11897, label %11919

11897:                                            ; preds = %11894
  %11898 = load i32, ptr %684, align 4, !tbaa !5
  %11899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11900 = call i32 @s2n_print_stacktrace(ptr noundef %11899) #13
  %11901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11902 = trunc nuw i8 %11901 to i1
  br i1 %11902, label %11903, label %11907

11903:                                            ; preds = %11897
  %11904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11905 = call i32 @fileno(ptr noundef %11904) #13
  %11906 = call i32 @isatty(i32 noundef %11905) #13
  %.not1277 = icmp eq i32 %11906, 0
  br i1 %.not1277, label %11907, label %11908

11907:                                            ; preds = %11903, %11897
  br label %11908

11908:                                            ; preds = %11903, %11907
  %.str.5.sink5397 = phi ptr [ @.str.5, %11907 ], [ @.str.2, %11903 ]
  store i32 %11898, ptr %684, align 4, !tbaa !5
  %11909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11910 = load i32, ptr @test_count, align 4, !tbaa !5
  %11911 = load i32, ptr %630, align 4, !tbaa !5
  %11912 = call ptr @s2n_strerror(i32 noundef %11911, ptr noundef nonnull @.str.4) #13
  %11913 = load i32, ptr %630, align 4, !tbaa !5
  %11914 = call ptr @s2n_strerror_debug(i32 noundef %11913, ptr noundef nonnull @.str.4) #13
  %11915 = load i32, ptr %684, align 4, !tbaa !5
  %11916 = call ptr @strerror(i32 noundef %11915) #13
  %11917 = load i32, ptr %684, align 4, !tbaa !5
  %11918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11909, ptr noundef nonnull %.str.5.sink5397, i32 noundef %11910, ptr noundef nonnull @.str.298, ptr noundef nonnull @.str.1, i32 noundef 1067, ptr noundef %11912, ptr noundef %11914, ptr noundef %11916, i32 noundef %11917) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11919:                                            ; preds = %11894
  %11920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11921 = trunc nuw i8 %11920 to i1
  br i1 %11921, label %11922, label %11933

11922:                                            ; preds = %11919
  %11923 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11924 = call i32 @fileno(ptr noundef %11923) #13
  %11925 = call i32 @isatty(i32 noundef %11924) #13
  %.not1274 = icmp eq i32 %11925, 0
  br i1 %.not1274, label %11933, label %11926

11926:                                            ; preds = %11922
  %11927 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1276 = icmp eq i32 %11927, 0
  %11928 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1276, label %11931, label %11929

11929:                                            ; preds = %11926
  %11930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11928, ptr noundef nonnull @.str.299, i32 noundef %11927) #13
  br label %11940

11931:                                            ; preds = %11926
  %11932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11928, ptr noundef nonnull @.str.300) #13
  br label %11940

11933:                                            ; preds = %11922, %11919
  %11934 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1275 = icmp eq i32 %11934, 0
  %11935 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1275, label %11938, label %11936

11936:                                            ; preds = %11933
  %11937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11935, ptr noundef nonnull @.str.301, i32 noundef %11934) #13
  br label %11940

11938:                                            ; preds = %11933
  %11939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11935, ptr noundef nonnull @.str.302) #13
  br label %11940

11940:                                            ; preds = %.thread1551, %.thread, %11931, %11929, %11938, %11936, %7352
  %.9 = phi i32 [ %.5, %7352 ], [ 0, %11936 ], [ 0, %11938 ], [ 0, %11929 ], [ 0, %11931 ], [ -1, %.thread ], [ -1, %.thread1551 ]
  %11941 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %5) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #13
  %11942 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %3) #13
  ret i32 %.9
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

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

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_cert_chain_and_key_new() local_unnamed_addr #2

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_load_public_pem_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_pkey_check_key_exists(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_async_pkey_callback(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_get_length(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_get_cert(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_get_der(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_verify_host_callback(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @verify_host_fn(ptr noundef, i64 noundef, ptr noundef) #0

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_peer_cert_chain(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

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

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

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_get_x509_extension_value_length(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_get_x509_extension_value(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #11

declare i32 @s2n_cert_get_utf8_string_from_extension_data_length(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_get_utf8_string_from_extension_data(ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @always_verify_host_fn(ptr noundef, i64 noundef, ptr noundef) #0

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_client_cert_chain(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint24(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_client_cert_recv(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_reserve_uint24(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_reread(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_set_sct_list(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #11

declare i32 @s2n_calculate_stacktrace() local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @X509_free_pointer(ptr noundef) local_unnamed_addr #10

declare ptr @d2i_X509(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @X509_NAME_free_pointer(ptr noundef) local_unnamed_addr #10

declare ptr @X509_NAME_new() local_unnamed_addr #2

declare i32 @s2n_array_num_elements(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @X509_NAME_add_entry_by_NID(ptr noundef, i32 noundef, i32 noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare i32 @X509_set_subject_name(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_load_cns(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #12

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { 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 #5 = { 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 #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { 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 #11 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #12 = { nofree nounwind willreturn memory(argmem: read) }
attributes #13 = { nounwind }
attributes #14 = { nounwind willreturn memory(none) }
attributes #15 = { cold nounwind }
attributes #16 = { noreturn nounwind }
attributes #17 = { nounwind willreturn memory(read) }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_cert_chain_and_key", !10, i64 0, !10, i64 8, !17, i64 16, !17, i64 40, !10, i64 64, !10, i64 72, !10, i64 80}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !10, i64 8}
!19 = !{!16, !10, i64 72}
!20 = !{!16, !10, i64 64}
!21 = !{!22, !6, i64 0}
!22 = !{!"s2n_cert_chain", !6, i64 0, !10, i64 8}
!23 = !{!22, !10, i64 8}
!24 = !{!25, !10, i64 0}
!25 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!26 = !{!25, !10, i64 16}
!27 = !{!16, !10, i64 80}
!28 = !{!29, !10, i64 104}
!29 = !{!"s2n_cert", !6, i64 0, !25, i64 8, !30, i64 56, !17, i64 80, !10, i64 104}
!30 = !{!"s2n_cert_info", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !12, i64 16}
!31 = !{!29, !6, i64 88}
!32 = !{!29, !10, i64 80}
!33 = !{!34, !7, i64 3720}
!34 = !{!"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, !35, i64 160, !36, i64 168, !36, 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, !37, i64 240, !10, i64 632, !10, i64 640, !38, i64 648, !43, i64 1144, !45, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !48, i64 1776, !48, i64 1816, !48, i64 1856, !48, i64 1896, !6, i64 1936, !36, i64 1944, !7, i64 1952, !48, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !49, i64 2004, !49, i64 2008, !50, i64 2016, !47, i64 2208, !6, i64 2212, !47, i64 2216, !36, i64 2224, !7, i64 2232, !36, i64 2240, !36, i64 2248, !36, i64 2256, !49, i64 2264, !49, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !52, i64 2896, !54, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !56, i64 3816, !7, i64 3848, !48, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !47, i64 4084, !47, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !57, i64 4128, !49, i64 4176, !7, i64 4180, !7, i64 4181}
!35 = !{!"s2n_timer", !36, i64 0}
!36 = !{!"long", !7, i64 0}
!37 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!38 = !{!"s2n_kex_parameters", !39, i64 0, !40, i64 8, !7, i64 24, !40, i64 56, !41, i64 72, !41, i64 184, !7, i64 296, !42, i64 360, !17, i64 448, !17, i64 472}
!39 = !{!"s2n_dh_params", !10, i64 0}
!40 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!41 = !{!"s2n_kem_group_params", !10, i64 0, !42, i64 8, !40, i64 96}
!42 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!43 = !{!"s2n_handshake_parameters", !25, i64 0, !25, i64 48, !17, i64 96, !6, i64 120, !44, 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}
!44 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!45 = !{!"s2n_psk_parameters", !6, i64 0, !46, i64 8, !47, i64 40, !47, i64 42, !10, i64 48, !6, i64 56}
!46 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!47 = !{!"short", !7, i64 0}
!48 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!49 = !{!"", !6, i64 0}
!50 = !{!"s2n_handshake", !48, 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, !51, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!51 = !{!"s2n_offered_early_data", !10, i64 0}
!52 = !{!"s2n_client_hello", !17, i64 0, !53, i64 24, !17, i64 728, !17, i64 752, !17, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!53 = !{!"", !7, i64 0, !17, i64 672, !47, i64 696}
!54 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !47, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !55, i64 48, !12, i64 52}
!55 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!56 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!57 = !{!"s2n_post_handshake", !48, i64 0, !7, i64 40}
!58 = !{!34, !6, i64 3736}
!59 = !{!29, !6, i64 0}
!60 = !{!61, !10, i64 0}
!61 = !{!"", !10, i64 0, !6, i64 8, !10, i64 16, !6, i64 24, !17, i64 32, !17, i64 56, !12, i64 80}
!62 = !{!61, !6, i64 8}
!63 = !{!61, !10, i64 16}
!64 = !{!61, !6, i64 24}
!65 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !66}
!66 = !{!7, !7, i64 0}
!67 = !{!61, !12, i64 80}
!68 = !{!61, !6, i64 40}
!69 = !{!17, !10, i64 0}
!70 = distinct !{!70, !71}
!71 = !{!"llvm.loop.mustprogress"}
!72 = !{!61, !10, i64 56}
!73 = !{!61, !10, i64 32}
!74 = !{!61, !6, i64 64}
!75 = !{!34, !7, i64 220}
!76 = !{!34, !10, i64 1240}
!77 = !{!34, !6, i64 1248}
!78 = !{!48, !6, i64 28}
!79 = !{!48, !6, i64 24}
!80 = !{!16, !6, i64 24}
!81 = !{!16, !10, i64 16}
!82 = !{!16, !6, i64 48}
!83 = !{!16, !10, i64 40}
!84 = !{!17, !6, i64 8}
!85 = !{!86, !10, i64 0}
!86 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!87 = !{!86, !10, i64 8}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopFullUnrollPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass