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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@s2n_use_color_in_output = external dso_local global i8, align 1
@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 [85 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
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@main.sct_list = external hidden global [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [87 x i8], align 1
@main.fake_ocsp = external hidden global [3 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [106 x i8], align 1
@s2n_server_key_share_extension = external constant %struct.s2n_extension_type, align 8
@.str.39 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [94 x i8], align 1
@cipher_preferences_20170210 = external constant %struct.s2n_cipher_preferences, align 8
@.str.51 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [108 x i8], align 1
@s2n_server_psk_extension = external constant %struct.s2n_extension_type, align 8
@.str.54 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [56 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@s2n_ecc_curve_secp256r1 = external constant %struct.s2n_ecc_named_curve, align 8
@.str.59 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.65 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [86 x i8], align 1
@main.fake_ocsp.73 = external hidden global [3 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [87 x i8], align 1
@s2n_cert_status_response_extension = external constant %struct.s2n_extension_type, align 8
@.str.77 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_server_supported_versions_extension = external constant %struct.s2n_extension_type, align 8
@.str.84 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.102 = 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 i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i8, align 1
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca ptr, align 8
  %45 = alloca i32, align 4
  %46 = alloca i8, align 1
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca ptr, align 8
  %50 = alloca i8, align 1
  %51 = alloca i8, align 1
  %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 i32, align 4
  %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 i8, align 1
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i8, align 1
  %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 ptr, align 8
  %86 = alloca i32, align 4
  %87 = alloca i8, align 1
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca ptr, align 8
  %91 = alloca %struct.s2n_cert_chain_and_key, align 8
  %92 = alloca i32, align 4
  %93 = alloca i8, align 1
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca i8, align 1
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca ptr, align 8
  %110 = alloca %struct.s2n_cert_chain_and_key, align 8
  %111 = alloca i32, align 4
  %112 = alloca i8, align 1
  %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 i32, align 4
  %123 = alloca ptr, align 8
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca ptr, align 8
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca ptr, align 8
  %135 = alloca i32, align 4
  %136 = alloca i8, align 1
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca ptr, align 8
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca ptr, align 8
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca ptr, align 8
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca ptr, align 8
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca 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 i32, align 4
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca ptr, align 8
  %180 = alloca i8, align 1
  %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 i8, align 1
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca ptr, align 8
  %198 = alloca i32, align 4
  %199 = alloca i8, align 1
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca ptr, align 8
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca ptr, align 8
  %207 = alloca i8, align 1
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i8, align 1
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca ptr, align 8
  %224 = alloca [8 x i8], align 1
  %225 = alloca i8, align 1
  %226 = alloca i32, align 4
  %227 = alloca ptr, align 8
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca ptr, align 8
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca ptr, align 8
  %236 = alloca i32, align 4
  %237 = alloca i8, align 1
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %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 i8, align 1
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_psk, align 8
  %255 = alloca i64, align 8
  %256 = alloca ptr, align 8
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca %struct.s2n_result, align 4
  %260 = alloca i32, align 4
  %261 = alloca ptr, align 8
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca %struct.s2n_parsed_extensions_list, align 8
  %267 = alloca i32, align 4
  %268 = alloca i8, align 1
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca ptr, align 8
  %273 = alloca i32, align 4
  %274 = alloca %struct.s2n_stuffer, align 8
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca ptr, align 8
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca %struct.s2n_cert_chain_and_key, align 8
  %290 = alloca i32, align 4
  %291 = alloca ptr, align 8
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca %struct.s2n_stuffer, align 8
  %295 = alloca i32, align 4
  %296 = alloca %struct.s2n_stuffer_reservation, 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 i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca ptr, align 8
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca %struct.s2n_stuffer, align 8
  %310 = alloca i32, align 4
  %311 = alloca %struct.s2n_stuffer_reservation, align 8
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i8, align 1
  %323 = alloca %struct.s2n_psk, align 8
  %324 = alloca %struct.s2n_result, align 4
  %325 = alloca i32, align 4
  %326 = alloca %struct.s2n_stuffer, align 8
  %327 = alloca i32, align 4
  %328 = alloca %struct.s2n_stuffer_reservation, align 8
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i64, align 8
  %334 = alloca i32, align 4
  %335 = alloca ptr, align 8
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca %struct.s2n_result, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca i64, align 8
  %342 = alloca ptr, align 8
  %343 = alloca %struct.s2n_result, 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 i32, align 4
  %356 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %357

357:                                              ; preds = %2
  br label %358

358:                                              ; preds = %357
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %359 = load ptr, ptr @stdout, align 8, !tbaa !9
  %360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %359, ptr noundef @.str, ptr noundef @.str.1) #10
  %361 = load ptr, ptr @stdout, align 8, !tbaa !9
  %362 = call i32 @fflush(ptr noundef %361)
  br label %363

363:                                              ; preds = %358
  %364 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %365 = icmp eq i32 %364, -1
  br i1 %365, label %366, label %417

366:                                              ; preds = %363
  br label %367

367:                                              ; preds = %366
  br label %368

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %369 = call ptr @__errno_location() #11
  %370 = load i32, ptr %369, align 4, !tbaa !5
  store i32 %370, ptr %6, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 @s2n_print_stacktrace(ptr noundef %371)
  %373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %374 = trunc i8 %373 to i1
  br i1 %374, label %375, label %397

375:                                              ; preds = %368
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @fileno(ptr noundef %376) #10
  %378 = call i32 @isatty(i32 noundef %377) #10
  %379 = icmp ne i32 %378, 0
  br i1 %379, label %380, label %397

380:                                              ; preds = %375
  %381 = load i32, ptr %6, align 4, !tbaa !5
  %382 = call ptr @__errno_location() #11
  store i32 %381, ptr %382, align 4, !tbaa !5
  %383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %384 = load i32, ptr @test_count, align 4, !tbaa !5
  %385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %386 = load i32, ptr %385, align 4, !tbaa !5
  %387 = call ptr @s2n_strerror(i32 noundef %386, ptr noundef @.str.4)
  %388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %389 = load i32, ptr %388, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror_debug(i32 noundef %389, ptr noundef @.str.4)
  %391 = call ptr @__errno_location() #11
  %392 = load i32, ptr %391, align 4, !tbaa !5
  %393 = call ptr @strerror(i32 noundef %392) #10
  %394 = call ptr @__errno_location() #11
  %395 = load i32, ptr %394, align 4, !tbaa !5
  %396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %383, ptr noundef @.str.2, i32 noundef %384, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 62, ptr noundef %387, ptr noundef %390, ptr noundef %393, i32 noundef %395) #10
  br label %414

397:                                              ; preds = %375, %368
  %398 = load i32, ptr %6, align 4, !tbaa !5
  %399 = call ptr @__errno_location() #11
  store i32 %398, ptr %399, align 4, !tbaa !5
  %400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %401 = load i32, ptr @test_count, align 4, !tbaa !5
  %402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %403 = load i32, ptr %402, align 4, !tbaa !5
  %404 = call ptr @s2n_strerror(i32 noundef %403, ptr noundef @.str.4)
  %405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %406 = load i32, ptr %405, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef @.str.4)
  %408 = call ptr @__errno_location() #11
  %409 = load i32, ptr %408, align 4, !tbaa !5
  %410 = call ptr @strerror(i32 noundef %409) #10
  %411 = call ptr @__errno_location() #11
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %400, ptr noundef @.str.5, i32 noundef %401, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 62, ptr noundef %404, ptr noundef %407, ptr noundef %410, i32 noundef %412) #10
  br label %414

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

415:                                              ; preds = %414
  call void @exit(i32 noundef 1) #12
  unreachable

416:                                              ; No predecessors!
  br label %417

417:                                              ; preds = %416, %363
  br label %418

418:                                              ; preds = %417
  br label %419

419:                                              ; preds = %418
  %420 = load i32, ptr @test_count, align 4, !tbaa !5
  %421 = add nsw i32 %420, 1
  store i32 %421, ptr @test_count, align 4, !tbaa !5
  %422 = call i32 @s2n_enable_atexit()
  %423 = icmp eq i32 %422, -1
  br i1 %423, label %424, label %475

424:                                              ; preds = %419
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %427 = call ptr @__errno_location() #11
  %428 = load i32, ptr %427, align 4, !tbaa !5
  store i32 %428, ptr %7, align 4, !tbaa !5
  %429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %430 = call i32 @s2n_print_stacktrace(ptr noundef %429)
  %431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %432 = trunc i8 %431 to i1
  br i1 %432, label %433, label %455

433:                                              ; preds = %426
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @fileno(ptr noundef %434) #10
  %436 = call i32 @isatty(i32 noundef %435) #10
  %437 = icmp ne i32 %436, 0
  br i1 %437, label %438, label %455

438:                                              ; preds = %433
  %439 = load i32, ptr %7, align 4, !tbaa !5
  %440 = call ptr @__errno_location() #11
  store i32 %439, ptr %440, align 4, !tbaa !5
  %441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %442 = load i32, ptr @test_count, align 4, !tbaa !5
  %443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %444 = load i32, ptr %443, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror(i32 noundef %444, ptr noundef @.str.4)
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror_debug(i32 noundef %447, ptr noundef @.str.4)
  %449 = call ptr @__errno_location() #11
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = call ptr @strerror(i32 noundef %450) #10
  %452 = call ptr @__errno_location() #11
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %441, ptr noundef @.str.2, i32 noundef %442, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 62, ptr noundef %445, ptr noundef %448, ptr noundef %451, i32 noundef %453) #10
  br label %472

455:                                              ; preds = %433, %426
  %456 = load i32, ptr %7, align 4, !tbaa !5
  %457 = call ptr @__errno_location() #11
  store i32 %456, ptr %457, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef @.str.4)
  %463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %464 = load i32, ptr %463, align 4, !tbaa !5
  %465 = call ptr @s2n_strerror_debug(i32 noundef %464, ptr noundef @.str.4)
  %466 = call ptr @__errno_location() #11
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = call ptr @strerror(i32 noundef %467) #10
  %469 = call ptr @__errno_location() #11
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef @.str.5, i32 noundef %459, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 62, ptr noundef %462, ptr noundef %465, ptr noundef %468, i32 noundef %470) #10
  br label %472

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

473:                                              ; preds = %472
  call void @exit(i32 noundef 1) #12
  unreachable

474:                                              ; No predecessors!
  br label %475

475:                                              ; preds = %474, %419
  br label %476

476:                                              ; preds = %475
  br label %477

477:                                              ; preds = %476
  br label %478

478:                                              ; preds = %477
  %479 = call i32 @s2n_init()
  %480 = icmp eq i32 %479, -1
  br i1 %480, label %481, label %532

481:                                              ; preds = %478
  br label %482

482:                                              ; preds = %481
  br label %483

483:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %484 = call ptr @__errno_location() #11
  %485 = load i32, ptr %484, align 4, !tbaa !5
  store i32 %485, ptr %8, align 4, !tbaa !5
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = call i32 @s2n_print_stacktrace(ptr noundef %486)
  %488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %489 = trunc i8 %488 to i1
  br i1 %489, label %490, label %512

490:                                              ; preds = %483
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = call i32 @fileno(ptr noundef %491) #10
  %493 = call i32 @isatty(i32 noundef %492) #10
  %494 = icmp ne i32 %493, 0
  br i1 %494, label %495, label %512

495:                                              ; preds = %490
  %496 = load i32, ptr %8, align 4, !tbaa !5
  %497 = call ptr @__errno_location() #11
  store i32 %496, ptr %497, align 4, !tbaa !5
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %501 = load i32, ptr %500, align 4, !tbaa !5
  %502 = call ptr @s2n_strerror(i32 noundef %501, ptr noundef @.str.4)
  %503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %504 = load i32, ptr %503, align 4, !tbaa !5
  %505 = call ptr @s2n_strerror_debug(i32 noundef %504, ptr noundef @.str.4)
  %506 = call ptr @__errno_location() #11
  %507 = load i32, ptr %506, align 4, !tbaa !5
  %508 = call ptr @strerror(i32 noundef %507) #10
  %509 = call ptr @__errno_location() #11
  %510 = load i32, ptr %509, align 4, !tbaa !5
  %511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %498, ptr noundef @.str.2, i32 noundef %499, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 62, ptr noundef %502, ptr noundef %505, ptr noundef %508, i32 noundef %510) #10
  br label %529

512:                                              ; preds = %490, %483
  %513 = load i32, ptr %8, align 4, !tbaa !5
  %514 = call ptr @__errno_location() #11
  store i32 %513, ptr %514, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = load i32, ptr @test_count, align 4, !tbaa !5
  %517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %518 = load i32, ptr %517, align 4, !tbaa !5
  %519 = call ptr @s2n_strerror(i32 noundef %518, ptr noundef @.str.4)
  %520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef @.str.4)
  %523 = call ptr @__errno_location() #11
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #10
  %526 = call ptr @__errno_location() #11
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %515, ptr noundef @.str.5, i32 noundef %516, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 62, ptr noundef %519, ptr noundef %522, ptr noundef %525, i32 noundef %527) #10
  br label %529

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

530:                                              ; preds = %529
  call void @exit(i32 noundef 1) #12
  unreachable

531:                                              ; No predecessors!
  br label %532

532:                                              ; preds = %531, %478
  br label %533

533:                                              ; preds = %532
  br label %534

534:                                              ; preds = %533
  br label %535

535:                                              ; preds = %534
  %536 = load i32, ptr @test_count, align 4, !tbaa !5
  %537 = add nsw i32 %536, 1
  store i32 %537, ptr @test_count, align 4, !tbaa !5
  %538 = call i32 (...) @s2n_disable_tls13_in_test()
  %539 = icmp eq i32 %538, -1
  br i1 %539, label %540, label %591

540:                                              ; preds = %535
  br label %541

541:                                              ; preds = %540
  br label %542

542:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #10
  %543 = call ptr @__errno_location() #11
  %544 = load i32, ptr %543, align 4, !tbaa !5
  store i32 %544, ptr %9, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = call i32 @s2n_print_stacktrace(ptr noundef %545)
  %547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %548 = trunc i8 %547 to i1
  br i1 %548, label %549, label %571

549:                                              ; preds = %542
  %550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %551 = call i32 @fileno(ptr noundef %550) #10
  %552 = call i32 @isatty(i32 noundef %551) #10
  %553 = icmp ne i32 %552, 0
  br i1 %553, label %554, label %571

554:                                              ; preds = %549
  %555 = load i32, ptr %9, align 4, !tbaa !5
  %556 = call ptr @__errno_location() #11
  store i32 %555, ptr %556, align 4, !tbaa !5
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror(i32 noundef %560, ptr noundef @.str.4)
  %562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %563 = load i32, ptr %562, align 4, !tbaa !5
  %564 = call ptr @s2n_strerror_debug(i32 noundef %563, ptr noundef @.str.4)
  %565 = call ptr @__errno_location() #11
  %566 = load i32, ptr %565, align 4, !tbaa !5
  %567 = call ptr @strerror(i32 noundef %566) #10
  %568 = call ptr @__errno_location() #11
  %569 = load i32, ptr %568, align 4, !tbaa !5
  %570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %557, ptr noundef @.str.2, i32 noundef %558, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 63, ptr noundef %561, ptr noundef %564, ptr noundef %567, i32 noundef %569) #10
  br label %588

571:                                              ; preds = %549, %542
  %572 = load i32, ptr %9, align 4, !tbaa !5
  %573 = call ptr @__errno_location() #11
  store i32 %572, ptr %573, align 4, !tbaa !5
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = load i32, ptr @test_count, align 4, !tbaa !5
  %576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %577 = load i32, ptr %576, align 4, !tbaa !5
  %578 = call ptr @s2n_strerror(i32 noundef %577, ptr noundef @.str.4)
  %579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %580 = load i32, ptr %579, align 4, !tbaa !5
  %581 = call ptr @s2n_strerror_debug(i32 noundef %580, ptr noundef @.str.4)
  %582 = call ptr @__errno_location() #11
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = call ptr @strerror(i32 noundef %583) #10
  %585 = call ptr @__errno_location() #11
  %586 = load i32, ptr %585, align 4, !tbaa !5
  %587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %574, ptr noundef @.str.5, i32 noundef %575, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 63, ptr noundef %578, ptr noundef %581, ptr noundef %584, i32 noundef %586) #10
  br label %588

588:                                              ; preds = %571, %554
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #10
  br label %589

589:                                              ; preds = %588
  call void @exit(i32 noundef 1) #12
  unreachable

590:                                              ; No predecessors!
  br label %591

591:                                              ; preds = %590, %535
  br label %592

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

593:                                              ; preds = %592
  %594 = load i32, ptr @test_count, align 4, !tbaa !5
  %595 = add nsw i32 %594, 1
  store i32 %595, ptr @test_count, align 4, !tbaa !5
  %596 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %10, ptr noundef @.str.9, ptr noundef @.str.10)
  %597 = icmp eq i32 %596, -1
  br i1 %597, label %598, label %651

598:                                              ; preds = %593
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #10
  %601 = call ptr @__errno_location() #11
  %602 = load i32, ptr %601, align 4, !tbaa !5
  store i32 %602, ptr %11, align 4, !tbaa !5
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @s2n_print_stacktrace(ptr noundef %603)
  %605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %606 = trunc i8 %605 to i1
  br i1 %606, label %607, label %629

607:                                              ; preds = %600
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = call i32 @fileno(ptr noundef %608) #10
  %610 = call i32 @isatty(i32 noundef %609) #10
  %611 = icmp ne i32 %610, 0
  br i1 %611, label %612, label %629

612:                                              ; preds = %607
  %613 = load i32, ptr %11, align 4, !tbaa !5
  %614 = call ptr @__errno_location() #11
  store i32 %613, ptr %614, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = call ptr @s2n_strerror(i32 noundef %618, ptr noundef @.str.4)
  %620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror_debug(i32 noundef %621, ptr noundef @.str.4)
  %623 = call ptr @__errno_location() #11
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = call ptr @strerror(i32 noundef %624) #10
  %626 = call ptr @__errno_location() #11
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %615, ptr noundef @.str.2, i32 noundef %616, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 67, ptr noundef %619, ptr noundef %622, ptr noundef %625, i32 noundef %627) #10
  br label %646

629:                                              ; preds = %607, %600
  %630 = load i32, ptr %11, align 4, !tbaa !5
  %631 = call ptr @__errno_location() #11
  store i32 %630, ptr %631, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = call ptr @s2n_strerror(i32 noundef %635, ptr noundef @.str.4)
  %637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror_debug(i32 noundef %638, ptr noundef @.str.4)
  %640 = call ptr @__errno_location() #11
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @strerror(i32 noundef %641) #10
  %643 = call ptr @__errno_location() #11
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %632, ptr noundef @.str.5, i32 noundef %633, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 67, ptr noundef %636, ptr noundef %639, ptr noundef %642, i32 noundef %644) #10
  br label %646

646:                                              ; preds = %629, %612
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %647

647:                                              ; preds = %646
  br label %648

648:                                              ; preds = %647
  call void @exit(i32 noundef 1) #12
  unreachable

649:                                              ; No predecessors!
  br label %650

650:                                              ; preds = %649
  br label %651

651:                                              ; preds = %650, %593
  br label %652

652:                                              ; preds = %651
  br label %653

653:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  store ptr null, ptr %12, align 8, !tbaa !9
  br label %654

654:                                              ; preds = %653
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr @test_count, align 4, !tbaa !5
  %657 = call ptr @s2n_config_new()
  store ptr %657, ptr %12, align 8, !tbaa !9
  %658 = icmp eq ptr %657, null
  br i1 %658, label %659, label %712

659:                                              ; preds = %654
  br label %660

660:                                              ; preds = %659
  br label %661

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

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

673:                                              ; preds = %668
  %674 = load i32, ptr %13, align 4, !tbaa !5
  %675 = call ptr @__errno_location() #11
  store i32 %674, ptr %675, align 4, !tbaa !5
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = load i32, ptr @test_count, align 4, !tbaa !5
  %678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = call ptr @s2n_strerror(i32 noundef %679, ptr noundef @.str.4)
  %681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef @.str.4)
  %684 = call ptr @__errno_location() #11
  %685 = load i32, ptr %684, align 4, !tbaa !5
  %686 = call ptr @strerror(i32 noundef %685) #10
  %687 = call ptr @__errno_location() #11
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %676, ptr noundef @.str.2, i32 noundef %677, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 72, ptr noundef %680, ptr noundef %683, ptr noundef %686, i32 noundef %688) #10
  br label %707

690:                                              ; preds = %668, %661
  %691 = load i32, ptr %13, align 4, !tbaa !5
  %692 = call ptr @__errno_location() #11
  store i32 %691, ptr %692, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = load i32, ptr @test_count, align 4, !tbaa !5
  %695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror(i32 noundef %696, ptr noundef @.str.4)
  %698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror_debug(i32 noundef %699, ptr noundef @.str.4)
  %701 = call ptr @__errno_location() #11
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @strerror(i32 noundef %702) #10
  %704 = call ptr @__errno_location() #11
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %693, ptr noundef @.str.5, i32 noundef %694, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 72, ptr noundef %697, ptr noundef %700, ptr noundef %703, i32 noundef %705) #10
  br label %707

707:                                              ; preds = %690, %673
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %708

708:                                              ; preds = %707
  br label %709

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

710:                                              ; No predecessors!
  br label %711

711:                                              ; preds = %710
  br label %712

712:                                              ; preds = %711, %654
  br label %713

713:                                              ; preds = %712
  br label %714

714:                                              ; preds = %713
  br label %715

715:                                              ; preds = %714
  %716 = load i32, ptr @test_count, align 4, !tbaa !5
  %717 = add nsw i32 %716, 1
  store i32 %717, ptr @test_count, align 4, !tbaa !5
  %718 = load ptr, ptr %12, align 8, !tbaa !9
  %719 = load ptr, ptr %10, align 8, !tbaa !9
  %720 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %718, ptr noundef %719)
  %721 = icmp eq i32 %720, -1
  br i1 %721, label %722, label %775

722:                                              ; preds = %715
  br label %723

723:                                              ; preds = %722
  br label %724

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

731:                                              ; preds = %724
  %732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %733 = call i32 @fileno(ptr noundef %732) #10
  %734 = call i32 @isatty(i32 noundef %733) #10
  %735 = icmp ne i32 %734, 0
  br i1 %735, label %736, label %753

736:                                              ; preds = %731
  %737 = load i32, ptr %14, align 4, !tbaa !5
  %738 = call ptr @__errno_location() #11
  store i32 %737, ptr %738, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @s2n_strerror(i32 noundef %742, ptr noundef @.str.4)
  %744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call ptr @s2n_strerror_debug(i32 noundef %745, ptr noundef @.str.4)
  %747 = call ptr @__errno_location() #11
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = call ptr @strerror(i32 noundef %748) #10
  %750 = call ptr @__errno_location() #11
  %751 = load i32, ptr %750, align 4, !tbaa !5
  %752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef @.str.2, i32 noundef %740, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 73, ptr noundef %743, ptr noundef %746, ptr noundef %749, i32 noundef %751) #10
  br label %770

753:                                              ; preds = %731, %724
  %754 = load i32, ptr %14, align 4, !tbaa !5
  %755 = call ptr @__errno_location() #11
  store i32 %754, ptr %755, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = load i32, ptr @test_count, align 4, !tbaa !5
  %758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call ptr @s2n_strerror(i32 noundef %759, ptr noundef @.str.4)
  %761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror_debug(i32 noundef %762, ptr noundef @.str.4)
  %764 = call ptr @__errno_location() #11
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @strerror(i32 noundef %765) #10
  %767 = call ptr @__errno_location() #11
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %756, ptr noundef @.str.5, i32 noundef %757, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 73, ptr noundef %760, ptr noundef %763, ptr noundef %766, i32 noundef %768) #10
  br label %770

770:                                              ; preds = %753, %736
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %771

771:                                              ; preds = %770
  br label %772

772:                                              ; preds = %771
  call void @exit(i32 noundef 1) #12
  unreachable

773:                                              ; No predecessors!
  br label %774

774:                                              ; preds = %773
  br label %775

775:                                              ; preds = %774, %715
  br label %776

776:                                              ; preds = %775
  br label %777

777:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  store ptr null, ptr %15, align 8, !tbaa !9
  br label %778

778:                                              ; preds = %777
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = add nsw i32 %779, 1
  store i32 %780, ptr @test_count, align 4, !tbaa !5
  %781 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %781, ptr %15, align 8, !tbaa !9
  %782 = icmp eq ptr %781, null
  br i1 %782, label %783, label %836

783:                                              ; preds = %778
  br label %784

784:                                              ; preds = %783
  br label %785

785:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %786 = call ptr @__errno_location() #11
  %787 = load i32, ptr %786, align 4, !tbaa !5
  store i32 %787, ptr %16, align 4, !tbaa !5
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = call i32 @s2n_print_stacktrace(ptr noundef %788)
  %790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %791 = trunc i8 %790 to i1
  br i1 %791, label %792, label %814

792:                                              ; preds = %785
  %793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %794 = call i32 @fileno(ptr noundef %793) #10
  %795 = call i32 @isatty(i32 noundef %794) #10
  %796 = icmp ne i32 %795, 0
  br i1 %796, label %797, label %814

797:                                              ; preds = %792
  %798 = load i32, ptr %16, align 4, !tbaa !5
  %799 = call ptr @__errno_location() #11
  store i32 %798, ptr %799, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %803 = load i32, ptr %802, align 4, !tbaa !5
  %804 = call ptr @s2n_strerror(i32 noundef %803, ptr noundef @.str.4)
  %805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %806 = load i32, ptr %805, align 4, !tbaa !5
  %807 = call ptr @s2n_strerror_debug(i32 noundef %806, ptr noundef @.str.4)
  %808 = call ptr @__errno_location() #11
  %809 = load i32, ptr %808, align 4, !tbaa !5
  %810 = call ptr @strerror(i32 noundef %809) #10
  %811 = call ptr @__errno_location() #11
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %800, ptr noundef @.str.2, i32 noundef %801, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 78, ptr noundef %804, ptr noundef %807, ptr noundef %810, i32 noundef %812) #10
  br label %831

814:                                              ; preds = %792, %785
  %815 = load i32, ptr %16, align 4, !tbaa !5
  %816 = call ptr @__errno_location() #11
  store i32 %815, ptr %816, align 4, !tbaa !5
  %817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = call ptr @s2n_strerror(i32 noundef %820, ptr noundef @.str.4)
  %822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %823 = load i32, ptr %822, align 4, !tbaa !5
  %824 = call ptr @s2n_strerror_debug(i32 noundef %823, ptr noundef @.str.4)
  %825 = call ptr @__errno_location() #11
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #10
  %828 = call ptr @__errno_location() #11
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %817, ptr noundef @.str.5, i32 noundef %818, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 78, ptr noundef %821, ptr noundef %824, ptr noundef %827, i32 noundef %829) #10
  br label %831

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

832:                                              ; preds = %831
  br label %833

833:                                              ; preds = %832
  call void @exit(i32 noundef 1) #12
  unreachable

834:                                              ; No predecessors!
  br label %835

835:                                              ; preds = %834
  br label %836

836:                                              ; preds = %835, %778
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837
  br label %839

839:                                              ; preds = %838
  %840 = load i32, ptr @test_count, align 4, !tbaa !5
  %841 = add nsw i32 %840, 1
  store i32 %841, ptr @test_count, align 4, !tbaa !5
  %842 = load ptr, ptr %15, align 8, !tbaa !9
  %843 = load ptr, ptr %12, align 8, !tbaa !9
  %844 = call i32 @s2n_connection_set_config(ptr noundef %842, ptr noundef %843)
  %845 = icmp eq i32 %844, -1
  br i1 %845, label %846, label %899

846:                                              ; preds = %839
  br label %847

847:                                              ; preds = %846
  br label %848

848:                                              ; preds = %847
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  %849 = call ptr @__errno_location() #11
  %850 = load i32, ptr %849, align 4, !tbaa !5
  store i32 %850, ptr %17, align 4, !tbaa !5
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = call i32 @s2n_print_stacktrace(ptr noundef %851)
  %853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %854 = trunc i8 %853 to i1
  br i1 %854, label %855, label %877

855:                                              ; preds = %848
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @fileno(ptr noundef %856) #10
  %858 = call i32 @isatty(i32 noundef %857) #10
  %859 = icmp ne i32 %858, 0
  br i1 %859, label %860, label %877

860:                                              ; preds = %855
  %861 = load i32, ptr %17, align 4, !tbaa !5
  %862 = call ptr @__errno_location() #11
  store i32 %861, ptr %862, align 4, !tbaa !5
  %863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %864 = load i32, ptr @test_count, align 4, !tbaa !5
  %865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror(i32 noundef %866, ptr noundef @.str.4)
  %868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror_debug(i32 noundef %869, ptr noundef @.str.4)
  %871 = call ptr @__errno_location() #11
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call ptr @strerror(i32 noundef %872) #10
  %874 = call ptr @__errno_location() #11
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %863, ptr noundef @.str.2, i32 noundef %864, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 79, ptr noundef %867, ptr noundef %870, ptr noundef %873, i32 noundef %875) #10
  br label %894

877:                                              ; preds = %855, %848
  %878 = load i32, ptr %17, align 4, !tbaa !5
  %879 = call ptr @__errno_location() #11
  store i32 %878, ptr %879, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = load i32, ptr @test_count, align 4, !tbaa !5
  %882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror(i32 noundef %883, ptr noundef @.str.4)
  %885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror_debug(i32 noundef %886, ptr noundef @.str.4)
  %888 = call ptr @__errno_location() #11
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = call ptr @strerror(i32 noundef %889) #10
  %891 = call ptr @__errno_location() #11
  %892 = load i32, ptr %891, align 4, !tbaa !5
  %893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %880, ptr noundef @.str.5, i32 noundef %881, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 79, ptr noundef %884, ptr noundef %887, ptr noundef %890, i32 noundef %892) #10
  br label %894

894:                                              ; preds = %877, %860
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  br label %895

895:                                              ; preds = %894
  br label %896

896:                                              ; preds = %895
  call void @exit(i32 noundef 1) #12
  unreachable

897:                                              ; No predecessors!
  br label %898

898:                                              ; preds = %897
  br label %899

899:                                              ; preds = %898, %839
  br label %900

900:                                              ; preds = %899
  br label %901

901:                                              ; preds = %900
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  %902 = load ptr, ptr %15, align 8, !tbaa !9
  %903 = getelementptr inbounds %struct.s2n_connection, ptr %902, i32 0, i32 52
  %904 = getelementptr inbounds %struct.s2n_handshake, ptr %903, i32 0, i32 0
  store ptr %904, ptr %18, align 8, !tbaa !9
  br label %905

905:                                              ; preds = %901
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = add nsw i32 %906, 1
  store i32 %907, ptr @test_count, align 4, !tbaa !5
  %908 = load ptr, ptr %15, align 8, !tbaa !9
  %909 = load ptr, ptr %18, align 8, !tbaa !9
  %910 = call i32 @s2n_server_extensions_send(ptr noundef %908, ptr noundef %909)
  %911 = icmp eq i32 %910, -1
  br i1 %911, label %912, label %965

912:                                              ; preds = %905
  br label %913

913:                                              ; preds = %912
  br label %914

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

921:                                              ; preds = %914
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = call i32 @fileno(ptr noundef %922) #10
  %924 = call i32 @isatty(i32 noundef %923) #10
  %925 = icmp ne i32 %924, 0
  br i1 %925, label %926, label %943

926:                                              ; preds = %921
  %927 = load i32, ptr %19, align 4, !tbaa !5
  %928 = call ptr @__errno_location() #11
  store i32 %927, ptr %928, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = load i32, ptr @test_count, align 4, !tbaa !5
  %931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %932 = load i32, ptr %931, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror(i32 noundef %932, ptr noundef @.str.4)
  %934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call ptr @s2n_strerror_debug(i32 noundef %935, ptr noundef @.str.4)
  %937 = call ptr @__errno_location() #11
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call ptr @strerror(i32 noundef %938) #10
  %940 = call ptr @__errno_location() #11
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %929, ptr noundef @.str.2, i32 noundef %930, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 81, ptr noundef %933, ptr noundef %936, ptr noundef %939, i32 noundef %941) #10
  br label %960

943:                                              ; preds = %921, %914
  %944 = load i32, ptr %19, align 4, !tbaa !5
  %945 = call ptr @__errno_location() #11
  store i32 %944, ptr %945, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @s2n_strerror(i32 noundef %949, ptr noundef @.str.4)
  %951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %952 = load i32, ptr %951, align 4, !tbaa !5
  %953 = call ptr @s2n_strerror_debug(i32 noundef %952, ptr noundef @.str.4)
  %954 = call ptr @__errno_location() #11
  %955 = load i32, ptr %954, align 4, !tbaa !5
  %956 = call ptr @strerror(i32 noundef %955) #10
  %957 = call ptr @__errno_location() #11
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef @.str.5, i32 noundef %947, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 81, ptr noundef %950, ptr noundef %953, ptr noundef %956, i32 noundef %958) #10
  br label %960

960:                                              ; preds = %943, %926
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  call void @exit(i32 noundef 1) #12
  unreachable

963:                                              ; No predecessors!
  br label %964

964:                                              ; preds = %963
  br label %965

965:                                              ; preds = %964, %905
  br label %966

966:                                              ; preds = %965
  br label %967

967:                                              ; preds = %966
  br label %968

968:                                              ; preds = %967
  %969 = load i32, ptr @test_count, align 4, !tbaa !5
  %970 = add nsw i32 %969, 1
  store i32 %970, ptr @test_count, align 4, !tbaa !5
  %971 = load ptr, ptr %18, align 8, !tbaa !9
  %972 = getelementptr inbounds %struct.s2n_stuffer, ptr %971, i32 0, i32 2
  %973 = load i32, ptr %972, align 4, !tbaa !15
  %974 = load ptr, ptr %18, align 8, !tbaa !9
  %975 = getelementptr inbounds %struct.s2n_stuffer, ptr %974, i32 0, i32 1
  %976 = load i32, ptr %975, align 8, !tbaa !18
  %977 = sub i32 %973, %976
  %978 = icmp eq i32 %977, 0
  br i1 %978, label %1032, label %979

979:                                              ; preds = %968
  br label %980

980:                                              ; preds = %979
  br label %981

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

988:                                              ; preds = %981
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = call i32 @fileno(ptr noundef %989) #10
  %991 = call i32 @isatty(i32 noundef %990) #10
  %992 = icmp ne i32 %991, 0
  br i1 %992, label %993, label %1010

993:                                              ; preds = %988
  %994 = load i32, ptr %20, align 4, !tbaa !5
  %995 = call ptr @__errno_location() #11
  store i32 %994, ptr %995, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef @.str.4)
  %1001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef @.str.4)
  %1004 = call ptr @__errno_location() #11
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @strerror(i32 noundef %1005) #10
  %1007 = call ptr @__errno_location() #11
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  %1009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef @.str.2, i32 noundef %997, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1000, ptr noundef %1003, ptr noundef %1006, i32 noundef %1008) #10
  br label %1027

1010:                                             ; preds = %988, %981
  %1011 = load i32, ptr %20, align 4, !tbaa !5
  %1012 = call ptr @__errno_location() #11
  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() #11
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #10
  %1024 = call ptr @__errno_location() #11
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef @.str.5, i32 noundef %1014, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1017, ptr noundef %1020, ptr noundef %1023, i32 noundef %1025) #10
  br label %1027

1027:                                             ; preds = %1010, %993
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %1028

1028:                                             ; preds = %1027
  br label %1029

1029:                                             ; preds = %1028
  call void @exit(i32 noundef 1) #12
  unreachable

1030:                                             ; No predecessors!
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

1032:                                             ; preds = %1031, %968
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

1034:                                             ; preds = %1033
  br label %1035

1035:                                             ; preds = %1034
  %1036 = load i32, ptr @test_count, align 4, !tbaa !5
  %1037 = add nsw i32 %1036, 1
  store i32 %1037, ptr @test_count, align 4, !tbaa !5
  %1038 = load ptr, ptr %15, align 8, !tbaa !9
  %1039 = load ptr, ptr %18, align 8, !tbaa !9
  %1040 = call i32 @s2n_server_extensions_recv(ptr noundef %1038, ptr noundef %1039)
  %1041 = icmp eq i32 %1040, -1
  br i1 %1041, label %1042, label %1095

1042:                                             ; preds = %1035
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

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

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

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

1073:                                             ; preds = %1051, %1044
  %1074 = load i32, ptr %21, align 4, !tbaa !5
  %1075 = call ptr @__errno_location() #11
  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() #11
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #10
  %1087 = call ptr @__errno_location() #11
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef @.str.5, i32 noundef %1077, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1080, ptr noundef %1083, ptr noundef %1086, i32 noundef %1088) #10
  br label %1090

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

1091:                                             ; preds = %1090
  br label %1092

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

1093:                                             ; No predecessors!
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

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

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr @test_count, align 4, !tbaa !5
  %1101 = load ptr, ptr %18, align 8, !tbaa !9
  %1102 = getelementptr inbounds %struct.s2n_stuffer, ptr %1101, i32 0, i32 2
  %1103 = load i32, ptr %1102, align 4, !tbaa !15
  %1104 = load ptr, ptr %18, align 8, !tbaa !9
  %1105 = getelementptr inbounds %struct.s2n_stuffer, ptr %1104, i32 0, i32 1
  %1106 = load i32, ptr %1105, align 8, !tbaa !18
  %1107 = sub i32 %1103, %1106
  %1108 = icmp eq i32 %1107, 0
  br i1 %1108, label %1162, label %1109

1109:                                             ; preds = %1098
  br label %1110

1110:                                             ; preds = %1109
  br label %1111

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

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

1123:                                             ; preds = %1118
  %1124 = load i32, ptr %22, align 4, !tbaa !5
  %1125 = call ptr @__errno_location() #11
  store i32 %1124, ptr %1125, align 4, !tbaa !5
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = load i32, ptr @test_count, align 4, !tbaa !5
  %1128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @s2n_strerror(i32 noundef %1129, ptr noundef @.str.4)
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror_debug(i32 noundef %1132, ptr noundef @.str.4)
  %1134 = call ptr @__errno_location() #11
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = call ptr @strerror(i32 noundef %1135) #10
  %1137 = call ptr @__errno_location() #11
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1126, ptr noundef @.str.2, i32 noundef %1127, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1130, ptr noundef %1133, ptr noundef %1136, i32 noundef %1138) #10
  br label %1157

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

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

1158:                                             ; preds = %1157
  br label %1159

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

1160:                                             ; No predecessors!
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

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

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

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

1171:                                             ; preds = %1165
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

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

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

1185:                                             ; preds = %1180
  %1186 = load i32, ptr %23, align 4, !tbaa !5
  %1187 = call ptr @__errno_location() #11
  store i32 %1186, ptr %1187, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = load i32, ptr @test_count, align 4, !tbaa !5
  %1190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1191 = load i32, ptr %1190, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror(i32 noundef %1191, ptr noundef @.str.4)
  %1193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror_debug(i32 noundef %1194, ptr noundef @.str.4)
  %1196 = call ptr @__errno_location() #11
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  %1198 = call ptr @strerror(i32 noundef %1197) #10
  %1199 = call ptr @__errno_location() #11
  %1200 = load i32, ptr %1199, align 4, !tbaa !5
  %1201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1188, ptr noundef @.str.2, i32 noundef %1189, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1192, ptr noundef %1195, ptr noundef %1198, i32 noundef %1200) #10
  br label %1219

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

1219:                                             ; preds = %1202, %1185
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1220

1220:                                             ; preds = %1219
  br label %1221

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

1222:                                             ; No predecessors!
  br label %1223

1223:                                             ; preds = %1222
  br label %1224

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

1225:                                             ; preds = %1224
  br label %1226

1226:                                             ; preds = %1225
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  store ptr null, ptr %24, align 8, !tbaa !9
  br label %1227

1227:                                             ; preds = %1226
  %1228 = load i32, ptr @test_count, align 4, !tbaa !5
  %1229 = add nsw i32 %1228, 1
  store i32 %1229, ptr @test_count, align 4, !tbaa !5
  %1230 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1230, ptr %24, align 8, !tbaa !9
  %1231 = icmp eq ptr %1230, null
  br i1 %1231, label %1232, label %1285

1232:                                             ; preds = %1227
  br label %1233

1233:                                             ; preds = %1232
  br label %1234

1234:                                             ; preds = %1233
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %1235 = call ptr @__errno_location() #11
  %1236 = load i32, ptr %1235, align 4, !tbaa !5
  store i32 %1236, ptr %25, align 4, !tbaa !5
  %1237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1238 = call i32 @s2n_print_stacktrace(ptr noundef %1237)
  %1239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1240 = trunc i8 %1239 to i1
  br i1 %1240, label %1241, label %1263

1241:                                             ; preds = %1234
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = call i32 @fileno(ptr noundef %1242) #10
  %1244 = call i32 @isatty(i32 noundef %1243) #10
  %1245 = icmp ne i32 %1244, 0
  br i1 %1245, label %1246, label %1263

1246:                                             ; preds = %1241
  %1247 = load i32, ptr %25, align 4, !tbaa !5
  %1248 = call ptr @__errno_location() #11
  store i32 %1247, ptr %1248, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror(i32 noundef %1252, ptr noundef @.str.4)
  %1254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror_debug(i32 noundef %1255, ptr noundef @.str.4)
  %1257 = call ptr @__errno_location() #11
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = call ptr @strerror(i32 noundef %1258) #10
  %1260 = call ptr @__errno_location() #11
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1249, ptr noundef @.str.2, i32 noundef %1250, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1253, ptr noundef %1256, ptr noundef %1259, i32 noundef %1261) #10
  br label %1280

1263:                                             ; preds = %1241, %1234
  %1264 = load i32, ptr %25, align 4, !tbaa !5
  %1265 = call ptr @__errno_location() #11
  store i32 %1264, ptr %1265, align 4, !tbaa !5
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = call ptr @s2n_strerror(i32 noundef %1269, ptr noundef @.str.4)
  %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_debug(i32 noundef %1272, ptr noundef @.str.4)
  %1274 = call ptr @__errno_location() #11
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @strerror(i32 noundef %1275) #10
  %1277 = call ptr @__errno_location() #11
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1266, ptr noundef @.str.5, i32 noundef %1267, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1270, ptr noundef %1273, ptr noundef %1276, i32 noundef %1278) #10
  br label %1280

1280:                                             ; preds = %1263, %1246
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1281

1281:                                             ; preds = %1280
  br label %1282

1282:                                             ; preds = %1281
  call void @exit(i32 noundef 1) #12
  unreachable

1283:                                             ; No predecessors!
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284, %1227
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

1287:                                             ; preds = %1286
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #10
  store i8 0, ptr %26, align 1, !tbaa !19
  br label %1288

1288:                                             ; preds = %1287
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 0, ptr noundef %26)
  %1292 = icmp eq i32 %1291, -1
  br i1 %1292, label %1293, label %1346

1293:                                             ; preds = %1288
  br label %1294

1294:                                             ; preds = %1293
  br label %1295

1295:                                             ; preds = %1294
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #10
  %1296 = call ptr @__errno_location() #11
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  store i32 %1297, ptr %27, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = call i32 @s2n_print_stacktrace(ptr noundef %1298)
  %1300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1301 = trunc i8 %1300 to i1
  br i1 %1301, label %1302, label %1324

1302:                                             ; preds = %1295
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = call i32 @fileno(ptr noundef %1303) #10
  %1305 = call i32 @isatty(i32 noundef %1304) #10
  %1306 = icmp ne i32 %1305, 0
  br i1 %1306, label %1307, label %1324

1307:                                             ; preds = %1302
  %1308 = load i32, ptr %27, align 4, !tbaa !5
  %1309 = call ptr @__errno_location() #11
  store i32 %1308, ptr %1309, align 4, !tbaa !5
  %1310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1311 = load i32, ptr @test_count, align 4, !tbaa !5
  %1312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1313 = load i32, ptr %1312, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef @.str.4)
  %1315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror_debug(i32 noundef %1316, ptr noundef @.str.4)
  %1318 = call ptr @__errno_location() #11
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call ptr @strerror(i32 noundef %1319) #10
  %1321 = call ptr @__errno_location() #11
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1310, ptr noundef @.str.2, i32 noundef %1311, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 93, ptr noundef %1314, ptr noundef %1317, ptr noundef %1320, i32 noundef %1322) #10
  br label %1341

1324:                                             ; preds = %1302, %1295
  %1325 = load i32, ptr %27, align 4, !tbaa !5
  %1326 = call ptr @__errno_location() #11
  store i32 %1325, ptr %1326, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call ptr @s2n_strerror(i32 noundef %1330, ptr noundef @.str.4)
  %1332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror_debug(i32 noundef %1333, ptr noundef @.str.4)
  %1335 = call ptr @__errno_location() #11
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @strerror(i32 noundef %1336) #10
  %1338 = call ptr @__errno_location() #11
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1327, ptr noundef @.str.5, i32 noundef %1328, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 93, ptr noundef %1331, ptr noundef %1334, ptr noundef %1337, i32 noundef %1339) #10
  br label %1341

1341:                                             ; preds = %1324, %1307
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1342

1342:                                             ; preds = %1341
  br label %1343

1343:                                             ; preds = %1342
  call void @exit(i32 noundef 1) #12
  unreachable

1344:                                             ; No predecessors!
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

1346:                                             ; preds = %1345, %1288
  br label %1347

1347:                                             ; preds = %1346
  br label %1348

1348:                                             ; preds = %1347
  %1349 = load i8, ptr %26, align 1, !tbaa !19
  %1350 = zext i8 %1349 to i32
  %1351 = srem i32 %1350, 8
  %1352 = shl i32 1, %1351
  %1353 = load ptr, ptr %24, align 8, !tbaa !9
  %1354 = getelementptr inbounds %struct.s2n_connection, ptr %1353, i32 0, i32 11
  %1355 = load i8, ptr %26, align 1, !tbaa !19
  %1356 = zext i8 %1355 to i32
  %1357 = ashr i32 %1356, 3
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds [22 x i8], ptr %1354, i64 0, i64 %1358
  %1360 = load i8, ptr %1359, align 1, !tbaa !19
  %1361 = sext i8 %1360 to i32
  %1362 = or i32 %1361, %1352
  %1363 = trunc i32 %1362 to i8
  store i8 %1363, ptr %1359, align 1, !tbaa !19
  br label %1364

1364:                                             ; preds = %1348
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = add nsw i32 %1365, 1
  store i32 %1366, ptr @test_count, align 4, !tbaa !5
  %1367 = load ptr, ptr %24, align 8, !tbaa !9
  %1368 = load ptr, ptr %12, align 8, !tbaa !9
  %1369 = call i32 @s2n_connection_set_config(ptr noundef %1367, ptr noundef %1368)
  %1370 = icmp eq i32 %1369, -1
  br i1 %1370, label %1371, label %1424

1371:                                             ; preds = %1364
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

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

1380:                                             ; preds = %1373
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = call i32 @fileno(ptr noundef %1381) #10
  %1383 = call i32 @isatty(i32 noundef %1382) #10
  %1384 = icmp ne i32 %1383, 0
  br i1 %1384, label %1385, label %1402

1385:                                             ; preds = %1380
  %1386 = load i32, ptr %28, align 4, !tbaa !5
  %1387 = call ptr @__errno_location() #11
  store i32 %1386, ptr %1387, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1391 = load i32, ptr %1390, align 4, !tbaa !5
  %1392 = call ptr @s2n_strerror(i32 noundef %1391, ptr noundef @.str.4)
  %1393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1394 = load i32, ptr %1393, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror_debug(i32 noundef %1394, ptr noundef @.str.4)
  %1396 = call ptr @__errno_location() #11
  %1397 = load i32, ptr %1396, align 4, !tbaa !5
  %1398 = call ptr @strerror(i32 noundef %1397) #10
  %1399 = call ptr @__errno_location() #11
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1388, ptr noundef @.str.2, i32 noundef %1389, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1392, ptr noundef %1395, ptr noundef %1398, i32 noundef %1400) #10
  br label %1419

1402:                                             ; preds = %1380, %1373
  %1403 = load i32, ptr %28, align 4, !tbaa !5
  %1404 = call ptr @__errno_location() #11
  store i32 %1403, ptr %1404, align 4, !tbaa !5
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = load i32, ptr @test_count, align 4, !tbaa !5
  %1407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call ptr @s2n_strerror(i32 noundef %1408, ptr noundef @.str.4)
  %1410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1411 = load i32, ptr %1410, align 4, !tbaa !5
  %1412 = call ptr @s2n_strerror_debug(i32 noundef %1411, ptr noundef @.str.4)
  %1413 = call ptr @__errno_location() #11
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  %1415 = call ptr @strerror(i32 noundef %1414) #10
  %1416 = call ptr @__errno_location() #11
  %1417 = load i32, ptr %1416, align 4, !tbaa !5
  %1418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1405, ptr noundef @.str.5, i32 noundef %1406, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1409, ptr noundef %1412, ptr noundef %1415, i32 noundef %1417) #10
  br label %1419

1419:                                             ; preds = %1402, %1385
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

1421:                                             ; preds = %1420
  call void @exit(i32 noundef 1) #12
  unreachable

1422:                                             ; No predecessors!
  br label %1423

1423:                                             ; preds = %1422
  br label %1424

1424:                                             ; preds = %1423, %1364
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

1426:                                             ; preds = %1425
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #10
  %1427 = load ptr, ptr %24, align 8, !tbaa !9
  %1428 = getelementptr inbounds %struct.s2n_connection, ptr %1427, i32 0, i32 52
  %1429 = getelementptr inbounds %struct.s2n_handshake, ptr %1428, i32 0, i32 0
  store ptr %1429, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #10
  store i8 4, ptr %30, align 1, !tbaa !19
  %1430 = load ptr, ptr %24, align 8, !tbaa !9
  %1431 = load i32, ptr %1430, align 8
  %1432 = and i32 %1431, -65
  %1433 = or i32 %1432, 64
  store i32 %1433, ptr %1430, align 8
  br label %1434

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

1441:                                             ; preds = %1434
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

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

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

1455:                                             ; preds = %1450
  %1456 = load i32, ptr %31, align 4, !tbaa !5
  %1457 = call ptr @__errno_location() #11
  store i32 %1456, ptr %1457, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1461 = load i32, ptr %1460, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef @.str.4)
  %1466 = call ptr @__errno_location() #11
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #10
  %1469 = call ptr @__errno_location() #11
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1458, ptr noundef @.str.2, i32 noundef %1459, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1462, ptr noundef %1465, ptr noundef %1468, i32 noundef %1470) #10
  br label %1489

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

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

1490:                                             ; preds = %1489
  br label %1491

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

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

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

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

1498:                                             ; preds = %1497
  %1499 = load i32, ptr @test_count, align 4, !tbaa !5
  %1500 = add nsw i32 %1499, 1
  store i32 %1500, ptr @test_count, align 4, !tbaa !5
  %1501 = load ptr, ptr %29, align 8, !tbaa !9
  %1502 = call i32 @s2n_stuffer_skip_read(ptr noundef %1501, i32 noundef 6)
  %1503 = icmp eq i32 %1502, -1
  br i1 %1503, label %1504, label %1557

1504:                                             ; preds = %1498
  br label %1505

1505:                                             ; preds = %1504
  br label %1506

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

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

1518:                                             ; preds = %1513
  %1519 = load i32, ptr %32, align 4, !tbaa !5
  %1520 = call ptr @__errno_location() #11
  store i32 %1519, ptr %1520, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = load i32, ptr @test_count, align 4, !tbaa !5
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror(i32 noundef %1524, ptr noundef @.str.4)
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror_debug(i32 noundef %1527, ptr noundef @.str.4)
  %1529 = call ptr @__errno_location() #11
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @strerror(i32 noundef %1530) #10
  %1532 = call ptr @__errno_location() #11
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1521, ptr noundef @.str.2, i32 noundef %1522, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1525, ptr noundef %1528, ptr noundef %1531, i32 noundef %1533) #10
  br label %1552

1535:                                             ; preds = %1513, %1506
  %1536 = load i32, ptr %32, align 4, !tbaa !5
  %1537 = call ptr @__errno_location() #11
  store i32 %1536, ptr %1537, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror(i32 noundef %1541, ptr noundef @.str.4)
  %1543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror_debug(i32 noundef %1544, ptr noundef @.str.4)
  %1546 = call ptr @__errno_location() #11
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @strerror(i32 noundef %1547) #10
  %1549 = call ptr @__errno_location() #11
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1538, ptr noundef @.str.5, i32 noundef %1539, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1542, ptr noundef %1545, ptr noundef %1548, i32 noundef %1550) #10
  br label %1552

1552:                                             ; preds = %1535, %1518
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1553

1553:                                             ; preds = %1552
  br label %1554

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

1555:                                             ; No predecessors!
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556, %1498
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559
  %1561 = load i32, ptr @test_count, align 4, !tbaa !5
  %1562 = add nsw i32 %1561, 1
  store i32 %1562, ptr @test_count, align 4, !tbaa !5
  %1563 = load ptr, ptr %29, align 8, !tbaa !9
  %1564 = getelementptr inbounds %struct.s2n_stuffer, ptr %1563, i32 0, i32 2
  %1565 = load i32, ptr %1564, align 4, !tbaa !15
  %1566 = load ptr, ptr %29, align 8, !tbaa !9
  %1567 = getelementptr inbounds %struct.s2n_stuffer, ptr %1566, i32 0, i32 1
  %1568 = load i32, ptr %1567, align 8, !tbaa !18
  %1569 = sub i32 %1565, %1568
  %1570 = icmp eq i32 %1569, 0
  br i1 %1570, label %1624, label %1571

1571:                                             ; preds = %1560
  br label %1572

1572:                                             ; preds = %1571
  br label %1573

1573:                                             ; preds = %1572
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1574 = call ptr @__errno_location() #11
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  store i32 %1575, ptr %33, 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) #10
  %1583 = call i32 @isatty(i32 noundef %1582) #10
  %1584 = icmp ne i32 %1583, 0
  br i1 %1584, label %1585, label %1602

1585:                                             ; preds = %1580
  %1586 = load i32, ptr %33, align 4, !tbaa !5
  %1587 = call ptr @__errno_location() #11
  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() #11
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call ptr @strerror(i32 noundef %1597) #10
  %1599 = call ptr @__errno_location() #11
  %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.17, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1592, ptr noundef %1595, ptr noundef %1598, i32 noundef %1600) #10
  br label %1619

1602:                                             ; preds = %1580, %1573
  %1603 = load i32, ptr %33, align 4, !tbaa !5
  %1604 = call ptr @__errno_location() #11
  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() #11
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call ptr @strerror(i32 noundef %1614) #10
  %1616 = call ptr @__errno_location() #11
  %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.17, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1609, ptr noundef %1612, ptr noundef %1615, i32 noundef %1617) #10
  br label %1619

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

1620:                                             ; preds = %1619
  br label %1621

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

1622:                                             ; No predecessors!
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

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

1625:                                             ; preds = %1624
  br label %1626

1626:                                             ; preds = %1625
  br label %1627

1627:                                             ; preds = %1626
  br label %1628

1628:                                             ; preds = %1627
  %1629 = load ptr, ptr %24, align 8, !tbaa !9
  %1630 = load i32, ptr %1629, align 8
  %1631 = and i32 %1630, -65
  %1632 = or i32 %1631, 0
  store i32 %1632, ptr %1629, align 8
  br label %1633

1633:                                             ; preds = %1628
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = add nsw i32 %1634, 1
  store i32 %1635, ptr @test_count, align 4, !tbaa !5
  %1636 = load ptr, ptr %24, align 8, !tbaa !9
  %1637 = load ptr, ptr %29, align 8, !tbaa !9
  %1638 = call i32 @s2n_server_extensions_send(ptr noundef %1636, ptr noundef %1637)
  %1639 = icmp eq i32 %1638, -1
  br i1 %1639, label %1640, label %1693

1640:                                             ; preds = %1633
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

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

1649:                                             ; preds = %1642
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = call i32 @fileno(ptr noundef %1650) #10
  %1652 = call i32 @isatty(i32 noundef %1651) #10
  %1653 = icmp ne i32 %1652, 0
  br i1 %1653, label %1654, label %1671

1654:                                             ; preds = %1649
  %1655 = load i32, ptr %34, align 4, !tbaa !5
  %1656 = call ptr @__errno_location() #11
  store i32 %1655, ptr %1656, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = load i32, ptr @test_count, align 4, !tbaa !5
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef @.str.4)
  %1662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef @.str.4)
  %1665 = call ptr @__errno_location() #11
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @strerror(i32 noundef %1666) #10
  %1668 = call ptr @__errno_location() #11
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1657, ptr noundef @.str.2, i32 noundef %1658, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1661, ptr noundef %1664, ptr noundef %1667, i32 noundef %1669) #10
  br label %1688

1671:                                             ; preds = %1649, %1642
  %1672 = load i32, ptr %34, align 4, !tbaa !5
  %1673 = call ptr @__errno_location() #11
  store i32 %1672, ptr %1673, align 4, !tbaa !5
  %1674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1675 = load i32, ptr @test_count, align 4, !tbaa !5
  %1676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror(i32 noundef %1677, ptr noundef @.str.4)
  %1679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1680 = load i32, ptr %1679, align 4, !tbaa !5
  %1681 = call ptr @s2n_strerror_debug(i32 noundef %1680, ptr noundef @.str.4)
  %1682 = call ptr @__errno_location() #11
  %1683 = load i32, ptr %1682, align 4, !tbaa !5
  %1684 = call ptr @strerror(i32 noundef %1683) #10
  %1685 = call ptr @__errno_location() #11
  %1686 = load i32, ptr %1685, align 4, !tbaa !5
  %1687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1674, ptr noundef @.str.5, i32 noundef %1675, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1678, ptr noundef %1681, ptr noundef %1684, i32 noundef %1686) #10
  br label %1688

1688:                                             ; preds = %1671, %1654
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  call void @exit(i32 noundef 1) #12
  unreachable

1691:                                             ; No predecessors!
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692, %1633
  br label %1694

1694:                                             ; preds = %1693
  br label %1695

1695:                                             ; preds = %1694
  br label %1696

1696:                                             ; preds = %1695
  br label %1697

1697:                                             ; preds = %1696
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = add nsw i32 %1698, 1
  store i32 %1699, ptr @test_count, align 4, !tbaa !5
  %1700 = load ptr, ptr %29, align 8, !tbaa !9
  %1701 = call i32 @s2n_stuffer_skip_read(ptr noundef %1700, i32 noundef 0)
  %1702 = icmp eq i32 %1701, -1
  br i1 %1702, label %1703, label %1756

1703:                                             ; preds = %1697
  br label %1704

1704:                                             ; preds = %1703
  br label %1705

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

1712:                                             ; preds = %1705
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = call i32 @fileno(ptr noundef %1713) #10
  %1715 = call i32 @isatty(i32 noundef %1714) #10
  %1716 = icmp ne i32 %1715, 0
  br i1 %1716, label %1717, label %1734

1717:                                             ; preds = %1712
  %1718 = load i32, ptr %35, align 4, !tbaa !5
  %1719 = call ptr @__errno_location() #11
  store i32 %1718, ptr %1719, align 4, !tbaa !5
  %1720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1721 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1723, ptr noundef @.str.4)
  %1725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call ptr @s2n_strerror_debug(i32 noundef %1726, ptr noundef @.str.4)
  %1728 = call ptr @__errno_location() #11
  %1729 = load i32, ptr %1728, align 4, !tbaa !5
  %1730 = call ptr @strerror(i32 noundef %1729) #10
  %1731 = call ptr @__errno_location() #11
  %1732 = load i32, ptr %1731, align 4, !tbaa !5
  %1733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1720, ptr noundef @.str.2, i32 noundef %1721, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1724, ptr noundef %1727, ptr noundef %1730, i32 noundef %1732) #10
  br label %1751

1734:                                             ; preds = %1712, %1705
  %1735 = load i32, ptr %35, align 4, !tbaa !5
  %1736 = call ptr @__errno_location() #11
  store i32 %1735, ptr %1736, align 4, !tbaa !5
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1740, ptr noundef @.str.4)
  %1742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror_debug(i32 noundef %1743, ptr noundef @.str.4)
  %1745 = call ptr @__errno_location() #11
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call ptr @strerror(i32 noundef %1746) #10
  %1748 = call ptr @__errno_location() #11
  %1749 = load i32, ptr %1748, align 4, !tbaa !5
  %1750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1737, ptr noundef @.str.5, i32 noundef %1738, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1741, ptr noundef %1744, ptr noundef %1747, i32 noundef %1749) #10
  br label %1751

1751:                                             ; preds = %1734, %1717
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

1753:                                             ; preds = %1752
  call void @exit(i32 noundef 1) #12
  unreachable

1754:                                             ; No predecessors!
  br label %1755

1755:                                             ; preds = %1754
  br label %1756

1756:                                             ; preds = %1755, %1697
  br label %1757

1757:                                             ; preds = %1756
  br label %1758

1758:                                             ; preds = %1757
  br label %1759

1759:                                             ; preds = %1758
  %1760 = load i32, ptr @test_count, align 4, !tbaa !5
  %1761 = add nsw i32 %1760, 1
  store i32 %1761, ptr @test_count, align 4, !tbaa !5
  %1762 = load ptr, ptr %29, align 8, !tbaa !9
  %1763 = getelementptr inbounds %struct.s2n_stuffer, ptr %1762, i32 0, i32 2
  %1764 = load i32, ptr %1763, align 4, !tbaa !15
  %1765 = load ptr, ptr %29, align 8, !tbaa !9
  %1766 = getelementptr inbounds %struct.s2n_stuffer, ptr %1765, i32 0, i32 1
  %1767 = load i32, ptr %1766, align 8, !tbaa !18
  %1768 = sub i32 %1764, %1767
  %1769 = icmp eq i32 %1768, 0
  br i1 %1769, label %1823, label %1770

1770:                                             ; preds = %1759
  br label %1771

1771:                                             ; preds = %1770
  br label %1772

1772:                                             ; preds = %1771
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1773 = call ptr @__errno_location() #11
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  store i32 %1774, ptr %36, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775)
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc i8 %1777 to i1
  br i1 %1778, label %1779, label %1801

1779:                                             ; preds = %1772
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #10
  %1782 = call i32 @isatty(i32 noundef %1781) #10
  %1783 = icmp ne i32 %1782, 0
  br i1 %1783, label %1784, label %1801

1784:                                             ; preds = %1779
  %1785 = load i32, ptr %36, align 4, !tbaa !5
  %1786 = call ptr @__errno_location() #11
  store i32 %1785, ptr %1786, align 4, !tbaa !5
  %1787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1788 = load i32, ptr @test_count, align 4, !tbaa !5
  %1789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror(i32 noundef %1790, ptr noundef @.str.4)
  %1792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror_debug(i32 noundef %1793, ptr noundef @.str.4)
  %1795 = call ptr @__errno_location() #11
  %1796 = load i32, ptr %1795, align 4, !tbaa !5
  %1797 = call ptr @strerror(i32 noundef %1796) #10
  %1798 = call ptr @__errno_location() #11
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1787, ptr noundef @.str.2, i32 noundef %1788, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1791, ptr noundef %1794, ptr noundef %1797, i32 noundef %1799) #10
  br label %1818

1801:                                             ; preds = %1779, %1772
  %1802 = load i32, ptr %36, align 4, !tbaa !5
  %1803 = call ptr @__errno_location() #11
  store i32 %1802, ptr %1803, align 4, !tbaa !5
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = load i32, ptr @test_count, align 4, !tbaa !5
  %1806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call ptr @s2n_strerror(i32 noundef %1807, ptr noundef @.str.4)
  %1809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = call ptr @s2n_strerror_debug(i32 noundef %1810, ptr noundef @.str.4)
  %1812 = call ptr @__errno_location() #11
  %1813 = load i32, ptr %1812, align 4, !tbaa !5
  %1814 = call ptr @strerror(i32 noundef %1813) #10
  %1815 = call ptr @__errno_location() #11
  %1816 = load i32, ptr %1815, align 4, !tbaa !5
  %1817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1804, ptr noundef @.str.5, i32 noundef %1805, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1808, ptr noundef %1811, ptr noundef %1814, i32 noundef %1816) #10
  br label %1818

1818:                                             ; preds = %1801, %1784
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1819

1819:                                             ; preds = %1818
  br label %1820

1820:                                             ; preds = %1819
  call void @exit(i32 noundef 1) #12
  unreachable

1821:                                             ; No predecessors!
  br label %1822

1822:                                             ; preds = %1821
  br label %1823

1823:                                             ; preds = %1822, %1759
  br label %1824

1824:                                             ; preds = %1823
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

1826:                                             ; preds = %1825
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

1828:                                             ; preds = %1827
  %1829 = load i32, ptr @test_count, align 4, !tbaa !5
  %1830 = add nsw i32 %1829, 1
  store i32 %1830, ptr @test_count, align 4, !tbaa !5
  %1831 = call i32 (...) @s2n_enable_tls13_in_test()
  %1832 = icmp eq i32 %1831, -1
  br i1 %1832, label %1833, label %1886

1833:                                             ; preds = %1828
  br label %1834

1834:                                             ; preds = %1833
  br label %1835

1835:                                             ; preds = %1834
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1836 = call ptr @__errno_location() #11
  %1837 = load i32, ptr %1836, align 4, !tbaa !5
  store i32 %1837, ptr %37, align 4, !tbaa !5
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @s2n_print_stacktrace(ptr noundef %1838)
  %1840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1841 = trunc i8 %1840 to i1
  br i1 %1841, label %1842, label %1864

1842:                                             ; preds = %1835
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @fileno(ptr noundef %1843) #10
  %1845 = call i32 @isatty(i32 noundef %1844) #10
  %1846 = icmp ne i32 %1845, 0
  br i1 %1846, label %1847, label %1864

1847:                                             ; preds = %1842
  %1848 = load i32, ptr %37, align 4, !tbaa !5
  %1849 = call ptr @__errno_location() #11
  store i32 %1848, ptr %1849, align 4, !tbaa !5
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror(i32 noundef %1853, ptr noundef @.str.4)
  %1855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror_debug(i32 noundef %1856, ptr noundef @.str.4)
  %1858 = call ptr @__errno_location() #11
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @strerror(i32 noundef %1859) #10
  %1861 = call ptr @__errno_location() #11
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef @.str.2, i32 noundef %1851, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1854, ptr noundef %1857, ptr noundef %1860, i32 noundef %1862) #10
  br label %1881

1864:                                             ; preds = %1842, %1835
  %1865 = load i32, ptr %37, align 4, !tbaa !5
  %1866 = call ptr @__errno_location() #11
  store i32 %1865, ptr %1866, align 4, !tbaa !5
  %1867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1868 = load i32, ptr @test_count, align 4, !tbaa !5
  %1869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror(i32 noundef %1870, ptr noundef @.str.4)
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror_debug(i32 noundef %1873, ptr noundef @.str.4)
  %1875 = call ptr @__errno_location() #11
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @strerror(i32 noundef %1876) #10
  %1878 = call ptr @__errno_location() #11
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1867, ptr noundef @.str.5, i32 noundef %1868, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1871, ptr noundef %1874, ptr noundef %1877, i32 noundef %1879) #10
  br label %1881

1881:                                             ; preds = %1864, %1847
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1882

1882:                                             ; preds = %1881
  br label %1883

1883:                                             ; preds = %1882
  call void @exit(i32 noundef 1) #12
  unreachable

1884:                                             ; No predecessors!
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885, %1828
  br label %1887

1887:                                             ; preds = %1886
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888
  %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 %24, align 8, !tbaa !9
  %1893 = call i32 @configure_tls13_connection(ptr noundef %1892)
  %1894 = icmp eq i32 %1893, -1
  br i1 %1894, label %1895, label %1948

1895:                                             ; preds = %1889
  br label %1896

1896:                                             ; preds = %1895
  br label %1897

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

1904:                                             ; preds = %1897
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @fileno(ptr noundef %1905) #10
  %1907 = call i32 @isatty(i32 noundef %1906) #10
  %1908 = icmp ne i32 %1907, 0
  br i1 %1908, label %1909, label %1926

1909:                                             ; preds = %1904
  %1910 = load i32, ptr %38, align 4, !tbaa !5
  %1911 = call ptr @__errno_location() #11
  store i32 %1910, ptr %1911, align 4, !tbaa !5
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = load i32, ptr @test_count, align 4, !tbaa !5
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror(i32 noundef %1915, ptr noundef @.str.4)
  %1917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef @.str.4)
  %1920 = call ptr @__errno_location() #11
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call ptr @strerror(i32 noundef %1921) #10
  %1923 = call ptr @__errno_location() #11
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1912, ptr noundef @.str.2, i32 noundef %1913, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1916, ptr noundef %1919, ptr noundef %1922, i32 noundef %1924) #10
  br label %1943

1926:                                             ; preds = %1904, %1897
  %1927 = load i32, ptr %38, align 4, !tbaa !5
  %1928 = call ptr @__errno_location() #11
  store i32 %1927, ptr %1928, align 4, !tbaa !5
  %1929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror(i32 noundef %1932, ptr noundef @.str.4)
  %1934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call ptr @s2n_strerror_debug(i32 noundef %1935, ptr noundef @.str.4)
  %1937 = call ptr @__errno_location() #11
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  %1939 = call ptr @strerror(i32 noundef %1938) #10
  %1940 = call ptr @__errno_location() #11
  %1941 = load i32, ptr %1940, align 4, !tbaa !5
  %1942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1929, ptr noundef @.str.5, i32 noundef %1930, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1933, ptr noundef %1936, ptr noundef %1939, i32 noundef %1941) #10
  br label %1943

1943:                                             ; preds = %1926, %1909
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  call void @exit(i32 noundef 1) #12
  unreachable

1946:                                             ; No predecessors!
  br label %1947

1947:                                             ; preds = %1946
  br label %1948

1948:                                             ; preds = %1947, %1889
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  %1951 = load ptr, ptr %24, align 8, !tbaa !9
  %1952 = load i32, ptr %1951, align 8
  %1953 = and i32 %1952, -65
  %1954 = or i32 %1953, 64
  store i32 %1954, ptr %1951, align 8
  br label %1955

1955:                                             ; preds = %1950
  %1956 = load i32, ptr @test_count, align 4, !tbaa !5
  %1957 = add nsw i32 %1956, 1
  store i32 %1957, ptr @test_count, align 4, !tbaa !5
  %1958 = load ptr, ptr %24, align 8, !tbaa !9
  %1959 = load ptr, ptr %29, align 8, !tbaa !9
  %1960 = call i32 @s2n_server_extensions_send(ptr noundef %1958, ptr noundef %1959)
  %1961 = icmp eq i32 %1960, -1
  br i1 %1961, label %1962, label %2015

1962:                                             ; preds = %1955
  br label %1963

1963:                                             ; preds = %1962
  br label %1964

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

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

1976:                                             ; preds = %1971
  %1977 = load i32, ptr %39, align 4, !tbaa !5
  %1978 = call ptr @__errno_location() #11
  store i32 %1977, ptr %1978, align 4, !tbaa !5
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = load i32, ptr @test_count, align 4, !tbaa !5
  %1981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call ptr @s2n_strerror(i32 noundef %1982, ptr noundef @.str.4)
  %1984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror_debug(i32 noundef %1985, ptr noundef @.str.4)
  %1987 = call ptr @__errno_location() #11
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @strerror(i32 noundef %1988) #10
  %1990 = call ptr @__errno_location() #11
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1979, ptr noundef @.str.2, i32 noundef %1980, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1983, ptr noundef %1986, ptr noundef %1989, i32 noundef %1991) #10
  br label %2010

1993:                                             ; preds = %1971, %1964
  %1994 = load i32, ptr %39, align 4, !tbaa !5
  %1995 = call ptr @__errno_location() #11
  store i32 %1994, ptr %1995, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror(i32 noundef %1999, ptr noundef @.str.4)
  %2001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2002 = load i32, ptr %2001, align 4, !tbaa !5
  %2003 = call ptr @s2n_strerror_debug(i32 noundef %2002, ptr noundef @.str.4)
  %2004 = call ptr @__errno_location() #11
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = call ptr @strerror(i32 noundef %2005) #10
  %2007 = call ptr @__errno_location() #11
  %2008 = load i32, ptr %2007, align 4, !tbaa !5
  %2009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1996, ptr noundef @.str.5, i32 noundef %1997, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2000, ptr noundef %2003, ptr noundef %2006, i32 noundef %2008) #10
  br label %2010

2010:                                             ; preds = %1993, %1976
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2011

2011:                                             ; preds = %2010
  br label %2012

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

2013:                                             ; No predecessors!
  br label %2014

2014:                                             ; preds = %2013
  br label %2015

2015:                                             ; preds = %2014, %1955
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

2018:                                             ; preds = %2017
  br label %2019

2019:                                             ; preds = %2018
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = add nsw i32 %2020, 1
  store i32 %2021, ptr @test_count, align 4, !tbaa !5
  %2022 = load ptr, ptr %29, align 8, !tbaa !9
  %2023 = call i32 @s2n_stuffer_skip_read(ptr noundef %2022, i32 noundef 81)
  %2024 = icmp eq i32 %2023, -1
  br i1 %2024, label %2025, label %2078

2025:                                             ; preds = %2019
  br label %2026

2026:                                             ; preds = %2025
  br label %2027

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

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

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

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

2073:                                             ; preds = %2056, %2039
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2074

2074:                                             ; preds = %2073
  br label %2075

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

2076:                                             ; No predecessors!
  br label %2077

2077:                                             ; preds = %2076
  br label %2078

2078:                                             ; preds = %2077, %2019
  br label %2079

2079:                                             ; preds = %2078
  br label %2080

2080:                                             ; preds = %2079
  br label %2081

2081:                                             ; preds = %2080
  %2082 = load i32, ptr @test_count, align 4, !tbaa !5
  %2083 = add nsw i32 %2082, 1
  store i32 %2083, ptr @test_count, align 4, !tbaa !5
  %2084 = load ptr, ptr %29, align 8, !tbaa !9
  %2085 = getelementptr inbounds %struct.s2n_stuffer, ptr %2084, i32 0, i32 2
  %2086 = load i32, ptr %2085, align 4, !tbaa !15
  %2087 = load ptr, ptr %29, align 8, !tbaa !9
  %2088 = getelementptr inbounds %struct.s2n_stuffer, ptr %2087, i32 0, i32 1
  %2089 = load i32, ptr %2088, align 8, !tbaa !18
  %2090 = sub i32 %2086, %2089
  %2091 = icmp eq i32 %2090, 0
  br i1 %2091, label %2145, label %2092

2092:                                             ; preds = %2081
  br label %2093

2093:                                             ; preds = %2092
  br label %2094

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

2101:                                             ; preds = %2094
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = call i32 @fileno(ptr noundef %2102) #10
  %2104 = call i32 @isatty(i32 noundef %2103) #10
  %2105 = icmp ne i32 %2104, 0
  br i1 %2105, label %2106, label %2123

2106:                                             ; preds = %2101
  %2107 = load i32, ptr %41, align 4, !tbaa !5
  %2108 = call ptr @__errno_location() #11
  store i32 %2107, ptr %2108, align 4, !tbaa !5
  %2109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2110 = load i32, ptr @test_count, align 4, !tbaa !5
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror(i32 noundef %2112, ptr noundef @.str.4)
  %2114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror_debug(i32 noundef %2115, ptr noundef @.str.4)
  %2117 = call ptr @__errno_location() #11
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @strerror(i32 noundef %2118) #10
  %2120 = call ptr @__errno_location() #11
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2109, ptr noundef @.str.2, i32 noundef %2110, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 116, ptr noundef %2113, ptr noundef %2116, ptr noundef %2119, i32 noundef %2121) #10
  br label %2140

2123:                                             ; preds = %2101, %2094
  %2124 = load i32, ptr %41, align 4, !tbaa !5
  %2125 = call ptr @__errno_location() #11
  store i32 %2124, ptr %2125, align 4, !tbaa !5
  %2126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2127 = load i32, ptr @test_count, align 4, !tbaa !5
  %2128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror(i32 noundef %2129, ptr noundef @.str.4)
  %2131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call ptr @s2n_strerror_debug(i32 noundef %2132, ptr noundef @.str.4)
  %2134 = call ptr @__errno_location() #11
  %2135 = load i32, ptr %2134, align 4, !tbaa !5
  %2136 = call ptr @strerror(i32 noundef %2135) #10
  %2137 = call ptr @__errno_location() #11
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  %2139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2126, ptr noundef @.str.5, i32 noundef %2127, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 116, ptr noundef %2130, ptr noundef %2133, ptr noundef %2136, i32 noundef %2138) #10
  br label %2140

2140:                                             ; preds = %2123, %2106
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  call void @exit(i32 noundef 1) #12
  unreachable

2143:                                             ; No predecessors!
  br label %2144

2144:                                             ; preds = %2143
  br label %2145

2145:                                             ; preds = %2144, %2081
  br label %2146

2146:                                             ; preds = %2145
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  %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_disable_tls13_in_test()
  %2154 = icmp eq i32 %2153, -1
  br i1 %2154, label %2155, label %2208

2155:                                             ; preds = %2150
  br label %2156

2156:                                             ; preds = %2155
  br label %2157

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

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

2169:                                             ; preds = %2164
  %2170 = load i32, ptr %42, align 4, !tbaa !5
  %2171 = call ptr @__errno_location() #11
  store i32 %2170, ptr %2171, align 4, !tbaa !5
  %2172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2173 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2175, ptr noundef @.str.4)
  %2177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2178 = load i32, ptr %2177, align 4, !tbaa !5
  %2179 = call ptr @s2n_strerror_debug(i32 noundef %2178, ptr noundef @.str.4)
  %2180 = call ptr @__errno_location() #11
  %2181 = load i32, ptr %2180, align 4, !tbaa !5
  %2182 = call ptr @strerror(i32 noundef %2181) #10
  %2183 = call ptr @__errno_location() #11
  %2184 = load i32, ptr %2183, align 4, !tbaa !5
  %2185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2172, ptr noundef @.str.2, i32 noundef %2173, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2176, ptr noundef %2179, ptr noundef %2182, i32 noundef %2184) #10
  br label %2203

2186:                                             ; preds = %2164, %2157
  %2187 = load i32, ptr %42, align 4, !tbaa !5
  %2188 = call ptr @__errno_location() #11
  store i32 %2187, ptr %2188, align 4, !tbaa !5
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2192, ptr noundef @.str.4)
  %2194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  %2196 = call ptr @s2n_strerror_debug(i32 noundef %2195, ptr noundef @.str.4)
  %2197 = call ptr @__errno_location() #11
  %2198 = load i32, ptr %2197, align 4, !tbaa !5
  %2199 = call ptr @strerror(i32 noundef %2198) #10
  %2200 = call ptr @__errno_location() #11
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2189, ptr noundef @.str.5, i32 noundef %2190, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2193, ptr noundef %2196, ptr noundef %2199, i32 noundef %2201) #10
  br label %2203

2203:                                             ; preds = %2186, %2169
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

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

2206:                                             ; No predecessors!
  br label %2207

2207:                                             ; preds = %2206
  br label %2208

2208:                                             ; preds = %2207, %2150
  br label %2209

2209:                                             ; preds = %2208
  br label %2210

2210:                                             ; preds = %2209
  br label %2211

2211:                                             ; preds = %2210
  %2212 = load i32, ptr @test_count, align 4, !tbaa !5
  %2213 = add nsw i32 %2212, 1
  store i32 %2213, ptr @test_count, align 4, !tbaa !5
  %2214 = load ptr, ptr %24, align 8, !tbaa !9
  %2215 = call i32 @s2n_connection_free(ptr noundef %2214)
  %2216 = icmp eq i32 %2215, -1
  br i1 %2216, label %2217, label %2270

2217:                                             ; preds = %2211
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

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

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

2231:                                             ; preds = %2226
  %2232 = load i32, ptr %43, align 4, !tbaa !5
  %2233 = call ptr @__errno_location() #11
  store i32 %2232, ptr %2233, align 4, !tbaa !5
  %2234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2235 = load i32, ptr @test_count, align 4, !tbaa !5
  %2236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call ptr @s2n_strerror(i32 noundef %2237, ptr noundef @.str.4)
  %2239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = call ptr @s2n_strerror_debug(i32 noundef %2240, ptr noundef @.str.4)
  %2242 = call ptr @__errno_location() #11
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call ptr @strerror(i32 noundef %2243) #10
  %2245 = call ptr @__errno_location() #11
  %2246 = load i32, ptr %2245, align 4, !tbaa !5
  %2247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2234, ptr noundef @.str.2, i32 noundef %2235, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2238, ptr noundef %2241, ptr noundef %2244, i32 noundef %2246) #10
  br label %2265

2248:                                             ; preds = %2226, %2219
  %2249 = load i32, ptr %43, align 4, !tbaa !5
  %2250 = call ptr @__errno_location() #11
  store i32 %2249, ptr %2250, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = load i32, ptr @test_count, align 4, !tbaa !5
  %2253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call ptr @s2n_strerror(i32 noundef %2254, ptr noundef @.str.4)
  %2256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2257 = load i32, ptr %2256, align 4, !tbaa !5
  %2258 = call ptr @s2n_strerror_debug(i32 noundef %2257, ptr noundef @.str.4)
  %2259 = call ptr @__errno_location() #11
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = call ptr @strerror(i32 noundef %2260) #10
  %2262 = call ptr @__errno_location() #11
  %2263 = load i32, ptr %2262, align 4, !tbaa !5
  %2264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2251, ptr noundef @.str.5, i32 noundef %2252, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2255, ptr noundef %2258, ptr noundef %2261, i32 noundef %2263) #10
  br label %2265

2265:                                             ; preds = %2248, %2231
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2266

2266:                                             ; preds = %2265
  br label %2267

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

2268:                                             ; No predecessors!
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269, %2211
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

2272:                                             ; preds = %2271
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #10
  store ptr null, ptr %44, align 8, !tbaa !9
  br label %2273

2273:                                             ; preds = %2272
  %2274 = load i32, ptr @test_count, align 4, !tbaa !5
  %2275 = add nsw i32 %2274, 1
  store i32 %2275, ptr @test_count, align 4, !tbaa !5
  %2276 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2276, ptr %44, align 8, !tbaa !9
  %2277 = icmp eq ptr %2276, null
  br i1 %2277, label %2278, label %2331

2278:                                             ; preds = %2273
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

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

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

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %45, align 4, !tbaa !5
  %2294 = call ptr @__errno_location() #11
  store i32 %2293, ptr %2294, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef @.str.4)
  %2300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call ptr @s2n_strerror_debug(i32 noundef %2301, ptr noundef @.str.4)
  %2303 = call ptr @__errno_location() #11
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @strerror(i32 noundef %2304) #10
  %2306 = call ptr @__errno_location() #11
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef @.str.2, i32 noundef %2296, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2299, ptr noundef %2302, ptr noundef %2305, i32 noundef %2307) #10
  br label %2326

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

2326:                                             ; preds = %2309, %2292
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

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

2329:                                             ; No predecessors!
  br label %2330

2330:                                             ; preds = %2329
  br label %2331

2331:                                             ; preds = %2330, %2273
  br label %2332

2332:                                             ; preds = %2331
  br label %2333

2333:                                             ; preds = %2332
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #10
  store i8 0, ptr %46, align 1, !tbaa !19
  br label %2334

2334:                                             ; preds = %2333
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = add nsw i32 %2335, 1
  store i32 %2336, ptr @test_count, align 4, !tbaa !5
  %2337 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 16, ptr noundef %46)
  %2338 = icmp eq i32 %2337, -1
  br i1 %2338, label %2339, label %2392

2339:                                             ; preds = %2334
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

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

2348:                                             ; preds = %2341
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = call i32 @fileno(ptr noundef %2349) #10
  %2351 = call i32 @isatty(i32 noundef %2350) #10
  %2352 = icmp ne i32 %2351, 0
  br i1 %2352, label %2353, label %2370

2353:                                             ; preds = %2348
  %2354 = load i32, ptr %47, align 4, !tbaa !5
  %2355 = call ptr @__errno_location() #11
  store i32 %2354, ptr %2355, align 4, !tbaa !5
  %2356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2357 = load i32, ptr @test_count, align 4, !tbaa !5
  %2358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef @.str.4)
  %2361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror_debug(i32 noundef %2362, ptr noundef @.str.4)
  %2364 = call ptr @__errno_location() #11
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call ptr @strerror(i32 noundef %2365) #10
  %2367 = call ptr @__errno_location() #11
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  %2369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2356, ptr noundef @.str.2, i32 noundef %2357, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2360, ptr noundef %2363, ptr noundef %2366, i32 noundef %2368) #10
  br label %2387

2370:                                             ; preds = %2348, %2341
  %2371 = load i32, ptr %47, align 4, !tbaa !5
  %2372 = call ptr @__errno_location() #11
  store i32 %2371, ptr %2372, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef @.str.4)
  %2381 = call ptr @__errno_location() #11
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call ptr @strerror(i32 noundef %2382) #10
  %2384 = call ptr @__errno_location() #11
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef @.str.5, i32 noundef %2374, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2377, ptr noundef %2380, ptr noundef %2383, i32 noundef %2385) #10
  br label %2387

2387:                                             ; preds = %2370, %2353
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %2388

2388:                                             ; preds = %2387
  br label %2389

2389:                                             ; preds = %2388
  call void @exit(i32 noundef 1) #12
  unreachable

2390:                                             ; No predecessors!
  br label %2391

2391:                                             ; preds = %2390
  br label %2392

2392:                                             ; preds = %2391, %2334
  br label %2393

2393:                                             ; preds = %2392
  br label %2394

2394:                                             ; preds = %2393
  %2395 = load i8, ptr %46, align 1, !tbaa !19
  %2396 = zext i8 %2395 to i32
  %2397 = srem i32 %2396, 8
  %2398 = shl i32 1, %2397
  %2399 = load ptr, ptr %44, align 8, !tbaa !9
  %2400 = getelementptr inbounds %struct.s2n_connection, ptr %2399, i32 0, i32 11
  %2401 = load i8, ptr %46, align 1, !tbaa !19
  %2402 = zext i8 %2401 to i32
  %2403 = ashr i32 %2402, 3
  %2404 = sext i32 %2403 to i64
  %2405 = getelementptr inbounds [22 x i8], ptr %2400, i64 0, i64 %2404
  %2406 = load i8, ptr %2405, align 1, !tbaa !19
  %2407 = sext i8 %2406 to i32
  %2408 = or i32 %2407, %2398
  %2409 = trunc i32 %2408 to i8
  store i8 %2409, ptr %2405, align 1, !tbaa !19
  br label %2410

2410:                                             ; preds = %2394
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = load ptr, ptr %44, align 8, !tbaa !9
  %2414 = load ptr, ptr %12, align 8, !tbaa !9
  %2415 = call i32 @s2n_connection_set_config(ptr noundef %2413, ptr noundef %2414)
  %2416 = icmp eq i32 %2415, -1
  br i1 %2416, label %2417, label %2470

2417:                                             ; preds = %2410
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

2419:                                             ; preds = %2418
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  %2420 = call ptr @__errno_location() #11
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  store i32 %2421, ptr %48, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @s2n_print_stacktrace(ptr noundef %2422)
  %2424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2425 = trunc i8 %2424 to i1
  br i1 %2425, label %2426, label %2448

2426:                                             ; preds = %2419
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = call i32 @fileno(ptr noundef %2427) #10
  %2429 = call i32 @isatty(i32 noundef %2428) #10
  %2430 = icmp ne i32 %2429, 0
  br i1 %2430, label %2431, label %2448

2431:                                             ; preds = %2426
  %2432 = load i32, ptr %48, align 4, !tbaa !5
  %2433 = call ptr @__errno_location() #11
  store i32 %2432, ptr %2433, align 4, !tbaa !5
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = load i32, ptr @test_count, align 4, !tbaa !5
  %2436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef @.str.4)
  %2439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror_debug(i32 noundef %2440, ptr noundef @.str.4)
  %2442 = call ptr @__errno_location() #11
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call ptr @strerror(i32 noundef %2443) #10
  %2445 = call ptr @__errno_location() #11
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2434, ptr noundef @.str.2, i32 noundef %2435, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2438, ptr noundef %2441, ptr noundef %2444, i32 noundef %2446) #10
  br label %2465

2448:                                             ; preds = %2426, %2419
  %2449 = load i32, ptr %48, align 4, !tbaa !5
  %2450 = call ptr @__errno_location() #11
  store i32 %2449, ptr %2450, align 4, !tbaa !5
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = load i32, ptr @test_count, align 4, !tbaa !5
  %2453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @s2n_strerror(i32 noundef %2454, ptr noundef @.str.4)
  %2456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror_debug(i32 noundef %2457, ptr noundef @.str.4)
  %2459 = call ptr @__errno_location() #11
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #10
  %2462 = call ptr @__errno_location() #11
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2451, ptr noundef @.str.5, i32 noundef %2452, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2455, ptr noundef %2458, ptr noundef %2461, i32 noundef %2463) #10
  br label %2465

2465:                                             ; preds = %2448, %2431
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466
  call void @exit(i32 noundef 1) #12
  unreachable

2468:                                             ; No predecessors!
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469, %2410
  br label %2471

2471:                                             ; preds = %2470
  br label %2472

2472:                                             ; preds = %2471
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %2473 = load ptr, ptr %44, align 8, !tbaa !9
  %2474 = getelementptr inbounds %struct.s2n_connection, ptr %2473, i32 0, i32 52
  %2475 = getelementptr inbounds %struct.s2n_handshake, ptr %2474, i32 0, i32 0
  store ptr %2475, ptr %49, align 8, !tbaa !9
  %2476 = load ptr, ptr %44, align 8, !tbaa !9
  %2477 = getelementptr inbounds %struct.s2n_connection, ptr %2476, i32 0, i32 64
  %2478 = getelementptr inbounds [256 x i8], ptr %2477, i64 0, i64 0
  %2479 = call ptr @strcpy(ptr noundef %2478, ptr noundef @.str.27) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #10
  %2480 = load ptr, ptr %44, align 8, !tbaa !9
  %2481 = getelementptr inbounds %struct.s2n_connection, ptr %2480, i32 0, i32 64
  %2482 = getelementptr inbounds [256 x i8], ptr %2481, i64 0, i64 0
  %2483 = call i64 @strlen(ptr noundef %2482) #13
  %2484 = trunc i64 %2483 to i8
  store i8 %2484, ptr %50, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #10
  %2485 = load i8, ptr %50, align 1, !tbaa !19
  %2486 = zext i8 %2485 to i32
  %2487 = add nsw i32 7, %2486
  %2488 = trunc i32 %2487 to i8
  store i8 %2488, ptr %51, align 1, !tbaa !19
  br label %2489

2489:                                             ; preds = %2472
  %2490 = load i32, ptr @test_count, align 4, !tbaa !5
  %2491 = add nsw i32 %2490, 1
  store i32 %2491, ptr @test_count, align 4, !tbaa !5
  %2492 = load ptr, ptr %44, align 8, !tbaa !9
  %2493 = load ptr, ptr %49, align 8, !tbaa !9
  %2494 = call i32 @s2n_server_extensions_send(ptr noundef %2492, ptr noundef %2493)
  %2495 = icmp eq i32 %2494, -1
  br i1 %2495, label %2496, label %2549

2496:                                             ; preds = %2489
  br label %2497

2497:                                             ; preds = %2496
  br label %2498

2498:                                             ; preds = %2497
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2499 = call ptr @__errno_location() #11
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  store i32 %2500, ptr %52, align 4, !tbaa !5
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @s2n_print_stacktrace(ptr noundef %2501)
  %2503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2504 = trunc i8 %2503 to i1
  br i1 %2504, label %2505, label %2527

2505:                                             ; preds = %2498
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @fileno(ptr noundef %2506) #10
  %2508 = call i32 @isatty(i32 noundef %2507) #10
  %2509 = icmp ne i32 %2508, 0
  br i1 %2509, label %2510, label %2527

2510:                                             ; preds = %2505
  %2511 = load i32, ptr %52, align 4, !tbaa !5
  %2512 = call ptr @__errno_location() #11
  store i32 %2511, ptr %2512, align 4, !tbaa !5
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = load i32, ptr @test_count, align 4, !tbaa !5
  %2515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2516 = load i32, ptr %2515, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror(i32 noundef %2516, ptr noundef @.str.4)
  %2518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2519 = load i32, ptr %2518, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror_debug(i32 noundef %2519, ptr noundef @.str.4)
  %2521 = call ptr @__errno_location() #11
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #10
  %2524 = call ptr @__errno_location() #11
  %2525 = load i32, ptr %2524, align 4, !tbaa !5
  %2526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2513, ptr noundef @.str.2, i32 noundef %2514, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2517, ptr noundef %2520, ptr noundef %2523, i32 noundef %2525) #10
  br label %2544

2527:                                             ; preds = %2505, %2498
  %2528 = load i32, ptr %52, align 4, !tbaa !5
  %2529 = call ptr @__errno_location() #11
  store i32 %2528, ptr %2529, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror(i32 noundef %2533, ptr noundef @.str.4)
  %2535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror_debug(i32 noundef %2536, ptr noundef @.str.4)
  %2538 = call ptr @__errno_location() #11
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #10
  %2541 = call ptr @__errno_location() #11
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2530, ptr noundef @.str.5, i32 noundef %2531, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2534, ptr noundef %2537, ptr noundef %2540, i32 noundef %2542) #10
  br label %2544

2544:                                             ; preds = %2527, %2510
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2545

2545:                                             ; preds = %2544
  br label %2546

2546:                                             ; preds = %2545
  call void @exit(i32 noundef 1) #12
  unreachable

2547:                                             ; No predecessors!
  br label %2548

2548:                                             ; preds = %2547
  br label %2549

2549:                                             ; preds = %2548, %2489
  br label %2550

2550:                                             ; preds = %2549
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

2553:                                             ; preds = %2552
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = add nsw i32 %2554, 1
  store i32 %2555, ptr @test_count, align 4, !tbaa !5
  %2556 = load ptr, ptr %49, align 8, !tbaa !9
  %2557 = load i8, ptr %51, align 1, !tbaa !19
  %2558 = zext i8 %2557 to i32
  %2559 = add nsw i32 %2558, 2
  %2560 = call i32 @s2n_stuffer_skip_read(ptr noundef %2556, i32 noundef %2559)
  %2561 = icmp eq i32 %2560, -1
  br i1 %2561, label %2562, label %2615

2562:                                             ; preds = %2553
  br label %2563

2563:                                             ; preds = %2562
  br label %2564

2564:                                             ; preds = %2563
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2565 = call ptr @__errno_location() #11
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  store i32 %2566, ptr %53, align 4, !tbaa !5
  %2567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2568 = call i32 @s2n_print_stacktrace(ptr noundef %2567)
  %2569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2570 = trunc i8 %2569 to i1
  br i1 %2570, label %2571, label %2593

2571:                                             ; preds = %2564
  %2572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2573 = call i32 @fileno(ptr noundef %2572) #10
  %2574 = call i32 @isatty(i32 noundef %2573) #10
  %2575 = icmp ne i32 %2574, 0
  br i1 %2575, label %2576, label %2593

2576:                                             ; preds = %2571
  %2577 = load i32, ptr %53, align 4, !tbaa !5
  %2578 = call ptr @__errno_location() #11
  store i32 %2577, ptr %2578, align 4, !tbaa !5
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @s2n_strerror(i32 noundef %2582, ptr noundef @.str.4)
  %2584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2585 = load i32, ptr %2584, align 4, !tbaa !5
  %2586 = call ptr @s2n_strerror_debug(i32 noundef %2585, ptr noundef @.str.4)
  %2587 = call ptr @__errno_location() #11
  %2588 = load i32, ptr %2587, align 4, !tbaa !5
  %2589 = call ptr @strerror(i32 noundef %2588) #10
  %2590 = call ptr @__errno_location() #11
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  %2592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2579, ptr noundef @.str.2, i32 noundef %2580, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2583, ptr noundef %2586, ptr noundef %2589, i32 noundef %2591) #10
  br label %2610

2593:                                             ; preds = %2571, %2564
  %2594 = load i32, ptr %53, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #11
  store i32 %2594, ptr %2595, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef @.str.4)
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef @.str.4)
  %2604 = call ptr @__errno_location() #11
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #10
  %2607 = call ptr @__errno_location() #11
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str.5, i32 noundef %2597, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #10
  br label %2610

2610:                                             ; preds = %2593, %2576
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2611

2611:                                             ; preds = %2610
  br label %2612

2612:                                             ; preds = %2611
  call void @exit(i32 noundef 1) #12
  unreachable

2613:                                             ; No predecessors!
  br label %2614

2614:                                             ; preds = %2613
  br label %2615

2615:                                             ; preds = %2614, %2553
  br label %2616

2616:                                             ; preds = %2615
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  %2619 = load i32, ptr @test_count, align 4, !tbaa !5
  %2620 = add nsw i32 %2619, 1
  store i32 %2620, ptr @test_count, align 4, !tbaa !5
  %2621 = load ptr, ptr %49, align 8, !tbaa !9
  %2622 = getelementptr inbounds %struct.s2n_stuffer, ptr %2621, i32 0, i32 2
  %2623 = load i32, ptr %2622, align 4, !tbaa !15
  %2624 = load ptr, ptr %49, align 8, !tbaa !9
  %2625 = getelementptr inbounds %struct.s2n_stuffer, ptr %2624, i32 0, i32 1
  %2626 = load i32, ptr %2625, align 8, !tbaa !18
  %2627 = sub i32 %2623, %2626
  %2628 = icmp eq i32 %2627, 0
  br i1 %2628, label %2682, label %2629

2629:                                             ; preds = %2618
  br label %2630

2630:                                             ; preds = %2629
  br label %2631

2631:                                             ; preds = %2630
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2632 = call ptr @__errno_location() #11
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  store i32 %2633, ptr %54, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @s2n_print_stacktrace(ptr noundef %2634)
  %2636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2637 = trunc i8 %2636 to i1
  br i1 %2637, label %2638, label %2660

2638:                                             ; preds = %2631
  %2639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2640 = call i32 @fileno(ptr noundef %2639) #10
  %2641 = call i32 @isatty(i32 noundef %2640) #10
  %2642 = icmp ne i32 %2641, 0
  br i1 %2642, label %2643, label %2660

2643:                                             ; preds = %2638
  %2644 = load i32, ptr %54, align 4, !tbaa !5
  %2645 = call ptr @__errno_location() #11
  store i32 %2644, ptr %2645, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = load i32, ptr @test_count, align 4, !tbaa !5
  %2648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2649 = load i32, ptr %2648, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror(i32 noundef %2649, ptr noundef @.str.4)
  %2651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror_debug(i32 noundef %2652, ptr noundef @.str.4)
  %2654 = call ptr @__errno_location() #11
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call ptr @strerror(i32 noundef %2655) #10
  %2657 = call ptr @__errno_location() #11
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2646, ptr noundef @.str.2, i32 noundef %2647, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2650, ptr noundef %2653, ptr noundef %2656, i32 noundef %2658) #10
  br label %2677

2660:                                             ; preds = %2638, %2631
  %2661 = load i32, ptr %54, align 4, !tbaa !5
  %2662 = call ptr @__errno_location() #11
  store i32 %2661, ptr %2662, align 4, !tbaa !5
  %2663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2664 = load i32, ptr @test_count, align 4, !tbaa !5
  %2665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror(i32 noundef %2666, ptr noundef @.str.4)
  %2668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @s2n_strerror_debug(i32 noundef %2669, ptr noundef @.str.4)
  %2671 = call ptr @__errno_location() #11
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call ptr @strerror(i32 noundef %2672) #10
  %2674 = call ptr @__errno_location() #11
  %2675 = load i32, ptr %2674, align 4, !tbaa !5
  %2676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2663, ptr noundef @.str.5, i32 noundef %2664, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2667, ptr noundef %2670, ptr noundef %2673, i32 noundef %2675) #10
  br label %2677

2677:                                             ; preds = %2660, %2643
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678
  call void @exit(i32 noundef 1) #12
  unreachable

2680:                                             ; No predecessors!
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681, %2618
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  br label %2686

2686:                                             ; preds = %2685
  %2687 = load ptr, ptr %44, align 8, !tbaa !9
  %2688 = getelementptr inbounds %struct.s2n_connection, ptr %2687, i32 0, i32 64
  %2689 = getelementptr inbounds [256 x i8], ptr %2688, i64 0, i64 0
  %2690 = call ptr @strcpy(ptr noundef %2689, ptr noundef @.str.29) #10
  br label %2691

2691:                                             ; preds = %2686
  %2692 = load i32, ptr @test_count, align 4, !tbaa !5
  %2693 = add nsw i32 %2692, 1
  store i32 %2693, ptr @test_count, align 4, !tbaa !5
  %2694 = load ptr, ptr %44, align 8, !tbaa !9
  %2695 = load ptr, ptr %49, align 8, !tbaa !9
  %2696 = call i32 @s2n_server_extensions_send(ptr noundef %2694, ptr noundef %2695)
  %2697 = icmp eq i32 %2696, -1
  br i1 %2697, label %2698, label %2751

2698:                                             ; preds = %2691
  br label %2699

2699:                                             ; preds = %2698
  br label %2700

2700:                                             ; preds = %2699
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2701 = call ptr @__errno_location() #11
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  store i32 %2702, ptr %55, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = call i32 @s2n_print_stacktrace(ptr noundef %2703)
  %2705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2706 = trunc i8 %2705 to i1
  br i1 %2706, label %2707, label %2729

2707:                                             ; preds = %2700
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = call i32 @fileno(ptr noundef %2708) #10
  %2710 = call i32 @isatty(i32 noundef %2709) #10
  %2711 = icmp ne i32 %2710, 0
  br i1 %2711, label %2712, label %2729

2712:                                             ; preds = %2707
  %2713 = load i32, ptr %55, align 4, !tbaa !5
  %2714 = call ptr @__errno_location() #11
  store i32 %2713, ptr %2714, align 4, !tbaa !5
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = load i32, ptr @test_count, align 4, !tbaa !5
  %2717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2718 = load i32, ptr %2717, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror(i32 noundef %2718, ptr noundef @.str.4)
  %2720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2721 = load i32, ptr %2720, align 4, !tbaa !5
  %2722 = call ptr @s2n_strerror_debug(i32 noundef %2721, ptr noundef @.str.4)
  %2723 = call ptr @__errno_location() #11
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = call ptr @strerror(i32 noundef %2724) #10
  %2726 = call ptr @__errno_location() #11
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2715, ptr noundef @.str.2, i32 noundef %2716, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 139, ptr noundef %2719, ptr noundef %2722, ptr noundef %2725, i32 noundef %2727) #10
  br label %2746

2729:                                             ; preds = %2707, %2700
  %2730 = load i32, ptr %55, align 4, !tbaa !5
  %2731 = call ptr @__errno_location() #11
  store i32 %2730, ptr %2731, align 4, !tbaa !5
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = load i32, ptr @test_count, align 4, !tbaa !5
  %2734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2735 = load i32, ptr %2734, align 4, !tbaa !5
  %2736 = call ptr @s2n_strerror(i32 noundef %2735, ptr noundef @.str.4)
  %2737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2738 = load i32, ptr %2737, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror_debug(i32 noundef %2738, ptr noundef @.str.4)
  %2740 = call ptr @__errno_location() #11
  %2741 = load i32, ptr %2740, align 4, !tbaa !5
  %2742 = call ptr @strerror(i32 noundef %2741) #10
  %2743 = call ptr @__errno_location() #11
  %2744 = load i32, ptr %2743, align 4, !tbaa !5
  %2745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2732, ptr noundef @.str.5, i32 noundef %2733, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 139, ptr noundef %2736, ptr noundef %2739, ptr noundef %2742, i32 noundef %2744) #10
  br label %2746

2746:                                             ; preds = %2729, %2712
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2747

2747:                                             ; preds = %2746
  br label %2748

2748:                                             ; preds = %2747
  call void @exit(i32 noundef 1) #12
  unreachable

2749:                                             ; No predecessors!
  br label %2750

2750:                                             ; preds = %2749
  br label %2751

2751:                                             ; preds = %2750, %2691
  br label %2752

2752:                                             ; preds = %2751
  br label %2753

2753:                                             ; preds = %2752
  br label %2754

2754:                                             ; preds = %2753
  br label %2755

2755:                                             ; preds = %2754
  %2756 = load i32, ptr @test_count, align 4, !tbaa !5
  %2757 = add nsw i32 %2756, 1
  store i32 %2757, ptr @test_count, align 4, !tbaa !5
  %2758 = load ptr, ptr %49, align 8, !tbaa !9
  %2759 = call i32 @s2n_stuffer_skip_read(ptr noundef %2758, i32 noundef 0)
  %2760 = icmp eq i32 %2759, -1
  br i1 %2760, label %2761, label %2814

2761:                                             ; preds = %2755
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

2763:                                             ; preds = %2762
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %2764 = call ptr @__errno_location() #11
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  store i32 %2765, ptr %56, align 4, !tbaa !5
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = call i32 @s2n_print_stacktrace(ptr noundef %2766)
  %2768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2769 = trunc i8 %2768 to i1
  br i1 %2769, label %2770, label %2792

2770:                                             ; preds = %2763
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = call i32 @fileno(ptr noundef %2771) #10
  %2773 = call i32 @isatty(i32 noundef %2772) #10
  %2774 = icmp ne i32 %2773, 0
  br i1 %2774, label %2775, label %2792

2775:                                             ; preds = %2770
  %2776 = load i32, ptr %56, align 4, !tbaa !5
  %2777 = call ptr @__errno_location() #11
  store i32 %2776, ptr %2777, align 4, !tbaa !5
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = load i32, ptr @test_count, align 4, !tbaa !5
  %2780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror(i32 noundef %2781, ptr noundef @.str.4)
  %2783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call ptr @s2n_strerror_debug(i32 noundef %2784, ptr noundef @.str.4)
  %2786 = call ptr @__errno_location() #11
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call ptr @strerror(i32 noundef %2787) #10
  %2789 = call ptr @__errno_location() #11
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2778, ptr noundef @.str.2, i32 noundef %2779, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2782, ptr noundef %2785, ptr noundef %2788, i32 noundef %2790) #10
  br label %2809

2792:                                             ; preds = %2770, %2763
  %2793 = load i32, ptr %56, align 4, !tbaa !5
  %2794 = call ptr @__errno_location() #11
  store i32 %2793, ptr %2794, align 4, !tbaa !5
  %2795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2796 = load i32, ptr @test_count, align 4, !tbaa !5
  %2797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror(i32 noundef %2798, ptr noundef @.str.4)
  %2800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call ptr @s2n_strerror_debug(i32 noundef %2801, ptr noundef @.str.4)
  %2803 = call ptr @__errno_location() #11
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = call ptr @strerror(i32 noundef %2804) #10
  %2806 = call ptr @__errno_location() #11
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2795, ptr noundef @.str.5, i32 noundef %2796, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2799, ptr noundef %2802, ptr noundef %2805, i32 noundef %2807) #10
  br label %2809

2809:                                             ; preds = %2792, %2775
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2810

2810:                                             ; preds = %2809
  br label %2811

2811:                                             ; preds = %2810
  call void @exit(i32 noundef 1) #12
  unreachable

2812:                                             ; No predecessors!
  br label %2813

2813:                                             ; preds = %2812
  br label %2814

2814:                                             ; preds = %2813, %2755
  br label %2815

2815:                                             ; preds = %2814
  br label %2816

2816:                                             ; preds = %2815
  br label %2817

2817:                                             ; preds = %2816
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = add nsw i32 %2818, 1
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %2820 = load ptr, ptr %49, align 8, !tbaa !9
  %2821 = getelementptr inbounds %struct.s2n_stuffer, ptr %2820, i32 0, i32 2
  %2822 = load i32, ptr %2821, align 4, !tbaa !15
  %2823 = load ptr, ptr %49, align 8, !tbaa !9
  %2824 = getelementptr inbounds %struct.s2n_stuffer, ptr %2823, i32 0, i32 1
  %2825 = load i32, ptr %2824, align 8, !tbaa !18
  %2826 = sub i32 %2822, %2825
  %2827 = icmp eq i32 %2826, 0
  br i1 %2827, label %2881, label %2828

2828:                                             ; preds = %2817
  br label %2829

2829:                                             ; preds = %2828
  br label %2830

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

2837:                                             ; preds = %2830
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #10
  %2840 = call i32 @isatty(i32 noundef %2839) #10
  %2841 = icmp ne i32 %2840, 0
  br i1 %2841, label %2842, label %2859

2842:                                             ; preds = %2837
  %2843 = load i32, ptr %57, align 4, !tbaa !5
  %2844 = call ptr @__errno_location() #11
  store i32 %2843, ptr %2844, align 4, !tbaa !5
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = load i32, ptr @test_count, align 4, !tbaa !5
  %2847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror(i32 noundef %2848, ptr noundef @.str.4)
  %2850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef @.str.4)
  %2853 = call ptr @__errno_location() #11
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call ptr @strerror(i32 noundef %2854) #10
  %2856 = call ptr @__errno_location() #11
  %2857 = load i32, ptr %2856, align 4, !tbaa !5
  %2858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2845, ptr noundef @.str.2, i32 noundef %2846, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2849, ptr noundef %2852, ptr noundef %2855, i32 noundef %2857) #10
  br label %2876

2859:                                             ; preds = %2837, %2830
  %2860 = load i32, ptr %57, align 4, !tbaa !5
  %2861 = call ptr @__errno_location() #11
  store i32 %2860, ptr %2861, align 4, !tbaa !5
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = load i32, ptr @test_count, align 4, !tbaa !5
  %2864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror(i32 noundef %2865, ptr noundef @.str.4)
  %2867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call ptr @s2n_strerror_debug(i32 noundef %2868, ptr noundef @.str.4)
  %2870 = call ptr @__errno_location() #11
  %2871 = load i32, ptr %2870, align 4, !tbaa !5
  %2872 = call ptr @strerror(i32 noundef %2871) #10
  %2873 = call ptr @__errno_location() #11
  %2874 = load i32, ptr %2873, align 4, !tbaa !5
  %2875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2862, ptr noundef @.str.5, i32 noundef %2863, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2866, ptr noundef %2869, ptr noundef %2872, i32 noundef %2874) #10
  br label %2876

2876:                                             ; preds = %2859, %2842
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %2877

2877:                                             ; preds = %2876
  br label %2878

2878:                                             ; preds = %2877
  call void @exit(i32 noundef 1) #12
  unreachable

2879:                                             ; No predecessors!
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880, %2817
  br label %2882

2882:                                             ; preds = %2881
  br label %2883

2883:                                             ; preds = %2882
  br label %2884

2884:                                             ; preds = %2883
  br label %2885

2885:                                             ; preds = %2884
  br label %2886

2886:                                             ; preds = %2885
  %2887 = load i32, ptr @test_count, align 4, !tbaa !5
  %2888 = add nsw i32 %2887, 1
  store i32 %2888, ptr @test_count, align 4, !tbaa !5
  %2889 = call i32 (...) @s2n_enable_tls13_in_test()
  %2890 = icmp eq i32 %2889, -1
  br i1 %2890, label %2891, label %2944

2891:                                             ; preds = %2886
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

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

2900:                                             ; preds = %2893
  %2901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2902 = call i32 @fileno(ptr noundef %2901) #10
  %2903 = call i32 @isatty(i32 noundef %2902) #10
  %2904 = icmp ne i32 %2903, 0
  br i1 %2904, label %2905, label %2922

2905:                                             ; preds = %2900
  %2906 = load i32, ptr %58, align 4, !tbaa !5
  %2907 = call ptr @__errno_location() #11
  store i32 %2906, ptr %2907, align 4, !tbaa !5
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = load i32, ptr @test_count, align 4, !tbaa !5
  %2910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2911 = load i32, ptr %2910, align 4, !tbaa !5
  %2912 = call ptr @s2n_strerror(i32 noundef %2911, ptr noundef @.str.4)
  %2913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2914 = load i32, ptr %2913, align 4, !tbaa !5
  %2915 = call ptr @s2n_strerror_debug(i32 noundef %2914, ptr noundef @.str.4)
  %2916 = call ptr @__errno_location() #11
  %2917 = load i32, ptr %2916, align 4, !tbaa !5
  %2918 = call ptr @strerror(i32 noundef %2917) #10
  %2919 = call ptr @__errno_location() #11
  %2920 = load i32, ptr %2919, align 4, !tbaa !5
  %2921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2908, ptr noundef @.str.2, i32 noundef %2909, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2912, ptr noundef %2915, ptr noundef %2918, i32 noundef %2920) #10
  br label %2939

2922:                                             ; preds = %2900, %2893
  %2923 = load i32, ptr %58, align 4, !tbaa !5
  %2924 = call ptr @__errno_location() #11
  store i32 %2923, ptr %2924, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = load i32, ptr @test_count, align 4, !tbaa !5
  %2927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2928 = load i32, ptr %2927, align 4, !tbaa !5
  %2929 = call ptr @s2n_strerror(i32 noundef %2928, ptr noundef @.str.4)
  %2930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2931 = load i32, ptr %2930, align 4, !tbaa !5
  %2932 = call ptr @s2n_strerror_debug(i32 noundef %2931, ptr noundef @.str.4)
  %2933 = call ptr @__errno_location() #11
  %2934 = load i32, ptr %2933, align 4, !tbaa !5
  %2935 = call ptr @strerror(i32 noundef %2934) #10
  %2936 = call ptr @__errno_location() #11
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2925, ptr noundef @.str.5, i32 noundef %2926, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2929, ptr noundef %2932, ptr noundef %2935, i32 noundef %2937) #10
  br label %2939

2939:                                             ; preds = %2922, %2905
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2940

2940:                                             ; preds = %2939
  br label %2941

2941:                                             ; preds = %2940
  call void @exit(i32 noundef 1) #12
  unreachable

2942:                                             ; No predecessors!
  br label %2943

2943:                                             ; preds = %2942
  br label %2944

2944:                                             ; preds = %2943, %2886
  br label %2945

2945:                                             ; preds = %2944
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

2947:                                             ; preds = %2946
  %2948 = load i32, ptr @test_count, align 4, !tbaa !5
  %2949 = add nsw i32 %2948, 1
  store i32 %2949, ptr @test_count, align 4, !tbaa !5
  %2950 = load ptr, ptr %44, align 8, !tbaa !9
  %2951 = call i32 @configure_tls13_connection(ptr noundef %2950)
  %2952 = icmp eq i32 %2951, -1
  br i1 %2952, label %2953, label %3006

2953:                                             ; preds = %2947
  br label %2954

2954:                                             ; preds = %2953
  br label %2955

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

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

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

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

3001:                                             ; preds = %2984, %2967
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

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

3004:                                             ; No predecessors!
  br label %3005

3005:                                             ; preds = %3004
  br label %3006

3006:                                             ; preds = %3005, %2947
  br label %3007

3007:                                             ; preds = %3006
  br label %3008

3008:                                             ; preds = %3007
  %3009 = load ptr, ptr %44, align 8, !tbaa !9
  %3010 = getelementptr inbounds %struct.s2n_connection, ptr %3009, i32 0, i32 64
  %3011 = getelementptr inbounds [256 x i8], ptr %3010, i64 0, i64 0
  %3012 = call ptr @strcpy(ptr noundef %3011, ptr noundef @.str.27) #10
  br label %3013

3013:                                             ; preds = %3008
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = add nsw i32 %3014, 1
  store i32 %3015, ptr @test_count, align 4, !tbaa !5
  %3016 = load ptr, ptr %44, align 8, !tbaa !9
  %3017 = load ptr, ptr %49, align 8, !tbaa !9
  %3018 = call i32 @s2n_server_extensions_send(ptr noundef %3016, ptr noundef %3017)
  %3019 = icmp eq i32 %3018, -1
  br i1 %3019, label %3020, label %3073

3020:                                             ; preds = %3013
  br label %3021

3021:                                             ; preds = %3020
  br label %3022

3022:                                             ; preds = %3021
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %3023 = call ptr @__errno_location() #11
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  store i32 %3024, ptr %60, align 4, !tbaa !5
  %3025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3026 = call i32 @s2n_print_stacktrace(ptr noundef %3025)
  %3027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3028 = trunc i8 %3027 to i1
  br i1 %3028, label %3029, label %3051

3029:                                             ; preds = %3022
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @fileno(ptr noundef %3030) #10
  %3032 = call i32 @isatty(i32 noundef %3031) #10
  %3033 = icmp ne i32 %3032, 0
  br i1 %3033, label %3034, label %3051

3034:                                             ; preds = %3029
  %3035 = load i32, ptr %60, align 4, !tbaa !5
  %3036 = call ptr @__errno_location() #11
  store i32 %3035, ptr %3036, align 4, !tbaa !5
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = load i32, ptr @test_count, align 4, !tbaa !5
  %3039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3040 = load i32, ptr %3039, align 4, !tbaa !5
  %3041 = call ptr @s2n_strerror(i32 noundef %3040, ptr noundef @.str.4)
  %3042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  %3044 = call ptr @s2n_strerror_debug(i32 noundef %3043, ptr noundef @.str.4)
  %3045 = call ptr @__errno_location() #11
  %3046 = load i32, ptr %3045, align 4, !tbaa !5
  %3047 = call ptr @strerror(i32 noundef %3046) #10
  %3048 = call ptr @__errno_location() #11
  %3049 = load i32, ptr %3048, align 4, !tbaa !5
  %3050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3037, ptr noundef @.str.2, i32 noundef %3038, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3041, ptr noundef %3044, ptr noundef %3047, i32 noundef %3049) #10
  br label %3068

3051:                                             ; preds = %3029, %3022
  %3052 = load i32, ptr %60, align 4, !tbaa !5
  %3053 = call ptr @__errno_location() #11
  store i32 %3052, ptr %3053, align 4, !tbaa !5
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = load i32, ptr @test_count, align 4, !tbaa !5
  %3056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3057 = load i32, ptr %3056, align 4, !tbaa !5
  %3058 = call ptr @s2n_strerror(i32 noundef %3057, ptr noundef @.str.4)
  %3059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3060 = load i32, ptr %3059, align 4, !tbaa !5
  %3061 = call ptr @s2n_strerror_debug(i32 noundef %3060, ptr noundef @.str.4)
  %3062 = call ptr @__errno_location() #11
  %3063 = load i32, ptr %3062, align 4, !tbaa !5
  %3064 = call ptr @strerror(i32 noundef %3063) #10
  %3065 = call ptr @__errno_location() #11
  %3066 = load i32, ptr %3065, align 4, !tbaa !5
  %3067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3054, ptr noundef @.str.5, i32 noundef %3055, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3058, ptr noundef %3061, ptr noundef %3064, i32 noundef %3066) #10
  br label %3068

3068:                                             ; preds = %3051, %3034
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %3069

3069:                                             ; preds = %3068
  br label %3070

3070:                                             ; preds = %3069
  call void @exit(i32 noundef 1) #12
  unreachable

3071:                                             ; No predecessors!
  br label %3072

3072:                                             ; preds = %3071
  br label %3073

3073:                                             ; preds = %3072, %3013
  br label %3074

3074:                                             ; preds = %3073
  br label %3075

3075:                                             ; preds = %3074
  br label %3076

3076:                                             ; preds = %3075
  br label %3077

3077:                                             ; preds = %3076
  %3078 = load i32, ptr @test_count, align 4, !tbaa !5
  %3079 = add nsw i32 %3078, 1
  store i32 %3079, ptr @test_count, align 4, !tbaa !5
  %3080 = load ptr, ptr %49, align 8, !tbaa !9
  %3081 = call i32 @s2n_stuffer_skip_read(ptr noundef %3080, i32 noundef 81)
  %3082 = icmp eq i32 %3081, -1
  br i1 %3082, label %3083, label %3136

3083:                                             ; preds = %3077
  br label %3084

3084:                                             ; preds = %3083
  br label %3085

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

3092:                                             ; preds = %3085
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = call i32 @fileno(ptr noundef %3093) #10
  %3095 = call i32 @isatty(i32 noundef %3094) #10
  %3096 = icmp ne i32 %3095, 0
  br i1 %3096, label %3097, label %3114

3097:                                             ; preds = %3092
  %3098 = load i32, ptr %61, align 4, !tbaa !5
  %3099 = call ptr @__errno_location() #11
  store i32 %3098, ptr %3099, align 4, !tbaa !5
  %3100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3101 = load i32, ptr @test_count, align 4, !tbaa !5
  %3102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3103 = load i32, ptr %3102, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror(i32 noundef %3103, ptr noundef @.str.4)
  %3105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3106 = load i32, ptr %3105, align 4, !tbaa !5
  %3107 = call ptr @s2n_strerror_debug(i32 noundef %3106, ptr noundef @.str.4)
  %3108 = call ptr @__errno_location() #11
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call ptr @strerror(i32 noundef %3109) #10
  %3111 = call ptr @__errno_location() #11
  %3112 = load i32, ptr %3111, align 4, !tbaa !5
  %3113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3100, ptr noundef @.str.2, i32 noundef %3101, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3104, ptr noundef %3107, ptr noundef %3110, i32 noundef %3112) #10
  br label %3131

3114:                                             ; preds = %3092, %3085
  %3115 = load i32, ptr %61, align 4, !tbaa !5
  %3116 = call ptr @__errno_location() #11
  store i32 %3115, ptr %3116, align 4, !tbaa !5
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3120 = load i32, ptr %3119, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror(i32 noundef %3120, ptr noundef @.str.4)
  %3122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3123 = load i32, ptr %3122, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef %3123, ptr noundef @.str.4)
  %3125 = call ptr @__errno_location() #11
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = call ptr @strerror(i32 noundef %3126) #10
  %3128 = call ptr @__errno_location() #11
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3117, ptr noundef @.str.5, i32 noundef %3118, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3121, ptr noundef %3124, ptr noundef %3127, i32 noundef %3129) #10
  br label %3131

3131:                                             ; preds = %3114, %3097
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

3133:                                             ; preds = %3132
  call void @exit(i32 noundef 1) #12
  unreachable

3134:                                             ; No predecessors!
  br label %3135

3135:                                             ; preds = %3134
  br label %3136

3136:                                             ; preds = %3135, %3077
  br label %3137

3137:                                             ; preds = %3136
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

3139:                                             ; preds = %3138
  %3140 = load i32, ptr @test_count, align 4, !tbaa !5
  %3141 = add nsw i32 %3140, 1
  store i32 %3141, ptr @test_count, align 4, !tbaa !5
  %3142 = load ptr, ptr %49, align 8, !tbaa !9
  %3143 = getelementptr inbounds %struct.s2n_stuffer, ptr %3142, i32 0, i32 2
  %3144 = load i32, ptr %3143, align 4, !tbaa !15
  %3145 = load ptr, ptr %49, align 8, !tbaa !9
  %3146 = getelementptr inbounds %struct.s2n_stuffer, ptr %3145, i32 0, i32 1
  %3147 = load i32, ptr %3146, align 8, !tbaa !18
  %3148 = sub i32 %3144, %3147
  %3149 = icmp eq i32 %3148, 0
  br i1 %3149, label %3203, label %3150

3150:                                             ; preds = %3139
  br label %3151

3151:                                             ; preds = %3150
  br label %3152

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

3159:                                             ; preds = %3152
  %3160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3161 = call i32 @fileno(ptr noundef %3160) #10
  %3162 = call i32 @isatty(i32 noundef %3161) #10
  %3163 = icmp ne i32 %3162, 0
  br i1 %3163, label %3164, label %3181

3164:                                             ; preds = %3159
  %3165 = load i32, ptr %62, align 4, !tbaa !5
  %3166 = call ptr @__errno_location() #11
  store i32 %3165, ptr %3166, align 4, !tbaa !5
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = load i32, ptr @test_count, align 4, !tbaa !5
  %3169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3170 = load i32, ptr %3169, align 4, !tbaa !5
  %3171 = call ptr @s2n_strerror(i32 noundef %3170, ptr noundef @.str.4)
  %3172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3173 = load i32, ptr %3172, align 4, !tbaa !5
  %3174 = call ptr @s2n_strerror_debug(i32 noundef %3173, ptr noundef @.str.4)
  %3175 = call ptr @__errno_location() #11
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  %3177 = call ptr @strerror(i32 noundef %3176) #10
  %3178 = call ptr @__errno_location() #11
  %3179 = load i32, ptr %3178, align 4, !tbaa !5
  %3180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3167, ptr noundef @.str.2, i32 noundef %3168, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3171, ptr noundef %3174, ptr noundef %3177, i32 noundef %3179) #10
  br label %3198

3181:                                             ; preds = %3159, %3152
  %3182 = load i32, ptr %62, align 4, !tbaa !5
  %3183 = call ptr @__errno_location() #11
  store i32 %3182, ptr %3183, align 4, !tbaa !5
  %3184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3185 = load i32, ptr @test_count, align 4, !tbaa !5
  %3186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  %3188 = call ptr @s2n_strerror(i32 noundef %3187, ptr noundef @.str.4)
  %3189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  %3191 = call ptr @s2n_strerror_debug(i32 noundef %3190, ptr noundef @.str.4)
  %3192 = call ptr @__errno_location() #11
  %3193 = load i32, ptr %3192, align 4, !tbaa !5
  %3194 = call ptr @strerror(i32 noundef %3193) #10
  %3195 = call ptr @__errno_location() #11
  %3196 = load i32, ptr %3195, align 4, !tbaa !5
  %3197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3184, ptr noundef @.str.5, i32 noundef %3185, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3188, ptr noundef %3191, ptr noundef %3194, i32 noundef %3196) #10
  br label %3198

3198:                                             ; preds = %3181, %3164
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3199

3199:                                             ; preds = %3198
  br label %3200

3200:                                             ; preds = %3199
  call void @exit(i32 noundef 1) #12
  unreachable

3201:                                             ; No predecessors!
  br label %3202

3202:                                             ; preds = %3201
  br label %3203

3203:                                             ; preds = %3202, %3139
  br label %3204

3204:                                             ; preds = %3203
  br label %3205

3205:                                             ; preds = %3204
  br label %3206

3206:                                             ; preds = %3205
  br label %3207

3207:                                             ; preds = %3206
  br label %3208

3208:                                             ; preds = %3207
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = add nsw i32 %3209, 1
  store i32 %3210, ptr @test_count, align 4, !tbaa !5
  %3211 = call i32 (...) @s2n_disable_tls13_in_test()
  %3212 = icmp eq i32 %3211, -1
  br i1 %3212, label %3213, label %3266

3213:                                             ; preds = %3208
  br label %3214

3214:                                             ; preds = %3213
  br label %3215

3215:                                             ; preds = %3214
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3216 = call ptr @__errno_location() #11
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  store i32 %3217, ptr %63, align 4, !tbaa !5
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = call i32 @s2n_print_stacktrace(ptr noundef %3218)
  %3220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3221 = trunc i8 %3220 to i1
  br i1 %3221, label %3222, label %3244

3222:                                             ; preds = %3215
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = call i32 @fileno(ptr noundef %3223) #10
  %3225 = call i32 @isatty(i32 noundef %3224) #10
  %3226 = icmp ne i32 %3225, 0
  br i1 %3226, label %3227, label %3244

3227:                                             ; preds = %3222
  %3228 = load i32, ptr %63, align 4, !tbaa !5
  %3229 = call ptr @__errno_location() #11
  store i32 %3228, ptr %3229, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = load i32, ptr @test_count, align 4, !tbaa !5
  %3232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3233 = load i32, ptr %3232, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror(i32 noundef %3233, ptr noundef @.str.4)
  %3235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3236 = load i32, ptr %3235, align 4, !tbaa !5
  %3237 = call ptr @s2n_strerror_debug(i32 noundef %3236, ptr noundef @.str.4)
  %3238 = call ptr @__errno_location() #11
  %3239 = load i32, ptr %3238, align 4, !tbaa !5
  %3240 = call ptr @strerror(i32 noundef %3239) #10
  %3241 = call ptr @__errno_location() #11
  %3242 = load i32, ptr %3241, align 4, !tbaa !5
  %3243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3230, ptr noundef @.str.2, i32 noundef %3231, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3234, ptr noundef %3237, ptr noundef %3240, i32 noundef %3242) #10
  br label %3261

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

3261:                                             ; preds = %3244, %3227
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %3262

3262:                                             ; preds = %3261
  br label %3263

3263:                                             ; preds = %3262
  call void @exit(i32 noundef 1) #12
  unreachable

3264:                                             ; No predecessors!
  br label %3265

3265:                                             ; preds = %3264
  br label %3266

3266:                                             ; preds = %3265, %3208
  br label %3267

3267:                                             ; preds = %3266
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  %3270 = load i32, ptr @test_count, align 4, !tbaa !5
  %3271 = add nsw i32 %3270, 1
  store i32 %3271, ptr @test_count, align 4, !tbaa !5
  %3272 = load ptr, ptr %44, align 8, !tbaa !9
  %3273 = call i32 @s2n_connection_free(ptr noundef %3272)
  %3274 = icmp eq i32 %3273, -1
  br i1 %3274, label %3275, label %3328

3275:                                             ; preds = %3269
  br label %3276

3276:                                             ; preds = %3275
  br label %3277

3277:                                             ; preds = %3276
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %3278 = call ptr @__errno_location() #11
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  store i32 %3279, ptr %64, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280)
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc i8 %3282 to i1
  br i1 %3283, label %3284, label %3306

3284:                                             ; preds = %3277
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @fileno(ptr noundef %3285) #10
  %3287 = call i32 @isatty(i32 noundef %3286) #10
  %3288 = icmp ne i32 %3287, 0
  br i1 %3288, label %3289, label %3306

3289:                                             ; preds = %3284
  %3290 = load i32, ptr %64, align 4, !tbaa !5
  %3291 = call ptr @__errno_location() #11
  store i32 %3290, ptr %3291, align 4, !tbaa !5
  %3292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror(i32 noundef %3295, ptr noundef @.str.4)
  %3297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror_debug(i32 noundef %3298, ptr noundef @.str.4)
  %3300 = call ptr @__errno_location() #11
  %3301 = load i32, ptr %3300, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #10
  %3303 = call ptr @__errno_location() #11
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3292, ptr noundef @.str.2, i32 noundef %3293, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3296, ptr noundef %3299, ptr noundef %3302, i32 noundef %3304) #10
  br label %3323

3306:                                             ; preds = %3284, %3277
  %3307 = load i32, ptr %64, align 4, !tbaa !5
  %3308 = call ptr @__errno_location() #11
  store i32 %3307, ptr %3308, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call ptr @s2n_strerror(i32 noundef %3312, ptr noundef @.str.4)
  %3314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef @.str.4)
  %3317 = call ptr @__errno_location() #11
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @strerror(i32 noundef %3318) #10
  %3320 = call ptr @__errno_location() #11
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3309, ptr noundef @.str.5, i32 noundef %3310, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3313, ptr noundef %3316, ptr noundef %3319, i32 noundef %3321) #10
  br label %3323

3323:                                             ; preds = %3306, %3289
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %3324

3324:                                             ; preds = %3323
  br label %3325

3325:                                             ; preds = %3324
  call void @exit(i32 noundef 1) #12
  unreachable

3326:                                             ; No predecessors!
  br label %3327

3327:                                             ; preds = %3326
  br label %3328

3328:                                             ; preds = %3327, %3269
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  store ptr null, ptr %65, align 8, !tbaa !9
  br label %3331

3331:                                             ; preds = %3330
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = add nsw i32 %3332, 1
  store i32 %3333, ptr @test_count, align 4, !tbaa !5
  %3334 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3334, ptr %65, align 8, !tbaa !9
  %3335 = icmp eq ptr %3334, null
  br i1 %3335, label %3336, label %3389

3336:                                             ; preds = %3331
  br label %3337

3337:                                             ; preds = %3336
  br label %3338

3338:                                             ; preds = %3337
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3339 = call ptr @__errno_location() #11
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  store i32 %3340, ptr %66, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @s2n_print_stacktrace(ptr noundef %3341)
  %3343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3344 = trunc i8 %3343 to i1
  br i1 %3344, label %3345, label %3367

3345:                                             ; preds = %3338
  %3346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3347 = call i32 @fileno(ptr noundef %3346) #10
  %3348 = call i32 @isatty(i32 noundef %3347) #10
  %3349 = icmp ne i32 %3348, 0
  br i1 %3349, label %3350, label %3367

3350:                                             ; preds = %3345
  %3351 = load i32, ptr %66, align 4, !tbaa !5
  %3352 = call ptr @__errno_location() #11
  store i32 %3351, ptr %3352, align 4, !tbaa !5
  %3353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3354 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3356, ptr noundef @.str.4)
  %3358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3359 = load i32, ptr %3358, align 4, !tbaa !5
  %3360 = call ptr @s2n_strerror_debug(i32 noundef %3359, ptr noundef @.str.4)
  %3361 = call ptr @__errno_location() #11
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call ptr @strerror(i32 noundef %3362) #10
  %3364 = call ptr @__errno_location() #11
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  %3366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3353, ptr noundef @.str.2, i32 noundef %3354, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3357, ptr noundef %3360, ptr noundef %3363, i32 noundef %3365) #10
  br label %3384

3367:                                             ; preds = %3345, %3338
  %3368 = load i32, ptr %66, align 4, !tbaa !5
  %3369 = call ptr @__errno_location() #11
  store i32 %3368, ptr %3369, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3373 = load i32, ptr %3372, align 4, !tbaa !5
  %3374 = call ptr @s2n_strerror(i32 noundef %3373, ptr noundef @.str.4)
  %3375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call ptr @s2n_strerror_debug(i32 noundef %3376, ptr noundef @.str.4)
  %3378 = call ptr @__errno_location() #11
  %3379 = load i32, ptr %3378, align 4, !tbaa !5
  %3380 = call ptr @strerror(i32 noundef %3379) #10
  %3381 = call ptr @__errno_location() #11
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3370, ptr noundef @.str.5, i32 noundef %3371, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3374, ptr noundef %3377, ptr noundef %3380, i32 noundef %3382) #10
  br label %3384

3384:                                             ; preds = %3367, %3350
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3385

3385:                                             ; preds = %3384
  br label %3386

3386:                                             ; preds = %3385
  call void @exit(i32 noundef 1) #12
  unreachable

3387:                                             ; No predecessors!
  br label %3388

3388:                                             ; preds = %3387
  br label %3389

3389:                                             ; preds = %3388, %3331
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

3391:                                             ; preds = %3390
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #10
  store i8 0, ptr %67, align 1, !tbaa !19
  br label %3392

3392:                                             ; preds = %3391
  %3393 = load i32, ptr @test_count, align 4, !tbaa !5
  %3394 = add nsw i32 %3393, 1
  store i32 %3394, ptr @test_count, align 4, !tbaa !5
  %3395 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 1, ptr noundef %67)
  %3396 = icmp eq i32 %3395, -1
  br i1 %3396, label %3397, label %3450

3397:                                             ; preds = %3392
  br label %3398

3398:                                             ; preds = %3397
  br label %3399

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

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

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

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

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

3446:                                             ; preds = %3445
  br label %3447

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

3448:                                             ; No predecessors!
  br label %3449

3449:                                             ; preds = %3448
  br label %3450

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

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451
  %3453 = load i8, ptr %67, align 1, !tbaa !19
  %3454 = zext i8 %3453 to i32
  %3455 = srem i32 %3454, 8
  %3456 = shl i32 1, %3455
  %3457 = load ptr, ptr %65, align 8, !tbaa !9
  %3458 = getelementptr inbounds %struct.s2n_connection, ptr %3457, i32 0, i32 11
  %3459 = load i8, ptr %67, align 1, !tbaa !19
  %3460 = zext i8 %3459 to i32
  %3461 = ashr i32 %3460, 3
  %3462 = sext i32 %3461 to i64
  %3463 = getelementptr inbounds [22 x i8], ptr %3458, i64 0, i64 %3462
  %3464 = load i8, ptr %3463, align 1, !tbaa !19
  %3465 = sext i8 %3464 to i32
  %3466 = or i32 %3465, %3456
  %3467 = trunc i32 %3466 to i8
  store i8 %3467, ptr %3463, align 1, !tbaa !19
  br label %3468

3468:                                             ; preds = %3452
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = add nsw i32 %3469, 1
  store i32 %3470, ptr @test_count, align 4, !tbaa !5
  %3471 = load ptr, ptr %65, align 8, !tbaa !9
  %3472 = load ptr, ptr %12, align 8, !tbaa !9
  %3473 = call i32 @s2n_connection_set_config(ptr noundef %3471, ptr noundef %3472)
  %3474 = icmp eq i32 %3473, -1
  br i1 %3474, label %3475, label %3528

3475:                                             ; preds = %3468
  br label %3476

3476:                                             ; preds = %3475
  br label %3477

3477:                                             ; preds = %3476
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %3478 = call ptr @__errno_location() #11
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  store i32 %3479, ptr %69, align 4, !tbaa !5
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @s2n_print_stacktrace(ptr noundef %3480)
  %3482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3483 = trunc i8 %3482 to i1
  br i1 %3483, label %3484, label %3506

3484:                                             ; preds = %3477
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = call i32 @fileno(ptr noundef %3485) #10
  %3487 = call i32 @isatty(i32 noundef %3486) #10
  %3488 = icmp ne i32 %3487, 0
  br i1 %3488, label %3489, label %3506

3489:                                             ; preds = %3484
  %3490 = load i32, ptr %69, align 4, !tbaa !5
  %3491 = call ptr @__errno_location() #11
  store i32 %3490, ptr %3491, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = load i32, ptr @test_count, align 4, !tbaa !5
  %3494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3495 = load i32, ptr %3494, align 4, !tbaa !5
  %3496 = call ptr @s2n_strerror(i32 noundef %3495, ptr noundef @.str.4)
  %3497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3498 = load i32, ptr %3497, align 4, !tbaa !5
  %3499 = call ptr @s2n_strerror_debug(i32 noundef %3498, ptr noundef @.str.4)
  %3500 = call ptr @__errno_location() #11
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  %3502 = call ptr @strerror(i32 noundef %3501) #10
  %3503 = call ptr @__errno_location() #11
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3492, ptr noundef @.str.2, i32 noundef %3493, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3496, ptr noundef %3499, ptr noundef %3502, i32 noundef %3504) #10
  br label %3523

3506:                                             ; preds = %3484, %3477
  %3507 = load i32, ptr %69, align 4, !tbaa !5
  %3508 = call ptr @__errno_location() #11
  store i32 %3507, ptr %3508, align 4, !tbaa !5
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3512 = load i32, ptr %3511, align 4, !tbaa !5
  %3513 = call ptr @s2n_strerror(i32 noundef %3512, ptr noundef @.str.4)
  %3514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3515 = load i32, ptr %3514, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror_debug(i32 noundef %3515, ptr noundef @.str.4)
  %3517 = call ptr @__errno_location() #11
  %3518 = load i32, ptr %3517, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #10
  %3520 = call ptr @__errno_location() #11
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3509, ptr noundef @.str.5, i32 noundef %3510, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3513, ptr noundef %3516, ptr noundef %3519, i32 noundef %3521) #10
  br label %3523

3523:                                             ; preds = %3506, %3489
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3524

3524:                                             ; preds = %3523
  br label %3525

3525:                                             ; preds = %3524
  call void @exit(i32 noundef 1) #12
  unreachable

3526:                                             ; No predecessors!
  br label %3527

3527:                                             ; preds = %3526
  br label %3528

3528:                                             ; preds = %3527, %3468
  br label %3529

3529:                                             ; preds = %3528
  br label %3530

3530:                                             ; preds = %3529
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #10
  %3531 = load ptr, ptr %65, align 8, !tbaa !9
  %3532 = getelementptr inbounds %struct.s2n_connection, ptr %3531, i32 0, i32 52
  %3533 = getelementptr inbounds %struct.s2n_handshake, ptr %3532, i32 0, i32 0
  store ptr %3533, ptr %70, align 8, !tbaa !9
  %3534 = load ptr, ptr %65, align 8, !tbaa !9
  %3535 = getelementptr inbounds %struct.s2n_connection, ptr %3534, i32 0, i32 57
  store i8 0, ptr %3535, align 8, !tbaa !20
  br label %3536

3536:                                             ; preds = %3530
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = add nsw i32 %3537, 1
  store i32 %3538, ptr @test_count, align 4, !tbaa !5
  %3539 = load ptr, ptr %65, align 8, !tbaa !9
  %3540 = load ptr, ptr %70, align 8, !tbaa !9
  %3541 = call i32 @s2n_server_extensions_send(ptr noundef %3539, ptr noundef %3540)
  %3542 = icmp eq i32 %3541, -1
  br i1 %3542, label %3543, label %3596

3543:                                             ; preds = %3536
  br label %3544

3544:                                             ; preds = %3543
  br label %3545

3545:                                             ; preds = %3544
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #10
  %3546 = call ptr @__errno_location() #11
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  store i32 %3547, ptr %71, align 4, !tbaa !5
  %3548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3549 = call i32 @s2n_print_stacktrace(ptr noundef %3548)
  %3550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3551 = trunc i8 %3550 to i1
  br i1 %3551, label %3552, label %3574

3552:                                             ; preds = %3545
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @fileno(ptr noundef %3553) #10
  %3555 = call i32 @isatty(i32 noundef %3554) #10
  %3556 = icmp ne i32 %3555, 0
  br i1 %3556, label %3557, label %3574

3557:                                             ; preds = %3552
  %3558 = load i32, ptr %71, align 4, !tbaa !5
  %3559 = call ptr @__errno_location() #11
  store i32 %3558, ptr %3559, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = load i32, ptr @test_count, align 4, !tbaa !5
  %3562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @s2n_strerror(i32 noundef %3563, ptr noundef @.str.4)
  %3565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror_debug(i32 noundef %3566, ptr noundef @.str.4)
  %3568 = call ptr @__errno_location() #11
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @strerror(i32 noundef %3569) #10
  %3571 = call ptr @__errno_location() #11
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3560, ptr noundef @.str.2, i32 noundef %3561, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3564, ptr noundef %3567, ptr noundef %3570, i32 noundef %3572) #10
  br label %3591

3574:                                             ; preds = %3552, %3545
  %3575 = load i32, ptr %71, align 4, !tbaa !5
  %3576 = call ptr @__errno_location() #11
  store i32 %3575, ptr %3576, align 4, !tbaa !5
  %3577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3578 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %3580, ptr noundef @.str.4)
  %3582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = call ptr @s2n_strerror_debug(i32 noundef %3583, ptr noundef @.str.4)
  %3585 = call ptr @__errno_location() #11
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  %3587 = call ptr @strerror(i32 noundef %3586) #10
  %3588 = call ptr @__errno_location() #11
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  %3590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3577, ptr noundef @.str.5, i32 noundef %3578, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3581, ptr noundef %3584, ptr noundef %3587, i32 noundef %3589) #10
  br label %3591

3591:                                             ; preds = %3574, %3557
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

3593:                                             ; preds = %3592
  call void @exit(i32 noundef 1) #12
  unreachable

3594:                                             ; No predecessors!
  br label %3595

3595:                                             ; preds = %3594
  br label %3596

3596:                                             ; preds = %3595, %3536
  br label %3597

3597:                                             ; preds = %3596
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

3599:                                             ; preds = %3598
  br label %3600

3600:                                             ; preds = %3599
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = load ptr, ptr %70, align 8, !tbaa !9
  %3604 = call i32 @s2n_stuffer_skip_read(ptr noundef %3603, i32 noundef 0)
  %3605 = icmp eq i32 %3604, -1
  br i1 %3605, label %3606, label %3659

3606:                                             ; preds = %3600
  br label %3607

3607:                                             ; preds = %3606
  br label %3608

3608:                                             ; preds = %3607
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %3609 = call ptr @__errno_location() #11
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  store i32 %3610, ptr %72, align 4, !tbaa !5
  %3611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3612 = call i32 @s2n_print_stacktrace(ptr noundef %3611)
  %3613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3614 = trunc i8 %3613 to i1
  br i1 %3614, label %3615, label %3637

3615:                                             ; preds = %3608
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = call i32 @fileno(ptr noundef %3616) #10
  %3618 = call i32 @isatty(i32 noundef %3617) #10
  %3619 = icmp ne i32 %3618, 0
  br i1 %3619, label %3620, label %3637

3620:                                             ; preds = %3615
  %3621 = load i32, ptr %72, align 4, !tbaa !5
  %3622 = call ptr @__errno_location() #11
  store i32 %3621, ptr %3622, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call ptr @s2n_strerror(i32 noundef %3626, ptr noundef @.str.4)
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef @.str.4)
  %3631 = call ptr @__errno_location() #11
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @strerror(i32 noundef %3632) #10
  %3634 = call ptr @__errno_location() #11
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef @.str.2, i32 noundef %3624, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3627, ptr noundef %3630, ptr noundef %3633, i32 noundef %3635) #10
  br label %3654

3637:                                             ; preds = %3615, %3608
  %3638 = load i32, ptr %72, align 4, !tbaa !5
  %3639 = call ptr @__errno_location() #11
  store i32 %3638, ptr %3639, align 4, !tbaa !5
  %3640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3641 = load i32, ptr @test_count, align 4, !tbaa !5
  %3642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call ptr @s2n_strerror(i32 noundef %3643, ptr noundef @.str.4)
  %3645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror_debug(i32 noundef %3646, ptr noundef @.str.4)
  %3648 = call ptr @__errno_location() #11
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #10
  %3651 = call ptr @__errno_location() #11
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3640, ptr noundef @.str.5, i32 noundef %3641, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3644, ptr noundef %3647, ptr noundef %3650, i32 noundef %3652) #10
  br label %3654

3654:                                             ; preds = %3637, %3620
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

3656:                                             ; preds = %3655
  call void @exit(i32 noundef 1) #12
  unreachable

3657:                                             ; No predecessors!
  br label %3658

3658:                                             ; preds = %3657
  br label %3659

3659:                                             ; preds = %3658, %3600
  br label %3660

3660:                                             ; preds = %3659
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = add nsw i32 %3663, 1
  store i32 %3664, ptr @test_count, align 4, !tbaa !5
  %3665 = load ptr, ptr %70, align 8, !tbaa !9
  %3666 = getelementptr inbounds %struct.s2n_stuffer, ptr %3665, i32 0, i32 2
  %3667 = load i32, ptr %3666, align 4, !tbaa !15
  %3668 = load ptr, ptr %70, align 8, !tbaa !9
  %3669 = getelementptr inbounds %struct.s2n_stuffer, ptr %3668, i32 0, i32 1
  %3670 = load i32, ptr %3669, align 8, !tbaa !18
  %3671 = sub i32 %3667, %3670
  %3672 = icmp eq i32 %3671, 0
  br i1 %3672, label %3726, label %3673

3673:                                             ; preds = %3662
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

3675:                                             ; preds = %3674
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #10
  %3676 = call ptr @__errno_location() #11
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  store i32 %3677, ptr %73, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = call i32 @s2n_print_stacktrace(ptr noundef %3678)
  %3680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3681 = trunc i8 %3680 to i1
  br i1 %3681, label %3682, label %3704

3682:                                             ; preds = %3675
  %3683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3684 = call i32 @fileno(ptr noundef %3683) #10
  %3685 = call i32 @isatty(i32 noundef %3684) #10
  %3686 = icmp ne i32 %3685, 0
  br i1 %3686, label %3687, label %3704

3687:                                             ; preds = %3682
  %3688 = load i32, ptr %73, align 4, !tbaa !5
  %3689 = call ptr @__errno_location() #11
  store i32 %3688, ptr %3689, align 4, !tbaa !5
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = load i32, ptr @test_count, align 4, !tbaa !5
  %3692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3693 = load i32, ptr %3692, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror(i32 noundef %3693, ptr noundef @.str.4)
  %3695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3696 = load i32, ptr %3695, align 4, !tbaa !5
  %3697 = call ptr @s2n_strerror_debug(i32 noundef %3696, ptr noundef @.str.4)
  %3698 = call ptr @__errno_location() #11
  %3699 = load i32, ptr %3698, align 4, !tbaa !5
  %3700 = call ptr @strerror(i32 noundef %3699) #10
  %3701 = call ptr @__errno_location() #11
  %3702 = load i32, ptr %3701, align 4, !tbaa !5
  %3703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3690, ptr noundef @.str.2, i32 noundef %3691, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3694, ptr noundef %3697, ptr noundef %3700, i32 noundef %3702) #10
  br label %3721

3704:                                             ; preds = %3682, %3675
  %3705 = load i32, ptr %73, align 4, !tbaa !5
  %3706 = call ptr @__errno_location() #11
  store i32 %3705, ptr %3706, align 4, !tbaa !5
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = load i32, ptr @test_count, align 4, !tbaa !5
  %3709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3710 = load i32, ptr %3709, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror(i32 noundef %3710, ptr noundef @.str.4)
  %3712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  %3714 = call ptr @s2n_strerror_debug(i32 noundef %3713, ptr noundef @.str.4)
  %3715 = call ptr @__errno_location() #11
  %3716 = load i32, ptr %3715, align 4, !tbaa !5
  %3717 = call ptr @strerror(i32 noundef %3716) #10
  %3718 = call ptr @__errno_location() #11
  %3719 = load i32, ptr %3718, align 4, !tbaa !5
  %3720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3707, ptr noundef @.str.5, i32 noundef %3708, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3711, ptr noundef %3714, ptr noundef %3717, i32 noundef %3719) #10
  br label %3721

3721:                                             ; preds = %3704, %3687
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %3722

3722:                                             ; preds = %3721
  br label %3723

3723:                                             ; preds = %3722
  call void @exit(i32 noundef 1) #12
  unreachable

3724:                                             ; No predecessors!
  br label %3725

3725:                                             ; preds = %3724
  br label %3726

3726:                                             ; preds = %3725, %3662
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

3728:                                             ; preds = %3727
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

3730:                                             ; preds = %3729
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #10
  store i8 5, ptr %74, align 1, !tbaa !19
  %3731 = load ptr, ptr %65, align 8, !tbaa !9
  %3732 = getelementptr inbounds %struct.s2n_connection, ptr %3731, i32 0, i32 57
  store i8 2, ptr %3732, align 8, !tbaa !20
  br label %3733

3733:                                             ; preds = %3730
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = add nsw i32 %3734, 1
  store i32 %3735, ptr @test_count, align 4, !tbaa !5
  %3736 = load ptr, ptr %65, align 8, !tbaa !9
  %3737 = load ptr, ptr %70, align 8, !tbaa !9
  %3738 = call i32 @s2n_server_extensions_send(ptr noundef %3736, ptr noundef %3737)
  %3739 = icmp eq i32 %3738, -1
  br i1 %3739, label %3740, label %3793

3740:                                             ; preds = %3733
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

3742:                                             ; preds = %3741
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  %3743 = call ptr @__errno_location() #11
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  store i32 %3744, ptr %75, align 4, !tbaa !5
  %3745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3746 = call i32 @s2n_print_stacktrace(ptr noundef %3745)
  %3747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3748 = trunc i8 %3747 to i1
  br i1 %3748, label %3749, label %3771

3749:                                             ; preds = %3742
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = call i32 @fileno(ptr noundef %3750) #10
  %3752 = call i32 @isatty(i32 noundef %3751) #10
  %3753 = icmp ne i32 %3752, 0
  br i1 %3753, label %3754, label %3771

3754:                                             ; preds = %3749
  %3755 = load i32, ptr %75, align 4, !tbaa !5
  %3756 = call ptr @__errno_location() #11
  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() #11
  %3766 = load i32, ptr %3765, align 4, !tbaa !5
  %3767 = call ptr @strerror(i32 noundef %3766) #10
  %3768 = call ptr @__errno_location() #11
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3757, ptr noundef @.str.2, i32 noundef %3758, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3761, ptr noundef %3764, ptr noundef %3767, i32 noundef %3769) #10
  br label %3788

3771:                                             ; preds = %3749, %3742
  %3772 = load i32, ptr %75, align 4, !tbaa !5
  %3773 = call ptr @__errno_location() #11
  store i32 %3772, ptr %3773, align 4, !tbaa !5
  %3774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3775 = load i32, ptr @test_count, align 4, !tbaa !5
  %3776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3777 = load i32, ptr %3776, align 4, !tbaa !5
  %3778 = call ptr @s2n_strerror(i32 noundef %3777, ptr noundef @.str.4)
  %3779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3780 = load i32, ptr %3779, align 4, !tbaa !5
  %3781 = call ptr @s2n_strerror_debug(i32 noundef %3780, ptr noundef @.str.4)
  %3782 = call ptr @__errno_location() #11
  %3783 = load i32, ptr %3782, align 4, !tbaa !5
  %3784 = call ptr @strerror(i32 noundef %3783) #10
  %3785 = call ptr @__errno_location() #11
  %3786 = load i32, ptr %3785, align 4, !tbaa !5
  %3787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3774, ptr noundef @.str.5, i32 noundef %3775, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3778, ptr noundef %3781, ptr noundef %3784, i32 noundef %3786) #10
  br label %3788

3788:                                             ; preds = %3771, %3754
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3789

3789:                                             ; preds = %3788
  br label %3790

3790:                                             ; preds = %3789
  call void @exit(i32 noundef 1) #12
  unreachable

3791:                                             ; No predecessors!
  br label %3792

3792:                                             ; preds = %3791
  br label %3793

3793:                                             ; preds = %3792, %3733
  br label %3794

3794:                                             ; preds = %3793
  br label %3795

3795:                                             ; preds = %3794
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = add nsw i32 %3798, 1
  store i32 %3799, ptr @test_count, align 4, !tbaa !5
  %3800 = load ptr, ptr %70, align 8, !tbaa !9
  %3801 = call i32 @s2n_stuffer_skip_read(ptr noundef %3800, i32 noundef 7)
  %3802 = icmp eq i32 %3801, -1
  br i1 %3802, label %3803, label %3856

3803:                                             ; preds = %3797
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

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

3812:                                             ; preds = %3805
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = call i32 @fileno(ptr noundef %3813) #10
  %3815 = call i32 @isatty(i32 noundef %3814) #10
  %3816 = icmp ne i32 %3815, 0
  br i1 %3816, label %3817, label %3834

3817:                                             ; preds = %3812
  %3818 = load i32, ptr %76, align 4, !tbaa !5
  %3819 = call ptr @__errno_location() #11
  store i32 %3818, ptr %3819, align 4, !tbaa !5
  %3820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3821 = load i32, ptr @test_count, align 4, !tbaa !5
  %3822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3823 = load i32, ptr %3822, align 4, !tbaa !5
  %3824 = call ptr @s2n_strerror(i32 noundef %3823, ptr noundef @.str.4)
  %3825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3826 = load i32, ptr %3825, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror_debug(i32 noundef %3826, ptr noundef @.str.4)
  %3828 = call ptr @__errno_location() #11
  %3829 = load i32, ptr %3828, align 4, !tbaa !5
  %3830 = call ptr @strerror(i32 noundef %3829) #10
  %3831 = call ptr @__errno_location() #11
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3820, ptr noundef @.str.2, i32 noundef %3821, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 170, ptr noundef %3824, ptr noundef %3827, ptr noundef %3830, i32 noundef %3832) #10
  br label %3851

3834:                                             ; preds = %3812, %3805
  %3835 = load i32, ptr %76, align 4, !tbaa !5
  %3836 = call ptr @__errno_location() #11
  store i32 %3835, ptr %3836, align 4, !tbaa !5
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = load i32, ptr @test_count, align 4, !tbaa !5
  %3839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3840 = load i32, ptr %3839, align 4, !tbaa !5
  %3841 = call ptr @s2n_strerror(i32 noundef %3840, ptr noundef @.str.4)
  %3842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3843 = load i32, ptr %3842, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror_debug(i32 noundef %3843, ptr noundef @.str.4)
  %3845 = call ptr @__errno_location() #11
  %3846 = load i32, ptr %3845, align 4, !tbaa !5
  %3847 = call ptr @strerror(i32 noundef %3846) #10
  %3848 = call ptr @__errno_location() #11
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3837, ptr noundef @.str.5, i32 noundef %3838, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 170, ptr noundef %3841, ptr noundef %3844, ptr noundef %3847, i32 noundef %3849) #10
  br label %3851

3851:                                             ; preds = %3834, %3817
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %3852

3852:                                             ; preds = %3851
  br label %3853

3853:                                             ; preds = %3852
  call void @exit(i32 noundef 1) #12
  unreachable

3854:                                             ; No predecessors!
  br label %3855

3855:                                             ; preds = %3854
  br label %3856

3856:                                             ; preds = %3855, %3797
  br label %3857

3857:                                             ; preds = %3856
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  %3860 = load i32, ptr @test_count, align 4, !tbaa !5
  %3861 = add nsw i32 %3860, 1
  store i32 %3861, ptr @test_count, align 4, !tbaa !5
  %3862 = load ptr, ptr %70, align 8, !tbaa !9
  %3863 = getelementptr inbounds %struct.s2n_stuffer, ptr %3862, i32 0, i32 2
  %3864 = load i32, ptr %3863, align 4, !tbaa !15
  %3865 = load ptr, ptr %70, align 8, !tbaa !9
  %3866 = getelementptr inbounds %struct.s2n_stuffer, ptr %3865, i32 0, i32 1
  %3867 = load i32, ptr %3866, align 8, !tbaa !18
  %3868 = sub i32 %3864, %3867
  %3869 = icmp eq i32 %3868, 0
  br i1 %3869, label %3923, label %3870

3870:                                             ; preds = %3859
  br label %3871

3871:                                             ; preds = %3870
  br label %3872

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

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

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

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

3918:                                             ; preds = %3901, %3884
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

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

3921:                                             ; No predecessors!
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922, %3859
  br label %3924

3924:                                             ; preds = %3923
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  %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 = call i32 (...) @s2n_enable_tls13_in_test()
  %3932 = icmp eq i32 %3931, -1
  br i1 %3932, label %3933, label %3986

3933:                                             ; preds = %3928
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

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

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

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

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

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

3982:                                             ; preds = %3981
  br label %3983

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

3984:                                             ; No predecessors!
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

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

3987:                                             ; preds = %3986
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  %3990 = load i32, ptr @test_count, align 4, !tbaa !5
  %3991 = add nsw i32 %3990, 1
  store i32 %3991, ptr @test_count, align 4, !tbaa !5
  %3992 = load ptr, ptr %65, align 8, !tbaa !9
  %3993 = call i32 @configure_tls13_connection(ptr noundef %3992)
  %3994 = icmp eq i32 %3993, -1
  br i1 %3994, label %3995, label %4048

3995:                                             ; preds = %3989
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

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

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

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

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

4043:                                             ; preds = %4026, %4009
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

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

4046:                                             ; No predecessors!
  br label %4047

4047:                                             ; preds = %4046
  br label %4048

4048:                                             ; preds = %4047, %3989
  br label %4049

4049:                                             ; preds = %4048
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = add nsw i32 %4052, 1
  store i32 %4053, ptr @test_count, align 4, !tbaa !5
  %4054 = load ptr, ptr %65, align 8, !tbaa !9
  %4055 = load ptr, ptr %70, align 8, !tbaa !9
  %4056 = call i32 @s2n_server_extensions_send(ptr noundef %4054, ptr noundef %4055)
  %4057 = icmp eq i32 %4056, -1
  br i1 %4057, label %4058, label %4111

4058:                                             ; preds = %4051
  br label %4059

4059:                                             ; preds = %4058
  br label %4060

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

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

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

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

4106:                                             ; preds = %4089, %4072
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %4107

4107:                                             ; preds = %4106
  br label %4108

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

4109:                                             ; No predecessors!
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

4111:                                             ; preds = %4110, %4051
  br label %4112

4112:                                             ; preds = %4111
  br label %4113

4113:                                             ; preds = %4112
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  %4116 = load i32, ptr @test_count, align 4, !tbaa !5
  %4117 = add nsw i32 %4116, 1
  store i32 %4117, ptr @test_count, align 4, !tbaa !5
  %4118 = load ptr, ptr %70, align 8, !tbaa !9
  %4119 = call i32 @s2n_stuffer_skip_read(ptr noundef %4118, i32 noundef 81)
  %4120 = icmp eq i32 %4119, -1
  br i1 %4120, label %4121, label %4174

4121:                                             ; preds = %4115
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

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

4130:                                             ; preds = %4123
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @fileno(ptr noundef %4131) #10
  %4133 = call i32 @isatty(i32 noundef %4132) #10
  %4134 = icmp ne i32 %4133, 0
  br i1 %4134, label %4135, label %4152

4135:                                             ; preds = %4130
  %4136 = load i32, ptr %81, align 4, !tbaa !5
  %4137 = call ptr @__errno_location() #11
  store i32 %4136, ptr %4137, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = load i32, ptr @test_count, align 4, !tbaa !5
  %4140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4141 = load i32, ptr %4140, align 4, !tbaa !5
  %4142 = call ptr @s2n_strerror(i32 noundef %4141, ptr noundef @.str.4)
  %4143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4144 = load i32, ptr %4143, align 4, !tbaa !5
  %4145 = call ptr @s2n_strerror_debug(i32 noundef %4144, ptr noundef @.str.4)
  %4146 = call ptr @__errno_location() #11
  %4147 = load i32, ptr %4146, align 4, !tbaa !5
  %4148 = call ptr @strerror(i32 noundef %4147) #10
  %4149 = call ptr @__errno_location() #11
  %4150 = load i32, ptr %4149, align 4, !tbaa !5
  %4151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4138, ptr noundef @.str.2, i32 noundef %4139, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4142, ptr noundef %4145, ptr noundef %4148, i32 noundef %4150) #10
  br label %4169

4152:                                             ; preds = %4130, %4123
  %4153 = load i32, ptr %81, align 4, !tbaa !5
  %4154 = call ptr @__errno_location() #11
  store i32 %4153, ptr %4154, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = load i32, ptr @test_count, align 4, !tbaa !5
  %4157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4158 = load i32, ptr %4157, align 4, !tbaa !5
  %4159 = call ptr @s2n_strerror(i32 noundef %4158, ptr noundef @.str.4)
  %4160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4161 = load i32, ptr %4160, align 4, !tbaa !5
  %4162 = call ptr @s2n_strerror_debug(i32 noundef %4161, ptr noundef @.str.4)
  %4163 = call ptr @__errno_location() #11
  %4164 = load i32, ptr %4163, align 4, !tbaa !5
  %4165 = call ptr @strerror(i32 noundef %4164) #10
  %4166 = call ptr @__errno_location() #11
  %4167 = load i32, ptr %4166, align 4, !tbaa !5
  %4168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4155, ptr noundef @.str.5, i32 noundef %4156, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4159, ptr noundef %4162, ptr noundef %4165, i32 noundef %4167) #10
  br label %4169

4169:                                             ; preds = %4152, %4135
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %4170

4170:                                             ; preds = %4169
  br label %4171

4171:                                             ; preds = %4170
  call void @exit(i32 noundef 1) #12
  unreachable

4172:                                             ; No predecessors!
  br label %4173

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173, %4115
  br label %4175

4175:                                             ; preds = %4174
  br label %4176

4176:                                             ; preds = %4175
  br label %4177

4177:                                             ; preds = %4176
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = add nsw i32 %4178, 1
  store i32 %4179, ptr @test_count, align 4, !tbaa !5
  %4180 = load ptr, ptr %70, align 8, !tbaa !9
  %4181 = getelementptr inbounds %struct.s2n_stuffer, ptr %4180, i32 0, i32 2
  %4182 = load i32, ptr %4181, align 4, !tbaa !15
  %4183 = load ptr, ptr %70, align 8, !tbaa !9
  %4184 = getelementptr inbounds %struct.s2n_stuffer, ptr %4183, i32 0, i32 1
  %4185 = load i32, ptr %4184, align 8, !tbaa !18
  %4186 = sub i32 %4182, %4185
  %4187 = icmp eq i32 %4186, 0
  br i1 %4187, label %4241, label %4188

4188:                                             ; preds = %4177
  br label %4189

4189:                                             ; preds = %4188
  br label %4190

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

4197:                                             ; preds = %4190
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = call i32 @fileno(ptr noundef %4198) #10
  %4200 = call i32 @isatty(i32 noundef %4199) #10
  %4201 = icmp ne i32 %4200, 0
  br i1 %4201, label %4202, label %4219

4202:                                             ; preds = %4197
  %4203 = load i32, ptr %82, align 4, !tbaa !5
  %4204 = call ptr @__errno_location() #11
  store i32 %4203, ptr %4204, align 4, !tbaa !5
  %4205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4206 = load i32, ptr @test_count, align 4, !tbaa !5
  %4207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror(i32 noundef %4208, ptr noundef @.str.4)
  %4210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4211 = load i32, ptr %4210, align 4, !tbaa !5
  %4212 = call ptr @s2n_strerror_debug(i32 noundef %4211, ptr noundef @.str.4)
  %4213 = call ptr @__errno_location() #11
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call ptr @strerror(i32 noundef %4214) #10
  %4216 = call ptr @__errno_location() #11
  %4217 = load i32, ptr %4216, align 4, !tbaa !5
  %4218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4205, ptr noundef @.str.2, i32 noundef %4206, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4209, ptr noundef %4212, ptr noundef %4215, i32 noundef %4217) #10
  br label %4236

4219:                                             ; preds = %4197, %4190
  %4220 = load i32, ptr %82, align 4, !tbaa !5
  %4221 = call ptr @__errno_location() #11
  store i32 %4220, ptr %4221, align 4, !tbaa !5
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = load i32, ptr @test_count, align 4, !tbaa !5
  %4224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror(i32 noundef %4225, ptr noundef @.str.4)
  %4227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @s2n_strerror_debug(i32 noundef %4228, ptr noundef @.str.4)
  %4230 = call ptr @__errno_location() #11
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call ptr @strerror(i32 noundef %4231) #10
  %4233 = call ptr @__errno_location() #11
  %4234 = load i32, ptr %4233, align 4, !tbaa !5
  %4235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4222, ptr noundef @.str.5, i32 noundef %4223, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4226, ptr noundef %4229, ptr noundef %4232, i32 noundef %4234) #10
  br label %4236

4236:                                             ; preds = %4219, %4202
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

4238:                                             ; preds = %4237
  call void @exit(i32 noundef 1) #12
  unreachable

4239:                                             ; No predecessors!
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240, %4177
  br label %4242

4242:                                             ; preds = %4241
  br label %4243

4243:                                             ; preds = %4242
  br label %4244

4244:                                             ; preds = %4243
  br label %4245

4245:                                             ; preds = %4244
  br label %4246

4246:                                             ; preds = %4245
  %4247 = load i32, ptr @test_count, align 4, !tbaa !5
  %4248 = add nsw i32 %4247, 1
  store i32 %4248, ptr @test_count, align 4, !tbaa !5
  %4249 = call i32 (...) @s2n_disable_tls13_in_test()
  %4250 = icmp eq i32 %4249, -1
  br i1 %4250, label %4251, label %4304

4251:                                             ; preds = %4246
  br label %4252

4252:                                             ; preds = %4251
  br label %4253

4253:                                             ; preds = %4252
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  %4254 = call ptr @__errno_location() #11
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  store i32 %4255, ptr %83, align 4, !tbaa !5
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = call i32 @s2n_print_stacktrace(ptr noundef %4256)
  %4258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4259 = trunc i8 %4258 to i1
  br i1 %4259, label %4260, label %4282

4260:                                             ; preds = %4253
  %4261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4262 = call i32 @fileno(ptr noundef %4261) #10
  %4263 = call i32 @isatty(i32 noundef %4262) #10
  %4264 = icmp ne i32 %4263, 0
  br i1 %4264, label %4265, label %4282

4265:                                             ; preds = %4260
  %4266 = load i32, ptr %83, align 4, !tbaa !5
  %4267 = call ptr @__errno_location() #11
  store i32 %4266, ptr %4267, align 4, !tbaa !5
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = load i32, ptr @test_count, align 4, !tbaa !5
  %4270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4271 = load i32, ptr %4270, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror(i32 noundef %4271, ptr noundef @.str.4)
  %4273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4274 = load i32, ptr %4273, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef @.str.4)
  %4276 = call ptr @__errno_location() #11
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call ptr @strerror(i32 noundef %4277) #10
  %4279 = call ptr @__errno_location() #11
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4268, ptr noundef @.str.2, i32 noundef %4269, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 177, ptr noundef %4272, ptr noundef %4275, ptr noundef %4278, i32 noundef %4280) #10
  br label %4299

4282:                                             ; preds = %4260, %4253
  %4283 = load i32, ptr %83, align 4, !tbaa !5
  %4284 = call ptr @__errno_location() #11
  store i32 %4283, ptr %4284, align 4, !tbaa !5
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = load i32, ptr @test_count, align 4, !tbaa !5
  %4287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror(i32 noundef %4288, ptr noundef @.str.4)
  %4290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4291 = load i32, ptr %4290, align 4, !tbaa !5
  %4292 = call ptr @s2n_strerror_debug(i32 noundef %4291, ptr noundef @.str.4)
  %4293 = call ptr @__errno_location() #11
  %4294 = load i32, ptr %4293, align 4, !tbaa !5
  %4295 = call ptr @strerror(i32 noundef %4294) #10
  %4296 = call ptr @__errno_location() #11
  %4297 = load i32, ptr %4296, align 4, !tbaa !5
  %4298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4285, ptr noundef @.str.5, i32 noundef %4286, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 177, ptr noundef %4289, ptr noundef %4292, ptr noundef %4295, i32 noundef %4297) #10
  br label %4299

4299:                                             ; preds = %4282, %4265
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300
  call void @exit(i32 noundef 1) #12
  unreachable

4302:                                             ; No predecessors!
  br label %4303

4303:                                             ; preds = %4302
  br label %4304

4304:                                             ; preds = %4303, %4246
  br label %4305

4305:                                             ; preds = %4304
  br label %4306

4306:                                             ; preds = %4305
  br label %4307

4307:                                             ; preds = %4306
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = add nsw i32 %4308, 1
  store i32 %4309, ptr @test_count, align 4, !tbaa !5
  %4310 = load ptr, ptr %65, align 8, !tbaa !9
  %4311 = call i32 @s2n_connection_free(ptr noundef %4310)
  %4312 = icmp eq i32 %4311, -1
  br i1 %4312, label %4313, label %4366

4313:                                             ; preds = %4307
  br label %4314

4314:                                             ; preds = %4313
  br label %4315

4315:                                             ; preds = %4314
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  %4316 = call ptr @__errno_location() #11
  %4317 = load i32, ptr %4316, align 4, !tbaa !5
  store i32 %4317, ptr %84, align 4, !tbaa !5
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @s2n_print_stacktrace(ptr noundef %4318)
  %4320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4321 = trunc i8 %4320 to i1
  br i1 %4321, label %4322, label %4344

4322:                                             ; preds = %4315
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = call i32 @fileno(ptr noundef %4323) #10
  %4325 = call i32 @isatty(i32 noundef %4324) #10
  %4326 = icmp ne i32 %4325, 0
  br i1 %4326, label %4327, label %4344

4327:                                             ; preds = %4322
  %4328 = load i32, ptr %84, align 4, !tbaa !5
  %4329 = call ptr @__errno_location() #11
  store i32 %4328, ptr %4329, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = load i32, ptr @test_count, align 4, !tbaa !5
  %4332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror(i32 noundef %4333, ptr noundef @.str.4)
  %4335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @s2n_strerror_debug(i32 noundef %4336, ptr noundef @.str.4)
  %4338 = call ptr @__errno_location() #11
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call ptr @strerror(i32 noundef %4339) #10
  %4341 = call ptr @__errno_location() #11
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4330, ptr noundef @.str.2, i32 noundef %4331, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4334, ptr noundef %4337, ptr noundef %4340, i32 noundef %4342) #10
  br label %4361

4344:                                             ; preds = %4322, %4315
  %4345 = load i32, ptr %84, align 4, !tbaa !5
  %4346 = call ptr @__errno_location() #11
  store i32 %4345, ptr %4346, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @s2n_strerror_debug(i32 noundef %4353, ptr noundef @.str.4)
  %4355 = call ptr @__errno_location() #11
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call ptr @strerror(i32 noundef %4356) #10
  %4358 = call ptr @__errno_location() #11
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4347, ptr noundef @.str.5, i32 noundef %4348, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4351, ptr noundef %4354, ptr noundef %4357, i32 noundef %4359) #10
  br label %4361

4361:                                             ; preds = %4344, %4327
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362
  call void @exit(i32 noundef 1) #12
  unreachable

4364:                                             ; No predecessors!
  br label %4365

4365:                                             ; preds = %4364
  br label %4366

4366:                                             ; preds = %4365, %4307
  br label %4367

4367:                                             ; preds = %4366
  br label %4368

4368:                                             ; preds = %4367
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #10
  store ptr null, ptr %85, align 8, !tbaa !9
  br label %4369

4369:                                             ; preds = %4368
  %4370 = load i32, ptr @test_count, align 4, !tbaa !5
  %4371 = add nsw i32 %4370, 1
  store i32 %4371, ptr @test_count, align 4, !tbaa !5
  %4372 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4372, ptr %85, align 8, !tbaa !9
  %4373 = icmp eq ptr %4372, null
  br i1 %4373, label %4374, label %4427

4374:                                             ; preds = %4369
  br label %4375

4375:                                             ; preds = %4374
  br label %4376

4376:                                             ; preds = %4375
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %4377 = call ptr @__errno_location() #11
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  store i32 %4378, ptr %86, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = call i32 @s2n_print_stacktrace(ptr noundef %4379)
  %4381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4382 = trunc i8 %4381 to i1
  br i1 %4382, label %4383, label %4405

4383:                                             ; preds = %4376
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @fileno(ptr noundef %4384) #10
  %4386 = call i32 @isatty(i32 noundef %4385) #10
  %4387 = icmp ne i32 %4386, 0
  br i1 %4387, label %4388, label %4405

4388:                                             ; preds = %4383
  %4389 = load i32, ptr %86, align 4, !tbaa !5
  %4390 = call ptr @__errno_location() #11
  store i32 %4389, ptr %4390, align 4, !tbaa !5
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = load i32, ptr @test_count, align 4, !tbaa !5
  %4393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  %4395 = call ptr @s2n_strerror(i32 noundef %4394, ptr noundef @.str.4)
  %4396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4397 = load i32, ptr %4396, align 4, !tbaa !5
  %4398 = call ptr @s2n_strerror_debug(i32 noundef %4397, ptr noundef @.str.4)
  %4399 = call ptr @__errno_location() #11
  %4400 = load i32, ptr %4399, align 4, !tbaa !5
  %4401 = call ptr @strerror(i32 noundef %4400) #10
  %4402 = call ptr @__errno_location() #11
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4391, ptr noundef @.str.2, i32 noundef %4392, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4395, ptr noundef %4398, ptr noundef %4401, i32 noundef %4403) #10
  br label %4422

4405:                                             ; preds = %4383, %4376
  %4406 = load i32, ptr %86, align 4, !tbaa !5
  %4407 = call ptr @__errno_location() #11
  store i32 %4406, ptr %4407, align 4, !tbaa !5
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = load i32, ptr @test_count, align 4, !tbaa !5
  %4410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  %4412 = call ptr @s2n_strerror(i32 noundef %4411, ptr noundef @.str.4)
  %4413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror_debug(i32 noundef %4414, ptr noundef @.str.4)
  %4416 = call ptr @__errno_location() #11
  %4417 = load i32, ptr %4416, align 4, !tbaa !5
  %4418 = call ptr @strerror(i32 noundef %4417) #10
  %4419 = call ptr @__errno_location() #11
  %4420 = load i32, ptr %4419, align 4, !tbaa !5
  %4421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4408, ptr noundef @.str.5, i32 noundef %4409, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4412, ptr noundef %4415, ptr noundef %4418, i32 noundef %4420) #10
  br label %4422

4422:                                             ; preds = %4405, %4388
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %4423

4423:                                             ; preds = %4422
  br label %4424

4424:                                             ; preds = %4423
  call void @exit(i32 noundef 1) #12
  unreachable

4425:                                             ; No predecessors!
  br label %4426

4426:                                             ; preds = %4425
  br label %4427

4427:                                             ; preds = %4426, %4369
  br label %4428

4428:                                             ; preds = %4427
  br label %4429

4429:                                             ; preds = %4428
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #10
  store i8 0, ptr %87, align 1, !tbaa !19
  br label %4430

4430:                                             ; preds = %4429
  %4431 = load i32, ptr @test_count, align 4, !tbaa !5
  %4432 = add nsw i32 %4431, 1
  store i32 %4432, ptr @test_count, align 4, !tbaa !5
  %4433 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 18, ptr noundef %87)
  %4434 = icmp eq i32 %4433, -1
  br i1 %4434, label %4435, label %4488

4435:                                             ; preds = %4430
  br label %4436

4436:                                             ; preds = %4435
  br label %4437

4437:                                             ; preds = %4436
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %4438 = call ptr @__errno_location() #11
  %4439 = load i32, ptr %4438, align 4, !tbaa !5
  store i32 %4439, ptr %88, align 4, !tbaa !5
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = call i32 @s2n_print_stacktrace(ptr noundef %4440)
  %4442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4443 = trunc i8 %4442 to i1
  br i1 %4443, label %4444, label %4466

4444:                                             ; preds = %4437
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = call i32 @fileno(ptr noundef %4445) #10
  %4447 = call i32 @isatty(i32 noundef %4446) #10
  %4448 = icmp ne i32 %4447, 0
  br i1 %4448, label %4449, label %4466

4449:                                             ; preds = %4444
  %4450 = load i32, ptr %88, align 4, !tbaa !5
  %4451 = call ptr @__errno_location() #11
  store i32 %4450, ptr %4451, align 4, !tbaa !5
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = load i32, ptr @test_count, align 4, !tbaa !5
  %4454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4455 = load i32, ptr %4454, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror(i32 noundef %4455, ptr noundef @.str.4)
  %4457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4458 = load i32, ptr %4457, align 4, !tbaa !5
  %4459 = call ptr @s2n_strerror_debug(i32 noundef %4458, ptr noundef @.str.4)
  %4460 = call ptr @__errno_location() #11
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  %4462 = call ptr @strerror(i32 noundef %4461) #10
  %4463 = call ptr @__errno_location() #11
  %4464 = load i32, ptr %4463, align 4, !tbaa !5
  %4465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4452, ptr noundef @.str.2, i32 noundef %4453, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4456, ptr noundef %4459, ptr noundef %4462, i32 noundef %4464) #10
  br label %4483

4466:                                             ; preds = %4444, %4437
  %4467 = load i32, ptr %88, align 4, !tbaa !5
  %4468 = call ptr @__errno_location() #11
  store i32 %4467, ptr %4468, align 4, !tbaa !5
  %4469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4470 = load i32, ptr @test_count, align 4, !tbaa !5
  %4471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4472 = load i32, ptr %4471, align 4, !tbaa !5
  %4473 = call ptr @s2n_strerror(i32 noundef %4472, ptr noundef @.str.4)
  %4474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call ptr @s2n_strerror_debug(i32 noundef %4475, ptr noundef @.str.4)
  %4477 = call ptr @__errno_location() #11
  %4478 = load i32, ptr %4477, align 4, !tbaa !5
  %4479 = call ptr @strerror(i32 noundef %4478) #10
  %4480 = call ptr @__errno_location() #11
  %4481 = load i32, ptr %4480, align 4, !tbaa !5
  %4482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4469, ptr noundef @.str.5, i32 noundef %4470, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4473, ptr noundef %4476, ptr noundef %4479, i32 noundef %4481) #10
  br label %4483

4483:                                             ; preds = %4466, %4449
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %4484

4484:                                             ; preds = %4483
  br label %4485

4485:                                             ; preds = %4484
  call void @exit(i32 noundef 1) #12
  unreachable

4486:                                             ; No predecessors!
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487, %4430
  br label %4489

4489:                                             ; preds = %4488
  br label %4490

4490:                                             ; preds = %4489
  %4491 = load i8, ptr %87, align 1, !tbaa !19
  %4492 = zext i8 %4491 to i32
  %4493 = srem i32 %4492, 8
  %4494 = shl i32 1, %4493
  %4495 = load ptr, ptr %85, align 8, !tbaa !9
  %4496 = getelementptr inbounds %struct.s2n_connection, ptr %4495, i32 0, i32 11
  %4497 = load i8, ptr %87, align 1, !tbaa !19
  %4498 = zext i8 %4497 to i32
  %4499 = ashr i32 %4498, 3
  %4500 = sext i32 %4499 to i64
  %4501 = getelementptr inbounds [22 x i8], ptr %4496, i64 0, i64 %4500
  %4502 = load i8, ptr %4501, align 1, !tbaa !19
  %4503 = sext i8 %4502 to i32
  %4504 = or i32 %4503, %4494
  %4505 = trunc i32 %4504 to i8
  store i8 %4505, ptr %4501, align 1, !tbaa !19
  br label %4506

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

4513:                                             ; preds = %4506
  br label %4514

4514:                                             ; preds = %4513
  br label %4515

4515:                                             ; preds = %4514
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #10
  %4516 = call ptr @__errno_location() #11
  %4517 = load i32, ptr %4516, align 4, !tbaa !5
  store i32 %4517, ptr %89, 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) #10
  %4525 = call i32 @isatty(i32 noundef %4524) #10
  %4526 = icmp ne i32 %4525, 0
  br i1 %4526, label %4527, label %4544

4527:                                             ; preds = %4522
  %4528 = load i32, ptr %89, align 4, !tbaa !5
  %4529 = call ptr @__errno_location() #11
  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() #11
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @strerror(i32 noundef %4539) #10
  %4541 = call ptr @__errno_location() #11
  %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.15, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4534, ptr noundef %4537, ptr noundef %4540, i32 noundef %4542) #10
  br label %4561

4544:                                             ; preds = %4522, %4515
  %4545 = load i32, ptr %89, align 4, !tbaa !5
  %4546 = call ptr @__errno_location() #11
  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() #11
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @strerror(i32 noundef %4556) #10
  %4558 = call ptr @__errno_location() #11
  %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.15, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4551, ptr noundef %4554, ptr noundef %4557, i32 noundef %4559) #10
  br label %4561

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

4562:                                             ; preds = %4561
  br label %4563

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

4564:                                             ; No predecessors!
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

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

4567:                                             ; preds = %4566
  br label %4568

4568:                                             ; preds = %4567
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  %4569 = load ptr, ptr %85, align 8, !tbaa !9
  %4570 = getelementptr inbounds %struct.s2n_connection, ptr %4569, i32 0, i32 52
  %4571 = getelementptr inbounds %struct.s2n_handshake, ptr %4570, i32 0, i32 0
  store ptr %4571, ptr %90, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 88, ptr %91) #10
  call void @llvm.memset.p0.i64(ptr align 8 %91, i8 0, i64 88, i1 false)
  br label %4572

4572:                                             ; preds = %4568
  %4573 = load i32, ptr @test_count, align 4, !tbaa !5
  %4574 = add nsw i32 %4573, 1
  store i32 %4574, ptr @test_count, align 4, !tbaa !5
  %4575 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %91, i32 0, i32 3
  %4576 = call i32 @s2n_blob_init(ptr noundef %4575, ptr noundef @main.sct_list, i32 noundef 3)
  %4577 = icmp eq i32 %4576, -1
  br i1 %4577, label %4578, label %4631

4578:                                             ; preds = %4572
  br label %4579

4579:                                             ; preds = %4578
  br label %4580

4580:                                             ; preds = %4579
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %4581 = call ptr @__errno_location() #11
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  store i32 %4582, ptr %92, 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) #10
  %4590 = call i32 @isatty(i32 noundef %4589) #10
  %4591 = icmp ne i32 %4590, 0
  br i1 %4591, label %4592, label %4609

4592:                                             ; preds = %4587
  %4593 = load i32, ptr %92, align 4, !tbaa !5
  %4594 = call ptr @__errno_location() #11
  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() #11
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @strerror(i32 noundef %4604) #10
  %4606 = call ptr @__errno_location() #11
  %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.33, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4599, ptr noundef %4602, ptr noundef %4605, i32 noundef %4607) #10
  br label %4626

4609:                                             ; preds = %4587, %4580
  %4610 = load i32, ptr %92, align 4, !tbaa !5
  %4611 = call ptr @__errno_location() #11
  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() #11
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @strerror(i32 noundef %4621) #10
  %4623 = call ptr @__errno_location() #11
  %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.33, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4616, ptr noundef %4619, ptr noundef %4622, i32 noundef %4624) #10
  br label %4626

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

4627:                                             ; preds = %4626
  br label %4628

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

4629:                                             ; No predecessors!
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

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

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  %4634 = load ptr, ptr %85, align 8, !tbaa !9
  %4635 = getelementptr inbounds %struct.s2n_connection, ptr %4634, i32 0, i32 67
  store i32 1, ptr %4635, align 8, !tbaa !45
  %4636 = load ptr, ptr %85, align 8, !tbaa !9
  %4637 = getelementptr inbounds %struct.s2n_connection, ptr %4636, i32 0, i32 32
  %4638 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %4637, i32 0, i32 7
  store ptr %91, ptr %4638, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #10
  store i8 7, ptr %93, align 1, !tbaa !19
  br label %4639

4639:                                             ; preds = %4633
  %4640 = load i32, ptr @test_count, align 4, !tbaa !5
  %4641 = add nsw i32 %4640, 1
  store i32 %4641, ptr @test_count, align 4, !tbaa !5
  %4642 = load ptr, ptr %85, align 8, !tbaa !9
  %4643 = load ptr, ptr %90, align 8, !tbaa !9
  %4644 = call i32 @s2n_server_extensions_send(ptr noundef %4642, ptr noundef %4643)
  %4645 = icmp eq i32 %4644, -1
  br i1 %4645, label %4646, label %4699

4646:                                             ; preds = %4639
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

4648:                                             ; preds = %4647
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #10
  %4649 = call ptr @__errno_location() #11
  %4650 = load i32, ptr %4649, align 4, !tbaa !5
  store i32 %4650, ptr %94, align 4, !tbaa !5
  %4651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4652 = call i32 @s2n_print_stacktrace(ptr noundef %4651)
  %4653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4654 = trunc i8 %4653 to i1
  br i1 %4654, label %4655, label %4677

4655:                                             ; preds = %4648
  %4656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4657 = call i32 @fileno(ptr noundef %4656) #10
  %4658 = call i32 @isatty(i32 noundef %4657) #10
  %4659 = icmp ne i32 %4658, 0
  br i1 %4659, label %4660, label %4677

4660:                                             ; preds = %4655
  %4661 = load i32, ptr %94, align 4, !tbaa !5
  %4662 = call ptr @__errno_location() #11
  store i32 %4661, ptr %4662, align 4, !tbaa !5
  %4663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4664 = load i32, ptr @test_count, align 4, !tbaa !5
  %4665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4666 = load i32, ptr %4665, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror(i32 noundef %4666, ptr noundef @.str.4)
  %4668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4669 = load i32, ptr %4668, align 4, !tbaa !5
  %4670 = call ptr @s2n_strerror_debug(i32 noundef %4669, ptr noundef @.str.4)
  %4671 = call ptr @__errno_location() #11
  %4672 = load i32, ptr %4671, align 4, !tbaa !5
  %4673 = call ptr @strerror(i32 noundef %4672) #10
  %4674 = call ptr @__errno_location() #11
  %4675 = load i32, ptr %4674, align 4, !tbaa !5
  %4676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4663, ptr noundef @.str.2, i32 noundef %4664, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4667, ptr noundef %4670, ptr noundef %4673, i32 noundef %4675) #10
  br label %4694

4677:                                             ; preds = %4655, %4648
  %4678 = load i32, ptr %94, align 4, !tbaa !5
  %4679 = call ptr @__errno_location() #11
  store i32 %4678, ptr %4679, align 4, !tbaa !5
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = load i32, ptr @test_count, align 4, !tbaa !5
  %4682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror(i32 noundef %4683, ptr noundef @.str.4)
  %4685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef @.str.4)
  %4688 = call ptr @__errno_location() #11
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call ptr @strerror(i32 noundef %4689) #10
  %4691 = call ptr @__errno_location() #11
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4680, ptr noundef @.str.5, i32 noundef %4681, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4684, ptr noundef %4687, ptr noundef %4690, i32 noundef %4692) #10
  br label %4694

4694:                                             ; preds = %4677, %4660
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4695

4695:                                             ; preds = %4694
  br label %4696

4696:                                             ; preds = %4695
  call void @exit(i32 noundef 1) #12
  unreachable

4697:                                             ; No predecessors!
  br label %4698

4698:                                             ; preds = %4697
  br label %4699

4699:                                             ; preds = %4698, %4639
  br label %4700

4700:                                             ; preds = %4699
  br label %4701

4701:                                             ; preds = %4700
  br label %4702

4702:                                             ; preds = %4701
  br label %4703

4703:                                             ; preds = %4702
  %4704 = load i32, ptr @test_count, align 4, !tbaa !5
  %4705 = add nsw i32 %4704, 1
  store i32 %4705, ptr @test_count, align 4, !tbaa !5
  %4706 = load ptr, ptr %90, align 8, !tbaa !9
  %4707 = call i32 @s2n_stuffer_skip_read(ptr noundef %4706, i32 noundef 9)
  %4708 = icmp eq i32 %4707, -1
  br i1 %4708, label %4709, label %4762

4709:                                             ; preds = %4703
  br label %4710

4710:                                             ; preds = %4709
  br label %4711

4711:                                             ; preds = %4710
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %4712 = call ptr @__errno_location() #11
  %4713 = load i32, ptr %4712, align 4, !tbaa !5
  store i32 %4713, ptr %95, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = call i32 @s2n_print_stacktrace(ptr noundef %4714)
  %4716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4717 = trunc i8 %4716 to i1
  br i1 %4717, label %4718, label %4740

4718:                                             ; preds = %4711
  %4719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4720 = call i32 @fileno(ptr noundef %4719) #10
  %4721 = call i32 @isatty(i32 noundef %4720) #10
  %4722 = icmp ne i32 %4721, 0
  br i1 %4722, label %4723, label %4740

4723:                                             ; preds = %4718
  %4724 = load i32, ptr %95, align 4, !tbaa !5
  %4725 = call ptr @__errno_location() #11
  store i32 %4724, ptr %4725, align 4, !tbaa !5
  %4726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4727 = load i32, ptr @test_count, align 4, !tbaa !5
  %4728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call ptr @s2n_strerror(i32 noundef %4729, ptr noundef @.str.4)
  %4731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror_debug(i32 noundef %4732, ptr noundef @.str.4)
  %4734 = call ptr @__errno_location() #11
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @strerror(i32 noundef %4735) #10
  %4737 = call ptr @__errno_location() #11
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4726, ptr noundef @.str.2, i32 noundef %4727, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %4730, ptr noundef %4733, ptr noundef %4736, i32 noundef %4738) #10
  br label %4757

4740:                                             ; preds = %4718, %4711
  %4741 = load i32, ptr %95, align 4, !tbaa !5
  %4742 = call ptr @__errno_location() #11
  store i32 %4741, ptr %4742, align 4, !tbaa !5
  %4743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4744 = load i32, ptr @test_count, align 4, !tbaa !5
  %4745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror(i32 noundef %4746, ptr noundef @.str.4)
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror_debug(i32 noundef %4749, ptr noundef @.str.4)
  %4751 = call ptr @__errno_location() #11
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @strerror(i32 noundef %4752) #10
  %4754 = call ptr @__errno_location() #11
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4743, ptr noundef @.str.5, i32 noundef %4744, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %4747, ptr noundef %4750, ptr noundef %4753, i32 noundef %4755) #10
  br label %4757

4757:                                             ; preds = %4740, %4723
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %4758

4758:                                             ; preds = %4757
  br label %4759

4759:                                             ; preds = %4758
  call void @exit(i32 noundef 1) #12
  unreachable

4760:                                             ; No predecessors!
  br label %4761

4761:                                             ; preds = %4760
  br label %4762

4762:                                             ; preds = %4761, %4703
  br label %4763

4763:                                             ; preds = %4762
  br label %4764

4764:                                             ; preds = %4763
  br label %4765

4765:                                             ; preds = %4764
  %4766 = load i32, ptr @test_count, align 4, !tbaa !5
  %4767 = add nsw i32 %4766, 1
  store i32 %4767, ptr @test_count, align 4, !tbaa !5
  %4768 = load ptr, ptr %90, align 8, !tbaa !9
  %4769 = getelementptr inbounds %struct.s2n_stuffer, ptr %4768, i32 0, i32 2
  %4770 = load i32, ptr %4769, align 4, !tbaa !15
  %4771 = load ptr, ptr %90, align 8, !tbaa !9
  %4772 = getelementptr inbounds %struct.s2n_stuffer, ptr %4771, i32 0, i32 1
  %4773 = load i32, ptr %4772, align 8, !tbaa !18
  %4774 = sub i32 %4770, %4773
  %4775 = icmp eq i32 %4774, 0
  br i1 %4775, label %4829, label %4776

4776:                                             ; preds = %4765
  br label %4777

4777:                                             ; preds = %4776
  br label %4778

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

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

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

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

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

4825:                                             ; preds = %4824
  br label %4826

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

4827:                                             ; No predecessors!
  br label %4828

4828:                                             ; preds = %4827
  br label %4829

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

4830:                                             ; preds = %4829
  br label %4831

4831:                                             ; preds = %4830
  br label %4832

4832:                                             ; preds = %4831
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

4834:                                             ; preds = %4833
  %4835 = load i32, ptr @test_count, align 4, !tbaa !5
  %4836 = add nsw i32 %4835, 1
  store i32 %4836, ptr @test_count, align 4, !tbaa !5
  %4837 = call i32 (...) @s2n_enable_tls13_in_test()
  %4838 = icmp eq i32 %4837, -1
  br i1 %4838, label %4839, label %4892

4839:                                             ; preds = %4834
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

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

4848:                                             ; preds = %4841
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = call i32 @fileno(ptr noundef %4849) #10
  %4851 = call i32 @isatty(i32 noundef %4850) #10
  %4852 = icmp ne i32 %4851, 0
  br i1 %4852, label %4853, label %4870

4853:                                             ; preds = %4848
  %4854 = load i32, ptr %97, align 4, !tbaa !5
  %4855 = call ptr @__errno_location() #11
  store i32 %4854, ptr %4855, align 4, !tbaa !5
  %4856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4857 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4859, ptr noundef @.str.4)
  %4861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef @.str.4)
  %4864 = call ptr @__errno_location() #11
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @strerror(i32 noundef %4865) #10
  %4867 = call ptr @__errno_location() #11
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4856, ptr noundef @.str.2, i32 noundef %4857, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4860, ptr noundef %4863, ptr noundef %4866, i32 noundef %4868) #10
  br label %4887

4870:                                             ; preds = %4848, %4841
  %4871 = load i32, ptr %97, align 4, !tbaa !5
  %4872 = call ptr @__errno_location() #11
  store i32 %4871, ptr %4872, align 4, !tbaa !5
  %4873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4876, ptr noundef @.str.4)
  %4878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef @.str.4)
  %4881 = call ptr @__errno_location() #11
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @strerror(i32 noundef %4882) #10
  %4884 = call ptr @__errno_location() #11
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4873, ptr noundef @.str.5, i32 noundef %4874, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4877, ptr noundef %4880, ptr noundef %4883, i32 noundef %4885) #10
  br label %4887

4887:                                             ; preds = %4870, %4853
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4888

4888:                                             ; preds = %4887
  br label %4889

4889:                                             ; preds = %4888
  call void @exit(i32 noundef 1) #12
  unreachable

4890:                                             ; No predecessors!
  br label %4891

4891:                                             ; preds = %4890
  br label %4892

4892:                                             ; preds = %4891, %4834
  br label %4893

4893:                                             ; preds = %4892
  br label %4894

4894:                                             ; preds = %4893
  br label %4895

4895:                                             ; preds = %4894
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = add nsw i32 %4896, 1
  store i32 %4897, ptr @test_count, align 4, !tbaa !5
  %4898 = load ptr, ptr %85, align 8, !tbaa !9
  %4899 = call i32 @configure_tls13_connection(ptr noundef %4898)
  %4900 = icmp eq i32 %4899, -1
  br i1 %4900, label %4901, label %4954

4901:                                             ; preds = %4895
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %4904 = call ptr @__errno_location() #11
  %4905 = load i32, ptr %4904, align 4, !tbaa !5
  store i32 %4905, ptr %98, align 4, !tbaa !5
  %4906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4907 = call i32 @s2n_print_stacktrace(ptr noundef %4906)
  %4908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4909 = trunc i8 %4908 to i1
  br i1 %4909, label %4910, label %4932

4910:                                             ; preds = %4903
  %4911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4912 = call i32 @fileno(ptr noundef %4911) #10
  %4913 = call i32 @isatty(i32 noundef %4912) #10
  %4914 = icmp ne i32 %4913, 0
  br i1 %4914, label %4915, label %4932

4915:                                             ; preds = %4910
  %4916 = load i32, ptr %98, align 4, !tbaa !5
  %4917 = call ptr @__errno_location() #11
  store i32 %4916, ptr %4917, align 4, !tbaa !5
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = load i32, ptr @test_count, align 4, !tbaa !5
  %4920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4921 = load i32, ptr %4920, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror(i32 noundef %4921, ptr noundef @.str.4)
  %4923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror_debug(i32 noundef %4924, ptr noundef @.str.4)
  %4926 = call ptr @__errno_location() #11
  %4927 = load i32, ptr %4926, align 4, !tbaa !5
  %4928 = call ptr @strerror(i32 noundef %4927) #10
  %4929 = call ptr @__errno_location() #11
  %4930 = load i32, ptr %4929, align 4, !tbaa !5
  %4931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4918, ptr noundef @.str.2, i32 noundef %4919, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4922, ptr noundef %4925, ptr noundef %4928, i32 noundef %4930) #10
  br label %4949

4932:                                             ; preds = %4910, %4903
  %4933 = load i32, ptr %98, align 4, !tbaa !5
  %4934 = call ptr @__errno_location() #11
  store i32 %4933, ptr %4934, align 4, !tbaa !5
  %4935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4936 = load i32, ptr @test_count, align 4, !tbaa !5
  %4937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call ptr @s2n_strerror(i32 noundef %4938, ptr noundef @.str.4)
  %4940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4941 = load i32, ptr %4940, align 4, !tbaa !5
  %4942 = call ptr @s2n_strerror_debug(i32 noundef %4941, ptr noundef @.str.4)
  %4943 = call ptr @__errno_location() #11
  %4944 = load i32, ptr %4943, align 4, !tbaa !5
  %4945 = call ptr @strerror(i32 noundef %4944) #10
  %4946 = call ptr @__errno_location() #11
  %4947 = load i32, ptr %4946, align 4, !tbaa !5
  %4948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4935, ptr noundef @.str.5, i32 noundef %4936, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4939, ptr noundef %4942, ptr noundef %4945, i32 noundef %4947) #10
  br label %4949

4949:                                             ; preds = %4932, %4915
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  call void @exit(i32 noundef 1) #12
  unreachable

4952:                                             ; No predecessors!
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953, %4895
  br label %4955

4955:                                             ; preds = %4954
  br label %4956

4956:                                             ; preds = %4955
  br label %4957

4957:                                             ; preds = %4956
  %4958 = load i32, ptr @test_count, align 4, !tbaa !5
  %4959 = add nsw i32 %4958, 1
  store i32 %4959, ptr @test_count, align 4, !tbaa !5
  %4960 = load ptr, ptr %85, align 8, !tbaa !9
  %4961 = load ptr, ptr %90, align 8, !tbaa !9
  %4962 = call i32 @s2n_server_extensions_send(ptr noundef %4960, ptr noundef %4961)
  %4963 = icmp eq i32 %4962, -1
  br i1 %4963, label %4964, label %5017

4964:                                             ; preds = %4957
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %4967 = call ptr @__errno_location() #11
  %4968 = load i32, ptr %4967, align 4, !tbaa !5
  store i32 %4968, ptr %99, align 4, !tbaa !5
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = call i32 @s2n_print_stacktrace(ptr noundef %4969)
  %4971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4972 = trunc i8 %4971 to i1
  br i1 %4972, label %4973, label %4995

4973:                                             ; preds = %4966
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4975 = call i32 @fileno(ptr noundef %4974) #10
  %4976 = call i32 @isatty(i32 noundef %4975) #10
  %4977 = icmp ne i32 %4976, 0
  br i1 %4977, label %4978, label %4995

4978:                                             ; preds = %4973
  %4979 = load i32, ptr %99, align 4, !tbaa !5
  %4980 = call ptr @__errno_location() #11
  store i32 %4979, ptr %4980, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = load i32, ptr @test_count, align 4, !tbaa !5
  %4983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4984 = load i32, ptr %4983, align 4, !tbaa !5
  %4985 = call ptr @s2n_strerror(i32 noundef %4984, ptr noundef @.str.4)
  %4986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4987 = load i32, ptr %4986, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror_debug(i32 noundef %4987, ptr noundef @.str.4)
  %4989 = call ptr @__errno_location() #11
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @strerror(i32 noundef %4990) #10
  %4992 = call ptr @__errno_location() #11
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4981, ptr noundef @.str.2, i32 noundef %4982, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4985, ptr noundef %4988, ptr noundef %4991, i32 noundef %4993) #10
  br label %5012

4995:                                             ; preds = %4973, %4966
  %4996 = load i32, ptr %99, align 4, !tbaa !5
  %4997 = call ptr @__errno_location() #11
  store i32 %4996, ptr %4997, align 4, !tbaa !5
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = load i32, ptr @test_count, align 4, !tbaa !5
  %5000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef @.str.4)
  %5003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @s2n_strerror_debug(i32 noundef %5004, ptr noundef @.str.4)
  %5006 = call ptr @__errno_location() #11
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @strerror(i32 noundef %5007) #10
  %5009 = call ptr @__errno_location() #11
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4998, ptr noundef @.str.5, i32 noundef %4999, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 205, ptr noundef %5002, ptr noundef %5005, ptr noundef %5008, i32 noundef %5010) #10
  br label %5012

5012:                                             ; preds = %4995, %4978
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %5013

5013:                                             ; preds = %5012
  br label %5014

5014:                                             ; preds = %5013
  call void @exit(i32 noundef 1) #12
  unreachable

5015:                                             ; No predecessors!
  br label %5016

5016:                                             ; preds = %5015
  br label %5017

5017:                                             ; preds = %5016, %4957
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019
  br label %5021

5021:                                             ; preds = %5020
  %5022 = load i32, ptr @test_count, align 4, !tbaa !5
  %5023 = add nsw i32 %5022, 1
  store i32 %5023, ptr @test_count, align 4, !tbaa !5
  %5024 = load ptr, ptr %90, align 8, !tbaa !9
  %5025 = call i32 @s2n_stuffer_skip_read(ptr noundef %5024, i32 noundef 81)
  %5026 = icmp eq i32 %5025, -1
  br i1 %5026, label %5027, label %5080

5027:                                             ; preds = %5021
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %5030 = call ptr @__errno_location() #11
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  store i32 %5031, ptr %100, align 4, !tbaa !5
  %5032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5033 = call i32 @s2n_print_stacktrace(ptr noundef %5032)
  %5034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5035 = trunc i8 %5034 to i1
  br i1 %5035, label %5036, label %5058

5036:                                             ; preds = %5029
  %5037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5038 = call i32 @fileno(ptr noundef %5037) #10
  %5039 = call i32 @isatty(i32 noundef %5038) #10
  %5040 = icmp ne i32 %5039, 0
  br i1 %5040, label %5041, label %5058

5041:                                             ; preds = %5036
  %5042 = load i32, ptr %100, align 4, !tbaa !5
  %5043 = call ptr @__errno_location() #11
  store i32 %5042, ptr %5043, align 4, !tbaa !5
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = load i32, ptr @test_count, align 4, !tbaa !5
  %5046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call ptr @s2n_strerror(i32 noundef %5047, ptr noundef @.str.4)
  %5049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5050 = load i32, ptr %5049, align 4, !tbaa !5
  %5051 = call ptr @s2n_strerror_debug(i32 noundef %5050, ptr noundef @.str.4)
  %5052 = call ptr @__errno_location() #11
  %5053 = load i32, ptr %5052, align 4, !tbaa !5
  %5054 = call ptr @strerror(i32 noundef %5053) #10
  %5055 = call ptr @__errno_location() #11
  %5056 = load i32, ptr %5055, align 4, !tbaa !5
  %5057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5044, ptr noundef @.str.2, i32 noundef %5045, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 206, ptr noundef %5048, ptr noundef %5051, ptr noundef %5054, i32 noundef %5056) #10
  br label %5075

5058:                                             ; preds = %5036, %5029
  %5059 = load i32, ptr %100, align 4, !tbaa !5
  %5060 = call ptr @__errno_location() #11
  store i32 %5059, ptr %5060, align 4, !tbaa !5
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = load i32, ptr @test_count, align 4, !tbaa !5
  %5063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call ptr @s2n_strerror(i32 noundef %5064, ptr noundef @.str.4)
  %5066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5067 = load i32, ptr %5066, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror_debug(i32 noundef %5067, ptr noundef @.str.4)
  %5069 = call ptr @__errno_location() #11
  %5070 = load i32, ptr %5069, align 4, !tbaa !5
  %5071 = call ptr @strerror(i32 noundef %5070) #10
  %5072 = call ptr @__errno_location() #11
  %5073 = load i32, ptr %5072, align 4, !tbaa !5
  %5074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5061, ptr noundef @.str.5, i32 noundef %5062, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 206, ptr noundef %5065, ptr noundef %5068, ptr noundef %5071, i32 noundef %5073) #10
  br label %5075

5075:                                             ; preds = %5058, %5041
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

5077:                                             ; preds = %5076
  call void @exit(i32 noundef 1) #12
  unreachable

5078:                                             ; No predecessors!
  br label %5079

5079:                                             ; preds = %5078
  br label %5080

5080:                                             ; preds = %5079, %5021
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081
  br label %5083

5083:                                             ; preds = %5082
  %5084 = load i32, ptr @test_count, align 4, !tbaa !5
  %5085 = add nsw i32 %5084, 1
  store i32 %5085, ptr @test_count, align 4, !tbaa !5
  %5086 = load ptr, ptr %90, align 8, !tbaa !9
  %5087 = getelementptr inbounds %struct.s2n_stuffer, ptr %5086, i32 0, i32 2
  %5088 = load i32, ptr %5087, align 4, !tbaa !15
  %5089 = load ptr, ptr %90, align 8, !tbaa !9
  %5090 = getelementptr inbounds %struct.s2n_stuffer, ptr %5089, i32 0, i32 1
  %5091 = load i32, ptr %5090, align 8, !tbaa !18
  %5092 = sub i32 %5088, %5091
  %5093 = icmp eq i32 %5092, 0
  br i1 %5093, label %5147, label %5094

5094:                                             ; preds = %5083
  br label %5095

5095:                                             ; preds = %5094
  br label %5096

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

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

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

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

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

5143:                                             ; preds = %5142
  br label %5144

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

5145:                                             ; No predecessors!
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

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

5148:                                             ; preds = %5147
  br label %5149

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  br label %5152

5152:                                             ; preds = %5151
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = add nsw i32 %5153, 1
  store i32 %5154, ptr @test_count, align 4, !tbaa !5
  %5155 = call i32 (...) @s2n_disable_tls13_in_test()
  %5156 = icmp eq i32 %5155, -1
  br i1 %5156, label %5157, label %5210

5157:                                             ; preds = %5152
  br label %5158

5158:                                             ; preds = %5157
  br label %5159

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

5166:                                             ; preds = %5159
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = call i32 @fileno(ptr noundef %5167) #10
  %5169 = call i32 @isatty(i32 noundef %5168) #10
  %5170 = icmp ne i32 %5169, 0
  br i1 %5170, label %5171, label %5188

5171:                                             ; preds = %5166
  %5172 = load i32, ptr %102, align 4, !tbaa !5
  %5173 = call ptr @__errno_location() #11
  store i32 %5172, ptr %5173, align 4, !tbaa !5
  %5174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5175 = load i32, ptr @test_count, align 4, !tbaa !5
  %5176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5177 = load i32, ptr %5176, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror(i32 noundef %5177, ptr noundef @.str.4)
  %5179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5180 = load i32, ptr %5179, align 4, !tbaa !5
  %5181 = call ptr @s2n_strerror_debug(i32 noundef %5180, ptr noundef @.str.4)
  %5182 = call ptr @__errno_location() #11
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call ptr @strerror(i32 noundef %5183) #10
  %5185 = call ptr @__errno_location() #11
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5174, ptr noundef @.str.2, i32 noundef %5175, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 207, ptr noundef %5178, ptr noundef %5181, ptr noundef %5184, i32 noundef %5186) #10
  br label %5205

5188:                                             ; preds = %5166, %5159
  %5189 = load i32, ptr %102, align 4, !tbaa !5
  %5190 = call ptr @__errno_location() #11
  store i32 %5189, ptr %5190, align 4, !tbaa !5
  %5191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5192 = load i32, ptr @test_count, align 4, !tbaa !5
  %5193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror(i32 noundef %5194, ptr noundef @.str.4)
  %5196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror_debug(i32 noundef %5197, ptr noundef @.str.4)
  %5199 = call ptr @__errno_location() #11
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call ptr @strerror(i32 noundef %5200) #10
  %5202 = call ptr @__errno_location() #11
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5191, ptr noundef @.str.5, i32 noundef %5192, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 207, ptr noundef %5195, ptr noundef %5198, ptr noundef %5201, i32 noundef %5203) #10
  br label %5205

5205:                                             ; preds = %5188, %5171
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

5207:                                             ; preds = %5206
  call void @exit(i32 noundef 1) #12
  unreachable

5208:                                             ; No predecessors!
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209, %5152
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

5213:                                             ; preds = %5212
  %5214 = load i32, ptr @test_count, align 4, !tbaa !5
  %5215 = add nsw i32 %5214, 1
  store i32 %5215, ptr @test_count, align 4, !tbaa !5
  %5216 = load ptr, ptr %85, align 8, !tbaa !9
  %5217 = call i32 @s2n_connection_free(ptr noundef %5216)
  %5218 = icmp eq i32 %5217, -1
  br i1 %5218, label %5219, label %5272

5219:                                             ; preds = %5213
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

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

5228:                                             ; preds = %5221
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = call i32 @fileno(ptr noundef %5229) #10
  %5231 = call i32 @isatty(i32 noundef %5230) #10
  %5232 = icmp ne i32 %5231, 0
  br i1 %5232, label %5233, label %5250

5233:                                             ; preds = %5228
  %5234 = load i32, ptr %103, align 4, !tbaa !5
  %5235 = call ptr @__errno_location() #11
  store i32 %5234, ptr %5235, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror(i32 noundef %5239, ptr noundef @.str.4)
  %5241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef @.str.4)
  %5244 = call ptr @__errno_location() #11
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #10
  %5247 = call ptr @__errno_location() #11
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef @.str.2, i32 noundef %5237, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 209, ptr noundef %5240, ptr noundef %5243, ptr noundef %5246, i32 noundef %5248) #10
  br label %5267

5250:                                             ; preds = %5228, %5221
  %5251 = load i32, ptr %103, align 4, !tbaa !5
  %5252 = call ptr @__errno_location() #11
  store i32 %5251, ptr %5252, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = load i32, ptr @test_count, align 4, !tbaa !5
  %5255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  %5257 = call ptr @s2n_strerror(i32 noundef %5256, ptr noundef @.str.4)
  %5258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5259 = load i32, ptr %5258, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror_debug(i32 noundef %5259, ptr noundef @.str.4)
  %5261 = call ptr @__errno_location() #11
  %5262 = load i32, ptr %5261, align 4, !tbaa !5
  %5263 = call ptr @strerror(i32 noundef %5262) #10
  %5264 = call ptr @__errno_location() #11
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5253, ptr noundef @.str.5, i32 noundef %5254, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 209, ptr noundef %5257, ptr noundef %5260, ptr noundef %5263, i32 noundef %5265) #10
  br label %5267

5267:                                             ; preds = %5250, %5233
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %5268

5268:                                             ; preds = %5267
  br label %5269

5269:                                             ; preds = %5268
  call void @exit(i32 noundef 1) #12
  unreachable

5270:                                             ; No predecessors!
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

5272:                                             ; preds = %5271, %5213
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

5274:                                             ; preds = %5273
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %91) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #10
  store ptr null, ptr %104, align 8, !tbaa !9
  br label %5275

5275:                                             ; preds = %5274
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = add nsw i32 %5276, 1
  store i32 %5277, ptr @test_count, align 4, !tbaa !5
  %5278 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5278, ptr %104, align 8, !tbaa !9
  %5279 = icmp eq ptr %5278, null
  br i1 %5279, label %5280, label %5333

5280:                                             ; preds = %5275
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

5282:                                             ; preds = %5281
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %5283 = call ptr @__errno_location() #11
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  store i32 %5284, ptr %105, align 4, !tbaa !5
  %5285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5286 = call i32 @s2n_print_stacktrace(ptr noundef %5285)
  %5287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5288 = trunc i8 %5287 to i1
  br i1 %5288, label %5289, label %5311

5289:                                             ; preds = %5282
  %5290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5291 = call i32 @fileno(ptr noundef %5290) #10
  %5292 = call i32 @isatty(i32 noundef %5291) #10
  %5293 = icmp ne i32 %5292, 0
  br i1 %5293, label %5294, label %5311

5294:                                             ; preds = %5289
  %5295 = load i32, ptr %105, align 4, !tbaa !5
  %5296 = call ptr @__errno_location() #11
  store i32 %5295, ptr %5296, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror(i32 noundef %5300, ptr noundef @.str.4)
  %5302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror_debug(i32 noundef %5303, ptr noundef @.str.4)
  %5305 = call ptr @__errno_location() #11
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @strerror(i32 noundef %5306) #10
  %5308 = call ptr @__errno_location() #11
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5297, ptr noundef @.str.2, i32 noundef %5298, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 215, ptr noundef %5301, ptr noundef %5304, ptr noundef %5307, i32 noundef %5309) #10
  br label %5328

5311:                                             ; preds = %5289, %5282
  %5312 = load i32, ptr %105, align 4, !tbaa !5
  %5313 = call ptr @__errno_location() #11
  store i32 %5312, ptr %5313, align 4, !tbaa !5
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = load i32, ptr @test_count, align 4, !tbaa !5
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror(i32 noundef %5317, ptr noundef @.str.4)
  %5319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror_debug(i32 noundef %5320, ptr noundef @.str.4)
  %5322 = call ptr @__errno_location() #11
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #10
  %5325 = call ptr @__errno_location() #11
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5314, ptr noundef @.str.5, i32 noundef %5315, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 215, ptr noundef %5318, ptr noundef %5321, ptr noundef %5324, i32 noundef %5326) #10
  br label %5328

5328:                                             ; preds = %5311, %5294
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329
  call void @exit(i32 noundef 1) #12
  unreachable

5331:                                             ; No predecessors!
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332, %5275
  br label %5334

5334:                                             ; preds = %5333
  br label %5335

5335:                                             ; preds = %5334
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #10
  store i8 0, ptr %106, align 1, !tbaa !19
  br label %5336

5336:                                             ; preds = %5335
  %5337 = load i32, ptr @test_count, align 4, !tbaa !5
  %5338 = add nsw i32 %5337, 1
  store i32 %5338, ptr @test_count, align 4, !tbaa !5
  %5339 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 5, ptr noundef %106)
  %5340 = icmp eq i32 %5339, -1
  br i1 %5340, label %5341, label %5394

5341:                                             ; preds = %5336
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %5344 = call ptr @__errno_location() #11
  %5345 = load i32, ptr %5344, align 4, !tbaa !5
  store i32 %5345, ptr %107, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = call i32 @s2n_print_stacktrace(ptr noundef %5346)
  %5348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5349 = trunc i8 %5348 to i1
  br i1 %5349, label %5350, label %5372

5350:                                             ; preds = %5343
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @fileno(ptr noundef %5351) #10
  %5353 = call i32 @isatty(i32 noundef %5352) #10
  %5354 = icmp ne i32 %5353, 0
  br i1 %5354, label %5355, label %5372

5355:                                             ; preds = %5350
  %5356 = load i32, ptr %107, align 4, !tbaa !5
  %5357 = call ptr @__errno_location() #11
  store i32 %5356, ptr %5357, align 4, !tbaa !5
  %5358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5359 = load i32, ptr @test_count, align 4, !tbaa !5
  %5360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5361 = load i32, ptr %5360, align 4, !tbaa !5
  %5362 = call ptr @s2n_strerror(i32 noundef %5361, ptr noundef @.str.4)
  %5363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5364 = load i32, ptr %5363, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror_debug(i32 noundef %5364, ptr noundef @.str.4)
  %5366 = call ptr @__errno_location() #11
  %5367 = load i32, ptr %5366, align 4, !tbaa !5
  %5368 = call ptr @strerror(i32 noundef %5367) #10
  %5369 = call ptr @__errno_location() #11
  %5370 = load i32, ptr %5369, align 4, !tbaa !5
  %5371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5358, ptr noundef @.str.2, i32 noundef %5359, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5362, ptr noundef %5365, ptr noundef %5368, i32 noundef %5370) #10
  br label %5389

5372:                                             ; preds = %5350, %5343
  %5373 = load i32, ptr %107, align 4, !tbaa !5
  %5374 = call ptr @__errno_location() #11
  store i32 %5373, ptr %5374, align 4, !tbaa !5
  %5375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5376 = load i32, ptr @test_count, align 4, !tbaa !5
  %5377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5378 = load i32, ptr %5377, align 4, !tbaa !5
  %5379 = call ptr @s2n_strerror(i32 noundef %5378, ptr noundef @.str.4)
  %5380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  %5382 = call ptr @s2n_strerror_debug(i32 noundef %5381, ptr noundef @.str.4)
  %5383 = call ptr @__errno_location() #11
  %5384 = load i32, ptr %5383, align 4, !tbaa !5
  %5385 = call ptr @strerror(i32 noundef %5384) #10
  %5386 = call ptr @__errno_location() #11
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5375, ptr noundef @.str.5, i32 noundef %5376, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5379, ptr noundef %5382, ptr noundef %5385, i32 noundef %5387) #10
  br label %5389

5389:                                             ; preds = %5372, %5355
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %5390

5390:                                             ; preds = %5389
  br label %5391

5391:                                             ; preds = %5390
  call void @exit(i32 noundef 1) #12
  unreachable

5392:                                             ; No predecessors!
  br label %5393

5393:                                             ; preds = %5392
  br label %5394

5394:                                             ; preds = %5393, %5336
  br label %5395

5395:                                             ; preds = %5394
  br label %5396

5396:                                             ; preds = %5395
  %5397 = load i8, ptr %106, align 1, !tbaa !19
  %5398 = zext i8 %5397 to i32
  %5399 = srem i32 %5398, 8
  %5400 = shl i32 1, %5399
  %5401 = load ptr, ptr %104, align 8, !tbaa !9
  %5402 = getelementptr inbounds %struct.s2n_connection, ptr %5401, i32 0, i32 11
  %5403 = load i8, ptr %106, align 1, !tbaa !19
  %5404 = zext i8 %5403 to i32
  %5405 = ashr i32 %5404, 3
  %5406 = sext i32 %5405 to i64
  %5407 = getelementptr inbounds [22 x i8], ptr %5402, i64 0, i64 %5406
  %5408 = load i8, ptr %5407, align 1, !tbaa !19
  %5409 = sext i8 %5408 to i32
  %5410 = or i32 %5409, %5400
  %5411 = trunc i32 %5410 to i8
  store i8 %5411, ptr %5407, align 1, !tbaa !19
  br label %5412

5412:                                             ; preds = %5396
  %5413 = load i32, ptr @test_count, align 4, !tbaa !5
  %5414 = add nsw i32 %5413, 1
  store i32 %5414, ptr @test_count, align 4, !tbaa !5
  %5415 = load ptr, ptr %104, align 8, !tbaa !9
  %5416 = load ptr, ptr %12, align 8, !tbaa !9
  %5417 = call i32 @s2n_connection_set_config(ptr noundef %5415, ptr noundef %5416)
  %5418 = icmp eq i32 %5417, -1
  br i1 %5418, label %5419, label %5472

5419:                                             ; preds = %5412
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

5421:                                             ; preds = %5420
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5422 = call ptr @__errno_location() #11
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  store i32 %5423, ptr %108, align 4, !tbaa !5
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @s2n_print_stacktrace(ptr noundef %5424)
  %5426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5427 = trunc i8 %5426 to i1
  br i1 %5427, label %5428, label %5450

5428:                                             ; preds = %5421
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @fileno(ptr noundef %5429) #10
  %5431 = call i32 @isatty(i32 noundef %5430) #10
  %5432 = icmp ne i32 %5431, 0
  br i1 %5432, label %5433, label %5450

5433:                                             ; preds = %5428
  %5434 = load i32, ptr %108, align 4, !tbaa !5
  %5435 = call ptr @__errno_location() #11
  store i32 %5434, ptr %5435, align 4, !tbaa !5
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = load i32, ptr @test_count, align 4, !tbaa !5
  %5438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @s2n_strerror(i32 noundef %5439, ptr noundef @.str.4)
  %5441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror_debug(i32 noundef %5442, ptr noundef @.str.4)
  %5444 = call ptr @__errno_location() #11
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #10
  %5447 = call ptr @__errno_location() #11
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5436, ptr noundef @.str.2, i32 noundef %5437, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 219, ptr noundef %5440, ptr noundef %5443, ptr noundef %5446, i32 noundef %5448) #10
  br label %5467

5450:                                             ; preds = %5428, %5421
  %5451 = load i32, ptr %108, align 4, !tbaa !5
  %5452 = call ptr @__errno_location() #11
  store i32 %5451, ptr %5452, align 4, !tbaa !5
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @s2n_strerror(i32 noundef %5456, ptr noundef @.str.4)
  %5458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call ptr @s2n_strerror_debug(i32 noundef %5459, ptr noundef @.str.4)
  %5461 = call ptr @__errno_location() #11
  %5462 = load i32, ptr %5461, align 4, !tbaa !5
  %5463 = call ptr @strerror(i32 noundef %5462) #10
  %5464 = call ptr @__errno_location() #11
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef @.str.5, i32 noundef %5454, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 219, ptr noundef %5457, ptr noundef %5460, ptr noundef %5463, i32 noundef %5465) #10
  br label %5467

5467:                                             ; preds = %5450, %5433
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  call void @exit(i32 noundef 1) #12
  unreachable

5470:                                             ; No predecessors!
  br label %5471

5471:                                             ; preds = %5470
  br label %5472

5472:                                             ; preds = %5471, %5412
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #10
  %5475 = load ptr, ptr %104, align 8, !tbaa !9
  %5476 = getelementptr inbounds %struct.s2n_connection, ptr %5475, i32 0, i32 52
  %5477 = getelementptr inbounds %struct.s2n_handshake, ptr %5476, i32 0, i32 0
  store ptr %5477, ptr %109, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 88, ptr %110) #10
  call void @llvm.memset.p0.i64(ptr align 8 %110, i8 0, i64 88, i1 false)
  br label %5478

5478:                                             ; preds = %5474
  %5479 = load i32, ptr @test_count, align 4, !tbaa !5
  %5480 = add nsw i32 %5479, 1
  store i32 %5480, ptr @test_count, align 4, !tbaa !5
  %5481 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %110, i32 0, i32 2
  %5482 = call i32 @s2n_blob_init(ptr noundef %5481, ptr noundef @main.fake_ocsp, i32 noundef 3)
  %5483 = icmp eq i32 %5482, -1
  br i1 %5483, label %5484, label %5537

5484:                                             ; preds = %5478
  br label %5485

5485:                                             ; preds = %5484
  br label %5486

5486:                                             ; preds = %5485
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %5487 = call ptr @__errno_location() #11
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  store i32 %5488, ptr %111, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = call i32 @s2n_print_stacktrace(ptr noundef %5489)
  %5491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5492 = trunc i8 %5491 to i1
  br i1 %5492, label %5493, label %5515

5493:                                             ; preds = %5486
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = call i32 @fileno(ptr noundef %5494) #10
  %5496 = call i32 @isatty(i32 noundef %5495) #10
  %5497 = icmp ne i32 %5496, 0
  br i1 %5497, label %5498, label %5515

5498:                                             ; preds = %5493
  %5499 = load i32, ptr %111, align 4, !tbaa !5
  %5500 = call ptr @__errno_location() #11
  store i32 %5499, ptr %5500, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror(i32 noundef %5504, ptr noundef @.str.4)
  %5506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call ptr @s2n_strerror_debug(i32 noundef %5507, ptr noundef @.str.4)
  %5509 = call ptr @__errno_location() #11
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  %5511 = call ptr @strerror(i32 noundef %5510) #10
  %5512 = call ptr @__errno_location() #11
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5501, ptr noundef @.str.2, i32 noundef %5502, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5505, ptr noundef %5508, ptr noundef %5511, i32 noundef %5513) #10
  br label %5532

5515:                                             ; preds = %5493, %5486
  %5516 = load i32, ptr %111, align 4, !tbaa !5
  %5517 = call ptr @__errno_location() #11
  store i32 %5516, ptr %5517, align 4, !tbaa !5
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = load i32, ptr @test_count, align 4, !tbaa !5
  %5520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror(i32 noundef %5521, ptr noundef @.str.4)
  %5523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call ptr @s2n_strerror_debug(i32 noundef %5524, ptr noundef @.str.4)
  %5526 = call ptr @__errno_location() #11
  %5527 = load i32, ptr %5526, align 4, !tbaa !5
  %5528 = call ptr @strerror(i32 noundef %5527) #10
  %5529 = call ptr @__errno_location() #11
  %5530 = load i32, ptr %5529, align 4, !tbaa !5
  %5531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5518, ptr noundef @.str.5, i32 noundef %5519, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5522, ptr noundef %5525, ptr noundef %5528, i32 noundef %5530) #10
  br label %5532

5532:                                             ; preds = %5515, %5498
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  call void @exit(i32 noundef 1) #12
  unreachable

5535:                                             ; No predecessors!
  br label %5536

5536:                                             ; preds = %5535
  br label %5537

5537:                                             ; preds = %5536, %5478
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  %5540 = load ptr, ptr %104, align 8, !tbaa !9
  %5541 = getelementptr inbounds %struct.s2n_connection, ptr %5540, i32 0, i32 65
  store i32 1, ptr %5541, align 8, !tbaa !47
  %5542 = load ptr, ptr %104, align 8, !tbaa !9
  %5543 = getelementptr inbounds %struct.s2n_connection, ptr %5542, i32 0, i32 32
  %5544 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %5543, i32 0, i32 7
  store ptr %110, ptr %5544, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #10
  store i8 4, ptr %112, align 1, !tbaa !19
  br label %5545

5545:                                             ; preds = %5539
  %5546 = load i32, ptr @test_count, align 4, !tbaa !5
  %5547 = add nsw i32 %5546, 1
  store i32 %5547, ptr @test_count, align 4, !tbaa !5
  %5548 = load ptr, ptr %104, align 8, !tbaa !9
  %5549 = load ptr, ptr %109, align 8, !tbaa !9
  %5550 = call i32 @s2n_server_extensions_send(ptr noundef %5548, ptr noundef %5549)
  %5551 = icmp eq i32 %5550, -1
  br i1 %5551, label %5552, label %5605

5552:                                             ; preds = %5545
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

5554:                                             ; preds = %5553
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %5555 = call ptr @__errno_location() #11
  %5556 = load i32, ptr %5555, align 4, !tbaa !5
  store i32 %5556, ptr %113, align 4, !tbaa !5
  %5557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5558 = call i32 @s2n_print_stacktrace(ptr noundef %5557)
  %5559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5560 = trunc i8 %5559 to i1
  br i1 %5560, label %5561, label %5583

5561:                                             ; preds = %5554
  %5562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5563 = call i32 @fileno(ptr noundef %5562) #10
  %5564 = call i32 @isatty(i32 noundef %5563) #10
  %5565 = icmp ne i32 %5564, 0
  br i1 %5565, label %5566, label %5583

5566:                                             ; preds = %5561
  %5567 = load i32, ptr %113, align 4, !tbaa !5
  %5568 = call ptr @__errno_location() #11
  store i32 %5567, ptr %5568, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = load i32, ptr @test_count, align 4, !tbaa !5
  %5571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @s2n_strerror(i32 noundef %5572, ptr noundef @.str.4)
  %5574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call ptr @s2n_strerror_debug(i32 noundef %5575, ptr noundef @.str.4)
  %5577 = call ptr @__errno_location() #11
  %5578 = load i32, ptr %5577, align 4, !tbaa !5
  %5579 = call ptr @strerror(i32 noundef %5578) #10
  %5580 = call ptr @__errno_location() #11
  %5581 = load i32, ptr %5580, align 4, !tbaa !5
  %5582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5569, ptr noundef @.str.2, i32 noundef %5570, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5573, ptr noundef %5576, ptr noundef %5579, i32 noundef %5581) #10
  br label %5600

5583:                                             ; preds = %5561, %5554
  %5584 = load i32, ptr %113, align 4, !tbaa !5
  %5585 = call ptr @__errno_location() #11
  store i32 %5584, ptr %5585, align 4, !tbaa !5
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call ptr @s2n_strerror(i32 noundef %5589, ptr noundef @.str.4)
  %5591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5592 = load i32, ptr %5591, align 4, !tbaa !5
  %5593 = call ptr @s2n_strerror_debug(i32 noundef %5592, ptr noundef @.str.4)
  %5594 = call ptr @__errno_location() #11
  %5595 = load i32, ptr %5594, align 4, !tbaa !5
  %5596 = call ptr @strerror(i32 noundef %5595) #10
  %5597 = call ptr @__errno_location() #11
  %5598 = load i32, ptr %5597, align 4, !tbaa !5
  %5599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5586, ptr noundef @.str.5, i32 noundef %5587, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5590, ptr noundef %5593, ptr noundef %5596, i32 noundef %5598) #10
  br label %5600

5600:                                             ; preds = %5583, %5566
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  call void @exit(i32 noundef 1) #12
  unreachable

5603:                                             ; No predecessors!
  br label %5604

5604:                                             ; preds = %5603
  br label %5605

5605:                                             ; preds = %5604, %5545
  br label %5606

5606:                                             ; preds = %5605
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

5608:                                             ; preds = %5607
  br label %5609

5609:                                             ; preds = %5608
  %5610 = load i32, ptr @test_count, align 4, !tbaa !5
  %5611 = add nsw i32 %5610, 1
  store i32 %5611, ptr @test_count, align 4, !tbaa !5
  %5612 = load ptr, ptr %109, align 8, !tbaa !9
  %5613 = call i32 @s2n_stuffer_skip_read(ptr noundef %5612, i32 noundef 6)
  %5614 = icmp eq i32 %5613, -1
  br i1 %5614, label %5615, label %5668

5615:                                             ; preds = %5609
  br label %5616

5616:                                             ; preds = %5615
  br label %5617

5617:                                             ; preds = %5616
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5618 = call ptr @__errno_location() #11
  %5619 = load i32, ptr %5618, align 4, !tbaa !5
  store i32 %5619, ptr %114, align 4, !tbaa !5
  %5620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5621 = call i32 @s2n_print_stacktrace(ptr noundef %5620)
  %5622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5623 = trunc i8 %5622 to i1
  br i1 %5623, label %5624, label %5646

5624:                                             ; preds = %5617
  %5625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5626 = call i32 @fileno(ptr noundef %5625) #10
  %5627 = call i32 @isatty(i32 noundef %5626) #10
  %5628 = icmp ne i32 %5627, 0
  br i1 %5628, label %5629, label %5646

5629:                                             ; preds = %5624
  %5630 = load i32, ptr %114, align 4, !tbaa !5
  %5631 = call ptr @__errno_location() #11
  store i32 %5630, ptr %5631, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call ptr @s2n_strerror(i32 noundef %5635, ptr noundef @.str.4)
  %5637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror_debug(i32 noundef %5638, ptr noundef @.str.4)
  %5640 = call ptr @__errno_location() #11
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call ptr @strerror(i32 noundef %5641) #10
  %5643 = call ptr @__errno_location() #11
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5632, ptr noundef @.str.2, i32 noundef %5633, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 231, ptr noundef %5636, ptr noundef %5639, ptr noundef %5642, i32 noundef %5644) #10
  br label %5663

5646:                                             ; preds = %5624, %5617
  %5647 = load i32, ptr %114, align 4, !tbaa !5
  %5648 = call ptr @__errno_location() #11
  store i32 %5647, ptr %5648, align 4, !tbaa !5
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = load i32, ptr @test_count, align 4, !tbaa !5
  %5651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call ptr @s2n_strerror(i32 noundef %5652, ptr noundef @.str.4)
  %5654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5655 = load i32, ptr %5654, align 4, !tbaa !5
  %5656 = call ptr @s2n_strerror_debug(i32 noundef %5655, ptr noundef @.str.4)
  %5657 = call ptr @__errno_location() #11
  %5658 = load i32, ptr %5657, align 4, !tbaa !5
  %5659 = call ptr @strerror(i32 noundef %5658) #10
  %5660 = call ptr @__errno_location() #11
  %5661 = load i32, ptr %5660, align 4, !tbaa !5
  %5662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5649, ptr noundef @.str.5, i32 noundef %5650, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 231, ptr noundef %5653, ptr noundef %5656, ptr noundef %5659, i32 noundef %5661) #10
  br label %5663

5663:                                             ; preds = %5646, %5629
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5664

5664:                                             ; preds = %5663
  br label %5665

5665:                                             ; preds = %5664
  call void @exit(i32 noundef 1) #12
  unreachable

5666:                                             ; No predecessors!
  br label %5667

5667:                                             ; preds = %5666
  br label %5668

5668:                                             ; preds = %5667, %5609
  br label %5669

5669:                                             ; preds = %5668
  br label %5670

5670:                                             ; preds = %5669
  br label %5671

5671:                                             ; preds = %5670
  %5672 = load i32, ptr @test_count, align 4, !tbaa !5
  %5673 = add nsw i32 %5672, 1
  store i32 %5673, ptr @test_count, align 4, !tbaa !5
  %5674 = load ptr, ptr %109, align 8, !tbaa !9
  %5675 = getelementptr inbounds %struct.s2n_stuffer, ptr %5674, i32 0, i32 2
  %5676 = load i32, ptr %5675, align 4, !tbaa !15
  %5677 = load ptr, ptr %109, align 8, !tbaa !9
  %5678 = getelementptr inbounds %struct.s2n_stuffer, ptr %5677, i32 0, i32 1
  %5679 = load i32, ptr %5678, align 8, !tbaa !18
  %5680 = sub i32 %5676, %5679
  %5681 = icmp eq i32 %5680, 0
  br i1 %5681, label %5735, label %5682

5682:                                             ; preds = %5671
  br label %5683

5683:                                             ; preds = %5682
  br label %5684

5684:                                             ; preds = %5683
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %5685 = call ptr @__errno_location() #11
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  store i32 %5686, ptr %115, align 4, !tbaa !5
  %5687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5688 = call i32 @s2n_print_stacktrace(ptr noundef %5687)
  %5689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5690 = trunc i8 %5689 to i1
  br i1 %5690, label %5691, label %5713

5691:                                             ; preds = %5684
  %5692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5693 = call i32 @fileno(ptr noundef %5692) #10
  %5694 = call i32 @isatty(i32 noundef %5693) #10
  %5695 = icmp ne i32 %5694, 0
  br i1 %5695, label %5696, label %5713

5696:                                             ; preds = %5691
  %5697 = load i32, ptr %115, align 4, !tbaa !5
  %5698 = call ptr @__errno_location() #11
  store i32 %5697, ptr %5698, align 4, !tbaa !5
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = load i32, ptr @test_count, align 4, !tbaa !5
  %5701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call ptr @s2n_strerror(i32 noundef %5702, ptr noundef @.str.4)
  %5704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror_debug(i32 noundef %5705, ptr noundef @.str.4)
  %5707 = call ptr @__errno_location() #11
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @strerror(i32 noundef %5708) #10
  %5710 = call ptr @__errno_location() #11
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5699, ptr noundef @.str.2, i32 noundef %5700, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 231, ptr noundef %5703, ptr noundef %5706, ptr noundef %5709, i32 noundef %5711) #10
  br label %5730

5713:                                             ; preds = %5691, %5684
  %5714 = load i32, ptr %115, align 4, !tbaa !5
  %5715 = call ptr @__errno_location() #11
  store i32 %5714, ptr %5715, align 4, !tbaa !5
  %5716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5717 = load i32, ptr @test_count, align 4, !tbaa !5
  %5718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call ptr @s2n_strerror(i32 noundef %5719, ptr noundef @.str.4)
  %5721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call ptr @s2n_strerror_debug(i32 noundef %5722, ptr noundef @.str.4)
  %5724 = call ptr @__errno_location() #11
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @strerror(i32 noundef %5725) #10
  %5727 = call ptr @__errno_location() #11
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5716, ptr noundef @.str.5, i32 noundef %5717, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 231, ptr noundef %5720, ptr noundef %5723, ptr noundef %5726, i32 noundef %5728) #10
  br label %5730

5730:                                             ; preds = %5713, %5696
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %5731

5731:                                             ; preds = %5730
  br label %5732

5732:                                             ; preds = %5731
  call void @exit(i32 noundef 1) #12
  unreachable

5733:                                             ; No predecessors!
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734, %5671
  br label %5736

5736:                                             ; preds = %5735
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737
  br label %5739

5739:                                             ; preds = %5738
  br label %5740

5740:                                             ; preds = %5739
  %5741 = load i32, ptr @test_count, align 4, !tbaa !5
  %5742 = add nsw i32 %5741, 1
  store i32 %5742, ptr @test_count, align 4, !tbaa !5
  %5743 = call i32 (...) @s2n_enable_tls13_in_test()
  %5744 = icmp eq i32 %5743, -1
  br i1 %5744, label %5745, label %5798

5745:                                             ; preds = %5740
  br label %5746

5746:                                             ; preds = %5745
  br label %5747

5747:                                             ; preds = %5746
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %5748 = call ptr @__errno_location() #11
  %5749 = load i32, ptr %5748, align 4, !tbaa !5
  store i32 %5749, ptr %116, align 4, !tbaa !5
  %5750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5751 = call i32 @s2n_print_stacktrace(ptr noundef %5750)
  %5752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5753 = trunc i8 %5752 to i1
  br i1 %5753, label %5754, label %5776

5754:                                             ; preds = %5747
  %5755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5756 = call i32 @fileno(ptr noundef %5755) #10
  %5757 = call i32 @isatty(i32 noundef %5756) #10
  %5758 = icmp ne i32 %5757, 0
  br i1 %5758, label %5759, label %5776

5759:                                             ; preds = %5754
  %5760 = load i32, ptr %116, align 4, !tbaa !5
  %5761 = call ptr @__errno_location() #11
  store i32 %5760, ptr %5761, align 4, !tbaa !5
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = load i32, ptr @test_count, align 4, !tbaa !5
  %5764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @s2n_strerror(i32 noundef %5765, ptr noundef @.str.4)
  %5767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror_debug(i32 noundef %5768, ptr noundef @.str.4)
  %5770 = call ptr @__errno_location() #11
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @strerror(i32 noundef %5771) #10
  %5773 = call ptr @__errno_location() #11
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5762, ptr noundef @.str.2, i32 noundef %5763, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5766, ptr noundef %5769, ptr noundef %5772, i32 noundef %5774) #10
  br label %5793

5776:                                             ; preds = %5754, %5747
  %5777 = load i32, ptr %116, align 4, !tbaa !5
  %5778 = call ptr @__errno_location() #11
  store i32 %5777, ptr %5778, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %5781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5782 = load i32, ptr %5781, align 4, !tbaa !5
  %5783 = call ptr @s2n_strerror(i32 noundef %5782, ptr noundef @.str.4)
  %5784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @s2n_strerror_debug(i32 noundef %5785, ptr noundef @.str.4)
  %5787 = call ptr @__errno_location() #11
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call ptr @strerror(i32 noundef %5788) #10
  %5790 = call ptr @__errno_location() #11
  %5791 = load i32, ptr %5790, align 4, !tbaa !5
  %5792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5779, ptr noundef @.str.5, i32 noundef %5780, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5783, ptr noundef %5786, ptr noundef %5789, i32 noundef %5791) #10
  br label %5793

5793:                                             ; preds = %5776, %5759
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %5794

5794:                                             ; preds = %5793
  br label %5795

5795:                                             ; preds = %5794
  call void @exit(i32 noundef 1) #12
  unreachable

5796:                                             ; No predecessors!
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

5798:                                             ; preds = %5797, %5740
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5799
  br label %5801

5801:                                             ; preds = %5800
  %5802 = load i32, ptr @test_count, align 4, !tbaa !5
  %5803 = add nsw i32 %5802, 1
  store i32 %5803, ptr @test_count, align 4, !tbaa !5
  %5804 = load ptr, ptr %104, align 8, !tbaa !9
  %5805 = call i32 @configure_tls13_connection(ptr noundef %5804)
  %5806 = icmp eq i32 %5805, -1
  br i1 %5806, label %5807, label %5860

5807:                                             ; preds = %5801
  br label %5808

5808:                                             ; preds = %5807
  br label %5809

5809:                                             ; preds = %5808
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %5810 = call ptr @__errno_location() #11
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  store i32 %5811, ptr %117, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = call i32 @s2n_print_stacktrace(ptr noundef %5812)
  %5814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5815 = trunc i8 %5814 to i1
  br i1 %5815, label %5816, label %5838

5816:                                             ; preds = %5809
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = call i32 @fileno(ptr noundef %5817) #10
  %5819 = call i32 @isatty(i32 noundef %5818) #10
  %5820 = icmp ne i32 %5819, 0
  br i1 %5820, label %5821, label %5838

5821:                                             ; preds = %5816
  %5822 = load i32, ptr %117, align 4, !tbaa !5
  %5823 = call ptr @__errno_location() #11
  store i32 %5822, ptr %5823, align 4, !tbaa !5
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = load i32, ptr @test_count, align 4, !tbaa !5
  %5826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror(i32 noundef %5827, ptr noundef @.str.4)
  %5829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @s2n_strerror_debug(i32 noundef %5830, ptr noundef @.str.4)
  %5832 = call ptr @__errno_location() #11
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call ptr @strerror(i32 noundef %5833) #10
  %5835 = call ptr @__errno_location() #11
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  %5837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5824, ptr noundef @.str.2, i32 noundef %5825, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5828, ptr noundef %5831, ptr noundef %5834, i32 noundef %5836) #10
  br label %5855

5838:                                             ; preds = %5816, %5809
  %5839 = load i32, ptr %117, align 4, !tbaa !5
  %5840 = call ptr @__errno_location() #11
  store i32 %5839, ptr %5840, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = load i32, ptr @test_count, align 4, !tbaa !5
  %5843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5844 = load i32, ptr %5843, align 4, !tbaa !5
  %5845 = call ptr @s2n_strerror(i32 noundef %5844, ptr noundef @.str.4)
  %5846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5847 = load i32, ptr %5846, align 4, !tbaa !5
  %5848 = call ptr @s2n_strerror_debug(i32 noundef %5847, ptr noundef @.str.4)
  %5849 = call ptr @__errno_location() #11
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  %5851 = call ptr @strerror(i32 noundef %5850) #10
  %5852 = call ptr @__errno_location() #11
  %5853 = load i32, ptr %5852, align 4, !tbaa !5
  %5854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5841, ptr noundef @.str.5, i32 noundef %5842, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5845, ptr noundef %5848, ptr noundef %5851, i32 noundef %5853) #10
  br label %5855

5855:                                             ; preds = %5838, %5821
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %5856

5856:                                             ; preds = %5855
  br label %5857

5857:                                             ; preds = %5856
  call void @exit(i32 noundef 1) #12
  unreachable

5858:                                             ; No predecessors!
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

5860:                                             ; preds = %5859, %5801
  br label %5861

5861:                                             ; preds = %5860
  br label %5862

5862:                                             ; preds = %5861
  br label %5863

5863:                                             ; preds = %5862
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = add nsw i32 %5864, 1
  store i32 %5865, ptr @test_count, align 4, !tbaa !5
  %5866 = load ptr, ptr %104, align 8, !tbaa !9
  %5867 = load ptr, ptr %109, align 8, !tbaa !9
  %5868 = call i32 @s2n_server_extensions_send(ptr noundef %5866, ptr noundef %5867)
  %5869 = icmp eq i32 %5868, -1
  br i1 %5869, label %5870, label %5923

5870:                                             ; preds = %5863
  br label %5871

5871:                                             ; preds = %5870
  br label %5872

5872:                                             ; preds = %5871
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %5873 = call ptr @__errno_location() #11
  %5874 = load i32, ptr %5873, align 4, !tbaa !5
  store i32 %5874, ptr %118, align 4, !tbaa !5
  %5875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5876 = call i32 @s2n_print_stacktrace(ptr noundef %5875)
  %5877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5878 = trunc i8 %5877 to i1
  br i1 %5878, label %5879, label %5901

5879:                                             ; preds = %5872
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = call i32 @fileno(ptr noundef %5880) #10
  %5882 = call i32 @isatty(i32 noundef %5881) #10
  %5883 = icmp ne i32 %5882, 0
  br i1 %5883, label %5884, label %5901

5884:                                             ; preds = %5879
  %5885 = load i32, ptr %118, align 4, !tbaa !5
  %5886 = call ptr @__errno_location() #11
  store i32 %5885, ptr %5886, align 4, !tbaa !5
  %5887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5888 = load i32, ptr @test_count, align 4, !tbaa !5
  %5889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5890 = load i32, ptr %5889, align 4, !tbaa !5
  %5891 = call ptr @s2n_strerror(i32 noundef %5890, ptr noundef @.str.4)
  %5892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5893 = load i32, ptr %5892, align 4, !tbaa !5
  %5894 = call ptr @s2n_strerror_debug(i32 noundef %5893, ptr noundef @.str.4)
  %5895 = call ptr @__errno_location() #11
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = call ptr @strerror(i32 noundef %5896) #10
  %5898 = call ptr @__errno_location() #11
  %5899 = load i32, ptr %5898, align 4, !tbaa !5
  %5900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5887, ptr noundef @.str.2, i32 noundef %5888, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5891, ptr noundef %5894, ptr noundef %5897, i32 noundef %5899) #10
  br label %5918

5901:                                             ; preds = %5879, %5872
  %5902 = load i32, ptr %118, align 4, !tbaa !5
  %5903 = call ptr @__errno_location() #11
  store i32 %5902, ptr %5903, align 4, !tbaa !5
  %5904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5905 = load i32, ptr @test_count, align 4, !tbaa !5
  %5906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call ptr @s2n_strerror(i32 noundef %5907, ptr noundef @.str.4)
  %5909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call ptr @s2n_strerror_debug(i32 noundef %5910, ptr noundef @.str.4)
  %5912 = call ptr @__errno_location() #11
  %5913 = load i32, ptr %5912, align 4, !tbaa !5
  %5914 = call ptr @strerror(i32 noundef %5913) #10
  %5915 = call ptr @__errno_location() #11
  %5916 = load i32, ptr %5915, align 4, !tbaa !5
  %5917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5904, ptr noundef @.str.5, i32 noundef %5905, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5908, ptr noundef %5911, ptr noundef %5914, i32 noundef %5916) #10
  br label %5918

5918:                                             ; preds = %5901, %5884
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %5919

5919:                                             ; preds = %5918
  br label %5920

5920:                                             ; preds = %5919
  call void @exit(i32 noundef 1) #12
  unreachable

5921:                                             ; No predecessors!
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922, %5863
  br label %5924

5924:                                             ; preds = %5923
  br label %5925

5925:                                             ; preds = %5924
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926
  %5928 = load i32, ptr @test_count, align 4, !tbaa !5
  %5929 = add nsw i32 %5928, 1
  store i32 %5929, ptr @test_count, align 4, !tbaa !5
  %5930 = load ptr, ptr %109, align 8, !tbaa !9
  %5931 = call i32 @s2n_stuffer_skip_read(ptr noundef %5930, i32 noundef 81)
  %5932 = icmp eq i32 %5931, -1
  br i1 %5932, label %5933, label %5986

5933:                                             ; preds = %5927
  br label %5934

5934:                                             ; preds = %5933
  br label %5935

5935:                                             ; preds = %5934
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %5936 = call ptr @__errno_location() #11
  %5937 = load i32, ptr %5936, align 4, !tbaa !5
  store i32 %5937, ptr %119, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = call i32 @s2n_print_stacktrace(ptr noundef %5938)
  %5940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5941 = trunc i8 %5940 to i1
  br i1 %5941, label %5942, label %5964

5942:                                             ; preds = %5935
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = call i32 @fileno(ptr noundef %5943) #10
  %5945 = call i32 @isatty(i32 noundef %5944) #10
  %5946 = icmp ne i32 %5945, 0
  br i1 %5946, label %5947, label %5964

5947:                                             ; preds = %5942
  %5948 = load i32, ptr %119, align 4, !tbaa !5
  %5949 = call ptr @__errno_location() #11
  store i32 %5948, ptr %5949, align 4, !tbaa !5
  %5950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5951 = load i32, ptr @test_count, align 4, !tbaa !5
  %5952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5953 = load i32, ptr %5952, align 4, !tbaa !5
  %5954 = call ptr @s2n_strerror(i32 noundef %5953, ptr noundef @.str.4)
  %5955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror_debug(i32 noundef %5956, ptr noundef @.str.4)
  %5958 = call ptr @__errno_location() #11
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call ptr @strerror(i32 noundef %5959) #10
  %5961 = call ptr @__errno_location() #11
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5950, ptr noundef @.str.2, i32 noundef %5951, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5954, ptr noundef %5957, ptr noundef %5960, i32 noundef %5962) #10
  br label %5981

5964:                                             ; preds = %5942, %5935
  %5965 = load i32, ptr %119, align 4, !tbaa !5
  %5966 = call ptr @__errno_location() #11
  store i32 %5965, ptr %5966, align 4, !tbaa !5
  %5967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5968 = load i32, ptr @test_count, align 4, !tbaa !5
  %5969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5970 = load i32, ptr %5969, align 4, !tbaa !5
  %5971 = call ptr @s2n_strerror(i32 noundef %5970, ptr noundef @.str.4)
  %5972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5973 = load i32, ptr %5972, align 4, !tbaa !5
  %5974 = call ptr @s2n_strerror_debug(i32 noundef %5973, ptr noundef @.str.4)
  %5975 = call ptr @__errno_location() #11
  %5976 = load i32, ptr %5975, align 4, !tbaa !5
  %5977 = call ptr @strerror(i32 noundef %5976) #10
  %5978 = call ptr @__errno_location() #11
  %5979 = load i32, ptr %5978, align 4, !tbaa !5
  %5980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5967, ptr noundef @.str.5, i32 noundef %5968, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5971, ptr noundef %5974, ptr noundef %5977, i32 noundef %5979) #10
  br label %5981

5981:                                             ; preds = %5964, %5947
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %5982

5982:                                             ; preds = %5981
  br label %5983

5983:                                             ; preds = %5982
  call void @exit(i32 noundef 1) #12
  unreachable

5984:                                             ; No predecessors!
  br label %5985

5985:                                             ; preds = %5984
  br label %5986

5986:                                             ; preds = %5985, %5927
  br label %5987

5987:                                             ; preds = %5986
  br label %5988

5988:                                             ; preds = %5987
  br label %5989

5989:                                             ; preds = %5988
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = add nsw i32 %5990, 1
  store i32 %5991, ptr @test_count, align 4, !tbaa !5
  %5992 = load ptr, ptr %109, align 8, !tbaa !9
  %5993 = getelementptr inbounds %struct.s2n_stuffer, ptr %5992, i32 0, i32 2
  %5994 = load i32, ptr %5993, align 4, !tbaa !15
  %5995 = load ptr, ptr %109, align 8, !tbaa !9
  %5996 = getelementptr inbounds %struct.s2n_stuffer, ptr %5995, i32 0, i32 1
  %5997 = load i32, ptr %5996, align 8, !tbaa !18
  %5998 = sub i32 %5994, %5997
  %5999 = icmp eq i32 %5998, 0
  br i1 %5999, label %6053, label %6000

6000:                                             ; preds = %5989
  br label %6001

6001:                                             ; preds = %6000
  br label %6002

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

6009:                                             ; preds = %6002
  %6010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6011 = call i32 @fileno(ptr noundef %6010) #10
  %6012 = call i32 @isatty(i32 noundef %6011) #10
  %6013 = icmp ne i32 %6012, 0
  br i1 %6013, label %6014, label %6031

6014:                                             ; preds = %6009
  %6015 = load i32, ptr %120, align 4, !tbaa !5
  %6016 = call ptr @__errno_location() #11
  store i32 %6015, ptr %6016, align 4, !tbaa !5
  %6017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6018 = load i32, ptr @test_count, align 4, !tbaa !5
  %6019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6020 = load i32, ptr %6019, align 4, !tbaa !5
  %6021 = call ptr @s2n_strerror(i32 noundef %6020, ptr noundef @.str.4)
  %6022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6023 = load i32, ptr %6022, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef @.str.4)
  %6025 = call ptr @__errno_location() #11
  %6026 = load i32, ptr %6025, align 4, !tbaa !5
  %6027 = call ptr @strerror(i32 noundef %6026) #10
  %6028 = call ptr @__errno_location() #11
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6017, ptr noundef @.str.2, i32 noundef %6018, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 237, ptr noundef %6021, ptr noundef %6024, ptr noundef %6027, i32 noundef %6029) #10
  br label %6048

6031:                                             ; preds = %6009, %6002
  %6032 = load i32, ptr %120, align 4, !tbaa !5
  %6033 = call ptr @__errno_location() #11
  store i32 %6032, ptr %6033, align 4, !tbaa !5
  %6034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call ptr @s2n_strerror(i32 noundef %6037, ptr noundef @.str.4)
  %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_debug(i32 noundef %6040, ptr noundef @.str.4)
  %6042 = call ptr @__errno_location() #11
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @strerror(i32 noundef %6043) #10
  %6045 = call ptr @__errno_location() #11
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6034, ptr noundef @.str.5, i32 noundef %6035, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 237, ptr noundef %6038, ptr noundef %6041, ptr noundef %6044, i32 noundef %6046) #10
  br label %6048

6048:                                             ; preds = %6031, %6014
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %6049

6049:                                             ; preds = %6048
  br label %6050

6050:                                             ; preds = %6049
  call void @exit(i32 noundef 1) #12
  unreachable

6051:                                             ; No predecessors!
  br label %6052

6052:                                             ; preds = %6051
  br label %6053

6053:                                             ; preds = %6052, %5989
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  br label %6057

6057:                                             ; preds = %6056
  br label %6058

6058:                                             ; preds = %6057
  %6059 = load i32, ptr @test_count, align 4, !tbaa !5
  %6060 = add nsw i32 %6059, 1
  store i32 %6060, ptr @test_count, align 4, !tbaa !5
  %6061 = call i32 (...) @s2n_disable_tls13_in_test()
  %6062 = icmp eq i32 %6061, -1
  br i1 %6062, label %6063, label %6116

6063:                                             ; preds = %6058
  br label %6064

6064:                                             ; preds = %6063
  br label %6065

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

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

6077:                                             ; preds = %6072
  %6078 = load i32, ptr %121, align 4, !tbaa !5
  %6079 = call ptr @__errno_location() #11
  store i32 %6078, ptr %6079, align 4, !tbaa !5
  %6080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6081 = load i32, ptr @test_count, align 4, !tbaa !5
  %6082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6083 = load i32, ptr %6082, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror(i32 noundef %6083, ptr noundef @.str.4)
  %6085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6086 = load i32, ptr %6085, align 4, !tbaa !5
  %6087 = call ptr @s2n_strerror_debug(i32 noundef %6086, ptr noundef @.str.4)
  %6088 = call ptr @__errno_location() #11
  %6089 = load i32, ptr %6088, align 4, !tbaa !5
  %6090 = call ptr @strerror(i32 noundef %6089) #10
  %6091 = call ptr @__errno_location() #11
  %6092 = load i32, ptr %6091, align 4, !tbaa !5
  %6093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6080, ptr noundef @.str.2, i32 noundef %6081, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6084, ptr noundef %6087, ptr noundef %6090, i32 noundef %6092) #10
  br label %6111

6094:                                             ; preds = %6072, %6065
  %6095 = load i32, ptr %121, align 4, !tbaa !5
  %6096 = call ptr @__errno_location() #11
  store i32 %6095, ptr %6096, align 4, !tbaa !5
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = load i32, ptr @test_count, align 4, !tbaa !5
  %6099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  %6101 = call ptr @s2n_strerror(i32 noundef %6100, ptr noundef @.str.4)
  %6102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6103 = load i32, ptr %6102, align 4, !tbaa !5
  %6104 = call ptr @s2n_strerror_debug(i32 noundef %6103, ptr noundef @.str.4)
  %6105 = call ptr @__errno_location() #11
  %6106 = load i32, ptr %6105, align 4, !tbaa !5
  %6107 = call ptr @strerror(i32 noundef %6106) #10
  %6108 = call ptr @__errno_location() #11
  %6109 = load i32, ptr %6108, align 4, !tbaa !5
  %6110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6097, ptr noundef @.str.5, i32 noundef %6098, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6101, ptr noundef %6104, ptr noundef %6107, i32 noundef %6109) #10
  br label %6111

6111:                                             ; preds = %6094, %6077
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

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

6114:                                             ; No predecessors!
  br label %6115

6115:                                             ; preds = %6114
  br label %6116

6116:                                             ; preds = %6115, %6058
  br label %6117

6117:                                             ; preds = %6116
  br label %6118

6118:                                             ; preds = %6117
  br label %6119

6119:                                             ; preds = %6118
  %6120 = load i32, ptr @test_count, align 4, !tbaa !5
  %6121 = add nsw i32 %6120, 1
  store i32 %6121, ptr @test_count, align 4, !tbaa !5
  %6122 = load ptr, ptr %104, align 8, !tbaa !9
  %6123 = call i32 @s2n_connection_free(ptr noundef %6122)
  %6124 = icmp eq i32 %6123, -1
  br i1 %6124, label %6125, label %6178

6125:                                             ; preds = %6119
  br label %6126

6126:                                             ; preds = %6125
  br label %6127

6127:                                             ; preds = %6126
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %6128 = call ptr @__errno_location() #11
  %6129 = load i32, ptr %6128, align 4, !tbaa !5
  store i32 %6129, ptr %122, align 4, !tbaa !5
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @s2n_print_stacktrace(ptr noundef %6130)
  %6132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6133 = trunc i8 %6132 to i1
  br i1 %6133, label %6134, label %6156

6134:                                             ; preds = %6127
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = call i32 @fileno(ptr noundef %6135) #10
  %6137 = call i32 @isatty(i32 noundef %6136) #10
  %6138 = icmp ne i32 %6137, 0
  br i1 %6138, label %6139, label %6156

6139:                                             ; preds = %6134
  %6140 = load i32, ptr %122, align 4, !tbaa !5
  %6141 = call ptr @__errno_location() #11
  store i32 %6140, ptr %6141, align 4, !tbaa !5
  %6142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6143 = load i32, ptr @test_count, align 4, !tbaa !5
  %6144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror(i32 noundef %6145, ptr noundef @.str.4)
  %6147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6148 = load i32, ptr %6147, align 4, !tbaa !5
  %6149 = call ptr @s2n_strerror_debug(i32 noundef %6148, ptr noundef @.str.4)
  %6150 = call ptr @__errno_location() #11
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call ptr @strerror(i32 noundef %6151) #10
  %6153 = call ptr @__errno_location() #11
  %6154 = load i32, ptr %6153, align 4, !tbaa !5
  %6155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6142, ptr noundef @.str.2, i32 noundef %6143, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6146, ptr noundef %6149, ptr noundef %6152, i32 noundef %6154) #10
  br label %6173

6156:                                             ; preds = %6134, %6127
  %6157 = load i32, ptr %122, align 4, !tbaa !5
  %6158 = call ptr @__errno_location() #11
  store i32 %6157, ptr %6158, align 4, !tbaa !5
  %6159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6160 = load i32, ptr @test_count, align 4, !tbaa !5
  %6161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6162 = load i32, ptr %6161, align 4, !tbaa !5
  %6163 = call ptr @s2n_strerror(i32 noundef %6162, ptr noundef @.str.4)
  %6164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6165 = load i32, ptr %6164, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror_debug(i32 noundef %6165, ptr noundef @.str.4)
  %6167 = call ptr @__errno_location() #11
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call ptr @strerror(i32 noundef %6168) #10
  %6170 = call ptr @__errno_location() #11
  %6171 = load i32, ptr %6170, align 4, !tbaa !5
  %6172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6159, ptr noundef @.str.5, i32 noundef %6160, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6163, ptr noundef %6166, ptr noundef %6169, i32 noundef %6171) #10
  br label %6173

6173:                                             ; preds = %6156, %6139
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %6174

6174:                                             ; preds = %6173
  br label %6175

6175:                                             ; preds = %6174
  call void @exit(i32 noundef 1) #12
  unreachable

6176:                                             ; No predecessors!
  br label %6177

6177:                                             ; preds = %6176
  br label %6178

6178:                                             ; preds = %6177, %6119
  br label %6179

6179:                                             ; preds = %6178
  br label %6180

6180:                                             ; preds = %6179
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %110) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #10
  store ptr null, ptr %123, align 8, !tbaa !9
  br label %6181

6181:                                             ; preds = %6180
  %6182 = load i32, ptr @test_count, align 4, !tbaa !5
  %6183 = add nsw i32 %6182, 1
  store i32 %6183, ptr @test_count, align 4, !tbaa !5
  %6184 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6184, ptr %123, align 8, !tbaa !9
  %6185 = icmp eq ptr %6184, null
  br i1 %6185, label %6186, label %6239

6186:                                             ; preds = %6181
  br label %6187

6187:                                             ; preds = %6186
  br label %6188

6188:                                             ; preds = %6187
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %6189 = call ptr @__errno_location() #11
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  store i32 %6190, ptr %124, align 4, !tbaa !5
  %6191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6192 = call i32 @s2n_print_stacktrace(ptr noundef %6191)
  %6193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6194 = trunc i8 %6193 to i1
  br i1 %6194, label %6195, label %6217

6195:                                             ; preds = %6188
  %6196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6197 = call i32 @fileno(ptr noundef %6196) #10
  %6198 = call i32 @isatty(i32 noundef %6197) #10
  %6199 = icmp ne i32 %6198, 0
  br i1 %6199, label %6200, label %6217

6200:                                             ; preds = %6195
  %6201 = load i32, ptr %124, align 4, !tbaa !5
  %6202 = call ptr @__errno_location() #11
  store i32 %6201, ptr %6202, align 4, !tbaa !5
  %6203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6204 = load i32, ptr @test_count, align 4, !tbaa !5
  %6205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6206 = load i32, ptr %6205, align 4, !tbaa !5
  %6207 = call ptr @s2n_strerror(i32 noundef %6206, ptr noundef @.str.4)
  %6208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6209 = load i32, ptr %6208, align 4, !tbaa !5
  %6210 = call ptr @s2n_strerror_debug(i32 noundef %6209, ptr noundef @.str.4)
  %6211 = call ptr @__errno_location() #11
  %6212 = load i32, ptr %6211, align 4, !tbaa !5
  %6213 = call ptr @strerror(i32 noundef %6212) #10
  %6214 = call ptr @__errno_location() #11
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6203, ptr noundef @.str.2, i32 noundef %6204, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 246, ptr noundef %6207, ptr noundef %6210, ptr noundef %6213, i32 noundef %6215) #10
  br label %6234

6217:                                             ; preds = %6195, %6188
  %6218 = load i32, ptr %124, align 4, !tbaa !5
  %6219 = call ptr @__errno_location() #11
  store i32 %6218, ptr %6219, align 4, !tbaa !5
  %6220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6221 = load i32, ptr @test_count, align 4, !tbaa !5
  %6222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6223 = load i32, ptr %6222, align 4, !tbaa !5
  %6224 = call ptr @s2n_strerror(i32 noundef %6223, ptr noundef @.str.4)
  %6225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6226 = load i32, ptr %6225, align 4, !tbaa !5
  %6227 = call ptr @s2n_strerror_debug(i32 noundef %6226, ptr noundef @.str.4)
  %6228 = call ptr @__errno_location() #11
  %6229 = load i32, ptr %6228, align 4, !tbaa !5
  %6230 = call ptr @strerror(i32 noundef %6229) #10
  %6231 = call ptr @__errno_location() #11
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6220, ptr noundef @.str.5, i32 noundef %6221, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 246, ptr noundef %6224, ptr noundef %6227, ptr noundef %6230, i32 noundef %6232) #10
  br label %6234

6234:                                             ; preds = %6217, %6200
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

6236:                                             ; preds = %6235
  call void @exit(i32 noundef 1) #12
  unreachable

6237:                                             ; No predecessors!
  br label %6238

6238:                                             ; preds = %6237
  br label %6239

6239:                                             ; preds = %6238, %6181
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240
  br label %6242

6242:                                             ; preds = %6241
  %6243 = load i32, ptr @test_count, align 4, !tbaa !5
  %6244 = add nsw i32 %6243, 1
  store i32 %6244, ptr @test_count, align 4, !tbaa !5
  %6245 = load ptr, ptr %123, align 8, !tbaa !9
  %6246 = load ptr, ptr %12, align 8, !tbaa !9
  %6247 = call i32 @s2n_connection_set_config(ptr noundef %6245, ptr noundef %6246)
  %6248 = icmp eq i32 %6247, -1
  br i1 %6248, label %6249, label %6302

6249:                                             ; preds = %6242
  br label %6250

6250:                                             ; preds = %6249
  br label %6251

6251:                                             ; preds = %6250
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %6252 = call ptr @__errno_location() #11
  %6253 = load i32, ptr %6252, align 4, !tbaa !5
  store i32 %6253, ptr %125, align 4, !tbaa !5
  %6254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6255 = call i32 @s2n_print_stacktrace(ptr noundef %6254)
  %6256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6257 = trunc i8 %6256 to i1
  br i1 %6257, label %6258, label %6280

6258:                                             ; preds = %6251
  %6259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6260 = call i32 @fileno(ptr noundef %6259) #10
  %6261 = call i32 @isatty(i32 noundef %6260) #10
  %6262 = icmp ne i32 %6261, 0
  br i1 %6262, label %6263, label %6280

6263:                                             ; preds = %6258
  %6264 = load i32, ptr %125, align 4, !tbaa !5
  %6265 = call ptr @__errno_location() #11
  store i32 %6264, ptr %6265, align 4, !tbaa !5
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = load i32, ptr @test_count, align 4, !tbaa !5
  %6268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call ptr @s2n_strerror(i32 noundef %6269, ptr noundef @.str.4)
  %6271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6272 = load i32, ptr %6271, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror_debug(i32 noundef %6272, ptr noundef @.str.4)
  %6274 = call ptr @__errno_location() #11
  %6275 = load i32, ptr %6274, align 4, !tbaa !5
  %6276 = call ptr @strerror(i32 noundef %6275) #10
  %6277 = call ptr @__errno_location() #11
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  %6279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6266, ptr noundef @.str.2, i32 noundef %6267, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 247, ptr noundef %6270, ptr noundef %6273, ptr noundef %6276, i32 noundef %6278) #10
  br label %6297

6280:                                             ; preds = %6258, %6251
  %6281 = load i32, ptr %125, align 4, !tbaa !5
  %6282 = call ptr @__errno_location() #11
  store i32 %6281, ptr %6282, align 4, !tbaa !5
  %6283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6284 = load i32, ptr @test_count, align 4, !tbaa !5
  %6285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6286 = load i32, ptr %6285, align 4, !tbaa !5
  %6287 = call ptr @s2n_strerror(i32 noundef %6286, ptr noundef @.str.4)
  %6288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6289 = load i32, ptr %6288, align 4, !tbaa !5
  %6290 = call ptr @s2n_strerror_debug(i32 noundef %6289, ptr noundef @.str.4)
  %6291 = call ptr @__errno_location() #11
  %6292 = load i32, ptr %6291, align 4, !tbaa !5
  %6293 = call ptr @strerror(i32 noundef %6292) #10
  %6294 = call ptr @__errno_location() #11
  %6295 = load i32, ptr %6294, align 4, !tbaa !5
  %6296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6283, ptr noundef @.str.5, i32 noundef %6284, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 247, ptr noundef %6287, ptr noundef %6290, ptr noundef %6293, i32 noundef %6295) #10
  br label %6297

6297:                                             ; preds = %6280, %6263
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %6298

6298:                                             ; preds = %6297
  br label %6299

6299:                                             ; preds = %6298
  call void @exit(i32 noundef 1) #12
  unreachable

6300:                                             ; No predecessors!
  br label %6301

6301:                                             ; preds = %6300
  br label %6302

6302:                                             ; preds = %6301, %6242
  br label %6303

6303:                                             ; preds = %6302
  br label %6304

6304:                                             ; preds = %6303
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #10
  %6305 = load ptr, ptr %123, align 8, !tbaa !9
  %6306 = getelementptr inbounds %struct.s2n_connection, ptr %6305, i32 0, i32 52
  %6307 = getelementptr inbounds %struct.s2n_handshake, ptr %6306, i32 0, i32 0
  store ptr %6307, ptr %126, align 8, !tbaa !9
  %6308 = load ptr, ptr %123, align 8, !tbaa !9
  %6309 = load i32, ptr %6308, align 8
  %6310 = and i32 %6309, -9
  %6311 = or i32 %6310, 8
  store i32 %6311, ptr %6308, align 8
  br label %6312

6312:                                             ; preds = %6304
  %6313 = load i32, ptr @test_count, align 4, !tbaa !5
  %6314 = add nsw i32 %6313, 1
  store i32 %6314, ptr @test_count, align 4, !tbaa !5
  %6315 = load ptr, ptr %123, align 8, !tbaa !9
  %6316 = load ptr, ptr %126, align 8, !tbaa !9
  %6317 = call i32 @s2n_server_extensions_send(ptr noundef %6315, ptr noundef %6316)
  %6318 = icmp eq i32 %6317, -1
  br i1 %6318, label %6319, label %6372

6319:                                             ; preds = %6312
  br label %6320

6320:                                             ; preds = %6319
  br label %6321

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

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

6333:                                             ; preds = %6328
  %6334 = load i32, ptr %127, align 4, !tbaa !5
  %6335 = call ptr @__errno_location() #11
  store i32 %6334, ptr %6335, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = load i32, ptr @test_count, align 4, !tbaa !5
  %6338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @s2n_strerror(i32 noundef %6339, ptr noundef @.str.4)
  %6341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @s2n_strerror_debug(i32 noundef %6342, ptr noundef @.str.4)
  %6344 = call ptr @__errno_location() #11
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call ptr @strerror(i32 noundef %6345) #10
  %6347 = call ptr @__errno_location() #11
  %6348 = load i32, ptr %6347, align 4, !tbaa !5
  %6349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6336, ptr noundef @.str.2, i32 noundef %6337, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6340, ptr noundef %6343, ptr noundef %6346, i32 noundef %6348) #10
  br label %6367

6350:                                             ; preds = %6328, %6321
  %6351 = load i32, ptr %127, align 4, !tbaa !5
  %6352 = call ptr @__errno_location() #11
  store i32 %6351, ptr %6352, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @s2n_strerror(i32 noundef %6356, ptr noundef @.str.4)
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror_debug(i32 noundef %6359, ptr noundef @.str.4)
  %6361 = call ptr @__errno_location() #11
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #10
  %6364 = call ptr @__errno_location() #11
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef @.str.5, i32 noundef %6354, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6357, ptr noundef %6360, ptr noundef %6363, i32 noundef %6365) #10
  br label %6367

6367:                                             ; preds = %6350, %6333
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %6368

6368:                                             ; preds = %6367
  br label %6369

6369:                                             ; preds = %6368
  call void @exit(i32 noundef 1) #12
  unreachable

6370:                                             ; No predecessors!
  br label %6371

6371:                                             ; preds = %6370
  br label %6372

6372:                                             ; preds = %6371, %6312
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373
  br label %6375

6375:                                             ; preds = %6374
  br label %6376

6376:                                             ; preds = %6375
  %6377 = load i32, ptr @test_count, align 4, !tbaa !5
  %6378 = add nsw i32 %6377, 1
  store i32 %6378, ptr @test_count, align 4, !tbaa !5
  %6379 = load ptr, ptr %126, align 8, !tbaa !9
  %6380 = call i32 @s2n_stuffer_skip_read(ptr noundef %6379, i32 noundef 7)
  %6381 = icmp eq i32 %6380, -1
  br i1 %6381, label %6382, label %6435

6382:                                             ; preds = %6376
  br label %6383

6383:                                             ; preds = %6382
  br label %6384

6384:                                             ; preds = %6383
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %6385 = call ptr @__errno_location() #11
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  store i32 %6386, ptr %128, align 4, !tbaa !5
  %6387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6388 = call i32 @s2n_print_stacktrace(ptr noundef %6387)
  %6389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6390 = trunc i8 %6389 to i1
  br i1 %6390, label %6391, label %6413

6391:                                             ; preds = %6384
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @fileno(ptr noundef %6392) #10
  %6394 = call i32 @isatty(i32 noundef %6393) #10
  %6395 = icmp ne i32 %6394, 0
  br i1 %6395, label %6396, label %6413

6396:                                             ; preds = %6391
  %6397 = load i32, ptr %128, align 4, !tbaa !5
  %6398 = call ptr @__errno_location() #11
  store i32 %6397, ptr %6398, align 4, !tbaa !5
  %6399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6400 = load i32, ptr @test_count, align 4, !tbaa !5
  %6401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call ptr @s2n_strerror(i32 noundef %6402, ptr noundef @.str.4)
  %6404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror_debug(i32 noundef %6405, ptr noundef @.str.4)
  %6407 = call ptr @__errno_location() #11
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @strerror(i32 noundef %6408) #10
  %6410 = call ptr @__errno_location() #11
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6399, ptr noundef @.str.2, i32 noundef %6400, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6403, ptr noundef %6406, ptr noundef %6409, i32 noundef %6411) #10
  br label %6430

6413:                                             ; preds = %6391, %6384
  %6414 = load i32, ptr %128, align 4, !tbaa !5
  %6415 = call ptr @__errno_location() #11
  store i32 %6414, ptr %6415, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = load i32, ptr @test_count, align 4, !tbaa !5
  %6418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6419 = load i32, ptr %6418, align 4, !tbaa !5
  %6420 = call ptr @s2n_strerror(i32 noundef %6419, ptr noundef @.str.4)
  %6421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call ptr @s2n_strerror_debug(i32 noundef %6422, ptr noundef @.str.4)
  %6424 = call ptr @__errno_location() #11
  %6425 = load i32, ptr %6424, align 4, !tbaa !5
  %6426 = call ptr @strerror(i32 noundef %6425) #10
  %6427 = call ptr @__errno_location() #11
  %6428 = load i32, ptr %6427, align 4, !tbaa !5
  %6429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6416, ptr noundef @.str.5, i32 noundef %6417, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6420, ptr noundef %6423, ptr noundef %6426, i32 noundef %6428) #10
  br label %6430

6430:                                             ; preds = %6413, %6396
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %6431

6431:                                             ; preds = %6430
  br label %6432

6432:                                             ; preds = %6431
  call void @exit(i32 noundef 1) #12
  unreachable

6433:                                             ; No predecessors!
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

6435:                                             ; preds = %6434, %6376
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = add nsw i32 %6439, 1
  store i32 %6440, ptr @test_count, align 4, !tbaa !5
  %6441 = load ptr, ptr %126, align 8, !tbaa !9
  %6442 = getelementptr inbounds %struct.s2n_stuffer, ptr %6441, i32 0, i32 2
  %6443 = load i32, ptr %6442, align 4, !tbaa !15
  %6444 = load ptr, ptr %126, align 8, !tbaa !9
  %6445 = getelementptr inbounds %struct.s2n_stuffer, ptr %6444, i32 0, i32 1
  %6446 = load i32, ptr %6445, align 8, !tbaa !18
  %6447 = sub i32 %6443, %6446
  %6448 = icmp eq i32 %6447, 0
  br i1 %6448, label %6502, label %6449

6449:                                             ; preds = %6438
  br label %6450

6450:                                             ; preds = %6449
  br label %6451

6451:                                             ; preds = %6450
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %6452 = call ptr @__errno_location() #11
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  store i32 %6453, ptr %129, align 4, !tbaa !5
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @s2n_print_stacktrace(ptr noundef %6454)
  %6456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6457 = trunc i8 %6456 to i1
  br i1 %6457, label %6458, label %6480

6458:                                             ; preds = %6451
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = call i32 @fileno(ptr noundef %6459) #10
  %6461 = call i32 @isatty(i32 noundef %6460) #10
  %6462 = icmp ne i32 %6461, 0
  br i1 %6462, label %6463, label %6480

6463:                                             ; preds = %6458
  %6464 = load i32, ptr %129, align 4, !tbaa !5
  %6465 = call ptr @__errno_location() #11
  store i32 %6464, ptr %6465, align 4, !tbaa !5
  %6466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6467 = load i32, ptr @test_count, align 4, !tbaa !5
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror(i32 noundef %6469, ptr noundef @.str.4)
  %6471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror_debug(i32 noundef %6472, ptr noundef @.str.4)
  %6474 = call ptr @__errno_location() #11
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call ptr @strerror(i32 noundef %6475) #10
  %6477 = call ptr @__errno_location() #11
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6466, ptr noundef @.str.2, i32 noundef %6467, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6470, ptr noundef %6473, ptr noundef %6476, i32 noundef %6478) #10
  br label %6497

6480:                                             ; preds = %6458, %6451
  %6481 = load i32, ptr %129, align 4, !tbaa !5
  %6482 = call ptr @__errno_location() #11
  store i32 %6481, ptr %6482, align 4, !tbaa !5
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = load i32, ptr @test_count, align 4, !tbaa !5
  %6485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror(i32 noundef %6486, ptr noundef @.str.4)
  %6488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call ptr @s2n_strerror_debug(i32 noundef %6489, ptr noundef @.str.4)
  %6491 = call ptr @__errno_location() #11
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #10
  %6494 = call ptr @__errno_location() #11
  %6495 = load i32, ptr %6494, align 4, !tbaa !5
  %6496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6483, ptr noundef @.str.5, i32 noundef %6484, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6487, ptr noundef %6490, ptr noundef %6493, i32 noundef %6495) #10
  br label %6497

6497:                                             ; preds = %6480, %6463
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498
  call void @exit(i32 noundef 1) #12
  unreachable

6500:                                             ; No predecessors!
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501, %6438
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  br label %6505

6505:                                             ; preds = %6504
  br label %6506

6506:                                             ; preds = %6505
  %6507 = load ptr, ptr %123, align 8, !tbaa !9
  %6508 = load i32, ptr %6507, align 8
  %6509 = and i32 %6508, -9
  %6510 = or i32 %6509, 0
  store i32 %6510, ptr %6507, align 8
  br label %6511

6511:                                             ; preds = %6506
  %6512 = load i32, ptr @test_count, align 4, !tbaa !5
  %6513 = add nsw i32 %6512, 1
  store i32 %6513, ptr @test_count, align 4, !tbaa !5
  %6514 = load ptr, ptr %123, align 8, !tbaa !9
  %6515 = load ptr, ptr %126, align 8, !tbaa !9
  %6516 = call i32 @s2n_server_extensions_send(ptr noundef %6514, ptr noundef %6515)
  %6517 = icmp eq i32 %6516, -1
  br i1 %6517, label %6518, label %6571

6518:                                             ; preds = %6511
  br label %6519

6519:                                             ; preds = %6518
  br label %6520

6520:                                             ; preds = %6519
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6521 = call ptr @__errno_location() #11
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  store i32 %6522, ptr %130, align 4, !tbaa !5
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = call i32 @s2n_print_stacktrace(ptr noundef %6523)
  %6525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6526 = trunc i8 %6525 to i1
  br i1 %6526, label %6527, label %6549

6527:                                             ; preds = %6520
  %6528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6529 = call i32 @fileno(ptr noundef %6528) #10
  %6530 = call i32 @isatty(i32 noundef %6529) #10
  %6531 = icmp ne i32 %6530, 0
  br i1 %6531, label %6532, label %6549

6532:                                             ; preds = %6527
  %6533 = load i32, ptr %130, align 4, !tbaa !5
  %6534 = call ptr @__errno_location() #11
  store i32 %6533, ptr %6534, align 4, !tbaa !5
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = load i32, ptr @test_count, align 4, !tbaa !5
  %6537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6538 = load i32, ptr %6537, align 4, !tbaa !5
  %6539 = call ptr @s2n_strerror(i32 noundef %6538, ptr noundef @.str.4)
  %6540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @s2n_strerror_debug(i32 noundef %6541, ptr noundef @.str.4)
  %6543 = call ptr @__errno_location() #11
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @strerror(i32 noundef %6544) #10
  %6546 = call ptr @__errno_location() #11
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6535, ptr noundef @.str.2, i32 noundef %6536, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6539, ptr noundef %6542, ptr noundef %6545, i32 noundef %6547) #10
  br label %6566

6549:                                             ; preds = %6527, %6520
  %6550 = load i32, ptr %130, align 4, !tbaa !5
  %6551 = call ptr @__errno_location() #11
  store i32 %6550, ptr %6551, align 4, !tbaa !5
  %6552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6553 = load i32, ptr @test_count, align 4, !tbaa !5
  %6554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror(i32 noundef %6555, ptr noundef @.str.4)
  %6557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror_debug(i32 noundef %6558, ptr noundef @.str.4)
  %6560 = call ptr @__errno_location() #11
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call ptr @strerror(i32 noundef %6561) #10
  %6563 = call ptr @__errno_location() #11
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6552, ptr noundef @.str.5, i32 noundef %6553, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6556, ptr noundef %6559, ptr noundef %6562, i32 noundef %6564) #10
  br label %6566

6566:                                             ; preds = %6549, %6532
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6567

6567:                                             ; preds = %6566
  br label %6568

6568:                                             ; preds = %6567
  call void @exit(i32 noundef 1) #12
  unreachable

6569:                                             ; No predecessors!
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

6571:                                             ; preds = %6570, %6511
  br label %6572

6572:                                             ; preds = %6571
  br label %6573

6573:                                             ; preds = %6572
  br label %6574

6574:                                             ; preds = %6573
  br label %6575

6575:                                             ; preds = %6574
  %6576 = load i32, ptr @test_count, align 4, !tbaa !5
  %6577 = add nsw i32 %6576, 1
  store i32 %6577, ptr @test_count, align 4, !tbaa !5
  %6578 = load ptr, ptr %126, align 8, !tbaa !9
  %6579 = call i32 @s2n_stuffer_skip_read(ptr noundef %6578, i32 noundef 0)
  %6580 = icmp eq i32 %6579, -1
  br i1 %6580, label %6581, label %6634

6581:                                             ; preds = %6575
  br label %6582

6582:                                             ; preds = %6581
  br label %6583

6583:                                             ; preds = %6582
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6584 = call ptr @__errno_location() #11
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  store i32 %6585, ptr %131, align 4, !tbaa !5
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = call i32 @s2n_print_stacktrace(ptr noundef %6586)
  %6588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6589 = trunc i8 %6588 to i1
  br i1 %6589, label %6590, label %6612

6590:                                             ; preds = %6583
  %6591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6592 = call i32 @fileno(ptr noundef %6591) #10
  %6593 = call i32 @isatty(i32 noundef %6592) #10
  %6594 = icmp ne i32 %6593, 0
  br i1 %6594, label %6595, label %6612

6595:                                             ; preds = %6590
  %6596 = load i32, ptr %131, align 4, !tbaa !5
  %6597 = call ptr @__errno_location() #11
  store i32 %6596, ptr %6597, align 4, !tbaa !5
  %6598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6599 = load i32, ptr @test_count, align 4, !tbaa !5
  %6600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6601 = load i32, ptr %6600, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror(i32 noundef %6601, ptr noundef @.str.4)
  %6603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call ptr @s2n_strerror_debug(i32 noundef %6604, ptr noundef @.str.4)
  %6606 = call ptr @__errno_location() #11
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call ptr @strerror(i32 noundef %6607) #10
  %6609 = call ptr @__errno_location() #11
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6598, ptr noundef @.str.2, i32 noundef %6599, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6602, ptr noundef %6605, ptr noundef %6608, i32 noundef %6610) #10
  br label %6629

6612:                                             ; preds = %6590, %6583
  %6613 = load i32, ptr %131, align 4, !tbaa !5
  %6614 = call ptr @__errno_location() #11
  store i32 %6613, ptr %6614, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = load i32, ptr @test_count, align 4, !tbaa !5
  %6617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  %6619 = call ptr @s2n_strerror(i32 noundef %6618, ptr noundef @.str.4)
  %6620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call ptr @s2n_strerror_debug(i32 noundef %6621, ptr noundef @.str.4)
  %6623 = call ptr @__errno_location() #11
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call ptr @strerror(i32 noundef %6624) #10
  %6626 = call ptr @__errno_location() #11
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6615, ptr noundef @.str.5, i32 noundef %6616, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6619, ptr noundef %6622, ptr noundef %6625, i32 noundef %6627) #10
  br label %6629

6629:                                             ; preds = %6612, %6595
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6630

6630:                                             ; preds = %6629
  br label %6631

6631:                                             ; preds = %6630
  call void @exit(i32 noundef 1) #12
  unreachable

6632:                                             ; No predecessors!
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

6634:                                             ; preds = %6633, %6575
  br label %6635

6635:                                             ; preds = %6634
  br label %6636

6636:                                             ; preds = %6635
  br label %6637

6637:                                             ; preds = %6636
  %6638 = load i32, ptr @test_count, align 4, !tbaa !5
  %6639 = add nsw i32 %6638, 1
  store i32 %6639, ptr @test_count, align 4, !tbaa !5
  %6640 = load ptr, ptr %126, align 8, !tbaa !9
  %6641 = getelementptr inbounds %struct.s2n_stuffer, ptr %6640, i32 0, i32 2
  %6642 = load i32, ptr %6641, align 4, !tbaa !15
  %6643 = load ptr, ptr %126, align 8, !tbaa !9
  %6644 = getelementptr inbounds %struct.s2n_stuffer, ptr %6643, i32 0, i32 1
  %6645 = load i32, ptr %6644, align 8, !tbaa !18
  %6646 = sub i32 %6642, %6645
  %6647 = icmp eq i32 %6646, 0
  br i1 %6647, label %6701, label %6648

6648:                                             ; preds = %6637
  br label %6649

6649:                                             ; preds = %6648
  br label %6650

6650:                                             ; preds = %6649
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6651 = call ptr @__errno_location() #11
  %6652 = load i32, ptr %6651, align 4, !tbaa !5
  store i32 %6652, ptr %132, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = call i32 @s2n_print_stacktrace(ptr noundef %6653)
  %6655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6656 = trunc i8 %6655 to i1
  br i1 %6656, label %6657, label %6679

6657:                                             ; preds = %6650
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = call i32 @fileno(ptr noundef %6658) #10
  %6660 = call i32 @isatty(i32 noundef %6659) #10
  %6661 = icmp ne i32 %6660, 0
  br i1 %6661, label %6662, label %6679

6662:                                             ; preds = %6657
  %6663 = load i32, ptr %132, align 4, !tbaa !5
  %6664 = call ptr @__errno_location() #11
  store i32 %6663, ptr %6664, align 4, !tbaa !5
  %6665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6666 = load i32, ptr @test_count, align 4, !tbaa !5
  %6667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror(i32 noundef %6668, ptr noundef @.str.4)
  %6670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @s2n_strerror_debug(i32 noundef %6671, ptr noundef @.str.4)
  %6673 = call ptr @__errno_location() #11
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call ptr @strerror(i32 noundef %6674) #10
  %6676 = call ptr @__errno_location() #11
  %6677 = load i32, ptr %6676, align 4, !tbaa !5
  %6678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6665, ptr noundef @.str.2, i32 noundef %6666, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6669, ptr noundef %6672, ptr noundef %6675, i32 noundef %6677) #10
  br label %6696

6679:                                             ; preds = %6657, %6650
  %6680 = load i32, ptr %132, align 4, !tbaa !5
  %6681 = call ptr @__errno_location() #11
  store i32 %6680, ptr %6681, align 4, !tbaa !5
  %6682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6683 = load i32, ptr @test_count, align 4, !tbaa !5
  %6684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6685 = load i32, ptr %6684, align 4, !tbaa !5
  %6686 = call ptr @s2n_strerror(i32 noundef %6685, ptr noundef @.str.4)
  %6687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6688 = load i32, ptr %6687, align 4, !tbaa !5
  %6689 = call ptr @s2n_strerror_debug(i32 noundef %6688, ptr noundef @.str.4)
  %6690 = call ptr @__errno_location() #11
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @strerror(i32 noundef %6691) #10
  %6693 = call ptr @__errno_location() #11
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6682, ptr noundef @.str.5, i32 noundef %6683, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6686, ptr noundef %6689, ptr noundef %6692, i32 noundef %6694) #10
  br label %6696

6696:                                             ; preds = %6679, %6662
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %6697

6697:                                             ; preds = %6696
  br label %6698

6698:                                             ; preds = %6697
  call void @exit(i32 noundef 1) #12
  unreachable

6699:                                             ; No predecessors!
  br label %6700

6700:                                             ; preds = %6699
  br label %6701

6701:                                             ; preds = %6700, %6637
  br label %6702

6702:                                             ; preds = %6701
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

6704:                                             ; preds = %6703
  br label %6705

6705:                                             ; preds = %6704
  br label %6706

6706:                                             ; preds = %6705
  %6707 = load i32, ptr @test_count, align 4, !tbaa !5
  %6708 = add nsw i32 %6707, 1
  store i32 %6708, ptr @test_count, align 4, !tbaa !5
  %6709 = load ptr, ptr %123, align 8, !tbaa !9
  %6710 = call i32 @s2n_connection_free(ptr noundef %6709)
  %6711 = icmp eq i32 %6710, -1
  br i1 %6711, label %6712, label %6765

6712:                                             ; preds = %6706
  br label %6713

6713:                                             ; preds = %6712
  br label %6714

6714:                                             ; preds = %6713
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %6715 = call ptr @__errno_location() #11
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  store i32 %6716, ptr %133, align 4, !tbaa !5
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = call i32 @s2n_print_stacktrace(ptr noundef %6717)
  %6719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6720 = trunc i8 %6719 to i1
  br i1 %6720, label %6721, label %6743

6721:                                             ; preds = %6714
  %6722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6723 = call i32 @fileno(ptr noundef %6722) #10
  %6724 = call i32 @isatty(i32 noundef %6723) #10
  %6725 = icmp ne i32 %6724, 0
  br i1 %6725, label %6726, label %6743

6726:                                             ; preds = %6721
  %6727 = load i32, ptr %133, align 4, !tbaa !5
  %6728 = call ptr @__errno_location() #11
  store i32 %6727, ptr %6728, align 4, !tbaa !5
  %6729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6730 = load i32, ptr @test_count, align 4, !tbaa !5
  %6731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6732 = load i32, ptr %6731, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror(i32 noundef %6732, ptr noundef @.str.4)
  %6734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror_debug(i32 noundef %6735, ptr noundef @.str.4)
  %6737 = call ptr @__errno_location() #11
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call ptr @strerror(i32 noundef %6738) #10
  %6740 = call ptr @__errno_location() #11
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6729, ptr noundef @.str.2, i32 noundef %6730, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 257, ptr noundef %6733, ptr noundef %6736, ptr noundef %6739, i32 noundef %6741) #10
  br label %6760

6743:                                             ; preds = %6721, %6714
  %6744 = load i32, ptr %133, align 4, !tbaa !5
  %6745 = call ptr @__errno_location() #11
  store i32 %6744, ptr %6745, align 4, !tbaa !5
  %6746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6747 = load i32, ptr @test_count, align 4, !tbaa !5
  %6748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror(i32 noundef %6749, ptr noundef @.str.4)
  %6751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call ptr @s2n_strerror_debug(i32 noundef %6752, ptr noundef @.str.4)
  %6754 = call ptr @__errno_location() #11
  %6755 = load i32, ptr %6754, align 4, !tbaa !5
  %6756 = call ptr @strerror(i32 noundef %6755) #10
  %6757 = call ptr @__errno_location() #11
  %6758 = load i32, ptr %6757, align 4, !tbaa !5
  %6759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6746, ptr noundef @.str.5, i32 noundef %6747, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 257, ptr noundef %6750, ptr noundef %6753, ptr noundef %6756, i32 noundef %6758) #10
  br label %6760

6760:                                             ; preds = %6743, %6726
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6761

6761:                                             ; preds = %6760
  br label %6762

6762:                                             ; preds = %6761
  call void @exit(i32 noundef 1) #12
  unreachable

6763:                                             ; No predecessors!
  br label %6764

6764:                                             ; preds = %6763
  br label %6765

6765:                                             ; preds = %6764, %6706
  br label %6766

6766:                                             ; preds = %6765
  br label %6767

6767:                                             ; preds = %6766
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #10
  store ptr null, ptr %134, align 8, !tbaa !9
  br label %6768

6768:                                             ; preds = %6767
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = add nsw i32 %6769, 1
  store i32 %6770, ptr @test_count, align 4, !tbaa !5
  %6771 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6771, ptr %134, align 8, !tbaa !9
  %6772 = icmp eq ptr %6771, null
  br i1 %6772, label %6773, label %6826

6773:                                             ; preds = %6768
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

6775:                                             ; preds = %6774
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %6776 = call ptr @__errno_location() #11
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  store i32 %6777, ptr %135, align 4, !tbaa !5
  %6778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6779 = call i32 @s2n_print_stacktrace(ptr noundef %6778)
  %6780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6781 = trunc i8 %6780 to i1
  br i1 %6781, label %6782, label %6804

6782:                                             ; preds = %6775
  %6783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6784 = call i32 @fileno(ptr noundef %6783) #10
  %6785 = call i32 @isatty(i32 noundef %6784) #10
  %6786 = icmp ne i32 %6785, 0
  br i1 %6786, label %6787, label %6804

6787:                                             ; preds = %6782
  %6788 = load i32, ptr %135, align 4, !tbaa !5
  %6789 = call ptr @__errno_location() #11
  store i32 %6788, ptr %6789, align 4, !tbaa !5
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = load i32, ptr @test_count, align 4, !tbaa !5
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @s2n_strerror(i32 noundef %6793, ptr noundef @.str.4)
  %6795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @s2n_strerror_debug(i32 noundef %6796, ptr noundef @.str.4)
  %6798 = call ptr @__errno_location() #11
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @strerror(i32 noundef %6799) #10
  %6801 = call ptr @__errno_location() #11
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6790, ptr noundef @.str.2, i32 noundef %6791, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #10
  br label %6821

6804:                                             ; preds = %6782, %6775
  %6805 = load i32, ptr %135, align 4, !tbaa !5
  %6806 = call ptr @__errno_location() #11
  store i32 %6805, ptr %6806, align 4, !tbaa !5
  %6807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6808 = load i32, ptr @test_count, align 4, !tbaa !5
  %6809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @s2n_strerror(i32 noundef %6810, ptr noundef @.str.4)
  %6812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call ptr @s2n_strerror_debug(i32 noundef %6813, ptr noundef @.str.4)
  %6815 = call ptr @__errno_location() #11
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #10
  %6818 = call ptr @__errno_location() #11
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6807, ptr noundef @.str.5, i32 noundef %6808, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6811, ptr noundef %6814, ptr noundef %6817, i32 noundef %6819) #10
  br label %6821

6821:                                             ; preds = %6804, %6787
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %6822

6822:                                             ; preds = %6821
  br label %6823

6823:                                             ; preds = %6822
  call void @exit(i32 noundef 1) #12
  unreachable

6824:                                             ; No predecessors!
  br label %6825

6825:                                             ; preds = %6824
  br label %6826

6826:                                             ; preds = %6825, %6768
  br label %6827

6827:                                             ; preds = %6826
  br label %6828

6828:                                             ; preds = %6827
  call void @llvm.lifetime.start.p0(i64 1, ptr %136) #10
  store i8 0, ptr %136, align 1, !tbaa !19
  br label %6829

6829:                                             ; preds = %6828
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = add nsw i32 %6830, 1
  store i32 %6831, ptr @test_count, align 4, !tbaa !5
  %6832 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 35, ptr noundef %136)
  %6833 = icmp eq i32 %6832, -1
  br i1 %6833, label %6834, label %6887

6834:                                             ; preds = %6829
  br label %6835

6835:                                             ; preds = %6834
  br label %6836

6836:                                             ; preds = %6835
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6837 = call ptr @__errno_location() #11
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  store i32 %6838, ptr %137, align 4, !tbaa !5
  %6839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6840 = call i32 @s2n_print_stacktrace(ptr noundef %6839)
  %6841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6842 = trunc i8 %6841 to i1
  br i1 %6842, label %6843, label %6865

6843:                                             ; preds = %6836
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @fileno(ptr noundef %6844) #10
  %6846 = call i32 @isatty(i32 noundef %6845) #10
  %6847 = icmp ne i32 %6846, 0
  br i1 %6847, label %6848, label %6865

6848:                                             ; preds = %6843
  %6849 = load i32, ptr %137, align 4, !tbaa !5
  %6850 = call ptr @__errno_location() #11
  store i32 %6849, ptr %6850, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror(i32 noundef %6854, ptr noundef @.str.4)
  %6856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @s2n_strerror_debug(i32 noundef %6857, ptr noundef @.str.4)
  %6859 = call ptr @__errno_location() #11
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call ptr @strerror(i32 noundef %6860) #10
  %6862 = call ptr @__errno_location() #11
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  %6864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef @.str.2, i32 noundef %6852, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6855, ptr noundef %6858, ptr noundef %6861, i32 noundef %6863) #10
  br label %6882

6865:                                             ; preds = %6843, %6836
  %6866 = load i32, ptr %137, align 4, !tbaa !5
  %6867 = call ptr @__errno_location() #11
  store i32 %6866, ptr %6867, align 4, !tbaa !5
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = load i32, ptr @test_count, align 4, !tbaa !5
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror(i32 noundef %6871, ptr noundef @.str.4)
  %6873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @s2n_strerror_debug(i32 noundef %6874, ptr noundef @.str.4)
  %6876 = call ptr @__errno_location() #11
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call ptr @strerror(i32 noundef %6877) #10
  %6879 = call ptr @__errno_location() #11
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6868, ptr noundef @.str.5, i32 noundef %6869, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6872, ptr noundef %6875, ptr noundef %6878, i32 noundef %6880) #10
  br label %6882

6882:                                             ; preds = %6865, %6848
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883
  call void @exit(i32 noundef 1) #12
  unreachable

6885:                                             ; No predecessors!
  br label %6886

6886:                                             ; preds = %6885
  br label %6887

6887:                                             ; preds = %6886, %6829
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888
  %6890 = load i8, ptr %136, align 1, !tbaa !19
  %6891 = zext i8 %6890 to i32
  %6892 = srem i32 %6891, 8
  %6893 = shl i32 1, %6892
  %6894 = load ptr, ptr %134, align 8, !tbaa !9
  %6895 = getelementptr inbounds %struct.s2n_connection, ptr %6894, i32 0, i32 11
  %6896 = load i8, ptr %136, align 1, !tbaa !19
  %6897 = zext i8 %6896 to i32
  %6898 = ashr i32 %6897, 3
  %6899 = sext i32 %6898 to i64
  %6900 = getelementptr inbounds [22 x i8], ptr %6895, i64 0, i64 %6899
  %6901 = load i8, ptr %6900, align 1, !tbaa !19
  %6902 = sext i8 %6901 to i32
  %6903 = or i32 %6902, %6893
  %6904 = trunc i32 %6903 to i8
  store i8 %6904, ptr %6900, align 1, !tbaa !19
  br label %6905

6905:                                             ; preds = %6889
  %6906 = load i32, ptr @test_count, align 4, !tbaa !5
  %6907 = add nsw i32 %6906, 1
  store i32 %6907, ptr @test_count, align 4, !tbaa !5
  %6908 = load ptr, ptr %134, align 8, !tbaa !9
  %6909 = load ptr, ptr %12, align 8, !tbaa !9
  %6910 = call i32 @s2n_connection_set_config(ptr noundef %6908, ptr noundef %6909)
  %6911 = icmp eq i32 %6910, -1
  br i1 %6911, label %6912, label %6965

6912:                                             ; preds = %6905
  br label %6913

6913:                                             ; preds = %6912
  br label %6914

6914:                                             ; preds = %6913
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6915 = call ptr @__errno_location() #11
  %6916 = load i32, ptr %6915, align 4, !tbaa !5
  store i32 %6916, ptr %138, align 4, !tbaa !5
  %6917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6918 = call i32 @s2n_print_stacktrace(ptr noundef %6917)
  %6919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6920 = trunc i8 %6919 to i1
  br i1 %6920, label %6921, label %6943

6921:                                             ; preds = %6914
  %6922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6923 = call i32 @fileno(ptr noundef %6922) #10
  %6924 = call i32 @isatty(i32 noundef %6923) #10
  %6925 = icmp ne i32 %6924, 0
  br i1 %6925, label %6926, label %6943

6926:                                             ; preds = %6921
  %6927 = load i32, ptr %138, align 4, !tbaa !5
  %6928 = call ptr @__errno_location() #11
  store i32 %6927, ptr %6928, align 4, !tbaa !5
  %6929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6930 = load i32, ptr @test_count, align 4, !tbaa !5
  %6931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6932 = load i32, ptr %6931, align 4, !tbaa !5
  %6933 = call ptr @s2n_strerror(i32 noundef %6932, ptr noundef @.str.4)
  %6934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror_debug(i32 noundef %6935, ptr noundef @.str.4)
  %6937 = call ptr @__errno_location() #11
  %6938 = load i32, ptr %6937, align 4, !tbaa !5
  %6939 = call ptr @strerror(i32 noundef %6938) #10
  %6940 = call ptr @__errno_location() #11
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6929, ptr noundef @.str.2, i32 noundef %6930, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6933, ptr noundef %6936, ptr noundef %6939, i32 noundef %6941) #10
  br label %6960

6943:                                             ; preds = %6921, %6914
  %6944 = load i32, ptr %138, align 4, !tbaa !5
  %6945 = call ptr @__errno_location() #11
  store i32 %6944, ptr %6945, align 4, !tbaa !5
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror(i32 noundef %6949, ptr noundef @.str.4)
  %6951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  %6953 = call ptr @s2n_strerror_debug(i32 noundef %6952, ptr noundef @.str.4)
  %6954 = call ptr @__errno_location() #11
  %6955 = load i32, ptr %6954, align 4, !tbaa !5
  %6956 = call ptr @strerror(i32 noundef %6955) #10
  %6957 = call ptr @__errno_location() #11
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6946, ptr noundef @.str.5, i32 noundef %6947, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6950, ptr noundef %6953, ptr noundef %6956, i32 noundef %6958) #10
  br label %6960

6960:                                             ; preds = %6943, %6926
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6961

6961:                                             ; preds = %6960
  br label %6962

6962:                                             ; preds = %6961
  call void @exit(i32 noundef 1) #12
  unreachable

6963:                                             ; No predecessors!
  br label %6964

6964:                                             ; preds = %6963
  br label %6965

6965:                                             ; preds = %6964, %6905
  br label %6966

6966:                                             ; preds = %6965
  br label %6967

6967:                                             ; preds = %6966
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #10
  %6968 = load ptr, ptr %134, align 8, !tbaa !9
  %6969 = getelementptr inbounds %struct.s2n_connection, ptr %6968, i32 0, i32 52
  %6970 = getelementptr inbounds %struct.s2n_handshake, ptr %6969, i32 0, i32 0
  store ptr %6970, ptr %139, align 8, !tbaa !9
  br label %6971

6971:                                             ; preds = %6967
  %6972 = load i32, ptr @test_count, align 4, !tbaa !5
  %6973 = add nsw i32 %6972, 1
  store i32 %6973, ptr @test_count, align 4, !tbaa !5
  %6974 = load ptr, ptr %134, align 8, !tbaa !9
  %6975 = load ptr, ptr %139, align 8, !tbaa !9
  %6976 = call i32 @s2n_server_extensions_send(ptr noundef %6974, ptr noundef %6975)
  %6977 = icmp eq i32 %6976, -1
  br i1 %6977, label %6978, label %7031

6978:                                             ; preds = %6971
  br label %6979

6979:                                             ; preds = %6978
  br label %6980

6980:                                             ; preds = %6979
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %6981 = call ptr @__errno_location() #11
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  store i32 %6982, ptr %140, align 4, !tbaa !5
  %6983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6984 = call i32 @s2n_print_stacktrace(ptr noundef %6983)
  %6985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6986 = trunc i8 %6985 to i1
  br i1 %6986, label %6987, label %7009

6987:                                             ; preds = %6980
  %6988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6989 = call i32 @fileno(ptr noundef %6988) #10
  %6990 = call i32 @isatty(i32 noundef %6989) #10
  %6991 = icmp ne i32 %6990, 0
  br i1 %6991, label %6992, label %7009

6992:                                             ; preds = %6987
  %6993 = load i32, ptr %140, align 4, !tbaa !5
  %6994 = call ptr @__errno_location() #11
  store i32 %6993, ptr %6994, align 4, !tbaa !5
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = load i32, ptr @test_count, align 4, !tbaa !5
  %6997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call ptr @s2n_strerror(i32 noundef %6998, ptr noundef @.str.4)
  %7000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7001 = load i32, ptr %7000, align 4, !tbaa !5
  %7002 = call ptr @s2n_strerror_debug(i32 noundef %7001, ptr noundef @.str.4)
  %7003 = call ptr @__errno_location() #11
  %7004 = load i32, ptr %7003, align 4, !tbaa !5
  %7005 = call ptr @strerror(i32 noundef %7004) #10
  %7006 = call ptr @__errno_location() #11
  %7007 = load i32, ptr %7006, align 4, !tbaa !5
  %7008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6995, ptr noundef @.str.2, i32 noundef %6996, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6999, ptr noundef %7002, ptr noundef %7005, i32 noundef %7007) #10
  br label %7026

7009:                                             ; preds = %6987, %6980
  %7010 = load i32, ptr %140, align 4, !tbaa !5
  %7011 = call ptr @__errno_location() #11
  store i32 %7010, ptr %7011, align 4, !tbaa !5
  %7012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7013 = load i32, ptr @test_count, align 4, !tbaa !5
  %7014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7015 = load i32, ptr %7014, align 4, !tbaa !5
  %7016 = call ptr @s2n_strerror(i32 noundef %7015, ptr noundef @.str.4)
  %7017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7018 = load i32, ptr %7017, align 4, !tbaa !5
  %7019 = call ptr @s2n_strerror_debug(i32 noundef %7018, ptr noundef @.str.4)
  %7020 = call ptr @__errno_location() #11
  %7021 = load i32, ptr %7020, align 4, !tbaa !5
  %7022 = call ptr @strerror(i32 noundef %7021) #10
  %7023 = call ptr @__errno_location() #11
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  %7025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7012, ptr noundef @.str.5, i32 noundef %7013, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 270, ptr noundef %7016, ptr noundef %7019, ptr noundef %7022, i32 noundef %7024) #10
  br label %7026

7026:                                             ; preds = %7009, %6992
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %7027

7027:                                             ; preds = %7026
  br label %7028

7028:                                             ; preds = %7027
  call void @exit(i32 noundef 1) #12
  unreachable

7029:                                             ; No predecessors!
  br label %7030

7030:                                             ; preds = %7029
  br label %7031

7031:                                             ; preds = %7030, %6971
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

7033:                                             ; preds = %7032
  br label %7034

7034:                                             ; preds = %7033
  br label %7035

7035:                                             ; preds = %7034
  %7036 = load i32, ptr @test_count, align 4, !tbaa !5
  %7037 = add nsw i32 %7036, 1
  store i32 %7037, ptr @test_count, align 4, !tbaa !5
  %7038 = load ptr, ptr %139, align 8, !tbaa !9
  %7039 = call i32 @s2n_stuffer_skip_read(ptr noundef %7038, i32 noundef 0)
  %7040 = icmp eq i32 %7039, -1
  br i1 %7040, label %7041, label %7094

7041:                                             ; preds = %7035
  br label %7042

7042:                                             ; preds = %7041
  br label %7043

7043:                                             ; preds = %7042
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %7044 = call ptr @__errno_location() #11
  %7045 = load i32, ptr %7044, align 4, !tbaa !5
  store i32 %7045, ptr %141, align 4, !tbaa !5
  %7046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7047 = call i32 @s2n_print_stacktrace(ptr noundef %7046)
  %7048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7049 = trunc i8 %7048 to i1
  br i1 %7049, label %7050, label %7072

7050:                                             ; preds = %7043
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = call i32 @fileno(ptr noundef %7051) #10
  %7053 = call i32 @isatty(i32 noundef %7052) #10
  %7054 = icmp ne i32 %7053, 0
  br i1 %7054, label %7055, label %7072

7055:                                             ; preds = %7050
  %7056 = load i32, ptr %141, align 4, !tbaa !5
  %7057 = call ptr @__errno_location() #11
  store i32 %7056, ptr %7057, align 4, !tbaa !5
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = load i32, ptr @test_count, align 4, !tbaa !5
  %7060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7061 = load i32, ptr %7060, align 4, !tbaa !5
  %7062 = call ptr @s2n_strerror(i32 noundef %7061, ptr noundef @.str.4)
  %7063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7064 = load i32, ptr %7063, align 4, !tbaa !5
  %7065 = call ptr @s2n_strerror_debug(i32 noundef %7064, ptr noundef @.str.4)
  %7066 = call ptr @__errno_location() #11
  %7067 = load i32, ptr %7066, align 4, !tbaa !5
  %7068 = call ptr @strerror(i32 noundef %7067) #10
  %7069 = call ptr @__errno_location() #11
  %7070 = load i32, ptr %7069, align 4, !tbaa !5
  %7071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7058, ptr noundef @.str.2, i32 noundef %7059, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7062, ptr noundef %7065, ptr noundef %7068, i32 noundef %7070) #10
  br label %7089

7072:                                             ; preds = %7050, %7043
  %7073 = load i32, ptr %141, align 4, !tbaa !5
  %7074 = call ptr @__errno_location() #11
  store i32 %7073, ptr %7074, align 4, !tbaa !5
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = load i32, ptr @test_count, align 4, !tbaa !5
  %7077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7078 = load i32, ptr %7077, align 4, !tbaa !5
  %7079 = call ptr @s2n_strerror(i32 noundef %7078, ptr noundef @.str.4)
  %7080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  %7082 = call ptr @s2n_strerror_debug(i32 noundef %7081, ptr noundef @.str.4)
  %7083 = call ptr @__errno_location() #11
  %7084 = load i32, ptr %7083, align 4, !tbaa !5
  %7085 = call ptr @strerror(i32 noundef %7084) #10
  %7086 = call ptr @__errno_location() #11
  %7087 = load i32, ptr %7086, align 4, !tbaa !5
  %7088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7075, ptr noundef @.str.5, i32 noundef %7076, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7079, ptr noundef %7082, ptr noundef %7085, i32 noundef %7087) #10
  br label %7089

7089:                                             ; preds = %7072, %7055
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %7090

7090:                                             ; preds = %7089
  br label %7091

7091:                                             ; preds = %7090
  call void @exit(i32 noundef 1) #12
  unreachable

7092:                                             ; No predecessors!
  br label %7093

7093:                                             ; preds = %7092
  br label %7094

7094:                                             ; preds = %7093, %7035
  br label %7095

7095:                                             ; preds = %7094
  br label %7096

7096:                                             ; preds = %7095
  br label %7097

7097:                                             ; preds = %7096
  %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 = load ptr, ptr %139, align 8, !tbaa !9
  %7101 = getelementptr inbounds %struct.s2n_stuffer, ptr %7100, i32 0, i32 2
  %7102 = load i32, ptr %7101, align 4, !tbaa !15
  %7103 = load ptr, ptr %139, align 8, !tbaa !9
  %7104 = getelementptr inbounds %struct.s2n_stuffer, ptr %7103, i32 0, i32 1
  %7105 = load i32, ptr %7104, align 8, !tbaa !18
  %7106 = sub i32 %7102, %7105
  %7107 = icmp eq i32 %7106, 0
  br i1 %7107, label %7161, label %7108

7108:                                             ; preds = %7097
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %7111 = call ptr @__errno_location() #11
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  store i32 %7112, ptr %142, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = call i32 @s2n_print_stacktrace(ptr noundef %7113)
  %7115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7116 = trunc i8 %7115 to i1
  br i1 %7116, label %7117, label %7139

7117:                                             ; preds = %7110
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = call i32 @fileno(ptr noundef %7118) #10
  %7120 = call i32 @isatty(i32 noundef %7119) #10
  %7121 = icmp ne i32 %7120, 0
  br i1 %7121, label %7122, label %7139

7122:                                             ; preds = %7117
  %7123 = load i32, ptr %142, align 4, !tbaa !5
  %7124 = call ptr @__errno_location() #11
  store i32 %7123, ptr %7124, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @s2n_strerror(i32 noundef %7128, ptr noundef @.str.4)
  %7130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call ptr @s2n_strerror_debug(i32 noundef %7131, ptr noundef @.str.4)
  %7133 = call ptr @__errno_location() #11
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  %7135 = call ptr @strerror(i32 noundef %7134) #10
  %7136 = call ptr @__errno_location() #11
  %7137 = load i32, ptr %7136, align 4, !tbaa !5
  %7138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef @.str.2, i32 noundef %7126, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7129, ptr noundef %7132, ptr noundef %7135, i32 noundef %7137) #10
  br label %7156

7139:                                             ; preds = %7117, %7110
  %7140 = load i32, ptr %142, align 4, !tbaa !5
  %7141 = call ptr @__errno_location() #11
  store i32 %7140, ptr %7141, align 4, !tbaa !5
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7145, ptr noundef @.str.4)
  %7147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef @.str.4)
  %7150 = call ptr @__errno_location() #11
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call ptr @strerror(i32 noundef %7151) #10
  %7153 = call ptr @__errno_location() #11
  %7154 = load i32, ptr %7153, align 4, !tbaa !5
  %7155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7142, ptr noundef @.str.5, i32 noundef %7143, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7146, ptr noundef %7149, ptr noundef %7152, i32 noundef %7154) #10
  br label %7156

7156:                                             ; preds = %7139, %7122
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %7157

7157:                                             ; preds = %7156
  br label %7158

7158:                                             ; preds = %7157
  call void @exit(i32 noundef 1) #12
  unreachable

7159:                                             ; No predecessors!
  br label %7160

7160:                                             ; preds = %7159
  br label %7161

7161:                                             ; preds = %7160, %7097
  br label %7162

7162:                                             ; preds = %7161
  br label %7163

7163:                                             ; preds = %7162
  br label %7164

7164:                                             ; preds = %7163
  br label %7165

7165:                                             ; preds = %7164
  %7166 = load ptr, ptr %134, align 8, !tbaa !9
  %7167 = getelementptr inbounds %struct.s2n_connection, ptr %7166, i32 0, i32 1
  %7168 = load ptr, ptr %7167, align 8, !tbaa !48
  %7169 = load i32, ptr %7168, align 8
  %7170 = and i32 %7169, -2
  %7171 = or i32 %7170, 1
  store i32 %7171, ptr %7168, align 8
  %7172 = load ptr, ptr %134, align 8, !tbaa !9
  %7173 = getelementptr inbounds %struct.s2n_connection, ptr %7172, i32 0, i32 76
  store i32 2, ptr %7173, align 4, !tbaa !49
  br label %7174

7174:                                             ; preds = %7165
  %7175 = load i32, ptr @test_count, align 4, !tbaa !5
  %7176 = add nsw i32 %7175, 1
  store i32 %7176, ptr @test_count, align 4, !tbaa !5
  %7177 = load ptr, ptr %134, align 8, !tbaa !9
  %7178 = load ptr, ptr %139, align 8, !tbaa !9
  %7179 = call i32 @s2n_server_extensions_send(ptr noundef %7177, ptr noundef %7178)
  %7180 = icmp eq i32 %7179, -1
  br i1 %7180, label %7181, label %7234

7181:                                             ; preds = %7174
  br label %7182

7182:                                             ; preds = %7181
  br label %7183

7183:                                             ; preds = %7182
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %7184 = call ptr @__errno_location() #11
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  store i32 %7185, ptr %143, align 4, !tbaa !5
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = call i32 @s2n_print_stacktrace(ptr noundef %7186)
  %7188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7189 = trunc i8 %7188 to i1
  br i1 %7189, label %7190, label %7212

7190:                                             ; preds = %7183
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = call i32 @fileno(ptr noundef %7191) #10
  %7193 = call i32 @isatty(i32 noundef %7192) #10
  %7194 = icmp ne i32 %7193, 0
  br i1 %7194, label %7195, label %7212

7195:                                             ; preds = %7190
  %7196 = load i32, ptr %143, align 4, !tbaa !5
  %7197 = call ptr @__errno_location() #11
  store i32 %7196, ptr %7197, align 4, !tbaa !5
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = load i32, ptr @test_count, align 4, !tbaa !5
  %7200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7201 = load i32, ptr %7200, align 4, !tbaa !5
  %7202 = call ptr @s2n_strerror(i32 noundef %7201, ptr noundef @.str.4)
  %7203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7204 = load i32, ptr %7203, align 4, !tbaa !5
  %7205 = call ptr @s2n_strerror_debug(i32 noundef %7204, ptr noundef @.str.4)
  %7206 = call ptr @__errno_location() #11
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  %7208 = call ptr @strerror(i32 noundef %7207) #10
  %7209 = call ptr @__errno_location() #11
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  %7211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7198, ptr noundef @.str.2, i32 noundef %7199, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7202, ptr noundef %7205, ptr noundef %7208, i32 noundef %7210) #10
  br label %7229

7212:                                             ; preds = %7190, %7183
  %7213 = load i32, ptr %143, align 4, !tbaa !5
  %7214 = call ptr @__errno_location() #11
  store i32 %7213, ptr %7214, align 4, !tbaa !5
  %7215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7216 = load i32, ptr @test_count, align 4, !tbaa !5
  %7217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7218 = load i32, ptr %7217, align 4, !tbaa !5
  %7219 = call ptr @s2n_strerror(i32 noundef %7218, ptr noundef @.str.4)
  %7220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7221 = load i32, ptr %7220, align 4, !tbaa !5
  %7222 = call ptr @s2n_strerror_debug(i32 noundef %7221, ptr noundef @.str.4)
  %7223 = call ptr @__errno_location() #11
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call ptr @strerror(i32 noundef %7224) #10
  %7226 = call ptr @__errno_location() #11
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7215, ptr noundef @.str.5, i32 noundef %7216, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7219, ptr noundef %7222, ptr noundef %7225, i32 noundef %7227) #10
  br label %7229

7229:                                             ; preds = %7212, %7195
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %7230

7230:                                             ; preds = %7229
  br label %7231

7231:                                             ; preds = %7230
  call void @exit(i32 noundef 1) #12
  unreachable

7232:                                             ; No predecessors!
  br label %7233

7233:                                             ; preds = %7232
  br label %7234

7234:                                             ; preds = %7233, %7174
  br label %7235

7235:                                             ; preds = %7234
  br label %7236

7236:                                             ; preds = %7235
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237
  %7239 = load i32, ptr @test_count, align 4, !tbaa !5
  %7240 = add nsw i32 %7239, 1
  store i32 %7240, ptr @test_count, align 4, !tbaa !5
  %7241 = load ptr, ptr %139, align 8, !tbaa !9
  %7242 = call i32 @s2n_stuffer_skip_read(ptr noundef %7241, i32 noundef 6)
  %7243 = icmp eq i32 %7242, -1
  br i1 %7243, label %7244, label %7297

7244:                                             ; preds = %7238
  br label %7245

7245:                                             ; preds = %7244
  br label %7246

7246:                                             ; preds = %7245
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %7247 = call ptr @__errno_location() #11
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  store i32 %7248, ptr %144, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @s2n_print_stacktrace(ptr noundef %7249)
  %7251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7252 = trunc i8 %7251 to i1
  br i1 %7252, label %7253, label %7275

7253:                                             ; preds = %7246
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = call i32 @fileno(ptr noundef %7254) #10
  %7256 = call i32 @isatty(i32 noundef %7255) #10
  %7257 = icmp ne i32 %7256, 0
  br i1 %7257, label %7258, label %7275

7258:                                             ; preds = %7253
  %7259 = load i32, ptr %144, align 4, !tbaa !5
  %7260 = call ptr @__errno_location() #11
  store i32 %7259, ptr %7260, align 4, !tbaa !5
  %7261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7262 = load i32, ptr @test_count, align 4, !tbaa !5
  %7263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call ptr @s2n_strerror(i32 noundef %7264, ptr noundef @.str.4)
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror_debug(i32 noundef %7267, ptr noundef @.str.4)
  %7269 = call ptr @__errno_location() #11
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @strerror(i32 noundef %7270) #10
  %7272 = call ptr @__errno_location() #11
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7261, ptr noundef @.str.2, i32 noundef %7262, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7265, ptr noundef %7268, ptr noundef %7271, i32 noundef %7273) #10
  br label %7292

7275:                                             ; preds = %7253, %7246
  %7276 = load i32, ptr %144, align 4, !tbaa !5
  %7277 = call ptr @__errno_location() #11
  store i32 %7276, ptr %7277, align 4, !tbaa !5
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @s2n_strerror(i32 noundef %7281, ptr noundef @.str.4)
  %7283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror_debug(i32 noundef %7284, ptr noundef @.str.4)
  %7286 = call ptr @__errno_location() #11
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call ptr @strerror(i32 noundef %7287) #10
  %7289 = call ptr @__errno_location() #11
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7278, ptr noundef @.str.5, i32 noundef %7279, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7282, ptr noundef %7285, ptr noundef %7288, i32 noundef %7290) #10
  br label %7292

7292:                                             ; preds = %7275, %7258
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %7293

7293:                                             ; preds = %7292
  br label %7294

7294:                                             ; preds = %7293
  call void @exit(i32 noundef 1) #12
  unreachable

7295:                                             ; No predecessors!
  br label %7296

7296:                                             ; preds = %7295
  br label %7297

7297:                                             ; preds = %7296, %7238
  br label %7298

7298:                                             ; preds = %7297
  br label %7299

7299:                                             ; preds = %7298
  br label %7300

7300:                                             ; preds = %7299
  %7301 = load i32, ptr @test_count, align 4, !tbaa !5
  %7302 = add nsw i32 %7301, 1
  store i32 %7302, ptr @test_count, align 4, !tbaa !5
  %7303 = load ptr, ptr %139, align 8, !tbaa !9
  %7304 = getelementptr inbounds %struct.s2n_stuffer, ptr %7303, i32 0, i32 2
  %7305 = load i32, ptr %7304, align 4, !tbaa !15
  %7306 = load ptr, ptr %139, align 8, !tbaa !9
  %7307 = getelementptr inbounds %struct.s2n_stuffer, ptr %7306, i32 0, i32 1
  %7308 = load i32, ptr %7307, align 8, !tbaa !18
  %7309 = sub i32 %7305, %7308
  %7310 = icmp eq i32 %7309, 0
  br i1 %7310, label %7364, label %7311

7311:                                             ; preds = %7300
  br label %7312

7312:                                             ; preds = %7311
  br label %7313

7313:                                             ; preds = %7312
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %7314 = call ptr @__errno_location() #11
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  store i32 %7315, ptr %145, align 4, !tbaa !5
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @s2n_print_stacktrace(ptr noundef %7316)
  %7318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7319 = trunc i8 %7318 to i1
  br i1 %7319, label %7320, label %7342

7320:                                             ; preds = %7313
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = call i32 @fileno(ptr noundef %7321) #10
  %7323 = call i32 @isatty(i32 noundef %7322) #10
  %7324 = icmp ne i32 %7323, 0
  br i1 %7324, label %7325, label %7342

7325:                                             ; preds = %7320
  %7326 = load i32, ptr %145, align 4, !tbaa !5
  %7327 = call ptr @__errno_location() #11
  store i32 %7326, ptr %7327, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7331 = load i32, ptr %7330, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror(i32 noundef %7331, ptr noundef @.str.4)
  %7333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @s2n_strerror_debug(i32 noundef %7334, ptr noundef @.str.4)
  %7336 = call ptr @__errno_location() #11
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call ptr @strerror(i32 noundef %7337) #10
  %7339 = call ptr @__errno_location() #11
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7328, ptr noundef @.str.2, i32 noundef %7329, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7332, ptr noundef %7335, ptr noundef %7338, i32 noundef %7340) #10
  br label %7359

7342:                                             ; preds = %7320, %7313
  %7343 = load i32, ptr %145, align 4, !tbaa !5
  %7344 = call ptr @__errno_location() #11
  store i32 %7343, ptr %7344, align 4, !tbaa !5
  %7345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7348 = load i32, ptr %7347, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror(i32 noundef %7348, ptr noundef @.str.4)
  %7350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror_debug(i32 noundef %7351, ptr noundef @.str.4)
  %7353 = call ptr @__errno_location() #11
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call ptr @strerror(i32 noundef %7354) #10
  %7356 = call ptr @__errno_location() #11
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7345, ptr noundef @.str.5, i32 noundef %7346, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7349, ptr noundef %7352, ptr noundef %7355, i32 noundef %7357) #10
  br label %7359

7359:                                             ; preds = %7342, %7325
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7360

7360:                                             ; preds = %7359
  br label %7361

7361:                                             ; preds = %7360
  call void @exit(i32 noundef 1) #12
  unreachable

7362:                                             ; No predecessors!
  br label %7363

7363:                                             ; preds = %7362
  br label %7364

7364:                                             ; preds = %7363, %7300
  br label %7365

7365:                                             ; preds = %7364
  br label %7366

7366:                                             ; preds = %7365
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

7368:                                             ; preds = %7367
  br label %7369

7369:                                             ; preds = %7368
  %7370 = load i32, ptr @test_count, align 4, !tbaa !5
  %7371 = add nsw i32 %7370, 1
  store i32 %7371, ptr @test_count, align 4, !tbaa !5
  %7372 = load ptr, ptr %134, align 8, !tbaa !9
  %7373 = call i32 @s2n_connection_free(ptr noundef %7372)
  %7374 = icmp eq i32 %7373, -1
  br i1 %7374, label %7375, label %7428

7375:                                             ; preds = %7369
  br label %7376

7376:                                             ; preds = %7375
  br label %7377

7377:                                             ; preds = %7376
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %7378 = call ptr @__errno_location() #11
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  store i32 %7379, ptr %146, align 4, !tbaa !5
  %7380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7381 = call i32 @s2n_print_stacktrace(ptr noundef %7380)
  %7382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7383 = trunc i8 %7382 to i1
  br i1 %7383, label %7384, label %7406

7384:                                             ; preds = %7377
  %7385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7386 = call i32 @fileno(ptr noundef %7385) #10
  %7387 = call i32 @isatty(i32 noundef %7386) #10
  %7388 = icmp ne i32 %7387, 0
  br i1 %7388, label %7389, label %7406

7389:                                             ; preds = %7384
  %7390 = load i32, ptr %146, align 4, !tbaa !5
  %7391 = call ptr @__errno_location() #11
  store i32 %7390, ptr %7391, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = load i32, ptr @test_count, align 4, !tbaa !5
  %7394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @s2n_strerror(i32 noundef %7395, ptr noundef @.str.4)
  %7397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call ptr @s2n_strerror_debug(i32 noundef %7398, ptr noundef @.str.4)
  %7400 = call ptr @__errno_location() #11
  %7401 = load i32, ptr %7400, align 4, !tbaa !5
  %7402 = call ptr @strerror(i32 noundef %7401) #10
  %7403 = call ptr @__errno_location() #11
  %7404 = load i32, ptr %7403, align 4, !tbaa !5
  %7405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7392, ptr noundef @.str.2, i32 noundef %7393, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7396, ptr noundef %7399, ptr noundef %7402, i32 noundef %7404) #10
  br label %7423

7406:                                             ; preds = %7384, %7377
  %7407 = load i32, ptr %146, align 4, !tbaa !5
  %7408 = call ptr @__errno_location() #11
  store i32 %7407, ptr %7408, align 4, !tbaa !5
  %7409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7410 = load i32, ptr @test_count, align 4, !tbaa !5
  %7411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror(i32 noundef %7412, ptr noundef @.str.4)
  %7414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror_debug(i32 noundef %7415, ptr noundef @.str.4)
  %7417 = call ptr @__errno_location() #11
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @strerror(i32 noundef %7418) #10
  %7420 = call ptr @__errno_location() #11
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7409, ptr noundef @.str.5, i32 noundef %7410, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7413, ptr noundef %7416, ptr noundef %7419, i32 noundef %7421) #10
  br label %7423

7423:                                             ; preds = %7406, %7389
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %7424

7424:                                             ; preds = %7423
  br label %7425

7425:                                             ; preds = %7424
  call void @exit(i32 noundef 1) #12
  unreachable

7426:                                             ; No predecessors!
  br label %7427

7427:                                             ; preds = %7426
  br label %7428

7428:                                             ; preds = %7427, %7369
  br label %7429

7429:                                             ; preds = %7428
  br label %7430

7430:                                             ; preds = %7429
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #10
  br label %7431

7431:                                             ; preds = %7430
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = add nsw i32 %7432, 1
  store i32 %7433, ptr @test_count, align 4, !tbaa !5
  %7434 = call i32 (...) @s2n_enable_tls13_in_test()
  %7435 = icmp eq i32 %7434, -1
  br i1 %7435, label %7436, label %7489

7436:                                             ; preds = %7431
  br label %7437

7437:                                             ; preds = %7436
  br label %7438

7438:                                             ; preds = %7437
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %7439 = call ptr @__errno_location() #11
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  store i32 %7440, ptr %147, align 4, !tbaa !5
  %7441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7442 = call i32 @s2n_print_stacktrace(ptr noundef %7441)
  %7443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7444 = trunc i8 %7443 to i1
  br i1 %7444, label %7445, label %7467

7445:                                             ; preds = %7438
  %7446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7447 = call i32 @fileno(ptr noundef %7446) #10
  %7448 = call i32 @isatty(i32 noundef %7447) #10
  %7449 = icmp ne i32 %7448, 0
  br i1 %7449, label %7450, label %7467

7450:                                             ; preds = %7445
  %7451 = load i32, ptr %147, align 4, !tbaa !5
  %7452 = call ptr @__errno_location() #11
  store i32 %7451, ptr %7452, align 4, !tbaa !5
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = load i32, ptr @test_count, align 4, !tbaa !5
  %7455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7456 = load i32, ptr %7455, align 4, !tbaa !5
  %7457 = call ptr @s2n_strerror(i32 noundef %7456, ptr noundef @.str.4)
  %7458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7459 = load i32, ptr %7458, align 4, !tbaa !5
  %7460 = call ptr @s2n_strerror_debug(i32 noundef %7459, ptr noundef @.str.4)
  %7461 = call ptr @__errno_location() #11
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  %7463 = call ptr @strerror(i32 noundef %7462) #10
  %7464 = call ptr @__errno_location() #11
  %7465 = load i32, ptr %7464, align 4, !tbaa !5
  %7466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7453, ptr noundef @.str.2, i32 noundef %7454, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7457, ptr noundef %7460, ptr noundef %7463, i32 noundef %7465) #10
  br label %7484

7467:                                             ; preds = %7445, %7438
  %7468 = load i32, ptr %147, align 4, !tbaa !5
  %7469 = call ptr @__errno_location() #11
  store i32 %7468, ptr %7469, align 4, !tbaa !5
  %7470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7471 = load i32, ptr @test_count, align 4, !tbaa !5
  %7472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7473 = load i32, ptr %7472, align 4, !tbaa !5
  %7474 = call ptr @s2n_strerror(i32 noundef %7473, ptr noundef @.str.4)
  %7475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call ptr @s2n_strerror_debug(i32 noundef %7476, ptr noundef @.str.4)
  %7478 = call ptr @__errno_location() #11
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  %7480 = call ptr @strerror(i32 noundef %7479) #10
  %7481 = call ptr @__errno_location() #11
  %7482 = load i32, ptr %7481, align 4, !tbaa !5
  %7483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7470, ptr noundef @.str.5, i32 noundef %7471, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7474, ptr noundef %7477, ptr noundef %7480, i32 noundef %7482) #10
  br label %7484

7484:                                             ; preds = %7467, %7450
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %7485

7485:                                             ; preds = %7484
  br label %7486

7486:                                             ; preds = %7485
  call void @exit(i32 noundef 1) #12
  unreachable

7487:                                             ; No predecessors!
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

7489:                                             ; preds = %7488, %7431
  br label %7490

7490:                                             ; preds = %7489
  br label %7491

7491:                                             ; preds = %7490
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #10
  store ptr null, ptr %148, align 8, !tbaa !9
  br label %7492

7492:                                             ; preds = %7491
  %7493 = load i32, ptr @test_count, align 4, !tbaa !5
  %7494 = add nsw i32 %7493, 1
  store i32 %7494, ptr @test_count, align 4, !tbaa !5
  %7495 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7495, ptr %148, align 8, !tbaa !9
  %7496 = icmp eq ptr %7495, null
  br i1 %7496, label %7497, label %7550

7497:                                             ; preds = %7492
  br label %7498

7498:                                             ; preds = %7497
  br label %7499

7499:                                             ; preds = %7498
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  %7500 = call ptr @__errno_location() #11
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  store i32 %7501, ptr %149, align 4, !tbaa !5
  %7502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7503 = call i32 @s2n_print_stacktrace(ptr noundef %7502)
  %7504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7505 = trunc i8 %7504 to i1
  br i1 %7505, label %7506, label %7528

7506:                                             ; preds = %7499
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @fileno(ptr noundef %7507) #10
  %7509 = call i32 @isatty(i32 noundef %7508) #10
  %7510 = icmp ne i32 %7509, 0
  br i1 %7510, label %7511, label %7528

7511:                                             ; preds = %7506
  %7512 = load i32, ptr %149, align 4, !tbaa !5
  %7513 = call ptr @__errno_location() #11
  store i32 %7512, ptr %7513, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call ptr @s2n_strerror(i32 noundef %7517, ptr noundef @.str.4)
  %7519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7520 = load i32, ptr %7519, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror_debug(i32 noundef %7520, ptr noundef @.str.4)
  %7522 = call ptr @__errno_location() #11
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #10
  %7525 = call ptr @__errno_location() #11
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7514, ptr noundef @.str.2, i32 noundef %7515, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7518, ptr noundef %7521, ptr noundef %7524, i32 noundef %7526) #10
  br label %7545

7528:                                             ; preds = %7506, %7499
  %7529 = load i32, ptr %149, align 4, !tbaa !5
  %7530 = call ptr @__errno_location() #11
  store i32 %7529, ptr %7530, align 4, !tbaa !5
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @s2n_strerror(i32 noundef %7534, ptr noundef @.str.4)
  %7536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call ptr @s2n_strerror_debug(i32 noundef %7537, ptr noundef @.str.4)
  %7539 = call ptr @__errno_location() #11
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @strerror(i32 noundef %7540) #10
  %7542 = call ptr @__errno_location() #11
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7531, ptr noundef @.str.5, i32 noundef %7532, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7535, ptr noundef %7538, ptr noundef %7541, i32 noundef %7543) #10
  br label %7545

7545:                                             ; preds = %7528, %7511
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %7546

7546:                                             ; preds = %7545
  br label %7547

7547:                                             ; preds = %7546
  call void @exit(i32 noundef 1) #12
  unreachable

7548:                                             ; No predecessors!
  br label %7549

7549:                                             ; preds = %7548
  br label %7550

7550:                                             ; preds = %7549, %7492
  br label %7551

7551:                                             ; preds = %7550
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

7553:                                             ; preds = %7552
  %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 %148, align 8, !tbaa !9
  %7557 = load ptr, ptr %12, align 8, !tbaa !9
  %7558 = call i32 @s2n_connection_set_config(ptr noundef %7556, ptr noundef %7557)
  %7559 = icmp eq i32 %7558, -1
  br i1 %7559, label %7560, label %7613

7560:                                             ; preds = %7553
  br label %7561

7561:                                             ; preds = %7560
  br label %7562

7562:                                             ; preds = %7561
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #10
  %7563 = call ptr @__errno_location() #11
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  store i32 %7564, ptr %150, align 4, !tbaa !5
  %7565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7566 = call i32 @s2n_print_stacktrace(ptr noundef %7565)
  %7567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7568 = trunc i8 %7567 to i1
  br i1 %7568, label %7569, label %7591

7569:                                             ; preds = %7562
  %7570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7571 = call i32 @fileno(ptr noundef %7570) #10
  %7572 = call i32 @isatty(i32 noundef %7571) #10
  %7573 = icmp ne i32 %7572, 0
  br i1 %7573, label %7574, label %7591

7574:                                             ; preds = %7569
  %7575 = load i32, ptr %150, align 4, !tbaa !5
  %7576 = call ptr @__errno_location() #11
  store i32 %7575, ptr %7576, align 4, !tbaa !5
  %7577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7578 = load i32, ptr @test_count, align 4, !tbaa !5
  %7579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call ptr @s2n_strerror(i32 noundef %7580, ptr noundef @.str.4)
  %7582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror_debug(i32 noundef %7583, ptr noundef @.str.4)
  %7585 = call ptr @__errno_location() #11
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  %7587 = call ptr @strerror(i32 noundef %7586) #10
  %7588 = call ptr @__errno_location() #11
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7577, ptr noundef @.str.2, i32 noundef %7578, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7581, ptr noundef %7584, ptr noundef %7587, i32 noundef %7589) #10
  br label %7608

7591:                                             ; preds = %7569, %7562
  %7592 = load i32, ptr %150, align 4, !tbaa !5
  %7593 = call ptr @__errno_location() #11
  store i32 %7592, ptr %7593, align 4, !tbaa !5
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = load i32, ptr @test_count, align 4, !tbaa !5
  %7596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef @.str.4)
  %7599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror_debug(i32 noundef %7600, ptr noundef @.str.4)
  %7602 = call ptr @__errno_location() #11
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @strerror(i32 noundef %7603) #10
  %7605 = call ptr @__errno_location() #11
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7594, ptr noundef @.str.5, i32 noundef %7595, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7598, ptr noundef %7601, ptr noundef %7604, i32 noundef %7606) #10
  br label %7608

7608:                                             ; preds = %7591, %7574
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #10
  br label %7609

7609:                                             ; preds = %7608
  br label %7610

7610:                                             ; preds = %7609
  call void @exit(i32 noundef 1) #12
  unreachable

7611:                                             ; No predecessors!
  br label %7612

7612:                                             ; preds = %7611
  br label %7613

7613:                                             ; preds = %7612, %7553
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  br label %7616

7616:                                             ; preds = %7615
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = add nsw i32 %7617, 1
  store i32 %7618, ptr @test_count, align 4, !tbaa !5
  %7619 = load ptr, ptr %148, align 8, !tbaa !9
  %7620 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %7621 = call i32 @s2n_connection_allow_response_extension(ptr noundef %7619, i16 noundef zeroext %7620)
  %7622 = icmp eq i32 %7621, -1
  br i1 %7622, label %7623, label %7676

7623:                                             ; preds = %7616
  br label %7624

7624:                                             ; preds = %7623
  br label %7625

7625:                                             ; preds = %7624
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %7626 = call ptr @__errno_location() #11
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  store i32 %7627, ptr %151, align 4, !tbaa !5
  %7628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7629 = call i32 @s2n_print_stacktrace(ptr noundef %7628)
  %7630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7631 = trunc i8 %7630 to i1
  br i1 %7631, label %7632, label %7654

7632:                                             ; preds = %7625
  %7633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7634 = call i32 @fileno(ptr noundef %7633) #10
  %7635 = call i32 @isatty(i32 noundef %7634) #10
  %7636 = icmp ne i32 %7635, 0
  br i1 %7636, label %7637, label %7654

7637:                                             ; preds = %7632
  %7638 = load i32, ptr %151, align 4, !tbaa !5
  %7639 = call ptr @__errno_location() #11
  store i32 %7638, ptr %7639, align 4, !tbaa !5
  %7640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7641 = load i32, ptr @test_count, align 4, !tbaa !5
  %7642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7643 = load i32, ptr %7642, align 4, !tbaa !5
  %7644 = call ptr @s2n_strerror(i32 noundef %7643, ptr noundef @.str.4)
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror_debug(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call ptr @__errno_location() #11
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @strerror(i32 noundef %7649) #10
  %7651 = call ptr @__errno_location() #11
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7640, ptr noundef @.str.2, i32 noundef %7641, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7644, ptr noundef %7647, ptr noundef %7650, i32 noundef %7652) #10
  br label %7671

7654:                                             ; preds = %7632, %7625
  %7655 = load i32, ptr %151, align 4, !tbaa !5
  %7656 = call ptr @__errno_location() #11
  store i32 %7655, ptr %7656, align 4, !tbaa !5
  %7657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7660 = load i32, ptr %7659, align 4, !tbaa !5
  %7661 = call ptr @s2n_strerror(i32 noundef %7660, ptr noundef @.str.4)
  %7662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror_debug(i32 noundef %7663, ptr noundef @.str.4)
  %7665 = call ptr @__errno_location() #11
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  %7667 = call ptr @strerror(i32 noundef %7666) #10
  %7668 = call ptr @__errno_location() #11
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7657, ptr noundef @.str.5, i32 noundef %7658, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7661, ptr noundef %7664, ptr noundef %7667, i32 noundef %7669) #10
  br label %7671

7671:                                             ; preds = %7654, %7637
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %7672

7672:                                             ; preds = %7671
  br label %7673

7673:                                             ; preds = %7672
  call void @exit(i32 noundef 1) #12
  unreachable

7674:                                             ; No predecessors!
  br label %7675

7675:                                             ; preds = %7674
  br label %7676

7676:                                             ; preds = %7675, %7616
  br label %7677

7677:                                             ; preds = %7676
  br label %7678

7678:                                             ; preds = %7677
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #10
  store ptr null, ptr %152, align 8, !tbaa !9
  br label %7679

7679:                                             ; preds = %7678
  %7680 = load i32, ptr @test_count, align 4, !tbaa !5
  %7681 = add nsw i32 %7680, 1
  store i32 %7681, ptr @test_count, align 4, !tbaa !5
  %7682 = load ptr, ptr %148, align 8, !tbaa !9
  %7683 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef %7682, ptr noundef %152)
  %7684 = icmp eq i32 %7683, -1
  br i1 %7684, label %7685, label %7738

7685:                                             ; preds = %7679
  br label %7686

7686:                                             ; preds = %7685
  br label %7687

7687:                                             ; preds = %7686
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7688 = call ptr @__errno_location() #11
  %7689 = load i32, ptr %7688, align 4, !tbaa !5
  store i32 %7689, ptr %153, align 4, !tbaa !5
  %7690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7691 = call i32 @s2n_print_stacktrace(ptr noundef %7690)
  %7692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7693 = trunc i8 %7692 to i1
  br i1 %7693, label %7694, label %7716

7694:                                             ; preds = %7687
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @fileno(ptr noundef %7695) #10
  %7697 = call i32 @isatty(i32 noundef %7696) #10
  %7698 = icmp ne i32 %7697, 0
  br i1 %7698, label %7699, label %7716

7699:                                             ; preds = %7694
  %7700 = load i32, ptr %153, align 4, !tbaa !5
  %7701 = call ptr @__errno_location() #11
  store i32 %7700, ptr %7701, align 4, !tbaa !5
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = load i32, ptr @test_count, align 4, !tbaa !5
  %7704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef @.str.4)
  %7707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call ptr @s2n_strerror_debug(i32 noundef %7708, ptr noundef @.str.4)
  %7710 = call ptr @__errno_location() #11
  %7711 = load i32, ptr %7710, align 4, !tbaa !5
  %7712 = call ptr @strerror(i32 noundef %7711) #10
  %7713 = call ptr @__errno_location() #11
  %7714 = load i32, ptr %7713, align 4, !tbaa !5
  %7715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7702, ptr noundef @.str.2, i32 noundef %7703, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7706, ptr noundef %7709, ptr noundef %7712, i32 noundef %7714) #10
  br label %7733

7716:                                             ; preds = %7694, %7687
  %7717 = load i32, ptr %153, align 4, !tbaa !5
  %7718 = call ptr @__errno_location() #11
  store i32 %7717, ptr %7718, align 4, !tbaa !5
  %7719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7720 = load i32, ptr @test_count, align 4, !tbaa !5
  %7721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call ptr @s2n_strerror(i32 noundef %7722, ptr noundef @.str.4)
  %7724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @s2n_strerror_debug(i32 noundef %7725, ptr noundef @.str.4)
  %7727 = call ptr @__errno_location() #11
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call ptr @strerror(i32 noundef %7728) #10
  %7730 = call ptr @__errno_location() #11
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7719, ptr noundef @.str.5, i32 noundef %7720, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7723, ptr noundef %7726, ptr noundef %7729, i32 noundef %7731) #10
  br label %7733

7733:                                             ; preds = %7716, %7699
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7734

7734:                                             ; preds = %7733
  br label %7735

7735:                                             ; preds = %7734
  call void @exit(i32 noundef 1) #12
  unreachable

7736:                                             ; No predecessors!
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

7738:                                             ; preds = %7737, %7679
  br label %7739

7739:                                             ; preds = %7738
  br label %7740

7740:                                             ; preds = %7739
  br label %7741

7741:                                             ; preds = %7740
  %7742 = load i32, ptr @test_count, align 4, !tbaa !5
  %7743 = add nsw i32 %7742, 1
  store i32 %7743, ptr @test_count, align 4, !tbaa !5
  %7744 = load ptr, ptr %152, align 8, !tbaa !9
  %7745 = icmp eq ptr %7744, null
  br i1 %7745, label %7746, label %7799

7746:                                             ; preds = %7741
  br label %7747

7747:                                             ; preds = %7746
  br label %7748

7748:                                             ; preds = %7747
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7749 = call ptr @__errno_location() #11
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  store i32 %7750, ptr %154, align 4, !tbaa !5
  %7751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7752 = call i32 @s2n_print_stacktrace(ptr noundef %7751)
  %7753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7754 = trunc i8 %7753 to i1
  br i1 %7754, label %7755, label %7777

7755:                                             ; preds = %7748
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = call i32 @fileno(ptr noundef %7756) #10
  %7758 = call i32 @isatty(i32 noundef %7757) #10
  %7759 = icmp ne i32 %7758, 0
  br i1 %7759, label %7760, label %7777

7760:                                             ; preds = %7755
  %7761 = load i32, ptr %154, align 4, !tbaa !5
  %7762 = call ptr @__errno_location() #11
  store i32 %7761, ptr %7762, align 4, !tbaa !5
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = load i32, ptr @test_count, align 4, !tbaa !5
  %7765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror(i32 noundef %7766, ptr noundef @.str.4)
  %7768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call ptr @s2n_strerror_debug(i32 noundef %7769, ptr noundef @.str.4)
  %7771 = call ptr @__errno_location() #11
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @strerror(i32 noundef %7772) #10
  %7774 = call ptr @__errno_location() #11
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7763, ptr noundef @.str.2, i32 noundef %7764, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7767, ptr noundef %7770, ptr noundef %7773, i32 noundef %7775) #10
  br label %7794

7777:                                             ; preds = %7755, %7748
  %7778 = load i32, ptr %154, align 4, !tbaa !5
  %7779 = call ptr @__errno_location() #11
  store i32 %7778, ptr %7779, align 4, !tbaa !5
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = load i32, ptr @test_count, align 4, !tbaa !5
  %7782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7783 = load i32, ptr %7782, align 4, !tbaa !5
  %7784 = call ptr @s2n_strerror(i32 noundef %7783, ptr noundef @.str.4)
  %7785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7786 = load i32, ptr %7785, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror_debug(i32 noundef %7786, ptr noundef @.str.4)
  %7788 = call ptr @__errno_location() #11
  %7789 = load i32, ptr %7788, align 4, !tbaa !5
  %7790 = call ptr @strerror(i32 noundef %7789) #10
  %7791 = call ptr @__errno_location() #11
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  %7793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7780, ptr noundef @.str.5, i32 noundef %7781, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7784, ptr noundef %7787, ptr noundef %7790, i32 noundef %7792) #10
  br label %7794

7794:                                             ; preds = %7777, %7760
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7795

7795:                                             ; preds = %7794
  br label %7796

7796:                                             ; preds = %7795
  call void @exit(i32 noundef 1) #12
  unreachable

7797:                                             ; No predecessors!
  br label %7798

7798:                                             ; preds = %7797
  br label %7799

7799:                                             ; preds = %7798, %7741
  br label %7800

7800:                                             ; preds = %7799
  br label %7801

7801:                                             ; preds = %7800
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #10
  %7802 = load ptr, ptr %148, align 8, !tbaa !9
  %7803 = getelementptr inbounds %struct.s2n_connection, ptr %7802, i32 0, i32 52
  %7804 = getelementptr inbounds %struct.s2n_handshake, ptr %7803, i32 0, i32 0
  store ptr %7804, ptr %155, align 8, !tbaa !9
  %7805 = load ptr, ptr %152, align 8, !tbaa !9
  %7806 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %7805, i32 0, i32 1
  %7807 = load ptr, ptr %7806, align 8, !tbaa !52
  %7808 = getelementptr inbounds ptr, ptr %7807, i64 0
  %7809 = load ptr, ptr %7808, align 8, !tbaa !9
  %7810 = load ptr, ptr %148, align 8, !tbaa !9
  %7811 = getelementptr inbounds %struct.s2n_connection, ptr %7810, i32 0, i32 31
  %7812 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %7811, i32 0, i32 1
  %7813 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %7812, i32 0, i32 0
  store ptr %7809, ptr %7813, align 8, !tbaa !54
  %7814 = load ptr, ptr %148, align 8, !tbaa !9
  %7815 = getelementptr inbounds %struct.s2n_connection, ptr %7814, i32 0, i32 23
  store i8 34, ptr %7815, align 4, !tbaa !55
  %7816 = load ptr, ptr %152, align 8, !tbaa !9
  %7817 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %7816, i32 0, i32 1
  %7818 = load ptr, ptr %7817, align 8, !tbaa !52
  %7819 = getelementptr inbounds ptr, ptr %7818, i64 0
  %7820 = load ptr, ptr %7819, align 8, !tbaa !9
  %7821 = load ptr, ptr %148, align 8, !tbaa !9
  %7822 = getelementptr inbounds %struct.s2n_connection, ptr %7821, i32 0, i32 31
  %7823 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %7822, i32 0, i32 3
  %7824 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %7823, i32 0, i32 0
  store ptr %7820, ptr %7824, align 8, !tbaa !56
  br label %7825

7825:                                             ; preds = %7801
  %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 %148, align 8, !tbaa !9
  %7829 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef %7828)
  %7830 = icmp eq i32 %7829, 73
  br i1 %7830, label %7884, label %7831

7831:                                             ; preds = %7825
  br label %7832

7832:                                             ; preds = %7831
  br label %7833

7833:                                             ; preds = %7832
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7834 = call ptr @__errno_location() #11
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  store i32 %7835, ptr %156, align 4, !tbaa !5
  %7836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7837 = call i32 @s2n_print_stacktrace(ptr noundef %7836)
  %7838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7839 = trunc i8 %7838 to i1
  br i1 %7839, label %7840, label %7862

7840:                                             ; preds = %7833
  %7841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7842 = call i32 @fileno(ptr noundef %7841) #10
  %7843 = call i32 @isatty(i32 noundef %7842) #10
  %7844 = icmp ne i32 %7843, 0
  br i1 %7844, label %7845, label %7862

7845:                                             ; preds = %7840
  %7846 = load i32, ptr %156, align 4, !tbaa !5
  %7847 = call ptr @__errno_location() #11
  store i32 %7846, ptr %7847, align 4, !tbaa !5
  %7848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7849 = load i32, ptr @test_count, align 4, !tbaa !5
  %7850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7851 = load i32, ptr %7850, align 4, !tbaa !5
  %7852 = call ptr @s2n_strerror(i32 noundef %7851, ptr noundef @.str.4)
  %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_debug(i32 noundef %7854, ptr noundef @.str.4)
  %7856 = call ptr @__errno_location() #11
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @strerror(i32 noundef %7857) #10
  %7859 = call ptr @__errno_location() #11
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7848, ptr noundef @.str.2, i32 noundef %7849, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7852, ptr noundef %7855, ptr noundef %7858, i32 noundef %7860) #10
  br label %7879

7862:                                             ; preds = %7840, %7833
  %7863 = load i32, ptr %156, align 4, !tbaa !5
  %7864 = call ptr @__errno_location() #11
  store i32 %7863, ptr %7864, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = load i32, ptr @test_count, align 4, !tbaa !5
  %7867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror(i32 noundef %7868, ptr noundef @.str.4)
  %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_debug(i32 noundef %7871, ptr noundef @.str.4)
  %7873 = call ptr @__errno_location() #11
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @strerror(i32 noundef %7874) #10
  %7876 = call ptr @__errno_location() #11
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7865, ptr noundef @.str.5, i32 noundef %7866, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7869, ptr noundef %7872, ptr noundef %7875, i32 noundef %7877) #10
  br label %7879

7879:                                             ; preds = %7862, %7845
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %7880

7880:                                             ; preds = %7879
  br label %7881

7881:                                             ; preds = %7880
  call void @exit(i32 noundef 1) #12
  unreachable

7882:                                             ; No predecessors!
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

7884:                                             ; preds = %7883, %7825
  br label %7885

7885:                                             ; preds = %7884
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886
  br label %7888

7888:                                             ; preds = %7887
  %7889 = load i32, ptr @test_count, align 4, !tbaa !5
  %7890 = add nsw i32 %7889, 1
  store i32 %7890, ptr @test_count, align 4, !tbaa !5
  %7891 = load ptr, ptr %148, align 8, !tbaa !9
  %7892 = load ptr, ptr %155, align 8, !tbaa !9
  %7893 = call i32 @s2n_server_extensions_send(ptr noundef %7891, ptr noundef %7892)
  %7894 = icmp eq i32 %7893, -1
  br i1 %7894, label %7948, label %7895

7895:                                             ; preds = %7888
  br label %7896

7896:                                             ; preds = %7895
  br label %7897

7897:                                             ; preds = %7896
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %7898 = call ptr @__errno_location() #11
  %7899 = load i32, ptr %7898, align 4, !tbaa !5
  store i32 %7899, ptr %157, align 4, !tbaa !5
  %7900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7901 = call i32 @s2n_print_stacktrace(ptr noundef %7900)
  %7902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7903 = trunc i8 %7902 to i1
  br i1 %7903, label %7904, label %7926

7904:                                             ; preds = %7897
  %7905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7906 = call i32 @fileno(ptr noundef %7905) #10
  %7907 = call i32 @isatty(i32 noundef %7906) #10
  %7908 = icmp ne i32 %7907, 0
  br i1 %7908, label %7909, label %7926

7909:                                             ; preds = %7904
  %7910 = load i32, ptr %157, align 4, !tbaa !5
  %7911 = call ptr @__errno_location() #11
  store i32 %7910, ptr %7911, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = load i32, ptr @test_count, align 4, !tbaa !5
  %7914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @s2n_strerror(i32 noundef %7915, ptr noundef @.str.4)
  %7917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call ptr @s2n_strerror_debug(i32 noundef %7918, ptr noundef @.str.4)
  %7920 = call ptr @__errno_location() #11
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @strerror(i32 noundef %7921) #10
  %7923 = call ptr @__errno_location() #11
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7912, ptr noundef @.str.2, i32 noundef %7913, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7916, ptr noundef %7919, ptr noundef %7922, i32 noundef %7924) #10
  br label %7943

7926:                                             ; preds = %7904, %7897
  %7927 = load i32, ptr %157, align 4, !tbaa !5
  %7928 = call ptr @__errno_location() #11
  store i32 %7927, ptr %7928, align 4, !tbaa !5
  %7929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7930 = load i32, ptr @test_count, align 4, !tbaa !5
  %7931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7932 = load i32, ptr %7931, align 4, !tbaa !5
  %7933 = call ptr @s2n_strerror(i32 noundef %7932, ptr noundef @.str.4)
  %7934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7935 = load i32, ptr %7934, align 4, !tbaa !5
  %7936 = call ptr @s2n_strerror_debug(i32 noundef %7935, ptr noundef @.str.4)
  %7937 = call ptr @__errno_location() #11
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call ptr @strerror(i32 noundef %7938) #10
  %7940 = call ptr @__errno_location() #11
  %7941 = load i32, ptr %7940, align 4, !tbaa !5
  %7942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7929, ptr noundef @.str.5, i32 noundef %7930, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7933, ptr noundef %7936, ptr noundef %7939, i32 noundef %7941) #10
  br label %7943

7943:                                             ; preds = %7926, %7909
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %7944

7944:                                             ; preds = %7943
  br label %7945

7945:                                             ; preds = %7944
  call void @exit(i32 noundef 1) #12
  unreachable

7946:                                             ; No predecessors!
  br label %7947

7947:                                             ; preds = %7946
  br label %7948

7948:                                             ; preds = %7947, %7888
  br label %7949

7949:                                             ; preds = %7948
  br label %7950

7950:                                             ; preds = %7949
  br label %7951

7951:                                             ; preds = %7950
  %7952 = load i32, ptr @test_count, align 4, !tbaa !5
  %7953 = add nsw i32 %7952, 1
  store i32 %7953, ptr @test_count, align 4, !tbaa !5
  %7954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7955 = load i32, ptr %7954, align 4, !tbaa !5
  %7956 = icmp eq i32 %7955, 0
  br i1 %7956, label %7957, label %8010

7957:                                             ; preds = %7951
  br label %7958

7958:                                             ; preds = %7957
  br label %7959

7959:                                             ; preds = %7958
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7960 = call ptr @__errno_location() #11
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  store i32 %7961, ptr %158, align 4, !tbaa !5
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = call i32 @s2n_print_stacktrace(ptr noundef %7962)
  %7964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7965 = trunc i8 %7964 to i1
  br i1 %7965, label %7966, label %7988

7966:                                             ; preds = %7959
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = call i32 @fileno(ptr noundef %7967) #10
  %7969 = call i32 @isatty(i32 noundef %7968) #10
  %7970 = icmp ne i32 %7969, 0
  br i1 %7970, label %7971, label %7988

7971:                                             ; preds = %7966
  %7972 = load i32, ptr %158, align 4, !tbaa !5
  %7973 = call ptr @__errno_location() #11
  store i32 %7972, ptr %7973, align 4, !tbaa !5
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7977 = load i32, ptr %7976, align 4, !tbaa !5
  %7978 = call ptr @s2n_strerror(i32 noundef %7977, ptr noundef @.str.4)
  %7979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef @.str.4)
  %7982 = call ptr @__errno_location() #11
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call ptr @strerror(i32 noundef %7983) #10
  %7985 = call ptr @__errno_location() #11
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  %7987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7974, ptr noundef @.str.2, i32 noundef %7975, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7978, ptr noundef %7981, ptr noundef %7984, i32 noundef %7986) #10
  br label %8005

7988:                                             ; preds = %7966, %7959
  %7989 = load i32, ptr %158, align 4, !tbaa !5
  %7990 = call ptr @__errno_location() #11
  store i32 %7989, ptr %7990, align 4, !tbaa !5
  %7991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7992 = load i32, ptr @test_count, align 4, !tbaa !5
  %7993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror(i32 noundef %7994, ptr noundef @.str.4)
  %7996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call ptr @s2n_strerror_debug(i32 noundef %7997, ptr noundef @.str.4)
  %7999 = call ptr @__errno_location() #11
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @strerror(i32 noundef %8000) #10
  %8002 = call ptr @__errno_location() #11
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7991, ptr noundef @.str.5, i32 noundef %7992, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7995, ptr noundef %7998, ptr noundef %8001, i32 noundef %8003) #10
  br label %8005

8005:                                             ; preds = %7988, %7971
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %8006

8006:                                             ; preds = %8005
  br label %8007

8007:                                             ; preds = %8006
  call void @exit(i32 noundef 1) #12
  unreachable

8008:                                             ; No predecessors!
  br label %8009

8009:                                             ; preds = %8008
  br label %8010

8010:                                             ; preds = %8009, %7951
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012
  %8014 = load i32, ptr @test_count, align 4, !tbaa !5
  %8015 = add nsw i32 %8014, 1
  store i32 %8015, ptr @test_count, align 4, !tbaa !5
  %8016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call ptr @s2n_strerror_debug(i32 noundef %8017, ptr noundef @.str.4)
  %8019 = icmp eq ptr %8018, null
  br i1 %8019, label %8020, label %8073

8020:                                             ; preds = %8013
  br label %8021

8021:                                             ; preds = %8020
  br label %8022

8022:                                             ; preds = %8021
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %8023 = call ptr @__errno_location() #11
  %8024 = load i32, ptr %8023, align 4, !tbaa !5
  store i32 %8024, ptr %159, align 4, !tbaa !5
  %8025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8026 = call i32 @s2n_print_stacktrace(ptr noundef %8025)
  %8027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8028 = trunc i8 %8027 to i1
  br i1 %8028, label %8029, label %8051

8029:                                             ; preds = %8022
  %8030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8031 = call i32 @fileno(ptr noundef %8030) #10
  %8032 = call i32 @isatty(i32 noundef %8031) #10
  %8033 = icmp ne i32 %8032, 0
  br i1 %8033, label %8034, label %8051

8034:                                             ; preds = %8029
  %8035 = load i32, ptr %159, align 4, !tbaa !5
  %8036 = call ptr @__errno_location() #11
  store i32 %8035, ptr %8036, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = load i32, ptr @test_count, align 4, !tbaa !5
  %8039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call ptr @s2n_strerror(i32 noundef %8040, ptr noundef @.str.4)
  %8042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call ptr @s2n_strerror_debug(i32 noundef %8043, ptr noundef @.str.4)
  %8045 = call ptr @__errno_location() #11
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @strerror(i32 noundef %8046) #10
  %8048 = call ptr @__errno_location() #11
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8037, ptr noundef @.str.2, i32 noundef %8038, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 304, ptr noundef %8041, ptr noundef %8044, ptr noundef %8047, i32 noundef %8049) #10
  br label %8068

8051:                                             ; preds = %8029, %8022
  %8052 = load i32, ptr %159, align 4, !tbaa !5
  %8053 = call ptr @__errno_location() #11
  store i32 %8052, ptr %8053, align 4, !tbaa !5
  %8054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8055 = load i32, ptr @test_count, align 4, !tbaa !5
  %8056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8057 = load i32, ptr %8056, align 4, !tbaa !5
  %8058 = call ptr @s2n_strerror(i32 noundef %8057, ptr noundef @.str.4)
  %8059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8060 = load i32, ptr %8059, align 4, !tbaa !5
  %8061 = call ptr @s2n_strerror_debug(i32 noundef %8060, ptr noundef @.str.4)
  %8062 = call ptr @__errno_location() #11
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @strerror(i32 noundef %8063) #10
  %8065 = call ptr @__errno_location() #11
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8054, ptr noundef @.str.5, i32 noundef %8055, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 304, ptr noundef %8058, ptr noundef %8061, ptr noundef %8064, i32 noundef %8066) #10
  br label %8068

8068:                                             ; preds = %8051, %8034
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %8069

8069:                                             ; preds = %8068
  br label %8070

8070:                                             ; preds = %8069
  call void @exit(i32 noundef 1) #12
  unreachable

8071:                                             ; No predecessors!
  br label %8072

8072:                                             ; preds = %8071
  br label %8073

8073:                                             ; preds = %8072, %8013
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

8076:                                             ; preds = %8075
  %8077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8077, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8078 = call ptr @__errno_location() #11
  store i32 0, ptr %8078, align 4, !tbaa !5
  br label %8079

8079:                                             ; preds = %8076
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

8083:                                             ; preds = %8082
  %8084 = load i32, ptr @test_count, align 4, !tbaa !5
  %8085 = add nsw i32 %8084, 1
  store i32 %8085, ptr @test_count, align 4, !tbaa !5
  %8086 = load ptr, ptr %155, align 8, !tbaa !9
  %8087 = call i32 @s2n_stuffer_wipe(ptr noundef %8086)
  %8088 = icmp eq i32 %8087, -1
  br i1 %8088, label %8089, label %8142

8089:                                             ; preds = %8083
  br label %8090

8090:                                             ; preds = %8089
  br label %8091

8091:                                             ; preds = %8090
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %8092 = call ptr @__errno_location() #11
  %8093 = load i32, ptr %8092, align 4, !tbaa !5
  store i32 %8093, ptr %160, align 4, !tbaa !5
  %8094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8095 = call i32 @s2n_print_stacktrace(ptr noundef %8094)
  %8096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8097 = trunc i8 %8096 to i1
  br i1 %8097, label %8098, label %8120

8098:                                             ; preds = %8091
  %8099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8100 = call i32 @fileno(ptr noundef %8099) #10
  %8101 = call i32 @isatty(i32 noundef %8100) #10
  %8102 = icmp ne i32 %8101, 0
  br i1 %8102, label %8103, label %8120

8103:                                             ; preds = %8098
  %8104 = load i32, ptr %160, align 4, !tbaa !5
  %8105 = call ptr @__errno_location() #11
  store i32 %8104, ptr %8105, align 4, !tbaa !5
  %8106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8107 = load i32, ptr @test_count, align 4, !tbaa !5
  %8108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8109 = load i32, ptr %8108, align 4, !tbaa !5
  %8110 = call ptr @s2n_strerror(i32 noundef %8109, ptr noundef @.str.4)
  %8111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8112 = load i32, ptr %8111, align 4, !tbaa !5
  %8113 = call ptr @s2n_strerror_debug(i32 noundef %8112, ptr noundef @.str.4)
  %8114 = call ptr @__errno_location() #11
  %8115 = load i32, ptr %8114, align 4, !tbaa !5
  %8116 = call ptr @strerror(i32 noundef %8115) #10
  %8117 = call ptr @__errno_location() #11
  %8118 = load i32, ptr %8117, align 4, !tbaa !5
  %8119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8106, ptr noundef @.str.2, i32 noundef %8107, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 306, ptr noundef %8110, ptr noundef %8113, ptr noundef %8116, i32 noundef %8118) #10
  br label %8137

8120:                                             ; preds = %8098, %8091
  %8121 = load i32, ptr %160, align 4, !tbaa !5
  %8122 = call ptr @__errno_location() #11
  store i32 %8121, ptr %8122, align 4, !tbaa !5
  %8123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8124 = load i32, ptr @test_count, align 4, !tbaa !5
  %8125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8126 = load i32, ptr %8125, align 4, !tbaa !5
  %8127 = call ptr @s2n_strerror(i32 noundef %8126, ptr noundef @.str.4)
  %8128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8129 = load i32, ptr %8128, align 4, !tbaa !5
  %8130 = call ptr @s2n_strerror_debug(i32 noundef %8129, ptr noundef @.str.4)
  %8131 = call ptr @__errno_location() #11
  %8132 = load i32, ptr %8131, align 4, !tbaa !5
  %8133 = call ptr @strerror(i32 noundef %8132) #10
  %8134 = call ptr @__errno_location() #11
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8123, ptr noundef @.str.5, i32 noundef %8124, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 306, ptr noundef %8127, ptr noundef %8130, ptr noundef %8133, i32 noundef %8135) #10
  br label %8137

8137:                                             ; preds = %8120, %8103
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %8138

8138:                                             ; preds = %8137
  br label %8139

8139:                                             ; preds = %8138
  call void @exit(i32 noundef 1) #12
  unreachable

8140:                                             ; No predecessors!
  br label %8141

8141:                                             ; preds = %8140
  br label %8142

8142:                                             ; preds = %8141, %8083
  br label %8143

8143:                                             ; preds = %8142
  br label %8144

8144:                                             ; preds = %8143
  br label %8145

8145:                                             ; preds = %8144
  %8146 = load i32, ptr @test_count, align 4, !tbaa !5
  %8147 = add nsw i32 %8146, 1
  store i32 %8147, ptr @test_count, align 4, !tbaa !5
  %8148 = load ptr, ptr %148, align 8, !tbaa !9
  %8149 = getelementptr inbounds %struct.s2n_connection, ptr %8148, i32 0, i32 31
  %8150 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %8149, i32 0, i32 3
  %8151 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %8150)
  %8152 = icmp eq i32 %8151, -1
  br i1 %8152, label %8153, label %8206

8153:                                             ; preds = %8145
  br label %8154

8154:                                             ; preds = %8153
  br label %8155

8155:                                             ; preds = %8154
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %8156 = call ptr @__errno_location() #11
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  store i32 %8157, ptr %161, align 4, !tbaa !5
  %8158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8159 = call i32 @s2n_print_stacktrace(ptr noundef %8158)
  %8160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8161 = trunc i8 %8160 to i1
  br i1 %8161, label %8162, label %8184

8162:                                             ; preds = %8155
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = call i32 @fileno(ptr noundef %8163) #10
  %8165 = call i32 @isatty(i32 noundef %8164) #10
  %8166 = icmp ne i32 %8165, 0
  br i1 %8166, label %8167, label %8184

8167:                                             ; preds = %8162
  %8168 = load i32, ptr %161, align 4, !tbaa !5
  %8169 = call ptr @__errno_location() #11
  store i32 %8168, ptr %8169, align 4, !tbaa !5
  %8170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8171 = load i32, ptr @test_count, align 4, !tbaa !5
  %8172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror(i32 noundef %8173, ptr noundef @.str.4)
  %8175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @s2n_strerror_debug(i32 noundef %8176, ptr noundef @.str.4)
  %8178 = call ptr @__errno_location() #11
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @strerror(i32 noundef %8179) #10
  %8181 = call ptr @__errno_location() #11
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8170, ptr noundef @.str.2, i32 noundef %8171, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8174, ptr noundef %8177, ptr noundef %8180, i32 noundef %8182) #10
  br label %8201

8184:                                             ; preds = %8162, %8155
  %8185 = load i32, ptr %161, align 4, !tbaa !5
  %8186 = call ptr @__errno_location() #11
  store i32 %8185, ptr %8186, align 4, !tbaa !5
  %8187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8188 = load i32, ptr @test_count, align 4, !tbaa !5
  %8189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @s2n_strerror(i32 noundef %8190, ptr noundef @.str.4)
  %8192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror_debug(i32 noundef %8193, ptr noundef @.str.4)
  %8195 = call ptr @__errno_location() #11
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @strerror(i32 noundef %8196) #10
  %8198 = call ptr @__errno_location() #11
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8187, ptr noundef @.str.5, i32 noundef %8188, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8191, ptr noundef %8194, ptr noundef %8197, i32 noundef %8199) #10
  br label %8201

8201:                                             ; preds = %8184, %8167
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %8202

8202:                                             ; preds = %8201
  br label %8203

8203:                                             ; preds = %8202
  call void @exit(i32 noundef 1) #12
  unreachable

8204:                                             ; No predecessors!
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

8206:                                             ; preds = %8205, %8145
  br label %8207

8207:                                             ; preds = %8206
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

8209:                                             ; preds = %8208
  %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 %148, align 8, !tbaa !9
  %8213 = load ptr, ptr %155, align 8, !tbaa !9
  %8214 = call i32 @s2n_server_extensions_send(ptr noundef %8212, ptr noundef %8213)
  %8215 = icmp eq i32 %8214, -1
  br i1 %8215, label %8216, label %8269

8216:                                             ; preds = %8209
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

8218:                                             ; preds = %8217
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %8219 = call ptr @__errno_location() #11
  %8220 = load i32, ptr %8219, align 4, !tbaa !5
  store i32 %8220, ptr %162, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @s2n_print_stacktrace(ptr noundef %8221)
  %8223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8224 = trunc i8 %8223 to i1
  br i1 %8224, label %8225, label %8247

8225:                                             ; preds = %8218
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @fileno(ptr noundef %8226) #10
  %8228 = call i32 @isatty(i32 noundef %8227) #10
  %8229 = icmp ne i32 %8228, 0
  br i1 %8229, label %8230, label %8247

8230:                                             ; preds = %8225
  %8231 = load i32, ptr %162, align 4, !tbaa !5
  %8232 = call ptr @__errno_location() #11
  store i32 %8231, ptr %8232, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = load i32, ptr @test_count, align 4, !tbaa !5
  %8235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @s2n_strerror(i32 noundef %8236, ptr noundef @.str.4)
  %8238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call ptr @s2n_strerror_debug(i32 noundef %8239, ptr noundef @.str.4)
  %8241 = call ptr @__errno_location() #11
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call ptr @strerror(i32 noundef %8242) #10
  %8244 = call ptr @__errno_location() #11
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8233, ptr noundef @.str.2, i32 noundef %8234, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 309, ptr noundef %8237, ptr noundef %8240, ptr noundef %8243, i32 noundef %8245) #10
  br label %8264

8247:                                             ; preds = %8225, %8218
  %8248 = load i32, ptr %162, align 4, !tbaa !5
  %8249 = call ptr @__errno_location() #11
  store i32 %8248, ptr %8249, align 4, !tbaa !5
  %8250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8251 = load i32, ptr @test_count, align 4, !tbaa !5
  %8252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call ptr @s2n_strerror(i32 noundef %8253, ptr noundef @.str.4)
  %8255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror_debug(i32 noundef %8256, ptr noundef @.str.4)
  %8258 = call ptr @__errno_location() #11
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @strerror(i32 noundef %8259) #10
  %8261 = call ptr @__errno_location() #11
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8250, ptr noundef @.str.5, i32 noundef %8251, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 309, ptr noundef %8254, ptr noundef %8257, ptr noundef %8260, i32 noundef %8262) #10
  br label %8264

8264:                                             ; preds = %8247, %8230
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %8265

8265:                                             ; preds = %8264
  br label %8266

8266:                                             ; preds = %8265
  call void @exit(i32 noundef 1) #12
  unreachable

8267:                                             ; No predecessors!
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268, %8209
  br label %8270

8270:                                             ; preds = %8269
  br label %8271

8271:                                             ; preds = %8270
  br label %8272

8272:                                             ; preds = %8271
  br label %8273

8273:                                             ; preds = %8272
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = add nsw i32 %8274, 1
  store i32 %8275, ptr @test_count, align 4, !tbaa !5
  %8276 = load ptr, ptr %155, align 8, !tbaa !9
  %8277 = call i32 @s2n_stuffer_skip_read(ptr noundef %8276, i32 noundef 75)
  %8278 = icmp eq i32 %8277, -1
  br i1 %8278, label %8279, label %8332

8279:                                             ; preds = %8273
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %8282 = call ptr @__errno_location() #11
  %8283 = load i32, ptr %8282, align 4, !tbaa !5
  store i32 %8283, ptr %163, align 4, !tbaa !5
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = call i32 @s2n_print_stacktrace(ptr noundef %8284)
  %8286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8287 = trunc i8 %8286 to i1
  br i1 %8287, label %8288, label %8310

8288:                                             ; preds = %8281
  %8289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8290 = call i32 @fileno(ptr noundef %8289) #10
  %8291 = call i32 @isatty(i32 noundef %8290) #10
  %8292 = icmp ne i32 %8291, 0
  br i1 %8292, label %8293, label %8310

8293:                                             ; preds = %8288
  %8294 = load i32, ptr %163, align 4, !tbaa !5
  %8295 = call ptr @__errno_location() #11
  store i32 %8294, ptr %8295, align 4, !tbaa !5
  %8296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8297 = load i32, ptr @test_count, align 4, !tbaa !5
  %8298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  %8300 = call ptr @s2n_strerror(i32 noundef %8299, ptr noundef @.str.4)
  %8301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8302 = load i32, ptr %8301, align 4, !tbaa !5
  %8303 = call ptr @s2n_strerror_debug(i32 noundef %8302, ptr noundef @.str.4)
  %8304 = call ptr @__errno_location() #11
  %8305 = load i32, ptr %8304, align 4, !tbaa !5
  %8306 = call ptr @strerror(i32 noundef %8305) #10
  %8307 = call ptr @__errno_location() #11
  %8308 = load i32, ptr %8307, align 4, !tbaa !5
  %8309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8296, ptr noundef @.str.2, i32 noundef %8297, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8300, ptr noundef %8303, ptr noundef %8306, i32 noundef %8308) #10
  br label %8327

8310:                                             ; preds = %8288, %8281
  %8311 = load i32, ptr %163, align 4, !tbaa !5
  %8312 = call ptr @__errno_location() #11
  store i32 %8311, ptr %8312, align 4, !tbaa !5
  %8313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8314 = load i32, ptr @test_count, align 4, !tbaa !5
  %8315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call ptr @s2n_strerror(i32 noundef %8316, ptr noundef @.str.4)
  %8318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8319 = load i32, ptr %8318, align 4, !tbaa !5
  %8320 = call ptr @s2n_strerror_debug(i32 noundef %8319, ptr noundef @.str.4)
  %8321 = call ptr @__errno_location() #11
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  %8323 = call ptr @strerror(i32 noundef %8322) #10
  %8324 = call ptr @__errno_location() #11
  %8325 = load i32, ptr %8324, align 4, !tbaa !5
  %8326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8313, ptr noundef @.str.5, i32 noundef %8314, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8317, ptr noundef %8320, ptr noundef %8323, i32 noundef %8325) #10
  br label %8327

8327:                                             ; preds = %8310, %8293
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

8329:                                             ; preds = %8328
  call void @exit(i32 noundef 1) #12
  unreachable

8330:                                             ; No predecessors!
  br label %8331

8331:                                             ; preds = %8330
  br label %8332

8332:                                             ; preds = %8331, %8273
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  br label %8335

8335:                                             ; preds = %8334
  %8336 = load i32, ptr @test_count, align 4, !tbaa !5
  %8337 = add nsw i32 %8336, 1
  store i32 %8337, ptr @test_count, align 4, !tbaa !5
  %8338 = load ptr, ptr %155, align 8, !tbaa !9
  %8339 = getelementptr inbounds %struct.s2n_stuffer, ptr %8338, i32 0, i32 2
  %8340 = load i32, ptr %8339, align 4, !tbaa !15
  %8341 = load ptr, ptr %155, align 8, !tbaa !9
  %8342 = getelementptr inbounds %struct.s2n_stuffer, ptr %8341, i32 0, i32 1
  %8343 = load i32, ptr %8342, align 8, !tbaa !18
  %8344 = sub i32 %8340, %8343
  %8345 = icmp eq i32 %8344, 0
  br i1 %8345, label %8399, label %8346

8346:                                             ; preds = %8335
  br label %8347

8347:                                             ; preds = %8346
  br label %8348

8348:                                             ; preds = %8347
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %8349 = call ptr @__errno_location() #11
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  store i32 %8350, ptr %164, align 4, !tbaa !5
  %8351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8352 = call i32 @s2n_print_stacktrace(ptr noundef %8351)
  %8353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8354 = trunc i8 %8353 to i1
  br i1 %8354, label %8355, label %8377

8355:                                             ; preds = %8348
  %8356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8357 = call i32 @fileno(ptr noundef %8356) #10
  %8358 = call i32 @isatty(i32 noundef %8357) #10
  %8359 = icmp ne i32 %8358, 0
  br i1 %8359, label %8360, label %8377

8360:                                             ; preds = %8355
  %8361 = load i32, ptr %164, align 4, !tbaa !5
  %8362 = call ptr @__errno_location() #11
  store i32 %8361, ptr %8362, align 4, !tbaa !5
  %8363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8364 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8366, ptr noundef @.str.4)
  %8368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8369 = load i32, ptr %8368, align 4, !tbaa !5
  %8370 = call ptr @s2n_strerror_debug(i32 noundef %8369, ptr noundef @.str.4)
  %8371 = call ptr @__errno_location() #11
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call ptr @strerror(i32 noundef %8372) #10
  %8374 = call ptr @__errno_location() #11
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8363, ptr noundef @.str.2, i32 noundef %8364, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8367, ptr noundef %8370, ptr noundef %8373, i32 noundef %8375) #10
  br label %8394

8377:                                             ; preds = %8355, %8348
  %8378 = load i32, ptr %164, align 4, !tbaa !5
  %8379 = call ptr @__errno_location() #11
  store i32 %8378, ptr %8379, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8383, ptr noundef @.str.4)
  %8385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror_debug(i32 noundef %8386, ptr noundef @.str.4)
  %8388 = call ptr @__errno_location() #11
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @strerror(i32 noundef %8389) #10
  %8391 = call ptr @__errno_location() #11
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8380, ptr noundef @.str.5, i32 noundef %8381, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8384, ptr noundef %8387, ptr noundef %8390, i32 noundef %8392) #10
  br label %8394

8394:                                             ; preds = %8377, %8360
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %8395

8395:                                             ; preds = %8394
  br label %8396

8396:                                             ; preds = %8395
  call void @exit(i32 noundef 1) #12
  unreachable

8397:                                             ; No predecessors!
  br label %8398

8398:                                             ; preds = %8397
  br label %8399

8399:                                             ; preds = %8398, %8335
  br label %8400

8400:                                             ; preds = %8399
  br label %8401

8401:                                             ; preds = %8400
  br label %8402

8402:                                             ; preds = %8401
  br label %8403

8403:                                             ; preds = %8402
  %8404 = load ptr, ptr %148, align 8, !tbaa !9
  %8405 = getelementptr inbounds %struct.s2n_connection, ptr %8404, i32 0, i32 23
  store i8 33, ptr %8405, align 4, !tbaa !55
  br label %8406

8406:                                             ; preds = %8403
  %8407 = load i32, ptr @test_count, align 4, !tbaa !5
  %8408 = add nsw i32 %8407, 1
  store i32 %8408, ptr @test_count, align 4, !tbaa !5
  %8409 = load ptr, ptr %155, align 8, !tbaa !9
  %8410 = load ptr, ptr %155, align 8, !tbaa !9
  %8411 = getelementptr inbounds %struct.s2n_stuffer, ptr %8410, i32 0, i32 2
  %8412 = load i32, ptr %8411, align 4, !tbaa !15
  %8413 = load ptr, ptr %155, align 8, !tbaa !9
  %8414 = getelementptr inbounds %struct.s2n_stuffer, ptr %8413, i32 0, i32 1
  %8415 = load i32, ptr %8414, align 8, !tbaa !18
  %8416 = sub i32 %8412, %8415
  %8417 = call i32 @s2n_stuffer_skip_read(ptr noundef %8409, i32 noundef %8416)
  %8418 = icmp eq i32 %8417, -1
  br i1 %8418, label %8419, label %8472

8419:                                             ; preds = %8406
  br label %8420

8420:                                             ; preds = %8419
  br label %8421

8421:                                             ; preds = %8420
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %8422 = call ptr @__errno_location() #11
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  store i32 %8423, ptr %165, align 4, !tbaa !5
  %8424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8425 = call i32 @s2n_print_stacktrace(ptr noundef %8424)
  %8426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8427 = trunc i8 %8426 to i1
  br i1 %8427, label %8428, label %8450

8428:                                             ; preds = %8421
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = call i32 @fileno(ptr noundef %8429) #10
  %8431 = call i32 @isatty(i32 noundef %8430) #10
  %8432 = icmp ne i32 %8431, 0
  br i1 %8432, label %8433, label %8450

8433:                                             ; preds = %8428
  %8434 = load i32, ptr %165, align 4, !tbaa !5
  %8435 = call ptr @__errno_location() #11
  store i32 %8434, ptr %8435, align 4, !tbaa !5
  %8436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8437 = load i32, ptr @test_count, align 4, !tbaa !5
  %8438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8439 = load i32, ptr %8438, align 4, !tbaa !5
  %8440 = call ptr @s2n_strerror(i32 noundef %8439, ptr noundef @.str.4)
  %8441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8442 = load i32, ptr %8441, align 4, !tbaa !5
  %8443 = call ptr @s2n_strerror_debug(i32 noundef %8442, ptr noundef @.str.4)
  %8444 = call ptr @__errno_location() #11
  %8445 = load i32, ptr %8444, align 4, !tbaa !5
  %8446 = call ptr @strerror(i32 noundef %8445) #10
  %8447 = call ptr @__errno_location() #11
  %8448 = load i32, ptr %8447, align 4, !tbaa !5
  %8449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8436, ptr noundef @.str.2, i32 noundef %8437, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 315, ptr noundef %8440, ptr noundef %8443, ptr noundef %8446, i32 noundef %8448) #10
  br label %8467

8450:                                             ; preds = %8428, %8421
  %8451 = load i32, ptr %165, align 4, !tbaa !5
  %8452 = call ptr @__errno_location() #11
  store i32 %8451, ptr %8452, align 4, !tbaa !5
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = load i32, ptr @test_count, align 4, !tbaa !5
  %8455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8456 = load i32, ptr %8455, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror(i32 noundef %8456, ptr noundef @.str.4)
  %8458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  %8460 = call ptr @s2n_strerror_debug(i32 noundef %8459, ptr noundef @.str.4)
  %8461 = call ptr @__errno_location() #11
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call ptr @strerror(i32 noundef %8462) #10
  %8464 = call ptr @__errno_location() #11
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8453, ptr noundef @.str.5, i32 noundef %8454, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 315, ptr noundef %8457, ptr noundef %8460, ptr noundef %8463, i32 noundef %8465) #10
  br label %8467

8467:                                             ; preds = %8450, %8433
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %8468

8468:                                             ; preds = %8467
  br label %8469

8469:                                             ; preds = %8468
  call void @exit(i32 noundef 1) #12
  unreachable

8470:                                             ; No predecessors!
  br label %8471

8471:                                             ; preds = %8470
  br label %8472

8472:                                             ; preds = %8471, %8406
  br label %8473

8473:                                             ; preds = %8472
  br label %8474

8474:                                             ; preds = %8473
  br label %8475

8475:                                             ; preds = %8474
  %8476 = load i32, ptr @test_count, align 4, !tbaa !5
  %8477 = add nsw i32 %8476, 1
  store i32 %8477, ptr @test_count, align 4, !tbaa !5
  %8478 = load ptr, ptr %148, align 8, !tbaa !9
  %8479 = load ptr, ptr %155, align 8, !tbaa !9
  %8480 = call i32 @s2n_server_extensions_send(ptr noundef %8478, ptr noundef %8479)
  %8481 = icmp eq i32 %8480, -1
  br i1 %8481, label %8482, label %8535

8482:                                             ; preds = %8475
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %8485 = call ptr @__errno_location() #11
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  store i32 %8486, ptr %166, align 4, !tbaa !5
  %8487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8488 = call i32 @s2n_print_stacktrace(ptr noundef %8487)
  %8489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8490 = trunc i8 %8489 to i1
  br i1 %8490, label %8491, label %8513

8491:                                             ; preds = %8484
  %8492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8493 = call i32 @fileno(ptr noundef %8492) #10
  %8494 = call i32 @isatty(i32 noundef %8493) #10
  %8495 = icmp ne i32 %8494, 0
  br i1 %8495, label %8496, label %8513

8496:                                             ; preds = %8491
  %8497 = load i32, ptr %166, align 4, !tbaa !5
  %8498 = call ptr @__errno_location() #11
  store i32 %8497, ptr %8498, align 4, !tbaa !5
  %8499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8500 = load i32, ptr @test_count, align 4, !tbaa !5
  %8501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8502 = load i32, ptr %8501, align 4, !tbaa !5
  %8503 = call ptr @s2n_strerror(i32 noundef %8502, ptr noundef @.str.4)
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror_debug(i32 noundef %8505, ptr noundef @.str.4)
  %8507 = call ptr @__errno_location() #11
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @strerror(i32 noundef %8508) #10
  %8510 = call ptr @__errno_location() #11
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8499, ptr noundef @.str.2, i32 noundef %8500, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8503, ptr noundef %8506, ptr noundef %8509, i32 noundef %8511) #10
  br label %8530

8513:                                             ; preds = %8491, %8484
  %8514 = load i32, ptr %166, align 4, !tbaa !5
  %8515 = call ptr @__errno_location() #11
  store i32 %8514, ptr %8515, align 4, !tbaa !5
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = load i32, ptr @test_count, align 4, !tbaa !5
  %8518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @s2n_strerror(i32 noundef %8519, ptr noundef @.str.4)
  %8521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call ptr @s2n_strerror_debug(i32 noundef %8522, ptr noundef @.str.4)
  %8524 = call ptr @__errno_location() #11
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @strerror(i32 noundef %8525) #10
  %8527 = call ptr @__errno_location() #11
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8516, ptr noundef @.str.5, i32 noundef %8517, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8520, ptr noundef %8523, ptr noundef %8526, i32 noundef %8528) #10
  br label %8530

8530:                                             ; preds = %8513, %8496
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

8532:                                             ; preds = %8531
  call void @exit(i32 noundef 1) #12
  unreachable

8533:                                             ; No predecessors!
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

8535:                                             ; preds = %8534, %8475
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537
  br label %8539

8539:                                             ; preds = %8538
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = add nsw i32 %8540, 1
  store i32 %8541, ptr @test_count, align 4, !tbaa !5
  %8542 = load ptr, ptr %155, align 8, !tbaa !9
  %8543 = call i32 @s2n_stuffer_skip_read(ptr noundef %8542, i32 noundef 0)
  %8544 = icmp eq i32 %8543, -1
  br i1 %8544, label %8545, label %8598

8545:                                             ; preds = %8539
  br label %8546

8546:                                             ; preds = %8545
  br label %8547

8547:                                             ; preds = %8546
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %8548 = call ptr @__errno_location() #11
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  store i32 %8549, ptr %167, align 4, !tbaa !5
  %8550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8551 = call i32 @s2n_print_stacktrace(ptr noundef %8550)
  %8552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8553 = trunc i8 %8552 to i1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8547
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = call i32 @fileno(ptr noundef %8555) #10
  %8557 = call i32 @isatty(i32 noundef %8556) #10
  %8558 = icmp ne i32 %8557, 0
  br i1 %8558, label %8559, label %8576

8559:                                             ; preds = %8554
  %8560 = load i32, ptr %167, align 4, !tbaa !5
  %8561 = call ptr @__errno_location() #11
  store i32 %8560, ptr %8561, align 4, !tbaa !5
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = load i32, ptr @test_count, align 4, !tbaa !5
  %8564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror(i32 noundef %8565, ptr noundef @.str.4)
  %8567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror_debug(i32 noundef %8568, ptr noundef @.str.4)
  %8570 = call ptr @__errno_location() #11
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @strerror(i32 noundef %8571) #10
  %8573 = call ptr @__errno_location() #11
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8562, ptr noundef @.str.2, i32 noundef %8563, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8566, ptr noundef %8569, ptr noundef %8572, i32 noundef %8574) #10
  br label %8593

8576:                                             ; preds = %8554, %8547
  %8577 = load i32, ptr %167, align 4, !tbaa !5
  %8578 = call ptr @__errno_location() #11
  store i32 %8577, ptr %8578, align 4, !tbaa !5
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @s2n_strerror(i32 noundef %8582, ptr noundef @.str.4)
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror_debug(i32 noundef %8585, ptr noundef @.str.4)
  %8587 = call ptr @__errno_location() #11
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @strerror(i32 noundef %8588) #10
  %8590 = call ptr @__errno_location() #11
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8579, ptr noundef @.str.5, i32 noundef %8580, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #10
  br label %8593

8593:                                             ; preds = %8576, %8559
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %8594

8594:                                             ; preds = %8593
  br label %8595

8595:                                             ; preds = %8594
  call void @exit(i32 noundef 1) #12
  unreachable

8596:                                             ; No predecessors!
  br label %8597

8597:                                             ; preds = %8596
  br label %8598

8598:                                             ; preds = %8597, %8539
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599
  br label %8601

8601:                                             ; preds = %8600
  %8602 = load i32, ptr @test_count, align 4, !tbaa !5
  %8603 = add nsw i32 %8602, 1
  store i32 %8603, ptr @test_count, align 4, !tbaa !5
  %8604 = load ptr, ptr %155, align 8, !tbaa !9
  %8605 = getelementptr inbounds %struct.s2n_stuffer, ptr %8604, i32 0, i32 2
  %8606 = load i32, ptr %8605, align 4, !tbaa !15
  %8607 = load ptr, ptr %155, align 8, !tbaa !9
  %8608 = getelementptr inbounds %struct.s2n_stuffer, ptr %8607, i32 0, i32 1
  %8609 = load i32, ptr %8608, align 8, !tbaa !18
  %8610 = sub i32 %8606, %8609
  %8611 = icmp eq i32 %8610, 0
  br i1 %8611, label %8665, label %8612

8612:                                             ; preds = %8601
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

8614:                                             ; preds = %8613
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8615 = call ptr @__errno_location() #11
  %8616 = load i32, ptr %8615, align 4, !tbaa !5
  store i32 %8616, ptr %168, align 4, !tbaa !5
  %8617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8618 = call i32 @s2n_print_stacktrace(ptr noundef %8617)
  %8619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8620 = trunc i8 %8619 to i1
  br i1 %8620, label %8621, label %8643

8621:                                             ; preds = %8614
  %8622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8623 = call i32 @fileno(ptr noundef %8622) #10
  %8624 = call i32 @isatty(i32 noundef %8623) #10
  %8625 = icmp ne i32 %8624, 0
  br i1 %8625, label %8626, label %8643

8626:                                             ; preds = %8621
  %8627 = load i32, ptr %168, align 4, !tbaa !5
  %8628 = call ptr @__errno_location() #11
  store i32 %8627, ptr %8628, align 4, !tbaa !5
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @s2n_strerror_debug(i32 noundef %8635, ptr noundef @.str.4)
  %8637 = call ptr @__errno_location() #11
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call ptr @strerror(i32 noundef %8638) #10
  %8640 = call ptr @__errno_location() #11
  %8641 = load i32, ptr %8640, align 4, !tbaa !5
  %8642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8629, ptr noundef @.str.2, i32 noundef %8630, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8633, ptr noundef %8636, ptr noundef %8639, i32 noundef %8641) #10
  br label %8660

8643:                                             ; preds = %8621, %8614
  %8644 = load i32, ptr %168, align 4, !tbaa !5
  %8645 = call ptr @__errno_location() #11
  store i32 %8644, ptr %8645, align 4, !tbaa !5
  %8646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8647 = load i32, ptr @test_count, align 4, !tbaa !5
  %8648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @s2n_strerror(i32 noundef %8649, ptr noundef @.str.4)
  %8651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @s2n_strerror_debug(i32 noundef %8652, ptr noundef @.str.4)
  %8654 = call ptr @__errno_location() #11
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @strerror(i32 noundef %8655) #10
  %8657 = call ptr @__errno_location() #11
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8646, ptr noundef @.str.5, i32 noundef %8647, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8650, ptr noundef %8653, ptr noundef %8656, i32 noundef %8658) #10
  br label %8660

8660:                                             ; preds = %8643, %8626
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661
  call void @exit(i32 noundef 1) #12
  unreachable

8663:                                             ; No predecessors!
  br label %8664

8664:                                             ; preds = %8663
  br label %8665

8665:                                             ; preds = %8664, %8601
  br label %8666

8666:                                             ; preds = %8665
  br label %8667

8667:                                             ; preds = %8666
  br label %8668

8668:                                             ; preds = %8667
  br label %8669

8669:                                             ; preds = %8668
  br label %8670

8670:                                             ; preds = %8669
  %8671 = load i32, ptr @test_count, align 4, !tbaa !5
  %8672 = add nsw i32 %8671, 1
  store i32 %8672, ptr @test_count, align 4, !tbaa !5
  %8673 = call i32 (...) @s2n_disable_tls13_in_test()
  %8674 = icmp eq i32 %8673, -1
  br i1 %8674, label %8675, label %8728

8675:                                             ; preds = %8670
  br label %8676

8676:                                             ; preds = %8675
  br label %8677

8677:                                             ; preds = %8676
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8678 = call ptr @__errno_location() #11
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  store i32 %8679, ptr %169, align 4, !tbaa !5
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @s2n_print_stacktrace(ptr noundef %8680)
  %8682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8683 = trunc i8 %8682 to i1
  br i1 %8683, label %8684, label %8706

8684:                                             ; preds = %8677
  %8685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8686 = call i32 @fileno(ptr noundef %8685) #10
  %8687 = call i32 @isatty(i32 noundef %8686) #10
  %8688 = icmp ne i32 %8687, 0
  br i1 %8688, label %8689, label %8706

8689:                                             ; preds = %8684
  %8690 = load i32, ptr %169, align 4, !tbaa !5
  %8691 = call ptr @__errno_location() #11
  store i32 %8690, ptr %8691, align 4, !tbaa !5
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8695, ptr noundef @.str.4)
  %8697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call ptr @s2n_strerror_debug(i32 noundef %8698, ptr noundef @.str.4)
  %8700 = call ptr @__errno_location() #11
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call ptr @strerror(i32 noundef %8701) #10
  %8703 = call ptr @__errno_location() #11
  %8704 = load i32, ptr %8703, align 4, !tbaa !5
  %8705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8692, ptr noundef @.str.2, i32 noundef %8693, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 318, ptr noundef %8696, ptr noundef %8699, ptr noundef %8702, i32 noundef %8704) #10
  br label %8723

8706:                                             ; preds = %8684, %8677
  %8707 = load i32, ptr %169, align 4, !tbaa !5
  %8708 = call ptr @__errno_location() #11
  store i32 %8707, ptr %8708, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = load i32, ptr @test_count, align 4, !tbaa !5
  %8711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror(i32 noundef %8712, ptr noundef @.str.4)
  %8714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @s2n_strerror_debug(i32 noundef %8715, ptr noundef @.str.4)
  %8717 = call ptr @__errno_location() #11
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @strerror(i32 noundef %8718) #10
  %8720 = call ptr @__errno_location() #11
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef @.str.5, i32 noundef %8710, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 318, ptr noundef %8713, ptr noundef %8716, ptr noundef %8719, i32 noundef %8721) #10
  br label %8723

8723:                                             ; preds = %8706, %8689
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724
  call void @exit(i32 noundef 1) #12
  unreachable

8726:                                             ; No predecessors!
  br label %8727

8727:                                             ; preds = %8726
  br label %8728

8728:                                             ; preds = %8727, %8670
  br label %8729

8729:                                             ; preds = %8728
  br label %8730

8730:                                             ; preds = %8729
  br label %8731

8731:                                             ; preds = %8730
  %8732 = load i32, ptr @test_count, align 4, !tbaa !5
  %8733 = add nsw i32 %8732, 1
  store i32 %8733, ptr @test_count, align 4, !tbaa !5
  %8734 = load ptr, ptr %148, align 8, !tbaa !9
  %8735 = call i32 @s2n_connection_free(ptr noundef %8734)
  %8736 = icmp eq i32 %8735, -1
  br i1 %8736, label %8737, label %8790

8737:                                             ; preds = %8731
  br label %8738

8738:                                             ; preds = %8737
  br label %8739

8739:                                             ; preds = %8738
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8740 = call ptr @__errno_location() #11
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  store i32 %8741, ptr %170, align 4, !tbaa !5
  %8742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8743 = call i32 @s2n_print_stacktrace(ptr noundef %8742)
  %8744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8745 = trunc i8 %8744 to i1
  br i1 %8745, label %8746, label %8768

8746:                                             ; preds = %8739
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = call i32 @fileno(ptr noundef %8747) #10
  %8749 = call i32 @isatty(i32 noundef %8748) #10
  %8750 = icmp ne i32 %8749, 0
  br i1 %8750, label %8751, label %8768

8751:                                             ; preds = %8746
  %8752 = load i32, ptr %170, align 4, !tbaa !5
  %8753 = call ptr @__errno_location() #11
  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() #11
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  %8764 = call ptr @strerror(i32 noundef %8763) #10
  %8765 = call ptr @__errno_location() #11
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8754, ptr noundef @.str.2, i32 noundef %8755, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 319, ptr noundef %8758, ptr noundef %8761, ptr noundef %8764, i32 noundef %8766) #10
  br label %8785

8768:                                             ; preds = %8746, %8739
  %8769 = load i32, ptr %170, align 4, !tbaa !5
  %8770 = call ptr @__errno_location() #11
  store i32 %8769, ptr %8770, align 4, !tbaa !5
  %8771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8772 = load i32, ptr @test_count, align 4, !tbaa !5
  %8773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  %8775 = call ptr @s2n_strerror(i32 noundef %8774, ptr noundef @.str.4)
  %8776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8777 = load i32, ptr %8776, align 4, !tbaa !5
  %8778 = call ptr @s2n_strerror_debug(i32 noundef %8777, ptr noundef @.str.4)
  %8779 = call ptr @__errno_location() #11
  %8780 = load i32, ptr %8779, align 4, !tbaa !5
  %8781 = call ptr @strerror(i32 noundef %8780) #10
  %8782 = call ptr @__errno_location() #11
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8771, ptr noundef @.str.5, i32 noundef %8772, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 319, ptr noundef %8775, ptr noundef %8778, ptr noundef %8781, i32 noundef %8783) #10
  br label %8785

8785:                                             ; preds = %8768, %8751
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8786

8786:                                             ; preds = %8785
  br label %8787

8787:                                             ; preds = %8786
  call void @exit(i32 noundef 1) #12
  unreachable

8788:                                             ; No predecessors!
  br label %8789

8789:                                             ; preds = %8788
  br label %8790

8790:                                             ; preds = %8789, %8731
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #10
  br label %8793

8793:                                             ; preds = %8792
  %8794 = load i32, ptr @test_count, align 4, !tbaa !5
  %8795 = add nsw i32 %8794, 1
  store i32 %8795, ptr @test_count, align 4, !tbaa !5
  %8796 = call i32 (...) @s2n_enable_tls13_in_test()
  %8797 = icmp eq i32 %8796, -1
  br i1 %8797, label %8798, label %8851

8798:                                             ; preds = %8793
  br label %8799

8799:                                             ; preds = %8798
  br label %8800

8800:                                             ; preds = %8799
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8801 = call ptr @__errno_location() #11
  %8802 = load i32, ptr %8801, align 4, !tbaa !5
  store i32 %8802, ptr %171, align 4, !tbaa !5
  %8803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8804 = call i32 @s2n_print_stacktrace(ptr noundef %8803)
  %8805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8806 = trunc i8 %8805 to i1
  br i1 %8806, label %8807, label %8829

8807:                                             ; preds = %8800
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @fileno(ptr noundef %8808) #10
  %8810 = call i32 @isatty(i32 noundef %8809) #10
  %8811 = icmp ne i32 %8810, 0
  br i1 %8811, label %8812, label %8829

8812:                                             ; preds = %8807
  %8813 = load i32, ptr %171, align 4, !tbaa !5
  %8814 = call ptr @__errno_location() #11
  store i32 %8813, ptr %8814, align 4, !tbaa !5
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = load i32, ptr @test_count, align 4, !tbaa !5
  %8817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8818 = load i32, ptr %8817, align 4, !tbaa !5
  %8819 = call ptr @s2n_strerror(i32 noundef %8818, ptr noundef @.str.4)
  %8820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8821 = load i32, ptr %8820, align 4, !tbaa !5
  %8822 = call ptr @s2n_strerror_debug(i32 noundef %8821, ptr noundef @.str.4)
  %8823 = call ptr @__errno_location() #11
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call ptr @strerror(i32 noundef %8824) #10
  %8826 = call ptr @__errno_location() #11
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8815, ptr noundef @.str.2, i32 noundef %8816, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8819, ptr noundef %8822, ptr noundef %8825, i32 noundef %8827) #10
  br label %8846

8829:                                             ; preds = %8807, %8800
  %8830 = load i32, ptr %171, align 4, !tbaa !5
  %8831 = call ptr @__errno_location() #11
  store i32 %8830, ptr %8831, align 4, !tbaa !5
  %8832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8833 = load i32, ptr @test_count, align 4, !tbaa !5
  %8834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8835 = load i32, ptr %8834, align 4, !tbaa !5
  %8836 = call ptr @s2n_strerror(i32 noundef %8835, ptr noundef @.str.4)
  %8837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8838 = load i32, ptr %8837, align 4, !tbaa !5
  %8839 = call ptr @s2n_strerror_debug(i32 noundef %8838, ptr noundef @.str.4)
  %8840 = call ptr @__errno_location() #11
  %8841 = load i32, ptr %8840, align 4, !tbaa !5
  %8842 = call ptr @strerror(i32 noundef %8841) #10
  %8843 = call ptr @__errno_location() #11
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  %8845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8832, ptr noundef @.str.5, i32 noundef %8833, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8836, ptr noundef %8839, ptr noundef %8842, i32 noundef %8844) #10
  br label %8846

8846:                                             ; preds = %8829, %8812
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8847

8847:                                             ; preds = %8846
  br label %8848

8848:                                             ; preds = %8847
  call void @exit(i32 noundef 1) #12
  unreachable

8849:                                             ; No predecessors!
  br label %8850

8850:                                             ; preds = %8849
  br label %8851

8851:                                             ; preds = %8850, %8793
  br label %8852

8852:                                             ; preds = %8851
  br label %8853

8853:                                             ; preds = %8852
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #10
  store ptr null, ptr %172, align 8, !tbaa !9
  br label %8854

8854:                                             ; preds = %8853
  %8855 = load i32, ptr @test_count, align 4, !tbaa !5
  %8856 = add nsw i32 %8855, 1
  store i32 %8856, ptr @test_count, align 4, !tbaa !5
  %8857 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8857, ptr %172, align 8, !tbaa !9
  %8858 = icmp eq ptr %8857, null
  br i1 %8858, label %8859, label %8912

8859:                                             ; preds = %8854
  br label %8860

8860:                                             ; preds = %8859
  br label %8861

8861:                                             ; preds = %8860
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %8862 = call ptr @__errno_location() #11
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  store i32 %8863, ptr %173, align 4, !tbaa !5
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @s2n_print_stacktrace(ptr noundef %8864)
  %8866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8867 = trunc i8 %8866 to i1
  br i1 %8867, label %8868, label %8890

8868:                                             ; preds = %8861
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = call i32 @fileno(ptr noundef %8869) #10
  %8871 = call i32 @isatty(i32 noundef %8870) #10
  %8872 = icmp ne i32 %8871, 0
  br i1 %8872, label %8873, label %8890

8873:                                             ; preds = %8868
  %8874 = load i32, ptr %173, align 4, !tbaa !5
  %8875 = call ptr @__errno_location() #11
  store i32 %8874, ptr %8875, align 4, !tbaa !5
  %8876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8877 = load i32, ptr @test_count, align 4, !tbaa !5
  %8878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  %8880 = call ptr @s2n_strerror(i32 noundef %8879, ptr noundef @.str.4)
  %8881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  %8883 = call ptr @s2n_strerror_debug(i32 noundef %8882, ptr noundef @.str.4)
  %8884 = call ptr @__errno_location() #11
  %8885 = load i32, ptr %8884, align 4, !tbaa !5
  %8886 = call ptr @strerror(i32 noundef %8885) #10
  %8887 = call ptr @__errno_location() #11
  %8888 = load i32, ptr %8887, align 4, !tbaa !5
  %8889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8876, ptr noundef @.str.2, i32 noundef %8877, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8880, ptr noundef %8883, ptr noundef %8886, i32 noundef %8888) #10
  br label %8907

8890:                                             ; preds = %8868, %8861
  %8891 = load i32, ptr %173, align 4, !tbaa !5
  %8892 = call ptr @__errno_location() #11
  store i32 %8891, ptr %8892, align 4, !tbaa !5
  %8893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8894 = load i32, ptr @test_count, align 4, !tbaa !5
  %8895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror(i32 noundef %8896, ptr noundef @.str.4)
  %8898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call ptr @s2n_strerror_debug(i32 noundef %8899, ptr noundef @.str.4)
  %8901 = call ptr @__errno_location() #11
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call ptr @strerror(i32 noundef %8902) #10
  %8904 = call ptr @__errno_location() #11
  %8905 = load i32, ptr %8904, align 4, !tbaa !5
  %8906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8893, ptr noundef @.str.5, i32 noundef %8894, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8897, ptr noundef %8900, ptr noundef %8903, i32 noundef %8905) #10
  br label %8907

8907:                                             ; preds = %8890, %8873
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

8909:                                             ; preds = %8908
  call void @exit(i32 noundef 1) #12
  unreachable

8910:                                             ; No predecessors!
  br label %8911

8911:                                             ; preds = %8910
  br label %8912

8912:                                             ; preds = %8911, %8854
  br label %8913

8913:                                             ; preds = %8912
  br label %8914

8914:                                             ; preds = %8913
  br label %8915

8915:                                             ; preds = %8914
  %8916 = load i32, ptr @test_count, align 4, !tbaa !5
  %8917 = add nsw i32 %8916, 1
  store i32 %8917, ptr @test_count, align 4, !tbaa !5
  %8918 = load ptr, ptr %172, align 8, !tbaa !9
  %8919 = load ptr, ptr %12, align 8, !tbaa !9
  %8920 = call i32 @s2n_connection_set_config(ptr noundef %8918, ptr noundef %8919)
  %8921 = icmp eq i32 %8920, -1
  br i1 %8921, label %8922, label %8975

8922:                                             ; preds = %8915
  br label %8923

8923:                                             ; preds = %8922
  br label %8924

8924:                                             ; preds = %8923
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8925 = call ptr @__errno_location() #11
  %8926 = load i32, ptr %8925, align 4, !tbaa !5
  store i32 %8926, ptr %174, align 4, !tbaa !5
  %8927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8928 = call i32 @s2n_print_stacktrace(ptr noundef %8927)
  %8929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8930 = trunc i8 %8929 to i1
  br i1 %8930, label %8931, label %8953

8931:                                             ; preds = %8924
  %8932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8933 = call i32 @fileno(ptr noundef %8932) #10
  %8934 = call i32 @isatty(i32 noundef %8933) #10
  %8935 = icmp ne i32 %8934, 0
  br i1 %8935, label %8936, label %8953

8936:                                             ; preds = %8931
  %8937 = load i32, ptr %174, align 4, !tbaa !5
  %8938 = call ptr @__errno_location() #11
  store i32 %8937, ptr %8938, align 4, !tbaa !5
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = load i32, ptr @test_count, align 4, !tbaa !5
  %8941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8942 = load i32, ptr %8941, align 4, !tbaa !5
  %8943 = call ptr @s2n_strerror(i32 noundef %8942, ptr noundef @.str.4)
  %8944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  %8946 = call ptr @s2n_strerror_debug(i32 noundef %8945, ptr noundef @.str.4)
  %8947 = call ptr @__errno_location() #11
  %8948 = load i32, ptr %8947, align 4, !tbaa !5
  %8949 = call ptr @strerror(i32 noundef %8948) #10
  %8950 = call ptr @__errno_location() #11
  %8951 = load i32, ptr %8950, align 4, !tbaa !5
  %8952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8939, ptr noundef @.str.2, i32 noundef %8940, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8943, ptr noundef %8946, ptr noundef %8949, i32 noundef %8951) #10
  br label %8970

8953:                                             ; preds = %8931, %8924
  %8954 = load i32, ptr %174, align 4, !tbaa !5
  %8955 = call ptr @__errno_location() #11
  store i32 %8954, ptr %8955, align 4, !tbaa !5
  %8956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8957 = load i32, ptr @test_count, align 4, !tbaa !5
  %8958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8959 = load i32, ptr %8958, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror(i32 noundef %8959, ptr noundef @.str.4)
  %8961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror_debug(i32 noundef %8962, ptr noundef @.str.4)
  %8964 = call ptr @__errno_location() #11
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @strerror(i32 noundef %8965) #10
  %8967 = call ptr @__errno_location() #11
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8956, ptr noundef @.str.5, i32 noundef %8957, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8960, ptr noundef %8963, ptr noundef %8966, i32 noundef %8968) #10
  br label %8970

8970:                                             ; preds = %8953, %8936
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8971

8971:                                             ; preds = %8970
  br label %8972

8972:                                             ; preds = %8971
  call void @exit(i32 noundef 1) #12
  unreachable

8973:                                             ; No predecessors!
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974, %8915
  br label %8976

8976:                                             ; preds = %8975
  br label %8977

8977:                                             ; preds = %8976
  br label %8978

8978:                                             ; preds = %8977
  %8979 = load i32, ptr @test_count, align 4, !tbaa !5
  %8980 = add nsw i32 %8979, 1
  store i32 %8980, ptr @test_count, align 4, !tbaa !5
  %8981 = load ptr, ptr %172, align 8, !tbaa !9
  %8982 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %8983 = call i32 @s2n_connection_allow_response_extension(ptr noundef %8981, i16 noundef zeroext %8982)
  %8984 = icmp eq i32 %8983, -1
  br i1 %8984, label %8985, label %9038

8985:                                             ; preds = %8978
  br label %8986

8986:                                             ; preds = %8985
  br label %8987

8987:                                             ; preds = %8986
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %8988 = call ptr @__errno_location() #11
  %8989 = load i32, ptr %8988, align 4, !tbaa !5
  store i32 %8989, ptr %175, align 4, !tbaa !5
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = call i32 @s2n_print_stacktrace(ptr noundef %8990)
  %8992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8993 = trunc i8 %8992 to i1
  br i1 %8993, label %8994, label %9016

8994:                                             ; preds = %8987
  %8995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8996 = call i32 @fileno(ptr noundef %8995) #10
  %8997 = call i32 @isatty(i32 noundef %8996) #10
  %8998 = icmp ne i32 %8997, 0
  br i1 %8998, label %8999, label %9016

8999:                                             ; preds = %8994
  %9000 = load i32, ptr %175, align 4, !tbaa !5
  %9001 = call ptr @__errno_location() #11
  store i32 %9000, ptr %9001, align 4, !tbaa !5
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = load i32, ptr @test_count, align 4, !tbaa !5
  %9004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  %9006 = call ptr @s2n_strerror(i32 noundef %9005, ptr noundef @.str.4)
  %9007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9008 = load i32, ptr %9007, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror_debug(i32 noundef %9008, ptr noundef @.str.4)
  %9010 = call ptr @__errno_location() #11
  %9011 = load i32, ptr %9010, align 4, !tbaa !5
  %9012 = call ptr @strerror(i32 noundef %9011) #10
  %9013 = call ptr @__errno_location() #11
  %9014 = load i32, ptr %9013, align 4, !tbaa !5
  %9015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9002, ptr noundef @.str.2, i32 noundef %9003, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 329, ptr noundef %9006, ptr noundef %9009, ptr noundef %9012, i32 noundef %9014) #10
  br label %9033

9016:                                             ; preds = %8994, %8987
  %9017 = load i32, ptr %175, align 4, !tbaa !5
  %9018 = call ptr @__errno_location() #11
  store i32 %9017, ptr %9018, align 4, !tbaa !5
  %9019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9020 = load i32, ptr @test_count, align 4, !tbaa !5
  %9021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call ptr @s2n_strerror(i32 noundef %9022, ptr noundef @.str.4)
  %9024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9025 = load i32, ptr %9024, align 4, !tbaa !5
  %9026 = call ptr @s2n_strerror_debug(i32 noundef %9025, ptr noundef @.str.4)
  %9027 = call ptr @__errno_location() #11
  %9028 = load i32, ptr %9027, align 4, !tbaa !5
  %9029 = call ptr @strerror(i32 noundef %9028) #10
  %9030 = call ptr @__errno_location() #11
  %9031 = load i32, ptr %9030, align 4, !tbaa !5
  %9032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9019, ptr noundef @.str.5, i32 noundef %9020, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 329, ptr noundef %9023, ptr noundef %9026, ptr noundef %9029, i32 noundef %9031) #10
  br label %9033

9033:                                             ; preds = %9016, %8999
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %9034

9034:                                             ; preds = %9033
  br label %9035

9035:                                             ; preds = %9034
  call void @exit(i32 noundef 1) #12
  unreachable

9036:                                             ; No predecessors!
  br label %9037

9037:                                             ; preds = %9036
  br label %9038

9038:                                             ; preds = %9037, %8978
  br label %9039

9039:                                             ; preds = %9038
  br label %9040

9040:                                             ; preds = %9039
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #10
  store ptr null, ptr %176, align 8, !tbaa !9
  br label %9041

9041:                                             ; preds = %9040
  %9042 = load i32, ptr @test_count, align 4, !tbaa !5
  %9043 = add nsw i32 %9042, 1
  store i32 %9043, ptr @test_count, align 4, !tbaa !5
  %9044 = load ptr, ptr %172, align 8, !tbaa !9
  %9045 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef %9044, ptr noundef %176)
  %9046 = icmp eq i32 %9045, -1
  br i1 %9046, label %9047, label %9100

9047:                                             ; preds = %9041
  br label %9048

9048:                                             ; preds = %9047
  br label %9049

9049:                                             ; preds = %9048
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %9050 = call ptr @__errno_location() #11
  %9051 = load i32, ptr %9050, align 4, !tbaa !5
  store i32 %9051, ptr %177, align 4, !tbaa !5
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = call i32 @s2n_print_stacktrace(ptr noundef %9052)
  %9054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9055 = trunc i8 %9054 to i1
  br i1 %9055, label %9056, label %9078

9056:                                             ; preds = %9049
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = call i32 @fileno(ptr noundef %9057) #10
  %9059 = call i32 @isatty(i32 noundef %9058) #10
  %9060 = icmp ne i32 %9059, 0
  br i1 %9060, label %9061, label %9078

9061:                                             ; preds = %9056
  %9062 = load i32, ptr %177, align 4, !tbaa !5
  %9063 = call ptr @__errno_location() #11
  store i32 %9062, ptr %9063, align 4, !tbaa !5
  %9064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9065 = load i32, ptr @test_count, align 4, !tbaa !5
  %9066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call ptr @s2n_strerror(i32 noundef %9067, ptr noundef @.str.4)
  %9069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  %9071 = call ptr @s2n_strerror_debug(i32 noundef %9070, ptr noundef @.str.4)
  %9072 = call ptr @__errno_location() #11
  %9073 = load i32, ptr %9072, align 4, !tbaa !5
  %9074 = call ptr @strerror(i32 noundef %9073) #10
  %9075 = call ptr @__errno_location() #11
  %9076 = load i32, ptr %9075, align 4, !tbaa !5
  %9077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9064, ptr noundef @.str.2, i32 noundef %9065, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 332, ptr noundef %9068, ptr noundef %9071, ptr noundef %9074, i32 noundef %9076) #10
  br label %9095

9078:                                             ; preds = %9056, %9049
  %9079 = load i32, ptr %177, align 4, !tbaa !5
  %9080 = call ptr @__errno_location() #11
  store i32 %9079, ptr %9080, align 4, !tbaa !5
  %9081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9082 = load i32, ptr @test_count, align 4, !tbaa !5
  %9083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call ptr @s2n_strerror(i32 noundef %9084, ptr noundef @.str.4)
  %9086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9087 = load i32, ptr %9086, align 4, !tbaa !5
  %9088 = call ptr @s2n_strerror_debug(i32 noundef %9087, ptr noundef @.str.4)
  %9089 = call ptr @__errno_location() #11
  %9090 = load i32, ptr %9089, align 4, !tbaa !5
  %9091 = call ptr @strerror(i32 noundef %9090) #10
  %9092 = call ptr @__errno_location() #11
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9081, ptr noundef @.str.5, i32 noundef %9082, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 332, ptr noundef %9085, ptr noundef %9088, ptr noundef %9091, i32 noundef %9093) #10
  br label %9095

9095:                                             ; preds = %9078, %9061
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %9096

9096:                                             ; preds = %9095
  br label %9097

9097:                                             ; preds = %9096
  call void @exit(i32 noundef 1) #12
  unreachable

9098:                                             ; No predecessors!
  br label %9099

9099:                                             ; preds = %9098
  br label %9100

9100:                                             ; preds = %9099, %9041
  br label %9101

9101:                                             ; preds = %9100
  br label %9102

9102:                                             ; preds = %9101
  br label %9103

9103:                                             ; preds = %9102
  %9104 = load i32, ptr @test_count, align 4, !tbaa !5
  %9105 = add nsw i32 %9104, 1
  store i32 %9105, ptr @test_count, align 4, !tbaa !5
  %9106 = load ptr, ptr %176, align 8, !tbaa !9
  %9107 = icmp eq ptr %9106, null
  br i1 %9107, label %9108, label %9161

9108:                                             ; preds = %9103
  br label %9109

9109:                                             ; preds = %9108
  br label %9110

9110:                                             ; preds = %9109
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %9111 = call ptr @__errno_location() #11
  %9112 = load i32, ptr %9111, align 4, !tbaa !5
  store i32 %9112, ptr %178, align 4, !tbaa !5
  %9113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9114 = call i32 @s2n_print_stacktrace(ptr noundef %9113)
  %9115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9116 = trunc i8 %9115 to i1
  br i1 %9116, label %9117, label %9139

9117:                                             ; preds = %9110
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @fileno(ptr noundef %9118) #10
  %9120 = call i32 @isatty(i32 noundef %9119) #10
  %9121 = icmp ne i32 %9120, 0
  br i1 %9121, label %9122, label %9139

9122:                                             ; preds = %9117
  %9123 = load i32, ptr %178, align 4, !tbaa !5
  %9124 = call ptr @__errno_location() #11
  store i32 %9123, ptr %9124, align 4, !tbaa !5
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = load i32, ptr @test_count, align 4, !tbaa !5
  %9127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  %9129 = call ptr @s2n_strerror(i32 noundef %9128, ptr noundef @.str.4)
  %9130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9131 = load i32, ptr %9130, align 4, !tbaa !5
  %9132 = call ptr @s2n_strerror_debug(i32 noundef %9131, ptr noundef @.str.4)
  %9133 = call ptr @__errno_location() #11
  %9134 = load i32, ptr %9133, align 4, !tbaa !5
  %9135 = call ptr @strerror(i32 noundef %9134) #10
  %9136 = call ptr @__errno_location() #11
  %9137 = load i32, ptr %9136, align 4, !tbaa !5
  %9138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9125, ptr noundef @.str.2, i32 noundef %9126, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9129, ptr noundef %9132, ptr noundef %9135, i32 noundef %9137) #10
  br label %9156

9139:                                             ; preds = %9117, %9110
  %9140 = load i32, ptr %178, align 4, !tbaa !5
  %9141 = call ptr @__errno_location() #11
  store i32 %9140, ptr %9141, align 4, !tbaa !5
  %9142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9143 = load i32, ptr @test_count, align 4, !tbaa !5
  %9144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9145 = load i32, ptr %9144, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror(i32 noundef %9145, ptr noundef @.str.4)
  %9147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9148 = load i32, ptr %9147, align 4, !tbaa !5
  %9149 = call ptr @s2n_strerror_debug(i32 noundef %9148, ptr noundef @.str.4)
  %9150 = call ptr @__errno_location() #11
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call ptr @strerror(i32 noundef %9151) #10
  %9153 = call ptr @__errno_location() #11
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9142, ptr noundef @.str.5, i32 noundef %9143, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9146, ptr noundef %9149, ptr noundef %9152, i32 noundef %9154) #10
  br label %9156

9156:                                             ; preds = %9139, %9122
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %9157

9157:                                             ; preds = %9156
  br label %9158

9158:                                             ; preds = %9157
  call void @exit(i32 noundef 1) #12
  unreachable

9159:                                             ; No predecessors!
  br label %9160

9160:                                             ; preds = %9159
  br label %9161

9161:                                             ; preds = %9160, %9103
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

9163:                                             ; preds = %9162
  call void @llvm.lifetime.start.p0(i64 8, ptr %179) #10
  %9164 = load ptr, ptr %172, align 8, !tbaa !9
  %9165 = getelementptr inbounds %struct.s2n_connection, ptr %9164, i32 0, i32 52
  %9166 = getelementptr inbounds %struct.s2n_handshake, ptr %9165, i32 0, i32 0
  store ptr %9166, ptr %179, align 8, !tbaa !9
  %9167 = load ptr, ptr %176, align 8, !tbaa !9
  %9168 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %9167, i32 0, i32 1
  %9169 = load ptr, ptr %9168, align 8, !tbaa !52
  %9170 = getelementptr inbounds ptr, ptr %9169, i64 0
  %9171 = load ptr, ptr %9170, align 8, !tbaa !9
  %9172 = load ptr, ptr %172, align 8, !tbaa !9
  %9173 = getelementptr inbounds %struct.s2n_connection, ptr %9172, i32 0, i32 31
  %9174 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %9173, i32 0, i32 1
  %9175 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %9174, i32 0, i32 0
  store ptr %9171, ptr %9175, align 8, !tbaa !54
  %9176 = load ptr, ptr %172, align 8, !tbaa !9
  %9177 = load i32, ptr %9176, align 8
  %9178 = and i32 %9177, -9
  %9179 = or i32 %9178, 8
  store i32 %9179, ptr %9176, align 8
  %9180 = load ptr, ptr %172, align 8, !tbaa !9
  %9181 = getelementptr inbounds %struct.s2n_connection, ptr %9180, i32 0, i32 23
  store i8 34, ptr %9181, align 4, !tbaa !55
  %9182 = load ptr, ptr %176, align 8, !tbaa !9
  %9183 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %9182, i32 0, i32 1
  %9184 = load ptr, ptr %9183, align 8, !tbaa !52
  %9185 = getelementptr inbounds ptr, ptr %9184, i64 0
  %9186 = load ptr, ptr %9185, align 8, !tbaa !9
  %9187 = load ptr, ptr %172, align 8, !tbaa !9
  %9188 = getelementptr inbounds %struct.s2n_connection, ptr %9187, i32 0, i32 31
  %9189 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %9188, i32 0, i32 3
  %9190 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %9189, i32 0, i32 0
  store ptr %9186, ptr %9190, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 1, ptr %180) #10
  %9191 = load ptr, ptr %172, align 8, !tbaa !9
  %9192 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef %9191)
  %9193 = trunc i32 %9192 to i8
  store i8 %9193, ptr %180, align 1, !tbaa !19
  br label %9194

9194:                                             ; preds = %9163
  br label %9195

9195:                                             ; preds = %9194
  %9196 = load i32, ptr @test_count, align 4, !tbaa !5
  %9197 = add nsw i32 %9196, 1
  store i32 %9197, ptr @test_count, align 4, !tbaa !5
  %9198 = load ptr, ptr %172, align 8, !tbaa !9
  %9199 = load ptr, ptr %179, align 8, !tbaa !9
  %9200 = call i32 @s2n_server_extensions_send(ptr noundef %9198, ptr noundef %9199)
  %9201 = icmp eq i32 %9200, -1
  br i1 %9201, label %9255, label %9202

9202:                                             ; preds = %9195
  br label %9203

9203:                                             ; preds = %9202
  br label %9204

9204:                                             ; preds = %9203
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %9205 = call ptr @__errno_location() #11
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  store i32 %9206, ptr %181, align 4, !tbaa !5
  %9207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9208 = call i32 @s2n_print_stacktrace(ptr noundef %9207)
  %9209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9210 = trunc i8 %9209 to i1
  br i1 %9210, label %9211, label %9233

9211:                                             ; preds = %9204
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @fileno(ptr noundef %9212) #10
  %9214 = call i32 @isatty(i32 noundef %9213) #10
  %9215 = icmp ne i32 %9214, 0
  br i1 %9215, label %9216, label %9233

9216:                                             ; preds = %9211
  %9217 = load i32, ptr %181, align 4, !tbaa !5
  %9218 = call ptr @__errno_location() #11
  store i32 %9217, ptr %9218, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9222 = load i32, ptr %9221, align 4, !tbaa !5
  %9223 = call ptr @s2n_strerror(i32 noundef %9222, ptr noundef @.str.4)
  %9224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9225 = load i32, ptr %9224, align 4, !tbaa !5
  %9226 = call ptr @s2n_strerror_debug(i32 noundef %9225, ptr noundef @.str.4)
  %9227 = call ptr @__errno_location() #11
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #10
  %9230 = call ptr @__errno_location() #11
  %9231 = load i32, ptr %9230, align 4, !tbaa !5
  %9232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9219, ptr noundef @.str.2, i32 noundef %9220, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9223, ptr noundef %9226, ptr noundef %9229, i32 noundef %9231) #10
  br label %9250

9233:                                             ; preds = %9211, %9204
  %9234 = load i32, ptr %181, align 4, !tbaa !5
  %9235 = call ptr @__errno_location() #11
  store i32 %9234, ptr %9235, align 4, !tbaa !5
  %9236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9237 = load i32, ptr @test_count, align 4, !tbaa !5
  %9238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9239 = load i32, ptr %9238, align 4, !tbaa !5
  %9240 = call ptr @s2n_strerror(i32 noundef %9239, ptr noundef @.str.4)
  %9241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  %9243 = call ptr @s2n_strerror_debug(i32 noundef %9242, ptr noundef @.str.4)
  %9244 = call ptr @__errno_location() #11
  %9245 = load i32, ptr %9244, align 4, !tbaa !5
  %9246 = call ptr @strerror(i32 noundef %9245) #10
  %9247 = call ptr @__errno_location() #11
  %9248 = load i32, ptr %9247, align 4, !tbaa !5
  %9249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9236, ptr noundef @.str.5, i32 noundef %9237, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9240, ptr noundef %9243, ptr noundef %9246, i32 noundef %9248) #10
  br label %9250

9250:                                             ; preds = %9233, %9216
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %9251

9251:                                             ; preds = %9250
  br label %9252

9252:                                             ; preds = %9251
  call void @exit(i32 noundef 1) #12
  unreachable

9253:                                             ; No predecessors!
  br label %9254

9254:                                             ; preds = %9253
  br label %9255

9255:                                             ; preds = %9254, %9195
  br label %9256

9256:                                             ; preds = %9255
  br label %9257

9257:                                             ; preds = %9256
  br label %9258

9258:                                             ; preds = %9257
  %9259 = load i32, ptr @test_count, align 4, !tbaa !5
  %9260 = add nsw i32 %9259, 1
  store i32 %9260, ptr @test_count, align 4, !tbaa !5
  %9261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9262 = load i32, ptr %9261, align 4, !tbaa !5
  %9263 = icmp eq i32 %9262, 0
  br i1 %9263, label %9264, label %9317

9264:                                             ; preds = %9258
  br label %9265

9265:                                             ; preds = %9264
  br label %9266

9266:                                             ; preds = %9265
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #10
  %9267 = call ptr @__errno_location() #11
  %9268 = load i32, ptr %9267, align 4, !tbaa !5
  store i32 %9268, ptr %182, align 4, !tbaa !5
  %9269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9270 = call i32 @s2n_print_stacktrace(ptr noundef %9269)
  %9271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9272 = trunc i8 %9271 to i1
  br i1 %9272, label %9273, label %9295

9273:                                             ; preds = %9266
  %9274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9275 = call i32 @fileno(ptr noundef %9274) #10
  %9276 = call i32 @isatty(i32 noundef %9275) #10
  %9277 = icmp ne i32 %9276, 0
  br i1 %9277, label %9278, label %9295

9278:                                             ; preds = %9273
  %9279 = load i32, ptr %182, align 4, !tbaa !5
  %9280 = call ptr @__errno_location() #11
  store i32 %9279, ptr %9280, align 4, !tbaa !5
  %9281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9282 = load i32, ptr @test_count, align 4, !tbaa !5
  %9283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9284 = load i32, ptr %9283, align 4, !tbaa !5
  %9285 = call ptr @s2n_strerror(i32 noundef %9284, ptr noundef @.str.4)
  %9286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9287 = load i32, ptr %9286, align 4, !tbaa !5
  %9288 = call ptr @s2n_strerror_debug(i32 noundef %9287, ptr noundef @.str.4)
  %9289 = call ptr @__errno_location() #11
  %9290 = load i32, ptr %9289, align 4, !tbaa !5
  %9291 = call ptr @strerror(i32 noundef %9290) #10
  %9292 = call ptr @__errno_location() #11
  %9293 = load i32, ptr %9292, align 4, !tbaa !5
  %9294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9281, ptr noundef @.str.2, i32 noundef %9282, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9285, ptr noundef %9288, ptr noundef %9291, i32 noundef %9293) #10
  br label %9312

9295:                                             ; preds = %9273, %9266
  %9296 = load i32, ptr %182, align 4, !tbaa !5
  %9297 = call ptr @__errno_location() #11
  store i32 %9296, ptr %9297, align 4, !tbaa !5
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = load i32, ptr @test_count, align 4, !tbaa !5
  %9300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call ptr @s2n_strerror(i32 noundef %9301, ptr noundef @.str.4)
  %9303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9304 = load i32, ptr %9303, align 4, !tbaa !5
  %9305 = call ptr @s2n_strerror_debug(i32 noundef %9304, ptr noundef @.str.4)
  %9306 = call ptr @__errno_location() #11
  %9307 = load i32, ptr %9306, align 4, !tbaa !5
  %9308 = call ptr @strerror(i32 noundef %9307) #10
  %9309 = call ptr @__errno_location() #11
  %9310 = load i32, ptr %9309, align 4, !tbaa !5
  %9311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9298, ptr noundef @.str.5, i32 noundef %9299, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9302, ptr noundef %9305, ptr noundef %9308, i32 noundef %9310) #10
  br label %9312

9312:                                             ; preds = %9295, %9278
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #10
  br label %9313

9313:                                             ; preds = %9312
  br label %9314

9314:                                             ; preds = %9313
  call void @exit(i32 noundef 1) #12
  unreachable

9315:                                             ; No predecessors!
  br label %9316

9316:                                             ; preds = %9315
  br label %9317

9317:                                             ; preds = %9316, %9258
  br label %9318

9318:                                             ; preds = %9317
  br label %9319

9319:                                             ; preds = %9318
  br label %9320

9320:                                             ; preds = %9319
  %9321 = load i32, ptr @test_count, align 4, !tbaa !5
  %9322 = add nsw i32 %9321, 1
  store i32 %9322, ptr @test_count, align 4, !tbaa !5
  %9323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call ptr @s2n_strerror_debug(i32 noundef %9324, ptr noundef @.str.4)
  %9326 = icmp eq ptr %9325, null
  br i1 %9326, label %9327, label %9380

9327:                                             ; preds = %9320
  br label %9328

9328:                                             ; preds = %9327
  br label %9329

9329:                                             ; preds = %9328
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  %9330 = call ptr @__errno_location() #11
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  store i32 %9331, ptr %183, align 4, !tbaa !5
  %9332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9333 = call i32 @s2n_print_stacktrace(ptr noundef %9332)
  %9334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9335 = trunc i8 %9334 to i1
  br i1 %9335, label %9336, label %9358

9336:                                             ; preds = %9329
  %9337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9338 = call i32 @fileno(ptr noundef %9337) #10
  %9339 = call i32 @isatty(i32 noundef %9338) #10
  %9340 = icmp ne i32 %9339, 0
  br i1 %9340, label %9341, label %9358

9341:                                             ; preds = %9336
  %9342 = load i32, ptr %183, align 4, !tbaa !5
  %9343 = call ptr @__errno_location() #11
  store i32 %9342, ptr %9343, align 4, !tbaa !5
  %9344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9345 = load i32, ptr @test_count, align 4, !tbaa !5
  %9346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  %9348 = call ptr @s2n_strerror(i32 noundef %9347, ptr noundef @.str.4)
  %9349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9350 = load i32, ptr %9349, align 4, !tbaa !5
  %9351 = call ptr @s2n_strerror_debug(i32 noundef %9350, ptr noundef @.str.4)
  %9352 = call ptr @__errno_location() #11
  %9353 = load i32, ptr %9352, align 4, !tbaa !5
  %9354 = call ptr @strerror(i32 noundef %9353) #10
  %9355 = call ptr @__errno_location() #11
  %9356 = load i32, ptr %9355, align 4, !tbaa !5
  %9357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9344, ptr noundef @.str.2, i32 noundef %9345, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9348, ptr noundef %9351, ptr noundef %9354, i32 noundef %9356) #10
  br label %9375

9358:                                             ; preds = %9336, %9329
  %9359 = load i32, ptr %183, align 4, !tbaa !5
  %9360 = call ptr @__errno_location() #11
  store i32 %9359, ptr %9360, align 4, !tbaa !5
  %9361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9362 = load i32, ptr @test_count, align 4, !tbaa !5
  %9363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9364 = load i32, ptr %9363, align 4, !tbaa !5
  %9365 = call ptr @s2n_strerror(i32 noundef %9364, ptr noundef @.str.4)
  %9366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  %9368 = call ptr @s2n_strerror_debug(i32 noundef %9367, ptr noundef @.str.4)
  %9369 = call ptr @__errno_location() #11
  %9370 = load i32, ptr %9369, align 4, !tbaa !5
  %9371 = call ptr @strerror(i32 noundef %9370) #10
  %9372 = call ptr @__errno_location() #11
  %9373 = load i32, ptr %9372, align 4, !tbaa !5
  %9374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9361, ptr noundef @.str.5, i32 noundef %9362, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9365, ptr noundef %9368, ptr noundef %9371, i32 noundef %9373) #10
  br label %9375

9375:                                             ; preds = %9358, %9341
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  br label %9376

9376:                                             ; preds = %9375
  br label %9377

9377:                                             ; preds = %9376
  call void @exit(i32 noundef 1) #12
  unreachable

9378:                                             ; No predecessors!
  br label %9379

9379:                                             ; preds = %9378
  br label %9380

9380:                                             ; preds = %9379, %9320
  br label %9381

9381:                                             ; preds = %9380
  br label %9382

9382:                                             ; preds = %9381
  br label %9383

9383:                                             ; preds = %9382
  %9384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9384, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9385 = call ptr @__errno_location() #11
  store i32 0, ptr %9385, align 4, !tbaa !5
  br label %9386

9386:                                             ; preds = %9383
  br label %9387

9387:                                             ; preds = %9386
  br label %9388

9388:                                             ; preds = %9387
  br label %9389

9389:                                             ; preds = %9388
  br label %9390

9390:                                             ; preds = %9389
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = add nsw i32 %9391, 1
  store i32 %9392, ptr @test_count, align 4, !tbaa !5
  %9393 = load ptr, ptr %172, align 8, !tbaa !9
  %9394 = getelementptr inbounds %struct.s2n_connection, ptr %9393, i32 0, i32 31
  %9395 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %9394, i32 0, i32 3
  %9396 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %9395)
  %9397 = icmp eq i32 %9396, -1
  br i1 %9397, label %9398, label %9451

9398:                                             ; preds = %9390
  br label %9399

9399:                                             ; preds = %9398
  br label %9400

9400:                                             ; preds = %9399
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %9401 = call ptr @__errno_location() #11
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  store i32 %9402, ptr %184, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = call i32 @s2n_print_stacktrace(ptr noundef %9403)
  %9405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9406 = trunc i8 %9405 to i1
  br i1 %9406, label %9407, label %9429

9407:                                             ; preds = %9400
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = call i32 @fileno(ptr noundef %9408) #10
  %9410 = call i32 @isatty(i32 noundef %9409) #10
  %9411 = icmp ne i32 %9410, 0
  br i1 %9411, label %9412, label %9429

9412:                                             ; preds = %9407
  %9413 = load i32, ptr %184, align 4, !tbaa !5
  %9414 = call ptr @__errno_location() #11
  store i32 %9413, ptr %9414, align 4, !tbaa !5
  %9415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9416 = load i32, ptr @test_count, align 4, !tbaa !5
  %9417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9418 = load i32, ptr %9417, align 4, !tbaa !5
  %9419 = call ptr @s2n_strerror(i32 noundef %9418, ptr noundef @.str.4)
  %9420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9421 = load i32, ptr %9420, align 4, !tbaa !5
  %9422 = call ptr @s2n_strerror_debug(i32 noundef %9421, ptr noundef @.str.4)
  %9423 = call ptr @__errno_location() #11
  %9424 = load i32, ptr %9423, align 4, !tbaa !5
  %9425 = call ptr @strerror(i32 noundef %9424) #10
  %9426 = call ptr @__errno_location() #11
  %9427 = load i32, ptr %9426, align 4, !tbaa !5
  %9428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9415, ptr noundef @.str.2, i32 noundef %9416, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 349, ptr noundef %9419, ptr noundef %9422, ptr noundef %9425, i32 noundef %9427) #10
  br label %9446

9429:                                             ; preds = %9407, %9400
  %9430 = load i32, ptr %184, align 4, !tbaa !5
  %9431 = call ptr @__errno_location() #11
  store i32 %9430, ptr %9431, align 4, !tbaa !5
  %9432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9433 = load i32, ptr @test_count, align 4, !tbaa !5
  %9434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9435 = load i32, ptr %9434, align 4, !tbaa !5
  %9436 = call ptr @s2n_strerror(i32 noundef %9435, ptr noundef @.str.4)
  %9437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9438 = load i32, ptr %9437, align 4, !tbaa !5
  %9439 = call ptr @s2n_strerror_debug(i32 noundef %9438, ptr noundef @.str.4)
  %9440 = call ptr @__errno_location() #11
  %9441 = load i32, ptr %9440, align 4, !tbaa !5
  %9442 = call ptr @strerror(i32 noundef %9441) #10
  %9443 = call ptr @__errno_location() #11
  %9444 = load i32, ptr %9443, align 4, !tbaa !5
  %9445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9432, ptr noundef @.str.5, i32 noundef %9433, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 349, ptr noundef %9436, ptr noundef %9439, ptr noundef %9442, i32 noundef %9444) #10
  br label %9446

9446:                                             ; preds = %9429, %9412
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %9447

9447:                                             ; preds = %9446
  br label %9448

9448:                                             ; preds = %9447
  call void @exit(i32 noundef 1) #12
  unreachable

9449:                                             ; No predecessors!
  br label %9450

9450:                                             ; preds = %9449
  br label %9451

9451:                                             ; preds = %9450, %9390
  br label %9452

9452:                                             ; preds = %9451
  br label %9453

9453:                                             ; preds = %9452
  br label %9454

9454:                                             ; preds = %9453
  %9455 = load i32, ptr @test_count, align 4, !tbaa !5
  %9456 = add nsw i32 %9455, 1
  store i32 %9456, ptr @test_count, align 4, !tbaa !5
  %9457 = load ptr, ptr %179, align 8, !tbaa !9
  %9458 = load ptr, ptr %179, align 8, !tbaa !9
  %9459 = getelementptr inbounds %struct.s2n_stuffer, ptr %9458, i32 0, i32 2
  %9460 = load i32, ptr %9459, align 4, !tbaa !15
  %9461 = load ptr, ptr %179, align 8, !tbaa !9
  %9462 = getelementptr inbounds %struct.s2n_stuffer, ptr %9461, i32 0, i32 1
  %9463 = load i32, ptr %9462, align 8, !tbaa !18
  %9464 = sub i32 %9460, %9463
  %9465 = call i32 @s2n_stuffer_skip_read(ptr noundef %9457, i32 noundef %9464)
  %9466 = icmp eq i32 %9465, -1
  br i1 %9466, label %9467, label %9520

9467:                                             ; preds = %9454
  br label %9468

9468:                                             ; preds = %9467
  br label %9469

9469:                                             ; preds = %9468
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %9470 = call ptr @__errno_location() #11
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  store i32 %9471, ptr %185, align 4, !tbaa !5
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = call i32 @s2n_print_stacktrace(ptr noundef %9472)
  %9474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9475 = trunc i8 %9474 to i1
  br i1 %9475, label %9476, label %9498

9476:                                             ; preds = %9469
  %9477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9478 = call i32 @fileno(ptr noundef %9477) #10
  %9479 = call i32 @isatty(i32 noundef %9478) #10
  %9480 = icmp ne i32 %9479, 0
  br i1 %9480, label %9481, label %9498

9481:                                             ; preds = %9476
  %9482 = load i32, ptr %185, align 4, !tbaa !5
  %9483 = call ptr @__errno_location() #11
  store i32 %9482, ptr %9483, align 4, !tbaa !5
  %9484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9485 = load i32, ptr @test_count, align 4, !tbaa !5
  %9486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror(i32 noundef %9487, ptr noundef @.str.4)
  %9489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call ptr @s2n_strerror_debug(i32 noundef %9490, ptr noundef @.str.4)
  %9492 = call ptr @__errno_location() #11
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = call ptr @strerror(i32 noundef %9493) #10
  %9495 = call ptr @__errno_location() #11
  %9496 = load i32, ptr %9495, align 4, !tbaa !5
  %9497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9484, ptr noundef @.str.2, i32 noundef %9485, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 351, ptr noundef %9488, ptr noundef %9491, ptr noundef %9494, i32 noundef %9496) #10
  br label %9515

9498:                                             ; preds = %9476, %9469
  %9499 = load i32, ptr %185, align 4, !tbaa !5
  %9500 = call ptr @__errno_location() #11
  store i32 %9499, ptr %9500, align 4, !tbaa !5
  %9501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9502 = load i32, ptr @test_count, align 4, !tbaa !5
  %9503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @s2n_strerror(i32 noundef %9504, ptr noundef @.str.4)
  %9506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call ptr @s2n_strerror_debug(i32 noundef %9507, ptr noundef @.str.4)
  %9509 = call ptr @__errno_location() #11
  %9510 = load i32, ptr %9509, align 4, !tbaa !5
  %9511 = call ptr @strerror(i32 noundef %9510) #10
  %9512 = call ptr @__errno_location() #11
  %9513 = load i32, ptr %9512, align 4, !tbaa !5
  %9514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9501, ptr noundef @.str.5, i32 noundef %9502, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 351, ptr noundef %9505, ptr noundef %9508, ptr noundef %9511, i32 noundef %9513) #10
  br label %9515

9515:                                             ; preds = %9498, %9481
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %9516

9516:                                             ; preds = %9515
  br label %9517

9517:                                             ; preds = %9516
  call void @exit(i32 noundef 1) #12
  unreachable

9518:                                             ; No predecessors!
  br label %9519

9519:                                             ; preds = %9518
  br label %9520

9520:                                             ; preds = %9519, %9454
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

9523:                                             ; preds = %9522
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %9525 = add nsw i32 %9524, 1
  store i32 %9525, ptr @test_count, align 4, !tbaa !5
  %9526 = load ptr, ptr %172, align 8, !tbaa !9
  %9527 = load ptr, ptr %179, align 8, !tbaa !9
  %9528 = call i32 @s2n_server_extensions_send(ptr noundef %9526, ptr noundef %9527)
  %9529 = icmp eq i32 %9528, -1
  br i1 %9529, label %9530, label %9583

9530:                                             ; preds = %9523
  br label %9531

9531:                                             ; preds = %9530
  br label %9532

9532:                                             ; preds = %9531
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %9533 = call ptr @__errno_location() #11
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  store i32 %9534, ptr %186, align 4, !tbaa !5
  %9535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9536 = call i32 @s2n_print_stacktrace(ptr noundef %9535)
  %9537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9538 = trunc i8 %9537 to i1
  br i1 %9538, label %9539, label %9561

9539:                                             ; preds = %9532
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = call i32 @fileno(ptr noundef %9540) #10
  %9542 = call i32 @isatty(i32 noundef %9541) #10
  %9543 = icmp ne i32 %9542, 0
  br i1 %9543, label %9544, label %9561

9544:                                             ; preds = %9539
  %9545 = load i32, ptr %186, align 4, !tbaa !5
  %9546 = call ptr @__errno_location() #11
  store i32 %9545, ptr %9546, align 4, !tbaa !5
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = load i32, ptr @test_count, align 4, !tbaa !5
  %9549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9550 = load i32, ptr %9549, align 4, !tbaa !5
  %9551 = call ptr @s2n_strerror(i32 noundef %9550, ptr noundef @.str.4)
  %9552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9553 = load i32, ptr %9552, align 4, !tbaa !5
  %9554 = call ptr @s2n_strerror_debug(i32 noundef %9553, ptr noundef @.str.4)
  %9555 = call ptr @__errno_location() #11
  %9556 = load i32, ptr %9555, align 4, !tbaa !5
  %9557 = call ptr @strerror(i32 noundef %9556) #10
  %9558 = call ptr @__errno_location() #11
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  %9560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9547, ptr noundef @.str.2, i32 noundef %9548, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9551, ptr noundef %9554, ptr noundef %9557, i32 noundef %9559) #10
  br label %9578

9561:                                             ; preds = %9539, %9532
  %9562 = load i32, ptr %186, align 4, !tbaa !5
  %9563 = call ptr @__errno_location() #11
  store i32 %9562, ptr %9563, align 4, !tbaa !5
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9567, ptr noundef @.str.4)
  %9569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9570 = load i32, ptr %9569, align 4, !tbaa !5
  %9571 = call ptr @s2n_strerror_debug(i32 noundef %9570, ptr noundef @.str.4)
  %9572 = call ptr @__errno_location() #11
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  %9574 = call ptr @strerror(i32 noundef %9573) #10
  %9575 = call ptr @__errno_location() #11
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  %9577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9564, ptr noundef @.str.5, i32 noundef %9565, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9568, ptr noundef %9571, ptr noundef %9574, i32 noundef %9576) #10
  br label %9578

9578:                                             ; preds = %9561, %9544
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  br label %9579

9579:                                             ; preds = %9578
  br label %9580

9580:                                             ; preds = %9579
  call void @exit(i32 noundef 1) #12
  unreachable

9581:                                             ; No predecessors!
  br label %9582

9582:                                             ; preds = %9581
  br label %9583

9583:                                             ; preds = %9582, %9523
  br label %9584

9584:                                             ; preds = %9583
  br label %9585

9585:                                             ; preds = %9584
  br label %9586

9586:                                             ; preds = %9585
  br label %9587

9587:                                             ; preds = %9586
  %9588 = load i32, ptr @test_count, align 4, !tbaa !5
  %9589 = add nsw i32 %9588, 1
  store i32 %9589, ptr @test_count, align 4, !tbaa !5
  %9590 = load ptr, ptr %179, align 8, !tbaa !9
  %9591 = load i8, ptr %180, align 1, !tbaa !19
  %9592 = zext i8 %9591 to i32
  %9593 = add nsw i32 %9592, 2
  %9594 = call i32 @s2n_stuffer_skip_read(ptr noundef %9590, i32 noundef %9593)
  %9595 = icmp eq i32 %9594, -1
  br i1 %9595, label %9596, label %9649

9596:                                             ; preds = %9587
  br label %9597

9597:                                             ; preds = %9596
  br label %9598

9598:                                             ; preds = %9597
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %9599 = call ptr @__errno_location() #11
  %9600 = load i32, ptr %9599, align 4, !tbaa !5
  store i32 %9600, ptr %187, align 4, !tbaa !5
  %9601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9602 = call i32 @s2n_print_stacktrace(ptr noundef %9601)
  %9603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9604 = trunc i8 %9603 to i1
  br i1 %9604, label %9605, label %9627

9605:                                             ; preds = %9598
  %9606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9607 = call i32 @fileno(ptr noundef %9606) #10
  %9608 = call i32 @isatty(i32 noundef %9607) #10
  %9609 = icmp ne i32 %9608, 0
  br i1 %9609, label %9610, label %9627

9610:                                             ; preds = %9605
  %9611 = load i32, ptr %187, align 4, !tbaa !5
  %9612 = call ptr @__errno_location() #11
  store i32 %9611, ptr %9612, align 4, !tbaa !5
  %9613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9614 = load i32, ptr @test_count, align 4, !tbaa !5
  %9615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9616 = load i32, ptr %9615, align 4, !tbaa !5
  %9617 = call ptr @s2n_strerror(i32 noundef %9616, ptr noundef @.str.4)
  %9618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9619 = load i32, ptr %9618, align 4, !tbaa !5
  %9620 = call ptr @s2n_strerror_debug(i32 noundef %9619, ptr noundef @.str.4)
  %9621 = call ptr @__errno_location() #11
  %9622 = load i32, ptr %9621, align 4, !tbaa !5
  %9623 = call ptr @strerror(i32 noundef %9622) #10
  %9624 = call ptr @__errno_location() #11
  %9625 = load i32, ptr %9624, align 4, !tbaa !5
  %9626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9613, ptr noundef @.str.2, i32 noundef %9614, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 353, ptr noundef %9617, ptr noundef %9620, ptr noundef %9623, i32 noundef %9625) #10
  br label %9644

9627:                                             ; preds = %9605, %9598
  %9628 = load i32, ptr %187, align 4, !tbaa !5
  %9629 = call ptr @__errno_location() #11
  store i32 %9628, ptr %9629, align 4, !tbaa !5
  %9630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9631 = load i32, ptr @test_count, align 4, !tbaa !5
  %9632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9633 = load i32, ptr %9632, align 4, !tbaa !5
  %9634 = call ptr @s2n_strerror(i32 noundef %9633, ptr noundef @.str.4)
  %9635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9636 = load i32, ptr %9635, align 4, !tbaa !5
  %9637 = call ptr @s2n_strerror_debug(i32 noundef %9636, ptr noundef @.str.4)
  %9638 = call ptr @__errno_location() #11
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @strerror(i32 noundef %9639) #10
  %9641 = call ptr @__errno_location() #11
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9630, ptr noundef @.str.5, i32 noundef %9631, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 353, ptr noundef %9634, ptr noundef %9637, ptr noundef %9640, i32 noundef %9642) #10
  br label %9644

9644:                                             ; preds = %9627, %9610
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %9645

9645:                                             ; preds = %9644
  br label %9646

9646:                                             ; preds = %9645
  call void @exit(i32 noundef 1) #12
  unreachable

9647:                                             ; No predecessors!
  br label %9648

9648:                                             ; preds = %9647
  br label %9649

9649:                                             ; preds = %9648, %9587
  br label %9650

9650:                                             ; preds = %9649
  br label %9651

9651:                                             ; preds = %9650
  br label %9652

9652:                                             ; preds = %9651
  %9653 = load i32, ptr @test_count, align 4, !tbaa !5
  %9654 = add nsw i32 %9653, 1
  store i32 %9654, ptr @test_count, align 4, !tbaa !5
  %9655 = load ptr, ptr %179, align 8, !tbaa !9
  %9656 = getelementptr inbounds %struct.s2n_stuffer, ptr %9655, i32 0, i32 2
  %9657 = load i32, ptr %9656, align 4, !tbaa !15
  %9658 = load ptr, ptr %179, align 8, !tbaa !9
  %9659 = getelementptr inbounds %struct.s2n_stuffer, ptr %9658, i32 0, i32 1
  %9660 = load i32, ptr %9659, align 8, !tbaa !18
  %9661 = sub i32 %9657, %9660
  %9662 = icmp eq i32 %9661, 0
  br i1 %9662, label %9716, label %9663

9663:                                             ; preds = %9652
  br label %9664

9664:                                             ; preds = %9663
  br label %9665

9665:                                             ; preds = %9664
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %9666 = call ptr @__errno_location() #11
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  store i32 %9667, ptr %188, align 4, !tbaa !5
  %9668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9669 = call i32 @s2n_print_stacktrace(ptr noundef %9668)
  %9670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9671 = trunc i8 %9670 to i1
  br i1 %9671, label %9672, label %9694

9672:                                             ; preds = %9665
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @fileno(ptr noundef %9673) #10
  %9675 = call i32 @isatty(i32 noundef %9674) #10
  %9676 = icmp ne i32 %9675, 0
  br i1 %9676, label %9677, label %9694

9677:                                             ; preds = %9672
  %9678 = load i32, ptr %188, align 4, !tbaa !5
  %9679 = call ptr @__errno_location() #11
  store i32 %9678, ptr %9679, align 4, !tbaa !5
  %9680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9681 = load i32, ptr @test_count, align 4, !tbaa !5
  %9682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9683 = load i32, ptr %9682, align 4, !tbaa !5
  %9684 = call ptr @s2n_strerror(i32 noundef %9683, ptr noundef @.str.4)
  %9685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9686 = load i32, ptr %9685, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror_debug(i32 noundef %9686, ptr noundef @.str.4)
  %9688 = call ptr @__errno_location() #11
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = call ptr @strerror(i32 noundef %9689) #10
  %9691 = call ptr @__errno_location() #11
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  %9693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9680, ptr noundef @.str.2, i32 noundef %9681, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 353, ptr noundef %9684, ptr noundef %9687, ptr noundef %9690, i32 noundef %9692) #10
  br label %9711

9694:                                             ; preds = %9672, %9665
  %9695 = load i32, ptr %188, align 4, !tbaa !5
  %9696 = call ptr @__errno_location() #11
  store i32 %9695, ptr %9696, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = load i32, ptr @test_count, align 4, !tbaa !5
  %9699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror(i32 noundef %9700, ptr noundef @.str.4)
  %9702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  %9704 = call ptr @s2n_strerror_debug(i32 noundef %9703, ptr noundef @.str.4)
  %9705 = call ptr @__errno_location() #11
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #10
  %9708 = call ptr @__errno_location() #11
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9697, ptr noundef @.str.5, i32 noundef %9698, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 353, ptr noundef %9701, ptr noundef %9704, ptr noundef %9707, i32 noundef %9709) #10
  br label %9711

9711:                                             ; preds = %9694, %9677
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %9712

9712:                                             ; preds = %9711
  br label %9713

9713:                                             ; preds = %9712
  call void @exit(i32 noundef 1) #12
  unreachable

9714:                                             ; No predecessors!
  br label %9715

9715:                                             ; preds = %9714
  br label %9716

9716:                                             ; preds = %9715, %9652
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

9718:                                             ; preds = %9717
  br label %9719

9719:                                             ; preds = %9718
  br label %9720

9720:                                             ; preds = %9719
  %9721 = load ptr, ptr %172, align 8, !tbaa !9
  %9722 = getelementptr inbounds %struct.s2n_connection, ptr %9721, i32 0, i32 23
  store i8 33, ptr %9722, align 4, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 1, ptr %189) #10
  store i8 7, ptr %189, align 1, !tbaa !19
  br label %9723

9723:                                             ; preds = %9720
  %9724 = load i32, ptr @test_count, align 4, !tbaa !5
  %9725 = add nsw i32 %9724, 1
  store i32 %9725, ptr @test_count, align 4, !tbaa !5
  %9726 = load ptr, ptr %179, align 8, !tbaa !9
  %9727 = load ptr, ptr %179, align 8, !tbaa !9
  %9728 = getelementptr inbounds %struct.s2n_stuffer, ptr %9727, i32 0, i32 2
  %9729 = load i32, ptr %9728, align 4, !tbaa !15
  %9730 = load ptr, ptr %179, align 8, !tbaa !9
  %9731 = getelementptr inbounds %struct.s2n_stuffer, ptr %9730, i32 0, i32 1
  %9732 = load i32, ptr %9731, align 8, !tbaa !18
  %9733 = sub i32 %9729, %9732
  %9734 = call i32 @s2n_stuffer_skip_read(ptr noundef %9726, i32 noundef %9733)
  %9735 = icmp eq i32 %9734, -1
  br i1 %9735, label %9736, label %9789

9736:                                             ; preds = %9723
  br label %9737

9737:                                             ; preds = %9736
  br label %9738

9738:                                             ; preds = %9737
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %9739 = call ptr @__errno_location() #11
  %9740 = load i32, ptr %9739, align 4, !tbaa !5
  store i32 %9740, ptr %190, align 4, !tbaa !5
  %9741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9742 = call i32 @s2n_print_stacktrace(ptr noundef %9741)
  %9743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9744 = trunc i8 %9743 to i1
  br i1 %9744, label %9745, label %9767

9745:                                             ; preds = %9738
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @fileno(ptr noundef %9746) #10
  %9748 = call i32 @isatty(i32 noundef %9747) #10
  %9749 = icmp ne i32 %9748, 0
  br i1 %9749, label %9750, label %9767

9750:                                             ; preds = %9745
  %9751 = load i32, ptr %190, align 4, !tbaa !5
  %9752 = call ptr @__errno_location() #11
  store i32 %9751, ptr %9752, align 4, !tbaa !5
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = load i32, ptr @test_count, align 4, !tbaa !5
  %9755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9756 = load i32, ptr %9755, align 4, !tbaa !5
  %9757 = call ptr @s2n_strerror(i32 noundef %9756, ptr noundef @.str.4)
  %9758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9759 = load i32, ptr %9758, align 4, !tbaa !5
  %9760 = call ptr @s2n_strerror_debug(i32 noundef %9759, ptr noundef @.str.4)
  %9761 = call ptr @__errno_location() #11
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call ptr @strerror(i32 noundef %9762) #10
  %9764 = call ptr @__errno_location() #11
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  %9766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9753, ptr noundef @.str.2, i32 noundef %9754, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9757, ptr noundef %9760, ptr noundef %9763, i32 noundef %9765) #10
  br label %9784

9767:                                             ; preds = %9745, %9738
  %9768 = load i32, ptr %190, align 4, !tbaa !5
  %9769 = call ptr @__errno_location() #11
  store i32 %9768, ptr %9769, align 4, !tbaa !5
  %9770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9771 = load i32, ptr @test_count, align 4, !tbaa !5
  %9772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call ptr @s2n_strerror(i32 noundef %9773, ptr noundef @.str.4)
  %9775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @s2n_strerror_debug(i32 noundef %9776, ptr noundef @.str.4)
  %9778 = call ptr @__errno_location() #11
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call ptr @strerror(i32 noundef %9779) #10
  %9781 = call ptr @__errno_location() #11
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9770, ptr noundef @.str.5, i32 noundef %9771, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9774, ptr noundef %9777, ptr noundef %9780, i32 noundef %9782) #10
  br label %9784

9784:                                             ; preds = %9767, %9750
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %9785

9785:                                             ; preds = %9784
  br label %9786

9786:                                             ; preds = %9785
  call void @exit(i32 noundef 1) #12
  unreachable

9787:                                             ; No predecessors!
  br label %9788

9788:                                             ; preds = %9787
  br label %9789

9789:                                             ; preds = %9788, %9723
  br label %9790

9790:                                             ; preds = %9789
  br label %9791

9791:                                             ; preds = %9790
  br label %9792

9792:                                             ; preds = %9791
  %9793 = load i32, ptr @test_count, align 4, !tbaa !5
  %9794 = add nsw i32 %9793, 1
  store i32 %9794, ptr @test_count, align 4, !tbaa !5
  %9795 = load ptr, ptr %172, align 8, !tbaa !9
  %9796 = load ptr, ptr %179, align 8, !tbaa !9
  %9797 = call i32 @s2n_server_extensions_send(ptr noundef %9795, ptr noundef %9796)
  %9798 = icmp eq i32 %9797, -1
  br i1 %9798, label %9799, label %9852

9799:                                             ; preds = %9792
  br label %9800

9800:                                             ; preds = %9799
  br label %9801

9801:                                             ; preds = %9800
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %9802 = call ptr @__errno_location() #11
  %9803 = load i32, ptr %9802, align 4, !tbaa !5
  store i32 %9803, ptr %191, align 4, !tbaa !5
  %9804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9805 = call i32 @s2n_print_stacktrace(ptr noundef %9804)
  %9806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9807 = trunc i8 %9806 to i1
  br i1 %9807, label %9808, label %9830

9808:                                             ; preds = %9801
  %9809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9810 = call i32 @fileno(ptr noundef %9809) #10
  %9811 = call i32 @isatty(i32 noundef %9810) #10
  %9812 = icmp ne i32 %9811, 0
  br i1 %9812, label %9813, label %9830

9813:                                             ; preds = %9808
  %9814 = load i32, ptr %191, align 4, !tbaa !5
  %9815 = call ptr @__errno_location() #11
  store i32 %9814, ptr %9815, align 4, !tbaa !5
  %9816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9817 = load i32, ptr @test_count, align 4, !tbaa !5
  %9818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9819 = load i32, ptr %9818, align 4, !tbaa !5
  %9820 = call ptr @s2n_strerror(i32 noundef %9819, ptr noundef @.str.4)
  %9821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9822 = load i32, ptr %9821, align 4, !tbaa !5
  %9823 = call ptr @s2n_strerror_debug(i32 noundef %9822, ptr noundef @.str.4)
  %9824 = call ptr @__errno_location() #11
  %9825 = load i32, ptr %9824, align 4, !tbaa !5
  %9826 = call ptr @strerror(i32 noundef %9825) #10
  %9827 = call ptr @__errno_location() #11
  %9828 = load i32, ptr %9827, align 4, !tbaa !5
  %9829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9816, ptr noundef @.str.2, i32 noundef %9817, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9820, ptr noundef %9823, ptr noundef %9826, i32 noundef %9828) #10
  br label %9847

9830:                                             ; preds = %9808, %9801
  %9831 = load i32, ptr %191, align 4, !tbaa !5
  %9832 = call ptr @__errno_location() #11
  store i32 %9831, ptr %9832, align 4, !tbaa !5
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = load i32, ptr @test_count, align 4, !tbaa !5
  %9835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @s2n_strerror(i32 noundef %9836, ptr noundef @.str.4)
  %9838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call ptr @s2n_strerror_debug(i32 noundef %9839, ptr noundef @.str.4)
  %9841 = call ptr @__errno_location() #11
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call ptr @strerror(i32 noundef %9842) #10
  %9844 = call ptr @__errno_location() #11
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9833, ptr noundef @.str.5, i32 noundef %9834, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9837, ptr noundef %9840, ptr noundef %9843, i32 noundef %9845) #10
  br label %9847

9847:                                             ; preds = %9830, %9813
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %9848

9848:                                             ; preds = %9847
  br label %9849

9849:                                             ; preds = %9848
  call void @exit(i32 noundef 1) #12
  unreachable

9850:                                             ; No predecessors!
  br label %9851

9851:                                             ; preds = %9850
  br label %9852

9852:                                             ; preds = %9851, %9792
  br label %9853

9853:                                             ; preds = %9852
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  br label %9856

9856:                                             ; preds = %9855
  %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 = load ptr, ptr %179, align 8, !tbaa !9
  %9860 = load i8, ptr %189, align 1, !tbaa !19
  %9861 = zext i8 %9860 to i32
  %9862 = call i32 @s2n_stuffer_skip_read(ptr noundef %9859, i32 noundef %9861)
  %9863 = icmp eq i32 %9862, -1
  br i1 %9863, label %9864, label %9917

9864:                                             ; preds = %9856
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %9867 = call ptr @__errno_location() #11
  %9868 = load i32, ptr %9867, align 4, !tbaa !5
  store i32 %9868, ptr %192, align 4, !tbaa !5
  %9869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9870 = call i32 @s2n_print_stacktrace(ptr noundef %9869)
  %9871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9872 = trunc i8 %9871 to i1
  br i1 %9872, label %9873, label %9895

9873:                                             ; preds = %9866
  %9874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9875 = call i32 @fileno(ptr noundef %9874) #10
  %9876 = call i32 @isatty(i32 noundef %9875) #10
  %9877 = icmp ne i32 %9876, 0
  br i1 %9877, label %9878, label %9895

9878:                                             ; preds = %9873
  %9879 = load i32, ptr %192, align 4, !tbaa !5
  %9880 = call ptr @__errno_location() #11
  store i32 %9879, ptr %9880, align 4, !tbaa !5
  %9881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9882 = load i32, ptr @test_count, align 4, !tbaa !5
  %9883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9884 = load i32, ptr %9883, align 4, !tbaa !5
  %9885 = call ptr @s2n_strerror(i32 noundef %9884, ptr noundef @.str.4)
  %9886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9887 = load i32, ptr %9886, align 4, !tbaa !5
  %9888 = call ptr @s2n_strerror_debug(i32 noundef %9887, ptr noundef @.str.4)
  %9889 = call ptr @__errno_location() #11
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call ptr @strerror(i32 noundef %9890) #10
  %9892 = call ptr @__errno_location() #11
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9881, ptr noundef @.str.2, i32 noundef %9882, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9885, ptr noundef %9888, ptr noundef %9891, i32 noundef %9893) #10
  br label %9912

9895:                                             ; preds = %9873, %9866
  %9896 = load i32, ptr %192, align 4, !tbaa !5
  %9897 = call ptr @__errno_location() #11
  store i32 %9896, ptr %9897, align 4, !tbaa !5
  %9898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9899 = load i32, ptr @test_count, align 4, !tbaa !5
  %9900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror(i32 noundef %9901, ptr noundef @.str.4)
  %9903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror_debug(i32 noundef %9904, ptr noundef @.str.4)
  %9906 = call ptr @__errno_location() #11
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @strerror(i32 noundef %9907) #10
  %9909 = call ptr @__errno_location() #11
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9898, ptr noundef @.str.5, i32 noundef %9899, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9902, ptr noundef %9905, ptr noundef %9908, i32 noundef %9910) #10
  br label %9912

9912:                                             ; preds = %9895, %9878
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %9913

9913:                                             ; preds = %9912
  br label %9914

9914:                                             ; preds = %9913
  call void @exit(i32 noundef 1) #12
  unreachable

9915:                                             ; No predecessors!
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916, %9856
  br label %9918

9918:                                             ; preds = %9917
  br label %9919

9919:                                             ; preds = %9918
  br label %9920

9920:                                             ; preds = %9919
  %9921 = load i32, ptr @test_count, align 4, !tbaa !5
  %9922 = add nsw i32 %9921, 1
  store i32 %9922, ptr @test_count, align 4, !tbaa !5
  %9923 = load ptr, ptr %179, align 8, !tbaa !9
  %9924 = getelementptr inbounds %struct.s2n_stuffer, ptr %9923, i32 0, i32 2
  %9925 = load i32, ptr %9924, align 4, !tbaa !15
  %9926 = load ptr, ptr %179, align 8, !tbaa !9
  %9927 = getelementptr inbounds %struct.s2n_stuffer, ptr %9926, i32 0, i32 1
  %9928 = load i32, ptr %9927, align 8, !tbaa !18
  %9929 = sub i32 %9925, %9928
  %9930 = icmp eq i32 %9929, 0
  br i1 %9930, label %9984, label %9931

9931:                                             ; preds = %9920
  br label %9932

9932:                                             ; preds = %9931
  br label %9933

9933:                                             ; preds = %9932
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %9934 = call ptr @__errno_location() #11
  %9935 = load i32, ptr %9934, align 4, !tbaa !5
  store i32 %9935, ptr %193, align 4, !tbaa !5
  %9936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9937 = call i32 @s2n_print_stacktrace(ptr noundef %9936)
  %9938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9939 = trunc i8 %9938 to i1
  br i1 %9939, label %9940, label %9962

9940:                                             ; preds = %9933
  %9941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9942 = call i32 @fileno(ptr noundef %9941) #10
  %9943 = call i32 @isatty(i32 noundef %9942) #10
  %9944 = icmp ne i32 %9943, 0
  br i1 %9944, label %9945, label %9962

9945:                                             ; preds = %9940
  %9946 = load i32, ptr %193, align 4, !tbaa !5
  %9947 = call ptr @__errno_location() #11
  store i32 %9946, ptr %9947, align 4, !tbaa !5
  %9948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9949 = load i32, ptr @test_count, align 4, !tbaa !5
  %9950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  %9952 = call ptr @s2n_strerror(i32 noundef %9951, ptr noundef @.str.4)
  %9953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call ptr @s2n_strerror_debug(i32 noundef %9954, ptr noundef @.str.4)
  %9956 = call ptr @__errno_location() #11
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call ptr @strerror(i32 noundef %9957) #10
  %9959 = call ptr @__errno_location() #11
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9948, ptr noundef @.str.2, i32 noundef %9949, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9952, ptr noundef %9955, ptr noundef %9958, i32 noundef %9960) #10
  br label %9979

9962:                                             ; preds = %9940, %9933
  %9963 = load i32, ptr %193, align 4, !tbaa !5
  %9964 = call ptr @__errno_location() #11
  store i32 %9963, ptr %9964, align 4, !tbaa !5
  %9965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9966 = load i32, ptr @test_count, align 4, !tbaa !5
  %9967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9968 = load i32, ptr %9967, align 4, !tbaa !5
  %9969 = call ptr @s2n_strerror(i32 noundef %9968, ptr noundef @.str.4)
  %9970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror_debug(i32 noundef %9971, ptr noundef @.str.4)
  %9973 = call ptr @__errno_location() #11
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @strerror(i32 noundef %9974) #10
  %9976 = call ptr @__errno_location() #11
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9965, ptr noundef @.str.5, i32 noundef %9966, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9969, ptr noundef %9972, ptr noundef %9975, i32 noundef %9977) #10
  br label %9979

9979:                                             ; preds = %9962, %9945
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %9980

9980:                                             ; preds = %9979
  br label %9981

9981:                                             ; preds = %9980
  call void @exit(i32 noundef 1) #12
  unreachable

9982:                                             ; No predecessors!
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

9984:                                             ; preds = %9983, %9920
  br label %9985

9985:                                             ; preds = %9984
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

9988:                                             ; preds = %9987
  br label %9989

9989:                                             ; preds = %9988
  %9990 = load i32, ptr @test_count, align 4, !tbaa !5
  %9991 = add nsw i32 %9990, 1
  store i32 %9991, ptr @test_count, align 4, !tbaa !5
  %9992 = call i32 (...) @s2n_disable_tls13_in_test()
  %9993 = icmp eq i32 %9992, -1
  br i1 %9993, label %9994, label %10047

9994:                                             ; preds = %9989
  br label %9995

9995:                                             ; preds = %9994
  br label %9996

9996:                                             ; preds = %9995
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %9997 = call ptr @__errno_location() #11
  %9998 = load i32, ptr %9997, align 4, !tbaa !5
  store i32 %9998, ptr %194, align 4, !tbaa !5
  %9999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10000 = call i32 @s2n_print_stacktrace(ptr noundef %9999)
  %10001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10002 = trunc i8 %10001 to i1
  br i1 %10002, label %10003, label %10025

10003:                                            ; preds = %9996
  %10004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10005 = call i32 @fileno(ptr noundef %10004) #10
  %10006 = call i32 @isatty(i32 noundef %10005) #10
  %10007 = icmp ne i32 %10006, 0
  br i1 %10007, label %10008, label %10025

10008:                                            ; preds = %10003
  %10009 = load i32, ptr %194, align 4, !tbaa !5
  %10010 = call ptr @__errno_location() #11
  store i32 %10009, ptr %10010, align 4, !tbaa !5
  %10011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10012 = load i32, ptr @test_count, align 4, !tbaa !5
  %10013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10014 = load i32, ptr %10013, align 4, !tbaa !5
  %10015 = call ptr @s2n_strerror(i32 noundef %10014, ptr noundef @.str.4)
  %10016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10017 = load i32, ptr %10016, align 4, !tbaa !5
  %10018 = call ptr @s2n_strerror_debug(i32 noundef %10017, ptr noundef @.str.4)
  %10019 = call ptr @__errno_location() #11
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  %10021 = call ptr @strerror(i32 noundef %10020) #10
  %10022 = call ptr @__errno_location() #11
  %10023 = load i32, ptr %10022, align 4, !tbaa !5
  %10024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10011, ptr noundef @.str.2, i32 noundef %10012, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 361, ptr noundef %10015, ptr noundef %10018, ptr noundef %10021, i32 noundef %10023) #10
  br label %10042

10025:                                            ; preds = %10003, %9996
  %10026 = load i32, ptr %194, align 4, !tbaa !5
  %10027 = call ptr @__errno_location() #11
  store i32 %10026, ptr %10027, align 4, !tbaa !5
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = load i32, ptr @test_count, align 4, !tbaa !5
  %10030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call ptr @s2n_strerror(i32 noundef %10031, ptr noundef @.str.4)
  %10033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call ptr @s2n_strerror_debug(i32 noundef %10034, ptr noundef @.str.4)
  %10036 = call ptr @__errno_location() #11
  %10037 = load i32, ptr %10036, align 4, !tbaa !5
  %10038 = call ptr @strerror(i32 noundef %10037) #10
  %10039 = call ptr @__errno_location() #11
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10028, ptr noundef @.str.5, i32 noundef %10029, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 361, ptr noundef %10032, ptr noundef %10035, ptr noundef %10038, i32 noundef %10040) #10
  br label %10042

10042:                                            ; preds = %10025, %10008
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %10043

10043:                                            ; preds = %10042
  br label %10044

10044:                                            ; preds = %10043
  call void @exit(i32 noundef 1) #12
  unreachable

10045:                                            ; No predecessors!
  br label %10046

10046:                                            ; preds = %10045
  br label %10047

10047:                                            ; preds = %10046, %9989
  br label %10048

10048:                                            ; preds = %10047
  br label %10049

10049:                                            ; preds = %10048
  br label %10050

10050:                                            ; preds = %10049
  %10051 = load i32, ptr @test_count, align 4, !tbaa !5
  %10052 = add nsw i32 %10051, 1
  store i32 %10052, ptr @test_count, align 4, !tbaa !5
  %10053 = load ptr, ptr %172, align 8, !tbaa !9
  %10054 = call i32 @s2n_connection_free(ptr noundef %10053)
  %10055 = icmp eq i32 %10054, -1
  br i1 %10055, label %10056, label %10109

10056:                                            ; preds = %10050
  br label %10057

10057:                                            ; preds = %10056
  br label %10058

10058:                                            ; preds = %10057
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %10059 = call ptr @__errno_location() #11
  %10060 = load i32, ptr %10059, align 4, !tbaa !5
  store i32 %10060, ptr %195, align 4, !tbaa !5
  %10061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10062 = call i32 @s2n_print_stacktrace(ptr noundef %10061)
  %10063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10064 = trunc i8 %10063 to i1
  br i1 %10064, label %10065, label %10087

10065:                                            ; preds = %10058
  %10066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10067 = call i32 @fileno(ptr noundef %10066) #10
  %10068 = call i32 @isatty(i32 noundef %10067) #10
  %10069 = icmp ne i32 %10068, 0
  br i1 %10069, label %10070, label %10087

10070:                                            ; preds = %10065
  %10071 = load i32, ptr %195, align 4, !tbaa !5
  %10072 = call ptr @__errno_location() #11
  store i32 %10071, ptr %10072, align 4, !tbaa !5
  %10073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10074 = load i32, ptr @test_count, align 4, !tbaa !5
  %10075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10076 = load i32, ptr %10075, align 4, !tbaa !5
  %10077 = call ptr @s2n_strerror(i32 noundef %10076, ptr noundef @.str.4)
  %10078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10079 = load i32, ptr %10078, align 4, !tbaa !5
  %10080 = call ptr @s2n_strerror_debug(i32 noundef %10079, ptr noundef @.str.4)
  %10081 = call ptr @__errno_location() #11
  %10082 = load i32, ptr %10081, align 4, !tbaa !5
  %10083 = call ptr @strerror(i32 noundef %10082) #10
  %10084 = call ptr @__errno_location() #11
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10073, ptr noundef @.str.2, i32 noundef %10074, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10077, ptr noundef %10080, ptr noundef %10083, i32 noundef %10085) #10
  br label %10104

10087:                                            ; preds = %10065, %10058
  %10088 = load i32, ptr %195, align 4, !tbaa !5
  %10089 = call ptr @__errno_location() #11
  store i32 %10088, ptr %10089, align 4, !tbaa !5
  %10090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10091 = load i32, ptr @test_count, align 4, !tbaa !5
  %10092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10093 = load i32, ptr %10092, align 4, !tbaa !5
  %10094 = call ptr @s2n_strerror(i32 noundef %10093, ptr noundef @.str.4)
  %10095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror_debug(i32 noundef %10096, ptr noundef @.str.4)
  %10098 = call ptr @__errno_location() #11
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @strerror(i32 noundef %10099) #10
  %10101 = call ptr @__errno_location() #11
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10090, ptr noundef @.str.5, i32 noundef %10091, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10094, ptr noundef %10097, ptr noundef %10100, i32 noundef %10102) #10
  br label %10104

10104:                                            ; preds = %10087, %10070
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %10105

10105:                                            ; preds = %10104
  br label %10106

10106:                                            ; preds = %10105
  call void @exit(i32 noundef 1) #12
  unreachable

10107:                                            ; No predecessors!
  br label %10108

10108:                                            ; preds = %10107
  br label %10109

10109:                                            ; preds = %10108, %10050
  br label %10110

10110:                                            ; preds = %10109
  br label %10111

10111:                                            ; preds = %10110
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %180) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #10
  br label %10112

10112:                                            ; preds = %10111
  %10113 = load i32, ptr @test_count, align 4, !tbaa !5
  %10114 = add nsw i32 %10113, 1
  store i32 %10114, ptr @test_count, align 4, !tbaa !5
  %10115 = call i32 (...) @s2n_enable_tls13_in_test()
  %10116 = icmp eq i32 %10115, -1
  br i1 %10116, label %10117, label %10170

10117:                                            ; preds = %10112
  br label %10118

10118:                                            ; preds = %10117
  br label %10119

10119:                                            ; preds = %10118
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %10120 = call ptr @__errno_location() #11
  %10121 = load i32, ptr %10120, align 4, !tbaa !5
  store i32 %10121, ptr %196, align 4, !tbaa !5
  %10122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10123 = call i32 @s2n_print_stacktrace(ptr noundef %10122)
  %10124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10125 = trunc i8 %10124 to i1
  br i1 %10125, label %10126, label %10148

10126:                                            ; preds = %10119
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = call i32 @fileno(ptr noundef %10127) #10
  %10129 = call i32 @isatty(i32 noundef %10128) #10
  %10130 = icmp ne i32 %10129, 0
  br i1 %10130, label %10131, label %10148

10131:                                            ; preds = %10126
  %10132 = load i32, ptr %196, align 4, !tbaa !5
  %10133 = call ptr @__errno_location() #11
  store i32 %10132, ptr %10133, align 4, !tbaa !5
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10137, ptr noundef @.str.4)
  %10139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10140 = load i32, ptr %10139, align 4, !tbaa !5
  %10141 = call ptr @s2n_strerror_debug(i32 noundef %10140, ptr noundef @.str.4)
  %10142 = call ptr @__errno_location() #11
  %10143 = load i32, ptr %10142, align 4, !tbaa !5
  %10144 = call ptr @strerror(i32 noundef %10143) #10
  %10145 = call ptr @__errno_location() #11
  %10146 = load i32, ptr %10145, align 4, !tbaa !5
  %10147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10134, ptr noundef @.str.2, i32 noundef %10135, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10138, ptr noundef %10141, ptr noundef %10144, i32 noundef %10146) #10
  br label %10165

10148:                                            ; preds = %10126, %10119
  %10149 = load i32, ptr %196, align 4, !tbaa !5
  %10150 = call ptr @__errno_location() #11
  store i32 %10149, ptr %10150, align 4, !tbaa !5
  %10151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10152 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10154, ptr noundef @.str.4)
  %10156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror_debug(i32 noundef %10157, ptr noundef @.str.4)
  %10159 = call ptr @__errno_location() #11
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call ptr @strerror(i32 noundef %10160) #10
  %10162 = call ptr @__errno_location() #11
  %10163 = load i32, ptr %10162, align 4, !tbaa !5
  %10164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10151, ptr noundef @.str.5, i32 noundef %10152, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10155, ptr noundef %10158, ptr noundef %10161, i32 noundef %10163) #10
  br label %10165

10165:                                            ; preds = %10148, %10131
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %10166

10166:                                            ; preds = %10165
  br label %10167

10167:                                            ; preds = %10166
  call void @exit(i32 noundef 1) #12
  unreachable

10168:                                            ; No predecessors!
  br label %10169

10169:                                            ; preds = %10168
  br label %10170

10170:                                            ; preds = %10169, %10112
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

10172:                                            ; preds = %10171
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #10
  store ptr null, ptr %197, align 8, !tbaa !9
  br label %10173

10173:                                            ; preds = %10172
  %10174 = load i32, ptr @test_count, align 4, !tbaa !5
  %10175 = add nsw i32 %10174, 1
  store i32 %10175, ptr @test_count, align 4, !tbaa !5
  %10176 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10176, ptr %197, align 8, !tbaa !9
  %10177 = icmp eq ptr %10176, null
  br i1 %10177, label %10178, label %10231

10178:                                            ; preds = %10173
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #10
  %10181 = call ptr @__errno_location() #11
  %10182 = load i32, ptr %10181, align 4, !tbaa !5
  store i32 %10182, ptr %198, align 4, !tbaa !5
  %10183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10184 = call i32 @s2n_print_stacktrace(ptr noundef %10183)
  %10185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10186 = trunc i8 %10185 to i1
  br i1 %10186, label %10187, label %10209

10187:                                            ; preds = %10180
  %10188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10189 = call i32 @fileno(ptr noundef %10188) #10
  %10190 = call i32 @isatty(i32 noundef %10189) #10
  %10191 = icmp ne i32 %10190, 0
  br i1 %10191, label %10192, label %10209

10192:                                            ; preds = %10187
  %10193 = load i32, ptr %198, align 4, !tbaa !5
  %10194 = call ptr @__errno_location() #11
  store i32 %10193, ptr %10194, align 4, !tbaa !5
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = load i32, ptr @test_count, align 4, !tbaa !5
  %10197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10198 = load i32, ptr %10197, align 4, !tbaa !5
  %10199 = call ptr @s2n_strerror(i32 noundef %10198, ptr noundef @.str.4)
  %10200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10201 = load i32, ptr %10200, align 4, !tbaa !5
  %10202 = call ptr @s2n_strerror_debug(i32 noundef %10201, ptr noundef @.str.4)
  %10203 = call ptr @__errno_location() #11
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @strerror(i32 noundef %10204) #10
  %10206 = call ptr @__errno_location() #11
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10195, ptr noundef @.str.2, i32 noundef %10196, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10199, ptr noundef %10202, ptr noundef %10205, i32 noundef %10207) #10
  br label %10226

10209:                                            ; preds = %10187, %10180
  %10210 = load i32, ptr %198, align 4, !tbaa !5
  %10211 = call ptr @__errno_location() #11
  store i32 %10210, ptr %10211, align 4, !tbaa !5
  %10212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10213 = load i32, ptr @test_count, align 4, !tbaa !5
  %10214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10215 = load i32, ptr %10214, align 4, !tbaa !5
  %10216 = call ptr @s2n_strerror(i32 noundef %10215, ptr noundef @.str.4)
  %10217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10218 = load i32, ptr %10217, align 4, !tbaa !5
  %10219 = call ptr @s2n_strerror_debug(i32 noundef %10218, ptr noundef @.str.4)
  %10220 = call ptr @__errno_location() #11
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @strerror(i32 noundef %10221) #10
  %10223 = call ptr @__errno_location() #11
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10212, ptr noundef @.str.5, i32 noundef %10213, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10216, ptr noundef %10219, ptr noundef %10222, i32 noundef %10224) #10
  br label %10226

10226:                                            ; preds = %10209, %10192
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #10
  br label %10227

10227:                                            ; preds = %10226
  br label %10228

10228:                                            ; preds = %10227
  call void @exit(i32 noundef 1) #12
  unreachable

10229:                                            ; No predecessors!
  br label %10230

10230:                                            ; preds = %10229
  br label %10231

10231:                                            ; preds = %10230, %10173
  br label %10232

10232:                                            ; preds = %10231
  br label %10233

10233:                                            ; preds = %10232
  call void @llvm.lifetime.start.p0(i64 1, ptr %199) #10
  store i8 0, ptr %199, align 1, !tbaa !19
  br label %10234

10234:                                            ; preds = %10233
  %10235 = load i32, ptr @test_count, align 4, !tbaa !5
  %10236 = add nsw i32 %10235, 1
  store i32 %10236, ptr @test_count, align 4, !tbaa !5
  %10237 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 35, ptr noundef %199)
  %10238 = icmp eq i32 %10237, -1
  br i1 %10238, label %10239, label %10292

10239:                                            ; preds = %10234
  br label %10240

10240:                                            ; preds = %10239
  br label %10241

10241:                                            ; preds = %10240
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %10242 = call ptr @__errno_location() #11
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  store i32 %10243, ptr %200, align 4, !tbaa !5
  %10244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10245 = call i32 @s2n_print_stacktrace(ptr noundef %10244)
  %10246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10247 = trunc i8 %10246 to i1
  br i1 %10247, label %10248, label %10270

10248:                                            ; preds = %10241
  %10249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10250 = call i32 @fileno(ptr noundef %10249) #10
  %10251 = call i32 @isatty(i32 noundef %10250) #10
  %10252 = icmp ne i32 %10251, 0
  br i1 %10252, label %10253, label %10270

10253:                                            ; preds = %10248
  %10254 = load i32, ptr %200, align 4, !tbaa !5
  %10255 = call ptr @__errno_location() #11
  store i32 %10254, ptr %10255, align 4, !tbaa !5
  %10256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10257 = load i32, ptr @test_count, align 4, !tbaa !5
  %10258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10259 = load i32, ptr %10258, align 4, !tbaa !5
  %10260 = call ptr @s2n_strerror(i32 noundef %10259, ptr noundef @.str.4)
  %10261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10262 = load i32, ptr %10261, align 4, !tbaa !5
  %10263 = call ptr @s2n_strerror_debug(i32 noundef %10262, ptr noundef @.str.4)
  %10264 = call ptr @__errno_location() #11
  %10265 = load i32, ptr %10264, align 4, !tbaa !5
  %10266 = call ptr @strerror(i32 noundef %10265) #10
  %10267 = call ptr @__errno_location() #11
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  %10269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10256, ptr noundef @.str.2, i32 noundef %10257, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10260, ptr noundef %10263, ptr noundef %10266, i32 noundef %10268) #10
  br label %10287

10270:                                            ; preds = %10248, %10241
  %10271 = load i32, ptr %200, align 4, !tbaa !5
  %10272 = call ptr @__errno_location() #11
  store i32 %10271, ptr %10272, align 4, !tbaa !5
  %10273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10274 = load i32, ptr @test_count, align 4, !tbaa !5
  %10275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10276 = load i32, ptr %10275, align 4, !tbaa !5
  %10277 = call ptr @s2n_strerror(i32 noundef %10276, ptr noundef @.str.4)
  %10278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10279 = load i32, ptr %10278, align 4, !tbaa !5
  %10280 = call ptr @s2n_strerror_debug(i32 noundef %10279, ptr noundef @.str.4)
  %10281 = call ptr @__errno_location() #11
  %10282 = load i32, ptr %10281, align 4, !tbaa !5
  %10283 = call ptr @strerror(i32 noundef %10282) #10
  %10284 = call ptr @__errno_location() #11
  %10285 = load i32, ptr %10284, align 4, !tbaa !5
  %10286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10273, ptr noundef @.str.5, i32 noundef %10274, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10277, ptr noundef %10280, ptr noundef %10283, i32 noundef %10285) #10
  br label %10287

10287:                                            ; preds = %10270, %10253
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %10288

10288:                                            ; preds = %10287
  br label %10289

10289:                                            ; preds = %10288
  call void @exit(i32 noundef 1) #12
  unreachable

10290:                                            ; No predecessors!
  br label %10291

10291:                                            ; preds = %10290
  br label %10292

10292:                                            ; preds = %10291, %10234
  br label %10293

10293:                                            ; preds = %10292
  br label %10294

10294:                                            ; preds = %10293
  %10295 = load i8, ptr %199, align 1, !tbaa !19
  %10296 = zext i8 %10295 to i32
  %10297 = srem i32 %10296, 8
  %10298 = shl i32 1, %10297
  %10299 = load ptr, ptr %197, align 8, !tbaa !9
  %10300 = getelementptr inbounds %struct.s2n_connection, ptr %10299, i32 0, i32 11
  %10301 = load i8, ptr %199, align 1, !tbaa !19
  %10302 = zext i8 %10301 to i32
  %10303 = ashr i32 %10302, 3
  %10304 = sext i32 %10303 to i64
  %10305 = getelementptr inbounds [22 x i8], ptr %10300, i64 0, i64 %10304
  %10306 = load i8, ptr %10305, align 1, !tbaa !19
  %10307 = sext i8 %10306 to i32
  %10308 = or i32 %10307, %10298
  %10309 = trunc i32 %10308 to i8
  store i8 %10309, ptr %10305, align 1, !tbaa !19
  br label %10310

10310:                                            ; preds = %10294
  %10311 = load i32, ptr @test_count, align 4, !tbaa !5
  %10312 = add nsw i32 %10311, 1
  store i32 %10312, ptr @test_count, align 4, !tbaa !5
  %10313 = load ptr, ptr %197, align 8, !tbaa !9
  %10314 = load ptr, ptr %12, align 8, !tbaa !9
  %10315 = call i32 @s2n_connection_set_config(ptr noundef %10313, ptr noundef %10314)
  %10316 = icmp eq i32 %10315, -1
  br i1 %10316, label %10317, label %10370

10317:                                            ; preds = %10310
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %10320 = call ptr @__errno_location() #11
  %10321 = load i32, ptr %10320, align 4, !tbaa !5
  store i32 %10321, ptr %201, align 4, !tbaa !5
  %10322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10323 = call i32 @s2n_print_stacktrace(ptr noundef %10322)
  %10324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10325 = trunc i8 %10324 to i1
  br i1 %10325, label %10326, label %10348

10326:                                            ; preds = %10319
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = call i32 @fileno(ptr noundef %10327) #10
  %10329 = call i32 @isatty(i32 noundef %10328) #10
  %10330 = icmp ne i32 %10329, 0
  br i1 %10330, label %10331, label %10348

10331:                                            ; preds = %10326
  %10332 = load i32, ptr %201, align 4, !tbaa !5
  %10333 = call ptr @__errno_location() #11
  store i32 %10332, ptr %10333, align 4, !tbaa !5
  %10334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10335 = load i32, ptr @test_count, align 4, !tbaa !5
  %10336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10337 = load i32, ptr %10336, align 4, !tbaa !5
  %10338 = call ptr @s2n_strerror(i32 noundef %10337, ptr noundef @.str.4)
  %10339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10340 = load i32, ptr %10339, align 4, !tbaa !5
  %10341 = call ptr @s2n_strerror_debug(i32 noundef %10340, ptr noundef @.str.4)
  %10342 = call ptr @__errno_location() #11
  %10343 = load i32, ptr %10342, align 4, !tbaa !5
  %10344 = call ptr @strerror(i32 noundef %10343) #10
  %10345 = call ptr @__errno_location() #11
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  %10347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10334, ptr noundef @.str.2, i32 noundef %10335, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10338, ptr noundef %10341, ptr noundef %10344, i32 noundef %10346) #10
  br label %10365

10348:                                            ; preds = %10326, %10319
  %10349 = load i32, ptr %201, align 4, !tbaa !5
  %10350 = call ptr @__errno_location() #11
  store i32 %10349, ptr %10350, align 4, !tbaa !5
  %10351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10352 = load i32, ptr @test_count, align 4, !tbaa !5
  %10353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror(i32 noundef %10354, ptr noundef @.str.4)
  %10356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call ptr @s2n_strerror_debug(i32 noundef %10357, ptr noundef @.str.4)
  %10359 = call ptr @__errno_location() #11
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call ptr @strerror(i32 noundef %10360) #10
  %10362 = call ptr @__errno_location() #11
  %10363 = load i32, ptr %10362, align 4, !tbaa !5
  %10364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10351, ptr noundef @.str.5, i32 noundef %10352, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10355, ptr noundef %10358, ptr noundef %10361, i32 noundef %10363) #10
  br label %10365

10365:                                            ; preds = %10348, %10331
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %10366

10366:                                            ; preds = %10365
  br label %10367

10367:                                            ; preds = %10366
  call void @exit(i32 noundef 1) #12
  unreachable

10368:                                            ; No predecessors!
  br label %10369

10369:                                            ; preds = %10368
  br label %10370

10370:                                            ; preds = %10369, %10310
  br label %10371

10371:                                            ; preds = %10370
  br label %10372

10372:                                            ; preds = %10371
  br label %10373

10373:                                            ; preds = %10372
  %10374 = load i32, ptr @test_count, align 4, !tbaa !5
  %10375 = add nsw i32 %10374, 1
  store i32 %10375, ptr @test_count, align 4, !tbaa !5
  %10376 = load ptr, ptr %197, align 8, !tbaa !9
  %10377 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %10378 = call i32 @s2n_connection_allow_response_extension(ptr noundef %10376, i16 noundef zeroext %10377)
  %10379 = icmp eq i32 %10378, -1
  br i1 %10379, label %10380, label %10433

10380:                                            ; preds = %10373
  br label %10381

10381:                                            ; preds = %10380
  br label %10382

10382:                                            ; preds = %10381
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %10383 = call ptr @__errno_location() #11
  %10384 = load i32, ptr %10383, align 4, !tbaa !5
  store i32 %10384, ptr %202, align 4, !tbaa !5
  %10385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10386 = call i32 @s2n_print_stacktrace(ptr noundef %10385)
  %10387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10388 = trunc i8 %10387 to i1
  br i1 %10388, label %10389, label %10411

10389:                                            ; preds = %10382
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = call i32 @fileno(ptr noundef %10390) #10
  %10392 = call i32 @isatty(i32 noundef %10391) #10
  %10393 = icmp ne i32 %10392, 0
  br i1 %10393, label %10394, label %10411

10394:                                            ; preds = %10389
  %10395 = load i32, ptr %202, align 4, !tbaa !5
  %10396 = call ptr @__errno_location() #11
  store i32 %10395, ptr %10396, align 4, !tbaa !5
  %10397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10398 = load i32, ptr @test_count, align 4, !tbaa !5
  %10399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10400 = load i32, ptr %10399, align 4, !tbaa !5
  %10401 = call ptr @s2n_strerror(i32 noundef %10400, ptr noundef @.str.4)
  %10402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10403 = load i32, ptr %10402, align 4, !tbaa !5
  %10404 = call ptr @s2n_strerror_debug(i32 noundef %10403, ptr noundef @.str.4)
  %10405 = call ptr @__errno_location() #11
  %10406 = load i32, ptr %10405, align 4, !tbaa !5
  %10407 = call ptr @strerror(i32 noundef %10406) #10
  %10408 = call ptr @__errno_location() #11
  %10409 = load i32, ptr %10408, align 4, !tbaa !5
  %10410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10397, ptr noundef @.str.2, i32 noundef %10398, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10401, ptr noundef %10404, ptr noundef %10407, i32 noundef %10409) #10
  br label %10428

10411:                                            ; preds = %10389, %10382
  %10412 = load i32, ptr %202, align 4, !tbaa !5
  %10413 = call ptr @__errno_location() #11
  store i32 %10412, ptr %10413, align 4, !tbaa !5
  %10414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10415 = load i32, ptr @test_count, align 4, !tbaa !5
  %10416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @s2n_strerror(i32 noundef %10417, ptr noundef @.str.4)
  %10419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call ptr @s2n_strerror_debug(i32 noundef %10420, ptr noundef @.str.4)
  %10422 = call ptr @__errno_location() #11
  %10423 = load i32, ptr %10422, align 4, !tbaa !5
  %10424 = call ptr @strerror(i32 noundef %10423) #10
  %10425 = call ptr @__errno_location() #11
  %10426 = load i32, ptr %10425, align 4, !tbaa !5
  %10427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10414, ptr noundef @.str.5, i32 noundef %10415, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10418, ptr noundef %10421, ptr noundef %10424, i32 noundef %10426) #10
  br label %10428

10428:                                            ; preds = %10411, %10394
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %10429

10429:                                            ; preds = %10428
  br label %10430

10430:                                            ; preds = %10429
  call void @exit(i32 noundef 1) #12
  unreachable

10431:                                            ; No predecessors!
  br label %10432

10432:                                            ; preds = %10431
  br label %10433

10433:                                            ; preds = %10432, %10373
  br label %10434

10434:                                            ; preds = %10433
  br label %10435

10435:                                            ; preds = %10434
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #10
  store ptr null, ptr %203, align 8, !tbaa !9
  br label %10436

10436:                                            ; preds = %10435
  %10437 = load i32, ptr @test_count, align 4, !tbaa !5
  %10438 = add nsw i32 %10437, 1
  store i32 %10438, ptr @test_count, align 4, !tbaa !5
  %10439 = load ptr, ptr %197, align 8, !tbaa !9
  %10440 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef %10439, ptr noundef %203)
  %10441 = icmp eq i32 %10440, -1
  br i1 %10441, label %10442, label %10495

10442:                                            ; preds = %10436
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

10444:                                            ; preds = %10443
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %10445 = call ptr @__errno_location() #11
  %10446 = load i32, ptr %10445, align 4, !tbaa !5
  store i32 %10446, ptr %204, align 4, !tbaa !5
  %10447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10448 = call i32 @s2n_print_stacktrace(ptr noundef %10447)
  %10449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10450 = trunc i8 %10449 to i1
  br i1 %10450, label %10451, label %10473

10451:                                            ; preds = %10444
  %10452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10453 = call i32 @fileno(ptr noundef %10452) #10
  %10454 = call i32 @isatty(i32 noundef %10453) #10
  %10455 = icmp ne i32 %10454, 0
  br i1 %10455, label %10456, label %10473

10456:                                            ; preds = %10451
  %10457 = load i32, ptr %204, align 4, !tbaa !5
  %10458 = call ptr @__errno_location() #11
  store i32 %10457, ptr %10458, align 4, !tbaa !5
  %10459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10460 = load i32, ptr @test_count, align 4, !tbaa !5
  %10461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10462 = load i32, ptr %10461, align 4, !tbaa !5
  %10463 = call ptr @s2n_strerror(i32 noundef %10462, ptr noundef @.str.4)
  %10464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10465 = load i32, ptr %10464, align 4, !tbaa !5
  %10466 = call ptr @s2n_strerror_debug(i32 noundef %10465, ptr noundef @.str.4)
  %10467 = call ptr @__errno_location() #11
  %10468 = load i32, ptr %10467, align 4, !tbaa !5
  %10469 = call ptr @strerror(i32 noundef %10468) #10
  %10470 = call ptr @__errno_location() #11
  %10471 = load i32, ptr %10470, align 4, !tbaa !5
  %10472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10459, ptr noundef @.str.2, i32 noundef %10460, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 378, ptr noundef %10463, ptr noundef %10466, ptr noundef %10469, i32 noundef %10471) #10
  br label %10490

10473:                                            ; preds = %10451, %10444
  %10474 = load i32, ptr %204, align 4, !tbaa !5
  %10475 = call ptr @__errno_location() #11
  store i32 %10474, ptr %10475, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror(i32 noundef %10479, ptr noundef @.str.4)
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror_debug(i32 noundef %10482, ptr noundef @.str.4)
  %10484 = call ptr @__errno_location() #11
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @strerror(i32 noundef %10485) #10
  %10487 = call ptr @__errno_location() #11
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10476, ptr noundef @.str.5, i32 noundef %10477, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 378, ptr noundef %10480, ptr noundef %10483, ptr noundef %10486, i32 noundef %10488) #10
  br label %10490

10490:                                            ; preds = %10473, %10456
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %10491

10491:                                            ; preds = %10490
  br label %10492

10492:                                            ; preds = %10491
  call void @exit(i32 noundef 1) #12
  unreachable

10493:                                            ; No predecessors!
  br label %10494

10494:                                            ; preds = %10493
  br label %10495

10495:                                            ; preds = %10494, %10436
  br label %10496

10496:                                            ; preds = %10495
  br label %10497

10497:                                            ; preds = %10496
  br label %10498

10498:                                            ; preds = %10497
  %10499 = load i32, ptr @test_count, align 4, !tbaa !5
  %10500 = add nsw i32 %10499, 1
  store i32 %10500, ptr @test_count, align 4, !tbaa !5
  %10501 = load ptr, ptr %203, align 8, !tbaa !9
  %10502 = icmp eq ptr %10501, null
  br i1 %10502, label %10503, label %10556

10503:                                            ; preds = %10498
  br label %10504

10504:                                            ; preds = %10503
  br label %10505

10505:                                            ; preds = %10504
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %10506 = call ptr @__errno_location() #11
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  store i32 %10507, ptr %205, align 4, !tbaa !5
  %10508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10509 = call i32 @s2n_print_stacktrace(ptr noundef %10508)
  %10510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10511 = trunc i8 %10510 to i1
  br i1 %10511, label %10512, label %10534

10512:                                            ; preds = %10505
  %10513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10514 = call i32 @fileno(ptr noundef %10513) #10
  %10515 = call i32 @isatty(i32 noundef %10514) #10
  %10516 = icmp ne i32 %10515, 0
  br i1 %10516, label %10517, label %10534

10517:                                            ; preds = %10512
  %10518 = load i32, ptr %205, align 4, !tbaa !5
  %10519 = call ptr @__errno_location() #11
  store i32 %10518, ptr %10519, align 4, !tbaa !5
  %10520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10521 = load i32, ptr @test_count, align 4, !tbaa !5
  %10522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10523 = load i32, ptr %10522, align 4, !tbaa !5
  %10524 = call ptr @s2n_strerror(i32 noundef %10523, ptr noundef @.str.4)
  %10525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10526 = load i32, ptr %10525, align 4, !tbaa !5
  %10527 = call ptr @s2n_strerror_debug(i32 noundef %10526, ptr noundef @.str.4)
  %10528 = call ptr @__errno_location() #11
  %10529 = load i32, ptr %10528, align 4, !tbaa !5
  %10530 = call ptr @strerror(i32 noundef %10529) #10
  %10531 = call ptr @__errno_location() #11
  %10532 = load i32, ptr %10531, align 4, !tbaa !5
  %10533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10520, ptr noundef @.str.2, i32 noundef %10521, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 379, ptr noundef %10524, ptr noundef %10527, ptr noundef %10530, i32 noundef %10532) #10
  br label %10551

10534:                                            ; preds = %10512, %10505
  %10535 = load i32, ptr %205, align 4, !tbaa !5
  %10536 = call ptr @__errno_location() #11
  store i32 %10535, ptr %10536, align 4, !tbaa !5
  %10537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10538 = load i32, ptr @test_count, align 4, !tbaa !5
  %10539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10540 = load i32, ptr %10539, align 4, !tbaa !5
  %10541 = call ptr @s2n_strerror(i32 noundef %10540, ptr noundef @.str.4)
  %10542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10543 = load i32, ptr %10542, align 4, !tbaa !5
  %10544 = call ptr @s2n_strerror_debug(i32 noundef %10543, ptr noundef @.str.4)
  %10545 = call ptr @__errno_location() #11
  %10546 = load i32, ptr %10545, align 4, !tbaa !5
  %10547 = call ptr @strerror(i32 noundef %10546) #10
  %10548 = call ptr @__errno_location() #11
  %10549 = load i32, ptr %10548, align 4, !tbaa !5
  %10550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10537, ptr noundef @.str.5, i32 noundef %10538, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 379, ptr noundef %10541, ptr noundef %10544, ptr noundef %10547, i32 noundef %10549) #10
  br label %10551

10551:                                            ; preds = %10534, %10517
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %10552

10552:                                            ; preds = %10551
  br label %10553

10553:                                            ; preds = %10552
  call void @exit(i32 noundef 1) #12
  unreachable

10554:                                            ; No predecessors!
  br label %10555

10555:                                            ; preds = %10554
  br label %10556

10556:                                            ; preds = %10555, %10498
  br label %10557

10557:                                            ; preds = %10556
  br label %10558

10558:                                            ; preds = %10557
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #10
  %10559 = load ptr, ptr %197, align 8, !tbaa !9
  %10560 = getelementptr inbounds %struct.s2n_connection, ptr %10559, i32 0, i32 52
  %10561 = getelementptr inbounds %struct.s2n_handshake, ptr %10560, i32 0, i32 0
  store ptr %10561, ptr %206, align 8, !tbaa !9
  %10562 = load ptr, ptr %203, align 8, !tbaa !9
  %10563 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %10562, i32 0, i32 1
  %10564 = load ptr, ptr %10563, align 8, !tbaa !52
  %10565 = getelementptr inbounds ptr, ptr %10564, i64 0
  %10566 = load ptr, ptr %10565, align 8, !tbaa !9
  %10567 = load ptr, ptr %197, align 8, !tbaa !9
  %10568 = getelementptr inbounds %struct.s2n_connection, ptr %10567, i32 0, i32 31
  %10569 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %10568, i32 0, i32 1
  %10570 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %10569, i32 0, i32 0
  store ptr %10566, ptr %10570, align 8, !tbaa !54
  %10571 = load ptr, ptr %197, align 8, !tbaa !9
  %10572 = getelementptr inbounds %struct.s2n_connection, ptr %10571, i32 0, i32 1
  %10573 = load ptr, ptr %10572, align 8, !tbaa !48
  %10574 = load i32, ptr %10573, align 8
  %10575 = and i32 %10574, -2
  %10576 = or i32 %10575, 1
  store i32 %10576, ptr %10573, align 8
  %10577 = load ptr, ptr %197, align 8, !tbaa !9
  %10578 = getelementptr inbounds %struct.s2n_connection, ptr %10577, i32 0, i32 76
  store i32 2, ptr %10578, align 4, !tbaa !49
  %10579 = load ptr, ptr %197, align 8, !tbaa !9
  %10580 = getelementptr inbounds %struct.s2n_connection, ptr %10579, i32 0, i32 23
  store i8 34, ptr %10580, align 4, !tbaa !55
  %10581 = load ptr, ptr %203, align 8, !tbaa !9
  %10582 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %10581, i32 0, i32 1
  %10583 = load ptr, ptr %10582, align 8, !tbaa !52
  %10584 = getelementptr inbounds ptr, ptr %10583, i64 0
  %10585 = load ptr, ptr %10584, align 8, !tbaa !9
  %10586 = load ptr, ptr %197, align 8, !tbaa !9
  %10587 = getelementptr inbounds %struct.s2n_connection, ptr %10586, i32 0, i32 31
  %10588 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %10587, i32 0, i32 3
  %10589 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %10588, i32 0, i32 0
  store ptr %10585, ptr %10589, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 1, ptr %207) #10
  %10590 = load ptr, ptr %197, align 8, !tbaa !9
  %10591 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef %10590)
  %10592 = trunc i32 %10591 to i8
  store i8 %10592, ptr %207, align 1, !tbaa !19
  br label %10593

10593:                                            ; preds = %10558
  br label %10594

10594:                                            ; preds = %10593
  %10595 = load i32, ptr @test_count, align 4, !tbaa !5
  %10596 = add nsw i32 %10595, 1
  store i32 %10596, ptr @test_count, align 4, !tbaa !5
  %10597 = load ptr, ptr %197, align 8, !tbaa !9
  %10598 = load ptr, ptr %206, align 8, !tbaa !9
  %10599 = call i32 @s2n_server_extensions_send(ptr noundef %10597, ptr noundef %10598)
  %10600 = icmp eq i32 %10599, -1
  br i1 %10600, label %10654, label %10601

10601:                                            ; preds = %10594
  br label %10602

10602:                                            ; preds = %10601
  br label %10603

10603:                                            ; preds = %10602
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %10604 = call ptr @__errno_location() #11
  %10605 = load i32, ptr %10604, align 4, !tbaa !5
  store i32 %10605, ptr %208, align 4, !tbaa !5
  %10606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10607 = call i32 @s2n_print_stacktrace(ptr noundef %10606)
  %10608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10609 = trunc i8 %10608 to i1
  br i1 %10609, label %10610, label %10632

10610:                                            ; preds = %10603
  %10611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10612 = call i32 @fileno(ptr noundef %10611) #10
  %10613 = call i32 @isatty(i32 noundef %10612) #10
  %10614 = icmp ne i32 %10613, 0
  br i1 %10614, label %10615, label %10632

10615:                                            ; preds = %10610
  %10616 = load i32, ptr %208, align 4, !tbaa !5
  %10617 = call ptr @__errno_location() #11
  store i32 %10616, ptr %10617, align 4, !tbaa !5
  %10618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10619 = load i32, ptr @test_count, align 4, !tbaa !5
  %10620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  %10622 = call ptr @s2n_strerror(i32 noundef %10621, ptr noundef @.str.4)
  %10623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10624 = load i32, ptr %10623, align 4, !tbaa !5
  %10625 = call ptr @s2n_strerror_debug(i32 noundef %10624, ptr noundef @.str.4)
  %10626 = call ptr @__errno_location() #11
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @strerror(i32 noundef %10627) #10
  %10629 = call ptr @__errno_location() #11
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10618, ptr noundef @.str.2, i32 noundef %10619, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10622, ptr noundef %10625, ptr noundef %10628, i32 noundef %10630) #10
  br label %10649

10632:                                            ; preds = %10610, %10603
  %10633 = load i32, ptr %208, align 4, !tbaa !5
  %10634 = call ptr @__errno_location() #11
  store i32 %10633, ptr %10634, align 4, !tbaa !5
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = load i32, ptr @test_count, align 4, !tbaa !5
  %10637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10638 = load i32, ptr %10637, align 4, !tbaa !5
  %10639 = call ptr @s2n_strerror(i32 noundef %10638, ptr noundef @.str.4)
  %10640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10641 = load i32, ptr %10640, align 4, !tbaa !5
  %10642 = call ptr @s2n_strerror_debug(i32 noundef %10641, ptr noundef @.str.4)
  %10643 = call ptr @__errno_location() #11
  %10644 = load i32, ptr %10643, align 4, !tbaa !5
  %10645 = call ptr @strerror(i32 noundef %10644) #10
  %10646 = call ptr @__errno_location() #11
  %10647 = load i32, ptr %10646, align 4, !tbaa !5
  %10648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10635, ptr noundef @.str.5, i32 noundef %10636, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10639, ptr noundef %10642, ptr noundef %10645, i32 noundef %10647) #10
  br label %10649

10649:                                            ; preds = %10632, %10615
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %10650

10650:                                            ; preds = %10649
  br label %10651

10651:                                            ; preds = %10650
  call void @exit(i32 noundef 1) #12
  unreachable

10652:                                            ; No predecessors!
  br label %10653

10653:                                            ; preds = %10652
  br label %10654

10654:                                            ; preds = %10653, %10594
  br label %10655

10655:                                            ; preds = %10654
  br label %10656

10656:                                            ; preds = %10655
  br label %10657

10657:                                            ; preds = %10656
  %10658 = load i32, ptr @test_count, align 4, !tbaa !5
  %10659 = add nsw i32 %10658, 1
  store i32 %10659, ptr @test_count, align 4, !tbaa !5
  %10660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  %10662 = icmp eq i32 %10661, 0
  br i1 %10662, label %10663, label %10716

10663:                                            ; preds = %10657
  br label %10664

10664:                                            ; preds = %10663
  br label %10665

10665:                                            ; preds = %10664
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  %10666 = call ptr @__errno_location() #11
  %10667 = load i32, ptr %10666, align 4, !tbaa !5
  store i32 %10667, ptr %209, align 4, !tbaa !5
  %10668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10669 = call i32 @s2n_print_stacktrace(ptr noundef %10668)
  %10670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10671 = trunc i8 %10670 to i1
  br i1 %10671, label %10672, label %10694

10672:                                            ; preds = %10665
  %10673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10674 = call i32 @fileno(ptr noundef %10673) #10
  %10675 = call i32 @isatty(i32 noundef %10674) #10
  %10676 = icmp ne i32 %10675, 0
  br i1 %10676, label %10677, label %10694

10677:                                            ; preds = %10672
  %10678 = load i32, ptr %209, align 4, !tbaa !5
  %10679 = call ptr @__errno_location() #11
  store i32 %10678, ptr %10679, align 4, !tbaa !5
  %10680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10681 = load i32, ptr @test_count, align 4, !tbaa !5
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror(i32 noundef %10683, ptr noundef @.str.4)
  %10685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @s2n_strerror_debug(i32 noundef %10686, ptr noundef @.str.4)
  %10688 = call ptr @__errno_location() #11
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call ptr @strerror(i32 noundef %10689) #10
  %10691 = call ptr @__errno_location() #11
  %10692 = load i32, ptr %10691, align 4, !tbaa !5
  %10693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10680, ptr noundef @.str.2, i32 noundef %10681, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10684, ptr noundef %10687, ptr noundef %10690, i32 noundef %10692) #10
  br label %10711

10694:                                            ; preds = %10672, %10665
  %10695 = load i32, ptr %209, align 4, !tbaa !5
  %10696 = call ptr @__errno_location() #11
  store i32 %10695, ptr %10696, align 4, !tbaa !5
  %10697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10698 = load i32, ptr @test_count, align 4, !tbaa !5
  %10699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror(i32 noundef %10700, ptr noundef @.str.4)
  %10702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call ptr @s2n_strerror_debug(i32 noundef %10703, ptr noundef @.str.4)
  %10705 = call ptr @__errno_location() #11
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call ptr @strerror(i32 noundef %10706) #10
  %10708 = call ptr @__errno_location() #11
  %10709 = load i32, ptr %10708, align 4, !tbaa !5
  %10710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10697, ptr noundef @.str.5, i32 noundef %10698, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10701, ptr noundef %10704, ptr noundef %10707, i32 noundef %10709) #10
  br label %10711

10711:                                            ; preds = %10694, %10677
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712
  call void @exit(i32 noundef 1) #12
  unreachable

10714:                                            ; No predecessors!
  br label %10715

10715:                                            ; preds = %10714
  br label %10716

10716:                                            ; preds = %10715, %10657
  br label %10717

10717:                                            ; preds = %10716
  br label %10718

10718:                                            ; preds = %10717
  br label %10719

10719:                                            ; preds = %10718
  %10720 = load i32, ptr @test_count, align 4, !tbaa !5
  %10721 = add nsw i32 %10720, 1
  store i32 %10721, ptr @test_count, align 4, !tbaa !5
  %10722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10723 = load i32, ptr %10722, align 4, !tbaa !5
  %10724 = call ptr @s2n_strerror_debug(i32 noundef %10723, ptr noundef @.str.4)
  %10725 = icmp eq ptr %10724, null
  br i1 %10725, label %10726, label %10779

10726:                                            ; preds = %10719
  br label %10727

10727:                                            ; preds = %10726
  br label %10728

10728:                                            ; preds = %10727
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #10
  %10729 = call ptr @__errno_location() #11
  %10730 = load i32, ptr %10729, align 4, !tbaa !5
  store i32 %10730, ptr %210, align 4, !tbaa !5
  %10731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10732 = call i32 @s2n_print_stacktrace(ptr noundef %10731)
  %10733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10734 = trunc i8 %10733 to i1
  br i1 %10734, label %10735, label %10757

10735:                                            ; preds = %10728
  %10736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10737 = call i32 @fileno(ptr noundef %10736) #10
  %10738 = call i32 @isatty(i32 noundef %10737) #10
  %10739 = icmp ne i32 %10738, 0
  br i1 %10739, label %10740, label %10757

10740:                                            ; preds = %10735
  %10741 = load i32, ptr %210, align 4, !tbaa !5
  %10742 = call ptr @__errno_location() #11
  store i32 %10741, ptr %10742, align 4, !tbaa !5
  %10743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10744 = load i32, ptr @test_count, align 4, !tbaa !5
  %10745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10746 = load i32, ptr %10745, align 4, !tbaa !5
  %10747 = call ptr @s2n_strerror(i32 noundef %10746, ptr noundef @.str.4)
  %10748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10749 = load i32, ptr %10748, align 4, !tbaa !5
  %10750 = call ptr @s2n_strerror_debug(i32 noundef %10749, ptr noundef @.str.4)
  %10751 = call ptr @__errno_location() #11
  %10752 = load i32, ptr %10751, align 4, !tbaa !5
  %10753 = call ptr @strerror(i32 noundef %10752) #10
  %10754 = call ptr @__errno_location() #11
  %10755 = load i32, ptr %10754, align 4, !tbaa !5
  %10756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10743, ptr noundef @.str.2, i32 noundef %10744, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10747, ptr noundef %10750, ptr noundef %10753, i32 noundef %10755) #10
  br label %10774

10757:                                            ; preds = %10735, %10728
  %10758 = load i32, ptr %210, align 4, !tbaa !5
  %10759 = call ptr @__errno_location() #11
  store i32 %10758, ptr %10759, align 4, !tbaa !5
  %10760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10761 = load i32, ptr @test_count, align 4, !tbaa !5
  %10762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10763 = load i32, ptr %10762, align 4, !tbaa !5
  %10764 = call ptr @s2n_strerror(i32 noundef %10763, ptr noundef @.str.4)
  %10765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10766 = load i32, ptr %10765, align 4, !tbaa !5
  %10767 = call ptr @s2n_strerror_debug(i32 noundef %10766, ptr noundef @.str.4)
  %10768 = call ptr @__errno_location() #11
  %10769 = load i32, ptr %10768, align 4, !tbaa !5
  %10770 = call ptr @strerror(i32 noundef %10769) #10
  %10771 = call ptr @__errno_location() #11
  %10772 = load i32, ptr %10771, align 4, !tbaa !5
  %10773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10760, ptr noundef @.str.5, i32 noundef %10761, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 397, ptr noundef %10764, ptr noundef %10767, ptr noundef %10770, i32 noundef %10772) #10
  br label %10774

10774:                                            ; preds = %10757, %10740
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #10
  br label %10775

10775:                                            ; preds = %10774
  br label %10776

10776:                                            ; preds = %10775
  call void @exit(i32 noundef 1) #12
  unreachable

10777:                                            ; No predecessors!
  br label %10778

10778:                                            ; preds = %10777
  br label %10779

10779:                                            ; preds = %10778, %10719
  br label %10780

10780:                                            ; preds = %10779
  br label %10781

10781:                                            ; preds = %10780
  br label %10782

10782:                                            ; preds = %10781
  %10783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10783, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10784 = call ptr @__errno_location() #11
  store i32 0, ptr %10784, align 4, !tbaa !5
  br label %10785

10785:                                            ; preds = %10782
  br label %10786

10786:                                            ; preds = %10785
  br label %10787

10787:                                            ; preds = %10786
  br label %10788

10788:                                            ; preds = %10787
  br label %10789

10789:                                            ; preds = %10788
  %10790 = load i32, ptr @test_count, align 4, !tbaa !5
  %10791 = add nsw i32 %10790, 1
  store i32 %10791, ptr @test_count, align 4, !tbaa !5
  %10792 = load ptr, ptr %197, align 8, !tbaa !9
  %10793 = getelementptr inbounds %struct.s2n_connection, ptr %10792, i32 0, i32 31
  %10794 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %10793, i32 0, i32 3
  %10795 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %10794)
  %10796 = icmp eq i32 %10795, -1
  br i1 %10796, label %10797, label %10850

10797:                                            ; preds = %10789
  br label %10798

10798:                                            ; preds = %10797
  br label %10799

10799:                                            ; preds = %10798
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %10800 = call ptr @__errno_location() #11
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  store i32 %10801, ptr %211, align 4, !tbaa !5
  %10802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10803 = call i32 @s2n_print_stacktrace(ptr noundef %10802)
  %10804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10805 = trunc i8 %10804 to i1
  br i1 %10805, label %10806, label %10828

10806:                                            ; preds = %10799
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = call i32 @fileno(ptr noundef %10807) #10
  %10809 = call i32 @isatty(i32 noundef %10808) #10
  %10810 = icmp ne i32 %10809, 0
  br i1 %10810, label %10811, label %10828

10811:                                            ; preds = %10806
  %10812 = load i32, ptr %211, align 4, !tbaa !5
  %10813 = call ptr @__errno_location() #11
  store i32 %10812, ptr %10813, align 4, !tbaa !5
  %10814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10815 = load i32, ptr @test_count, align 4, !tbaa !5
  %10816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call ptr @s2n_strerror(i32 noundef %10817, ptr noundef @.str.4)
  %10819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10820 = load i32, ptr %10819, align 4, !tbaa !5
  %10821 = call ptr @s2n_strerror_debug(i32 noundef %10820, ptr noundef @.str.4)
  %10822 = call ptr @__errno_location() #11
  %10823 = load i32, ptr %10822, align 4, !tbaa !5
  %10824 = call ptr @strerror(i32 noundef %10823) #10
  %10825 = call ptr @__errno_location() #11
  %10826 = load i32, ptr %10825, align 4, !tbaa !5
  %10827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10814, ptr noundef @.str.2, i32 noundef %10815, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 399, ptr noundef %10818, ptr noundef %10821, ptr noundef %10824, i32 noundef %10826) #10
  br label %10845

10828:                                            ; preds = %10806, %10799
  %10829 = load i32, ptr %211, align 4, !tbaa !5
  %10830 = call ptr @__errno_location() #11
  store i32 %10829, ptr %10830, align 4, !tbaa !5
  %10831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10832 = load i32, ptr @test_count, align 4, !tbaa !5
  %10833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror(i32 noundef %10834, ptr noundef @.str.4)
  %10836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call ptr @s2n_strerror_debug(i32 noundef %10837, ptr noundef @.str.4)
  %10839 = call ptr @__errno_location() #11
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  %10841 = call ptr @strerror(i32 noundef %10840) #10
  %10842 = call ptr @__errno_location() #11
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  %10844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10831, ptr noundef @.str.5, i32 noundef %10832, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 399, ptr noundef %10835, ptr noundef %10838, ptr noundef %10841, i32 noundef %10843) #10
  br label %10845

10845:                                            ; preds = %10828, %10811
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846
  call void @exit(i32 noundef 1) #12
  unreachable

10848:                                            ; No predecessors!
  br label %10849

10849:                                            ; preds = %10848
  br label %10850

10850:                                            ; preds = %10849, %10789
  br label %10851

10851:                                            ; preds = %10850
  br label %10852

10852:                                            ; preds = %10851
  br label %10853

10853:                                            ; preds = %10852
  %10854 = load i32, ptr @test_count, align 4, !tbaa !5
  %10855 = add nsw i32 %10854, 1
  store i32 %10855, ptr @test_count, align 4, !tbaa !5
  %10856 = load ptr, ptr %206, align 8, !tbaa !9
  %10857 = load ptr, ptr %206, align 8, !tbaa !9
  %10858 = getelementptr inbounds %struct.s2n_stuffer, ptr %10857, i32 0, i32 2
  %10859 = load i32, ptr %10858, align 4, !tbaa !15
  %10860 = load ptr, ptr %206, align 8, !tbaa !9
  %10861 = getelementptr inbounds %struct.s2n_stuffer, ptr %10860, i32 0, i32 1
  %10862 = load i32, ptr %10861, align 8, !tbaa !18
  %10863 = sub i32 %10859, %10862
  %10864 = call i32 @s2n_stuffer_skip_read(ptr noundef %10856, i32 noundef %10863)
  %10865 = icmp eq i32 %10864, -1
  br i1 %10865, label %10866, label %10919

10866:                                            ; preds = %10853
  br label %10867

10867:                                            ; preds = %10866
  br label %10868

10868:                                            ; preds = %10867
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %10869 = call ptr @__errno_location() #11
  %10870 = load i32, ptr %10869, align 4, !tbaa !5
  store i32 %10870, ptr %212, align 4, !tbaa !5
  %10871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10872 = call i32 @s2n_print_stacktrace(ptr noundef %10871)
  %10873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10874 = trunc i8 %10873 to i1
  br i1 %10874, label %10875, label %10897

10875:                                            ; preds = %10868
  %10876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10877 = call i32 @fileno(ptr noundef %10876) #10
  %10878 = call i32 @isatty(i32 noundef %10877) #10
  %10879 = icmp ne i32 %10878, 0
  br i1 %10879, label %10880, label %10897

10880:                                            ; preds = %10875
  %10881 = load i32, ptr %212, align 4, !tbaa !5
  %10882 = call ptr @__errno_location() #11
  store i32 %10881, ptr %10882, align 4, !tbaa !5
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call ptr @s2n_strerror(i32 noundef %10886, ptr noundef @.str.4)
  %10888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror_debug(i32 noundef %10889, ptr noundef @.str.4)
  %10891 = call ptr @__errno_location() #11
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @strerror(i32 noundef %10892) #10
  %10894 = call ptr @__errno_location() #11
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10883, ptr noundef @.str.2, i32 noundef %10884, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 401, ptr noundef %10887, ptr noundef %10890, ptr noundef %10893, i32 noundef %10895) #10
  br label %10914

10897:                                            ; preds = %10875, %10868
  %10898 = load i32, ptr %212, align 4, !tbaa !5
  %10899 = call ptr @__errno_location() #11
  store i32 %10898, ptr %10899, align 4, !tbaa !5
  %10900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10901 = load i32, ptr @test_count, align 4, !tbaa !5
  %10902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10903 = load i32, ptr %10902, align 4, !tbaa !5
  %10904 = call ptr @s2n_strerror(i32 noundef %10903, ptr noundef @.str.4)
  %10905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call ptr @s2n_strerror_debug(i32 noundef %10906, ptr noundef @.str.4)
  %10908 = call ptr @__errno_location() #11
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  %10910 = call ptr @strerror(i32 noundef %10909) #10
  %10911 = call ptr @__errno_location() #11
  %10912 = load i32, ptr %10911, align 4, !tbaa !5
  %10913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10900, ptr noundef @.str.5, i32 noundef %10901, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 401, ptr noundef %10904, ptr noundef %10907, ptr noundef %10910, i32 noundef %10912) #10
  br label %10914

10914:                                            ; preds = %10897, %10880
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %10915

10915:                                            ; preds = %10914
  br label %10916

10916:                                            ; preds = %10915
  call void @exit(i32 noundef 1) #12
  unreachable

10917:                                            ; No predecessors!
  br label %10918

10918:                                            ; preds = %10917
  br label %10919

10919:                                            ; preds = %10918, %10853
  br label %10920

10920:                                            ; preds = %10919
  br label %10921

10921:                                            ; preds = %10920
  br label %10922

10922:                                            ; preds = %10921
  %10923 = load i32, ptr @test_count, align 4, !tbaa !5
  %10924 = add nsw i32 %10923, 1
  store i32 %10924, ptr @test_count, align 4, !tbaa !5
  %10925 = load ptr, ptr %197, align 8, !tbaa !9
  %10926 = load ptr, ptr %206, align 8, !tbaa !9
  %10927 = call i32 @s2n_server_extensions_send(ptr noundef %10925, ptr noundef %10926)
  %10928 = icmp eq i32 %10927, -1
  br i1 %10928, label %10929, label %10982

10929:                                            ; preds = %10922
  br label %10930

10930:                                            ; preds = %10929
  br label %10931

10931:                                            ; preds = %10930
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %10932 = call ptr @__errno_location() #11
  %10933 = load i32, ptr %10932, align 4, !tbaa !5
  store i32 %10933, ptr %213, align 4, !tbaa !5
  %10934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10935 = call i32 @s2n_print_stacktrace(ptr noundef %10934)
  %10936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10937 = trunc i8 %10936 to i1
  br i1 %10937, label %10938, label %10960

10938:                                            ; preds = %10931
  %10939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10940 = call i32 @fileno(ptr noundef %10939) #10
  %10941 = call i32 @isatty(i32 noundef %10940) #10
  %10942 = icmp ne i32 %10941, 0
  br i1 %10942, label %10943, label %10960

10943:                                            ; preds = %10938
  %10944 = load i32, ptr %213, align 4, !tbaa !5
  %10945 = call ptr @__errno_location() #11
  store i32 %10944, ptr %10945, align 4, !tbaa !5
  %10946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10947 = load i32, ptr @test_count, align 4, !tbaa !5
  %10948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @s2n_strerror(i32 noundef %10949, ptr noundef @.str.4)
  %10951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror_debug(i32 noundef %10952, ptr noundef @.str.4)
  %10954 = call ptr @__errno_location() #11
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call ptr @strerror(i32 noundef %10955) #10
  %10957 = call ptr @__errno_location() #11
  %10958 = load i32, ptr %10957, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10946, ptr noundef @.str.2, i32 noundef %10947, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 402, ptr noundef %10950, ptr noundef %10953, ptr noundef %10956, i32 noundef %10958) #10
  br label %10977

10960:                                            ; preds = %10938, %10931
  %10961 = load i32, ptr %213, align 4, !tbaa !5
  %10962 = call ptr @__errno_location() #11
  store i32 %10961, ptr %10962, align 4, !tbaa !5
  %10963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10964 = load i32, ptr @test_count, align 4, !tbaa !5
  %10965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10966 = load i32, ptr %10965, align 4, !tbaa !5
  %10967 = call ptr @s2n_strerror(i32 noundef %10966, ptr noundef @.str.4)
  %10968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10969 = load i32, ptr %10968, align 4, !tbaa !5
  %10970 = call ptr @s2n_strerror_debug(i32 noundef %10969, ptr noundef @.str.4)
  %10971 = call ptr @__errno_location() #11
  %10972 = load i32, ptr %10971, align 4, !tbaa !5
  %10973 = call ptr @strerror(i32 noundef %10972) #10
  %10974 = call ptr @__errno_location() #11
  %10975 = load i32, ptr %10974, align 4, !tbaa !5
  %10976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10963, ptr noundef @.str.5, i32 noundef %10964, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 402, ptr noundef %10967, ptr noundef %10970, ptr noundef %10973, i32 noundef %10975) #10
  br label %10977

10977:                                            ; preds = %10960, %10943
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  call void @exit(i32 noundef 1) #12
  unreachable

10980:                                            ; No predecessors!
  br label %10981

10981:                                            ; preds = %10980
  br label %10982

10982:                                            ; preds = %10981, %10922
  br label %10983

10983:                                            ; preds = %10982
  br label %10984

10984:                                            ; preds = %10983
  br label %10985

10985:                                            ; preds = %10984
  br label %10986

10986:                                            ; preds = %10985
  %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 %206, align 8, !tbaa !9
  %10990 = load i8, ptr %207, align 1, !tbaa !19
  %10991 = zext i8 %10990 to i32
  %10992 = add nsw i32 %10991, 2
  %10993 = call i32 @s2n_stuffer_skip_read(ptr noundef %10989, i32 noundef %10992)
  %10994 = icmp eq i32 %10993, -1
  br i1 %10994, label %10995, label %11048

10995:                                            ; preds = %10986
  br label %10996

10996:                                            ; preds = %10995
  br label %10997

10997:                                            ; preds = %10996
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %10998 = call ptr @__errno_location() #11
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  store i32 %10999, ptr %214, align 4, !tbaa !5
  %11000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11001 = call i32 @s2n_print_stacktrace(ptr noundef %11000)
  %11002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11003 = trunc i8 %11002 to i1
  br i1 %11003, label %11004, label %11026

11004:                                            ; preds = %10997
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = call i32 @fileno(ptr noundef %11005) #10
  %11007 = call i32 @isatty(i32 noundef %11006) #10
  %11008 = icmp ne i32 %11007, 0
  br i1 %11008, label %11009, label %11026

11009:                                            ; preds = %11004
  %11010 = load i32, ptr %214, align 4, !tbaa !5
  %11011 = call ptr @__errno_location() #11
  store i32 %11010, ptr %11011, align 4, !tbaa !5
  %11012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call ptr @s2n_strerror(i32 noundef %11015, ptr noundef @.str.4)
  %11017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror_debug(i32 noundef %11018, ptr noundef @.str.4)
  %11020 = call ptr @__errno_location() #11
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call ptr @strerror(i32 noundef %11021) #10
  %11023 = call ptr @__errno_location() #11
  %11024 = load i32, ptr %11023, align 4, !tbaa !5
  %11025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11012, ptr noundef @.str.2, i32 noundef %11013, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11016, ptr noundef %11019, ptr noundef %11022, i32 noundef %11024) #10
  br label %11043

11026:                                            ; preds = %11004, %10997
  %11027 = load i32, ptr %214, align 4, !tbaa !5
  %11028 = call ptr @__errno_location() #11
  store i32 %11027, ptr %11028, align 4, !tbaa !5
  %11029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11030 = load i32, ptr @test_count, align 4, !tbaa !5
  %11031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11032 = load i32, ptr %11031, align 4, !tbaa !5
  %11033 = call ptr @s2n_strerror(i32 noundef %11032, ptr noundef @.str.4)
  %11034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11035 = load i32, ptr %11034, align 4, !tbaa !5
  %11036 = call ptr @s2n_strerror_debug(i32 noundef %11035, ptr noundef @.str.4)
  %11037 = call ptr @__errno_location() #11
  %11038 = load i32, ptr %11037, align 4, !tbaa !5
  %11039 = call ptr @strerror(i32 noundef %11038) #10
  %11040 = call ptr @__errno_location() #11
  %11041 = load i32, ptr %11040, align 4, !tbaa !5
  %11042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11029, ptr noundef @.str.5, i32 noundef %11030, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11033, ptr noundef %11036, ptr noundef %11039, i32 noundef %11041) #10
  br label %11043

11043:                                            ; preds = %11026, %11009
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %11044

11044:                                            ; preds = %11043
  br label %11045

11045:                                            ; preds = %11044
  call void @exit(i32 noundef 1) #12
  unreachable

11046:                                            ; No predecessors!
  br label %11047

11047:                                            ; preds = %11046
  br label %11048

11048:                                            ; preds = %11047, %10986
  br label %11049

11049:                                            ; preds = %11048
  br label %11050

11050:                                            ; preds = %11049
  br label %11051

11051:                                            ; preds = %11050
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %11053 = add nsw i32 %11052, 1
  store i32 %11053, ptr @test_count, align 4, !tbaa !5
  %11054 = load ptr, ptr %206, align 8, !tbaa !9
  %11055 = getelementptr inbounds %struct.s2n_stuffer, ptr %11054, i32 0, i32 2
  %11056 = load i32, ptr %11055, align 4, !tbaa !15
  %11057 = load ptr, ptr %206, align 8, !tbaa !9
  %11058 = getelementptr inbounds %struct.s2n_stuffer, ptr %11057, i32 0, i32 1
  %11059 = load i32, ptr %11058, align 8, !tbaa !18
  %11060 = sub i32 %11056, %11059
  %11061 = icmp eq i32 %11060, 0
  br i1 %11061, label %11115, label %11062

11062:                                            ; preds = %11051
  br label %11063

11063:                                            ; preds = %11062
  br label %11064

11064:                                            ; preds = %11063
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %11065 = call ptr @__errno_location() #11
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  store i32 %11066, ptr %215, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = call i32 @s2n_print_stacktrace(ptr noundef %11067)
  %11069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11070 = trunc i8 %11069 to i1
  br i1 %11070, label %11071, label %11093

11071:                                            ; preds = %11064
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = call i32 @fileno(ptr noundef %11072) #10
  %11074 = call i32 @isatty(i32 noundef %11073) #10
  %11075 = icmp ne i32 %11074, 0
  br i1 %11075, label %11076, label %11093

11076:                                            ; preds = %11071
  %11077 = load i32, ptr %215, align 4, !tbaa !5
  %11078 = call ptr @__errno_location() #11
  store i32 %11077, ptr %11078, align 4, !tbaa !5
  %11079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11080 = load i32, ptr @test_count, align 4, !tbaa !5
  %11081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11082 = load i32, ptr %11081, align 4, !tbaa !5
  %11083 = call ptr @s2n_strerror(i32 noundef %11082, ptr noundef @.str.4)
  %11084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @s2n_strerror_debug(i32 noundef %11085, ptr noundef @.str.4)
  %11087 = call ptr @__errno_location() #11
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @strerror(i32 noundef %11088) #10
  %11090 = call ptr @__errno_location() #11
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11079, ptr noundef @.str.2, i32 noundef %11080, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11083, ptr noundef %11086, ptr noundef %11089, i32 noundef %11091) #10
  br label %11110

11093:                                            ; preds = %11071, %11064
  %11094 = load i32, ptr %215, align 4, !tbaa !5
  %11095 = call ptr @__errno_location() #11
  store i32 %11094, ptr %11095, align 4, !tbaa !5
  %11096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11099 = load i32, ptr %11098, align 4, !tbaa !5
  %11100 = call ptr @s2n_strerror(i32 noundef %11099, ptr noundef @.str.4)
  %11101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @s2n_strerror_debug(i32 noundef %11102, ptr noundef @.str.4)
  %11104 = call ptr @__errno_location() #11
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call ptr @strerror(i32 noundef %11105) #10
  %11107 = call ptr @__errno_location() #11
  %11108 = load i32, ptr %11107, align 4, !tbaa !5
  %11109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11096, ptr noundef @.str.5, i32 noundef %11097, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11100, ptr noundef %11103, ptr noundef %11106, i32 noundef %11108) #10
  br label %11110

11110:                                            ; preds = %11093, %11076
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %11111

11111:                                            ; preds = %11110
  br label %11112

11112:                                            ; preds = %11111
  call void @exit(i32 noundef 1) #12
  unreachable

11113:                                            ; No predecessors!
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

11115:                                            ; preds = %11114, %11051
  br label %11116

11116:                                            ; preds = %11115
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117
  br label %11119

11119:                                            ; preds = %11118
  %11120 = load ptr, ptr %197, align 8, !tbaa !9
  %11121 = getelementptr inbounds %struct.s2n_connection, ptr %11120, i32 0, i32 23
  store i8 33, ptr %11121, align 4, !tbaa !55
  br label %11122

11122:                                            ; preds = %11119
  %11123 = load i32, ptr @test_count, align 4, !tbaa !5
  %11124 = add nsw i32 %11123, 1
  store i32 %11124, ptr @test_count, align 4, !tbaa !5
  %11125 = load ptr, ptr %206, align 8, !tbaa !9
  %11126 = load ptr, ptr %206, align 8, !tbaa !9
  %11127 = getelementptr inbounds %struct.s2n_stuffer, ptr %11126, i32 0, i32 2
  %11128 = load i32, ptr %11127, align 4, !tbaa !15
  %11129 = load ptr, ptr %206, align 8, !tbaa !9
  %11130 = getelementptr inbounds %struct.s2n_stuffer, ptr %11129, i32 0, i32 1
  %11131 = load i32, ptr %11130, align 8, !tbaa !18
  %11132 = sub i32 %11128, %11131
  %11133 = call i32 @s2n_stuffer_skip_read(ptr noundef %11125, i32 noundef %11132)
  %11134 = icmp eq i32 %11133, -1
  br i1 %11134, label %11135, label %11188

11135:                                            ; preds = %11122
  br label %11136

11136:                                            ; preds = %11135
  br label %11137

11137:                                            ; preds = %11136
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %11138 = call ptr @__errno_location() #11
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  store i32 %11139, ptr %216, align 4, !tbaa !5
  %11140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11141 = call i32 @s2n_print_stacktrace(ptr noundef %11140)
  %11142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11143 = trunc i8 %11142 to i1
  br i1 %11143, label %11144, label %11166

11144:                                            ; preds = %11137
  %11145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11146 = call i32 @fileno(ptr noundef %11145) #10
  %11147 = call i32 @isatty(i32 noundef %11146) #10
  %11148 = icmp ne i32 %11147, 0
  br i1 %11148, label %11149, label %11166

11149:                                            ; preds = %11144
  %11150 = load i32, ptr %216, align 4, !tbaa !5
  %11151 = call ptr @__errno_location() #11
  store i32 %11150, ptr %11151, align 4, !tbaa !5
  %11152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11153 = load i32, ptr @test_count, align 4, !tbaa !5
  %11154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call ptr @s2n_strerror(i32 noundef %11155, ptr noundef @.str.4)
  %11157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call ptr @s2n_strerror_debug(i32 noundef %11158, ptr noundef @.str.4)
  %11160 = call ptr @__errno_location() #11
  %11161 = load i32, ptr %11160, align 4, !tbaa !5
  %11162 = call ptr @strerror(i32 noundef %11161) #10
  %11163 = call ptr @__errno_location() #11
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  %11165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11152, ptr noundef @.str.2, i32 noundef %11153, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 408, ptr noundef %11156, ptr noundef %11159, ptr noundef %11162, i32 noundef %11164) #10
  br label %11183

11166:                                            ; preds = %11144, %11137
  %11167 = load i32, ptr %216, align 4, !tbaa !5
  %11168 = call ptr @__errno_location() #11
  store i32 %11167, ptr %11168, align 4, !tbaa !5
  %11169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11170 = load i32, ptr @test_count, align 4, !tbaa !5
  %11171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11172 = load i32, ptr %11171, align 4, !tbaa !5
  %11173 = call ptr @s2n_strerror(i32 noundef %11172, ptr noundef @.str.4)
  %11174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11175 = load i32, ptr %11174, align 4, !tbaa !5
  %11176 = call ptr @s2n_strerror_debug(i32 noundef %11175, ptr noundef @.str.4)
  %11177 = call ptr @__errno_location() #11
  %11178 = load i32, ptr %11177, align 4, !tbaa !5
  %11179 = call ptr @strerror(i32 noundef %11178) #10
  %11180 = call ptr @__errno_location() #11
  %11181 = load i32, ptr %11180, align 4, !tbaa !5
  %11182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11169, ptr noundef @.str.5, i32 noundef %11170, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 408, ptr noundef %11173, ptr noundef %11176, ptr noundef %11179, i32 noundef %11181) #10
  br label %11183

11183:                                            ; preds = %11166, %11149
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  br label %11184

11184:                                            ; preds = %11183
  br label %11185

11185:                                            ; preds = %11184
  call void @exit(i32 noundef 1) #12
  unreachable

11186:                                            ; No predecessors!
  br label %11187

11187:                                            ; preds = %11186
  br label %11188

11188:                                            ; preds = %11187, %11122
  br label %11189

11189:                                            ; preds = %11188
  br label %11190

11190:                                            ; preds = %11189
  br label %11191

11191:                                            ; preds = %11190
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = add nsw i32 %11192, 1
  store i32 %11193, ptr @test_count, align 4, !tbaa !5
  %11194 = load ptr, ptr %197, align 8, !tbaa !9
  %11195 = load ptr, ptr %206, align 8, !tbaa !9
  %11196 = call i32 @s2n_server_extensions_send(ptr noundef %11194, ptr noundef %11195)
  %11197 = icmp eq i32 %11196, -1
  br i1 %11197, label %11198, label %11251

11198:                                            ; preds = %11191
  br label %11199

11199:                                            ; preds = %11198
  br label %11200

11200:                                            ; preds = %11199
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %11201 = call ptr @__errno_location() #11
  %11202 = load i32, ptr %11201, align 4, !tbaa !5
  store i32 %11202, ptr %217, align 4, !tbaa !5
  %11203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11204 = call i32 @s2n_print_stacktrace(ptr noundef %11203)
  %11205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11206 = trunc i8 %11205 to i1
  br i1 %11206, label %11207, label %11229

11207:                                            ; preds = %11200
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = call i32 @fileno(ptr noundef %11208) #10
  %11210 = call i32 @isatty(i32 noundef %11209) #10
  %11211 = icmp ne i32 %11210, 0
  br i1 %11211, label %11212, label %11229

11212:                                            ; preds = %11207
  %11213 = load i32, ptr %217, align 4, !tbaa !5
  %11214 = call ptr @__errno_location() #11
  store i32 %11213, ptr %11214, align 4, !tbaa !5
  %11215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11218 = load i32, ptr %11217, align 4, !tbaa !5
  %11219 = call ptr @s2n_strerror(i32 noundef %11218, ptr noundef @.str.4)
  %11220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  %11222 = call ptr @s2n_strerror_debug(i32 noundef %11221, ptr noundef @.str.4)
  %11223 = call ptr @__errno_location() #11
  %11224 = load i32, ptr %11223, align 4, !tbaa !5
  %11225 = call ptr @strerror(i32 noundef %11224) #10
  %11226 = call ptr @__errno_location() #11
  %11227 = load i32, ptr %11226, align 4, !tbaa !5
  %11228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11215, ptr noundef @.str.2, i32 noundef %11216, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11219, ptr noundef %11222, ptr noundef %11225, i32 noundef %11227) #10
  br label %11246

11229:                                            ; preds = %11207, %11200
  %11230 = load i32, ptr %217, align 4, !tbaa !5
  %11231 = call ptr @__errno_location() #11
  store i32 %11230, ptr %11231, align 4, !tbaa !5
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = load i32, ptr @test_count, align 4, !tbaa !5
  %11234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11235 = load i32, ptr %11234, align 4, !tbaa !5
  %11236 = call ptr @s2n_strerror(i32 noundef %11235, ptr noundef @.str.4)
  %11237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11238 = load i32, ptr %11237, align 4, !tbaa !5
  %11239 = call ptr @s2n_strerror_debug(i32 noundef %11238, ptr noundef @.str.4)
  %11240 = call ptr @__errno_location() #11
  %11241 = load i32, ptr %11240, align 4, !tbaa !5
  %11242 = call ptr @strerror(i32 noundef %11241) #10
  %11243 = call ptr @__errno_location() #11
  %11244 = load i32, ptr %11243, align 4, !tbaa !5
  %11245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11232, ptr noundef @.str.5, i32 noundef %11233, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11236, ptr noundef %11239, ptr noundef %11242, i32 noundef %11244) #10
  br label %11246

11246:                                            ; preds = %11229, %11212
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %11247

11247:                                            ; preds = %11246
  br label %11248

11248:                                            ; preds = %11247
  call void @exit(i32 noundef 1) #12
  unreachable

11249:                                            ; No predecessors!
  br label %11250

11250:                                            ; preds = %11249
  br label %11251

11251:                                            ; preds = %11250, %11191
  br label %11252

11252:                                            ; preds = %11251
  br label %11253

11253:                                            ; preds = %11252
  call void @llvm.lifetime.start.p0(i64 1, ptr %218) #10
  store i8 6, ptr %218, align 1, !tbaa !19
  br label %11254

11254:                                            ; preds = %11253
  br label %11255

11255:                                            ; preds = %11254
  %11256 = load i32, ptr @test_count, align 4, !tbaa !5
  %11257 = add nsw i32 %11256, 1
  store i32 %11257, ptr @test_count, align 4, !tbaa !5
  %11258 = load ptr, ptr %206, align 8, !tbaa !9
  %11259 = load i8, ptr %218, align 1, !tbaa !19
  %11260 = zext i8 %11259 to i32
  %11261 = call i32 @s2n_stuffer_skip_read(ptr noundef %11258, i32 noundef %11260)
  %11262 = icmp eq i32 %11261, -1
  br i1 %11262, label %11263, label %11316

11263:                                            ; preds = %11255
  br label %11264

11264:                                            ; preds = %11263
  br label %11265

11265:                                            ; preds = %11264
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %11266 = call ptr @__errno_location() #11
  %11267 = load i32, ptr %11266, align 4, !tbaa !5
  store i32 %11267, ptr %219, align 4, !tbaa !5
  %11268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11269 = call i32 @s2n_print_stacktrace(ptr noundef %11268)
  %11270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11271 = trunc i8 %11270 to i1
  br i1 %11271, label %11272, label %11294

11272:                                            ; preds = %11265
  %11273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11274 = call i32 @fileno(ptr noundef %11273) #10
  %11275 = call i32 @isatty(i32 noundef %11274) #10
  %11276 = icmp ne i32 %11275, 0
  br i1 %11276, label %11277, label %11294

11277:                                            ; preds = %11272
  %11278 = load i32, ptr %219, align 4, !tbaa !5
  %11279 = call ptr @__errno_location() #11
  store i32 %11278, ptr %11279, align 4, !tbaa !5
  %11280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11281 = load i32, ptr @test_count, align 4, !tbaa !5
  %11282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  %11284 = call ptr @s2n_strerror(i32 noundef %11283, ptr noundef @.str.4)
  %11285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11286 = load i32, ptr %11285, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror_debug(i32 noundef %11286, ptr noundef @.str.4)
  %11288 = call ptr @__errno_location() #11
  %11289 = load i32, ptr %11288, align 4, !tbaa !5
  %11290 = call ptr @strerror(i32 noundef %11289) #10
  %11291 = call ptr @__errno_location() #11
  %11292 = load i32, ptr %11291, align 4, !tbaa !5
  %11293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11280, ptr noundef @.str.2, i32 noundef %11281, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 411, ptr noundef %11284, ptr noundef %11287, ptr noundef %11290, i32 noundef %11292) #10
  br label %11311

11294:                                            ; preds = %11272, %11265
  %11295 = load i32, ptr %219, align 4, !tbaa !5
  %11296 = call ptr @__errno_location() #11
  store i32 %11295, ptr %11296, align 4, !tbaa !5
  %11297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11298 = load i32, ptr @test_count, align 4, !tbaa !5
  %11299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call ptr @s2n_strerror(i32 noundef %11300, ptr noundef @.str.4)
  %11302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror_debug(i32 noundef %11303, ptr noundef @.str.4)
  %11305 = call ptr @__errno_location() #11
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call ptr @strerror(i32 noundef %11306) #10
  %11308 = call ptr @__errno_location() #11
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11297, ptr noundef @.str.5, i32 noundef %11298, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 411, ptr noundef %11301, ptr noundef %11304, ptr noundef %11307, i32 noundef %11309) #10
  br label %11311

11311:                                            ; preds = %11294, %11277
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %11312

11312:                                            ; preds = %11311
  br label %11313

11313:                                            ; preds = %11312
  call void @exit(i32 noundef 1) #12
  unreachable

11314:                                            ; No predecessors!
  br label %11315

11315:                                            ; preds = %11314
  br label %11316

11316:                                            ; preds = %11315, %11255
  br label %11317

11317:                                            ; preds = %11316
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318
  %11320 = load i32, ptr @test_count, align 4, !tbaa !5
  %11321 = add nsw i32 %11320, 1
  store i32 %11321, ptr @test_count, align 4, !tbaa !5
  %11322 = load ptr, ptr %206, align 8, !tbaa !9
  %11323 = getelementptr inbounds %struct.s2n_stuffer, ptr %11322, i32 0, i32 2
  %11324 = load i32, ptr %11323, align 4, !tbaa !15
  %11325 = load ptr, ptr %206, align 8, !tbaa !9
  %11326 = getelementptr inbounds %struct.s2n_stuffer, ptr %11325, i32 0, i32 1
  %11327 = load i32, ptr %11326, align 8, !tbaa !18
  %11328 = sub i32 %11324, %11327
  %11329 = icmp eq i32 %11328, 0
  br i1 %11329, label %11383, label %11330

11330:                                            ; preds = %11319
  br label %11331

11331:                                            ; preds = %11330
  br label %11332

11332:                                            ; preds = %11331
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %11333 = call ptr @__errno_location() #11
  %11334 = load i32, ptr %11333, align 4, !tbaa !5
  store i32 %11334, ptr %220, align 4, !tbaa !5
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = call i32 @s2n_print_stacktrace(ptr noundef %11335)
  %11337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11338 = trunc i8 %11337 to i1
  br i1 %11338, label %11339, label %11361

11339:                                            ; preds = %11332
  %11340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11341 = call i32 @fileno(ptr noundef %11340) #10
  %11342 = call i32 @isatty(i32 noundef %11341) #10
  %11343 = icmp ne i32 %11342, 0
  br i1 %11343, label %11344, label %11361

11344:                                            ; preds = %11339
  %11345 = load i32, ptr %220, align 4, !tbaa !5
  %11346 = call ptr @__errno_location() #11
  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() #11
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call ptr @strerror(i32 noundef %11356) #10
  %11358 = call ptr @__errno_location() #11
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11347, ptr noundef @.str.2, i32 noundef %11348, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 411, ptr noundef %11351, ptr noundef %11354, ptr noundef %11357, i32 noundef %11359) #10
  br label %11378

11361:                                            ; preds = %11339, %11332
  %11362 = load i32, ptr %220, align 4, !tbaa !5
  %11363 = call ptr @__errno_location() #11
  store i32 %11362, ptr %11363, align 4, !tbaa !5
  %11364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11365 = load i32, ptr @test_count, align 4, !tbaa !5
  %11366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11367 = load i32, ptr %11366, align 4, !tbaa !5
  %11368 = call ptr @s2n_strerror(i32 noundef %11367, ptr noundef @.str.4)
  %11369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11370 = load i32, ptr %11369, align 4, !tbaa !5
  %11371 = call ptr @s2n_strerror_debug(i32 noundef %11370, ptr noundef @.str.4)
  %11372 = call ptr @__errno_location() #11
  %11373 = load i32, ptr %11372, align 4, !tbaa !5
  %11374 = call ptr @strerror(i32 noundef %11373) #10
  %11375 = call ptr @__errno_location() #11
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11364, ptr noundef @.str.5, i32 noundef %11365, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 411, ptr noundef %11368, ptr noundef %11371, ptr noundef %11374, i32 noundef %11376) #10
  br label %11378

11378:                                            ; preds = %11361, %11344
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %11379

11379:                                            ; preds = %11378
  br label %11380

11380:                                            ; preds = %11379
  call void @exit(i32 noundef 1) #12
  unreachable

11381:                                            ; No predecessors!
  br label %11382

11382:                                            ; preds = %11381
  br label %11383

11383:                                            ; preds = %11382, %11319
  br label %11384

11384:                                            ; preds = %11383
  br label %11385

11385:                                            ; preds = %11384
  br label %11386

11386:                                            ; preds = %11385
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387
  %11389 = load i32, ptr @test_count, align 4, !tbaa !5
  %11390 = add nsw i32 %11389, 1
  store i32 %11390, ptr @test_count, align 4, !tbaa !5
  %11391 = call i32 (...) @s2n_disable_tls13_in_test()
  %11392 = icmp eq i32 %11391, -1
  br i1 %11392, label %11393, label %11446

11393:                                            ; preds = %11388
  br label %11394

11394:                                            ; preds = %11393
  br label %11395

11395:                                            ; preds = %11394
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %11396 = call ptr @__errno_location() #11
  %11397 = load i32, ptr %11396, align 4, !tbaa !5
  store i32 %11397, ptr %221, align 4, !tbaa !5
  %11398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11399 = call i32 @s2n_print_stacktrace(ptr noundef %11398)
  %11400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11401 = trunc i8 %11400 to i1
  br i1 %11401, label %11402, label %11424

11402:                                            ; preds = %11395
  %11403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11404 = call i32 @fileno(ptr noundef %11403) #10
  %11405 = call i32 @isatty(i32 noundef %11404) #10
  %11406 = icmp ne i32 %11405, 0
  br i1 %11406, label %11407, label %11424

11407:                                            ; preds = %11402
  %11408 = load i32, ptr %221, align 4, !tbaa !5
  %11409 = call ptr @__errno_location() #11
  store i32 %11408, ptr %11409, align 4, !tbaa !5
  %11410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11411 = load i32, ptr @test_count, align 4, !tbaa !5
  %11412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11413 = load i32, ptr %11412, align 4, !tbaa !5
  %11414 = call ptr @s2n_strerror(i32 noundef %11413, ptr noundef @.str.4)
  %11415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11416 = load i32, ptr %11415, align 4, !tbaa !5
  %11417 = call ptr @s2n_strerror_debug(i32 noundef %11416, ptr noundef @.str.4)
  %11418 = call ptr @__errno_location() #11
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  %11420 = call ptr @strerror(i32 noundef %11419) #10
  %11421 = call ptr @__errno_location() #11
  %11422 = load i32, ptr %11421, align 4, !tbaa !5
  %11423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11410, ptr noundef @.str.2, i32 noundef %11411, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11414, ptr noundef %11417, ptr noundef %11420, i32 noundef %11422) #10
  br label %11441

11424:                                            ; preds = %11402, %11395
  %11425 = load i32, ptr %221, align 4, !tbaa !5
  %11426 = call ptr @__errno_location() #11
  store i32 %11425, ptr %11426, align 4, !tbaa !5
  %11427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11428 = load i32, ptr @test_count, align 4, !tbaa !5
  %11429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11430 = load i32, ptr %11429, align 4, !tbaa !5
  %11431 = call ptr @s2n_strerror(i32 noundef %11430, ptr noundef @.str.4)
  %11432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11433 = load i32, ptr %11432, align 4, !tbaa !5
  %11434 = call ptr @s2n_strerror_debug(i32 noundef %11433, ptr noundef @.str.4)
  %11435 = call ptr @__errno_location() #11
  %11436 = load i32, ptr %11435, align 4, !tbaa !5
  %11437 = call ptr @strerror(i32 noundef %11436) #10
  %11438 = call ptr @__errno_location() #11
  %11439 = load i32, ptr %11438, align 4, !tbaa !5
  %11440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11427, ptr noundef @.str.5, i32 noundef %11428, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11431, ptr noundef %11434, ptr noundef %11437, i32 noundef %11439) #10
  br label %11441

11441:                                            ; preds = %11424, %11407
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %11442

11442:                                            ; preds = %11441
  br label %11443

11443:                                            ; preds = %11442
  call void @exit(i32 noundef 1) #12
  unreachable

11444:                                            ; No predecessors!
  br label %11445

11445:                                            ; preds = %11444
  br label %11446

11446:                                            ; preds = %11445, %11388
  br label %11447

11447:                                            ; preds = %11446
  br label %11448

11448:                                            ; preds = %11447
  br label %11449

11449:                                            ; preds = %11448
  %11450 = load i32, ptr @test_count, align 4, !tbaa !5
  %11451 = add nsw i32 %11450, 1
  store i32 %11451, ptr @test_count, align 4, !tbaa !5
  %11452 = load ptr, ptr %197, align 8, !tbaa !9
  %11453 = call i32 @s2n_connection_free(ptr noundef %11452)
  %11454 = icmp eq i32 %11453, -1
  br i1 %11454, label %11455, label %11508

11455:                                            ; preds = %11449
  br label %11456

11456:                                            ; preds = %11455
  br label %11457

11457:                                            ; preds = %11456
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %11458 = call ptr @__errno_location() #11
  %11459 = load i32, ptr %11458, align 4, !tbaa !5
  store i32 %11459, ptr %222, align 4, !tbaa !5
  %11460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11461 = call i32 @s2n_print_stacktrace(ptr noundef %11460)
  %11462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11463 = trunc i8 %11462 to i1
  br i1 %11463, label %11464, label %11486

11464:                                            ; preds = %11457
  %11465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11466 = call i32 @fileno(ptr noundef %11465) #10
  %11467 = call i32 @isatty(i32 noundef %11466) #10
  %11468 = icmp ne i32 %11467, 0
  br i1 %11468, label %11469, label %11486

11469:                                            ; preds = %11464
  %11470 = load i32, ptr %222, align 4, !tbaa !5
  %11471 = call ptr @__errno_location() #11
  store i32 %11470, ptr %11471, align 4, !tbaa !5
  %11472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11473 = load i32, ptr @test_count, align 4, !tbaa !5
  %11474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11475 = load i32, ptr %11474, align 4, !tbaa !5
  %11476 = call ptr @s2n_strerror(i32 noundef %11475, ptr noundef @.str.4)
  %11477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11478 = load i32, ptr %11477, align 4, !tbaa !5
  %11479 = call ptr @s2n_strerror_debug(i32 noundef %11478, ptr noundef @.str.4)
  %11480 = call ptr @__errno_location() #11
  %11481 = load i32, ptr %11480, align 4, !tbaa !5
  %11482 = call ptr @strerror(i32 noundef %11481) #10
  %11483 = call ptr @__errno_location() #11
  %11484 = load i32, ptr %11483, align 4, !tbaa !5
  %11485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11472, ptr noundef @.str.2, i32 noundef %11473, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11476, ptr noundef %11479, ptr noundef %11482, i32 noundef %11484) #10
  br label %11503

11486:                                            ; preds = %11464, %11457
  %11487 = load i32, ptr %222, align 4, !tbaa !5
  %11488 = call ptr @__errno_location() #11
  store i32 %11487, ptr %11488, align 4, !tbaa !5
  %11489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11490 = load i32, ptr @test_count, align 4, !tbaa !5
  %11491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11492 = load i32, ptr %11491, align 4, !tbaa !5
  %11493 = call ptr @s2n_strerror(i32 noundef %11492, ptr noundef @.str.4)
  %11494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11495 = load i32, ptr %11494, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror_debug(i32 noundef %11495, ptr noundef @.str.4)
  %11497 = call ptr @__errno_location() #11
  %11498 = load i32, ptr %11497, align 4, !tbaa !5
  %11499 = call ptr @strerror(i32 noundef %11498) #10
  %11500 = call ptr @__errno_location() #11
  %11501 = load i32, ptr %11500, align 4, !tbaa !5
  %11502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11489, ptr noundef @.str.5, i32 noundef %11490, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11493, ptr noundef %11496, ptr noundef %11499, i32 noundef %11501) #10
  br label %11503

11503:                                            ; preds = %11486, %11469
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %11504

11504:                                            ; preds = %11503
  br label %11505

11505:                                            ; preds = %11504
  call void @exit(i32 noundef 1) #12
  unreachable

11506:                                            ; No predecessors!
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

11508:                                            ; preds = %11507, %11449
  br label %11509

11509:                                            ; preds = %11508
  br label %11510

11510:                                            ; preds = %11509
  call void @llvm.lifetime.end.p0(i64 1, ptr %218) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #10
  %11511 = load ptr, ptr getelementptr inbounds (%struct.s2n_cipher_preferences, ptr @cipher_preferences_20170210, i32 0, i32 1), align 8, !tbaa !57
  %11512 = load i16, ptr @cipher_preferences_20170210, align 8, !tbaa !59
  %11513 = zext i16 %11512 to i32
  %11514 = sub nsw i32 %11513, 1
  %11515 = sext i32 %11514 to i64
  %11516 = getelementptr inbounds ptr, ptr %11511, i64 %11515
  %11517 = load ptr, ptr %11516, align 8, !tbaa !9
  store ptr %11517, ptr %223, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #10
  store i8 19, ptr %224, align 1, !tbaa !19
  %11518 = getelementptr inbounds i8, ptr %224, i64 1
  store i8 1, ptr %11518, align 1, !tbaa !19
  %11519 = getelementptr inbounds i8, ptr %224, i64 2
  store i8 19, ptr %11519, align 1, !tbaa !19
  %11520 = getelementptr inbounds i8, ptr %224, i64 3
  store i8 2, ptr %11520, align 1, !tbaa !19
  %11521 = getelementptr inbounds i8, ptr %224, i64 4
  store i8 19, ptr %11521, align 1, !tbaa !19
  %11522 = getelementptr inbounds i8, ptr %224, i64 5
  store i8 3, ptr %11522, align 1, !tbaa !19
  %11523 = getelementptr inbounds i8, ptr %224, i64 6
  %11524 = load ptr, ptr %223, align 8, !tbaa !9
  %11525 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %11524, i32 0, i32 3
  %11526 = getelementptr inbounds [2 x i8], ptr %11525, i64 0, i64 0
  %11527 = load i8, ptr %11526, align 8, !tbaa !19
  store i8 %11527, ptr %11523, align 1, !tbaa !19
  %11528 = getelementptr inbounds i8, ptr %224, i64 7
  %11529 = load ptr, ptr %223, align 8, !tbaa !9
  %11530 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %11529, i32 0, i32 3
  %11531 = getelementptr inbounds [2 x i8], ptr %11530, i64 0, i64 1
  %11532 = load i8, ptr %11531, align 1, !tbaa !19
  store i8 %11532, ptr %11528, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 1, ptr %225) #10
  store i8 4, ptr %225, align 1, !tbaa !19
  br label %11533

11533:                                            ; preds = %11510
  %11534 = load i32, ptr @test_count, align 4, !tbaa !5
  %11535 = add nsw i32 %11534, 1
  store i32 %11535, ptr @test_count, align 4, !tbaa !5
  %11536 = call i32 (...) @s2n_enable_tls13_in_test()
  %11537 = icmp eq i32 %11536, -1
  br i1 %11537, label %11538, label %11591

11538:                                            ; preds = %11533
  br label %11539

11539:                                            ; preds = %11538
  br label %11540

11540:                                            ; preds = %11539
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %11541 = call ptr @__errno_location() #11
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  store i32 %11542, ptr %226, align 4, !tbaa !5
  %11543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11544 = call i32 @s2n_print_stacktrace(ptr noundef %11543)
  %11545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11546 = trunc i8 %11545 to i1
  br i1 %11546, label %11547, label %11569

11547:                                            ; preds = %11540
  %11548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11549 = call i32 @fileno(ptr noundef %11548) #10
  %11550 = call i32 @isatty(i32 noundef %11549) #10
  %11551 = icmp ne i32 %11550, 0
  br i1 %11551, label %11552, label %11569

11552:                                            ; preds = %11547
  %11553 = load i32, ptr %226, align 4, !tbaa !5
  %11554 = call ptr @__errno_location() #11
  store i32 %11553, ptr %11554, align 4, !tbaa !5
  %11555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11556 = load i32, ptr @test_count, align 4, !tbaa !5
  %11557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11558 = load i32, ptr %11557, align 4, !tbaa !5
  %11559 = call ptr @s2n_strerror(i32 noundef %11558, ptr noundef @.str.4)
  %11560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11561 = load i32, ptr %11560, align 4, !tbaa !5
  %11562 = call ptr @s2n_strerror_debug(i32 noundef %11561, ptr noundef @.str.4)
  %11563 = call ptr @__errno_location() #11
  %11564 = load i32, ptr %11563, align 4, !tbaa !5
  %11565 = call ptr @strerror(i32 noundef %11564) #10
  %11566 = call ptr @__errno_location() #11
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11555, ptr noundef @.str.2, i32 noundef %11556, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11559, ptr noundef %11562, ptr noundef %11565, i32 noundef %11567) #10
  br label %11586

11569:                                            ; preds = %11547, %11540
  %11570 = load i32, ptr %226, align 4, !tbaa !5
  %11571 = call ptr @__errno_location() #11
  store i32 %11570, ptr %11571, align 4, !tbaa !5
  %11572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11573 = load i32, ptr @test_count, align 4, !tbaa !5
  %11574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11575 = load i32, ptr %11574, align 4, !tbaa !5
  %11576 = call ptr @s2n_strerror(i32 noundef %11575, ptr noundef @.str.4)
  %11577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11578 = load i32, ptr %11577, align 4, !tbaa !5
  %11579 = call ptr @s2n_strerror_debug(i32 noundef %11578, ptr noundef @.str.4)
  %11580 = call ptr @__errno_location() #11
  %11581 = load i32, ptr %11580, align 4, !tbaa !5
  %11582 = call ptr @strerror(i32 noundef %11581) #10
  %11583 = call ptr @__errno_location() #11
  %11584 = load i32, ptr %11583, align 4, !tbaa !5
  %11585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11572, ptr noundef @.str.5, i32 noundef %11573, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11576, ptr noundef %11579, ptr noundef %11582, i32 noundef %11584) #10
  br label %11586

11586:                                            ; preds = %11569, %11552
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %11587

11587:                                            ; preds = %11586
  br label %11588

11588:                                            ; preds = %11587
  call void @exit(i32 noundef 1) #12
  unreachable

11589:                                            ; No predecessors!
  br label %11590

11590:                                            ; preds = %11589
  br label %11591

11591:                                            ; preds = %11590, %11533
  br label %11592

11592:                                            ; preds = %11591
  br label %11593

11593:                                            ; preds = %11592
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #10
  store ptr null, ptr %227, align 8, !tbaa !9
  br label %11594

11594:                                            ; preds = %11593
  %11595 = load i32, ptr @test_count, align 4, !tbaa !5
  %11596 = add nsw i32 %11595, 1
  store i32 %11596, ptr @test_count, align 4, !tbaa !5
  %11597 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11597, ptr %227, align 8, !tbaa !9
  %11598 = icmp eq ptr %11597, null
  br i1 %11598, label %11599, label %11652

11599:                                            ; preds = %11594
  br label %11600

11600:                                            ; preds = %11599
  br label %11601

11601:                                            ; preds = %11600
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %11602 = call ptr @__errno_location() #11
  %11603 = load i32, ptr %11602, align 4, !tbaa !5
  store i32 %11603, ptr %228, align 4, !tbaa !5
  %11604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11605 = call i32 @s2n_print_stacktrace(ptr noundef %11604)
  %11606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11607 = trunc i8 %11606 to i1
  br i1 %11607, label %11608, label %11630

11608:                                            ; preds = %11601
  %11609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11610 = call i32 @fileno(ptr noundef %11609) #10
  %11611 = call i32 @isatty(i32 noundef %11610) #10
  %11612 = icmp ne i32 %11611, 0
  br i1 %11612, label %11613, label %11630

11613:                                            ; preds = %11608
  %11614 = load i32, ptr %228, align 4, !tbaa !5
  %11615 = call ptr @__errno_location() #11
  store i32 %11614, ptr %11615, align 4, !tbaa !5
  %11616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11617 = load i32, ptr @test_count, align 4, !tbaa !5
  %11618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11619 = load i32, ptr %11618, align 4, !tbaa !5
  %11620 = call ptr @s2n_strerror(i32 noundef %11619, ptr noundef @.str.4)
  %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_debug(i32 noundef %11622, ptr noundef @.str.4)
  %11624 = call ptr @__errno_location() #11
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  %11626 = call ptr @strerror(i32 noundef %11625) #10
  %11627 = call ptr @__errno_location() #11
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11616, ptr noundef @.str.2, i32 noundef %11617, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 429, ptr noundef %11620, ptr noundef %11623, ptr noundef %11626, i32 noundef %11628) #10
  br label %11647

11630:                                            ; preds = %11608, %11601
  %11631 = load i32, ptr %228, align 4, !tbaa !5
  %11632 = call ptr @__errno_location() #11
  store i32 %11631, ptr %11632, align 4, !tbaa !5
  %11633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11634 = load i32, ptr @test_count, align 4, !tbaa !5
  %11635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11636 = load i32, ptr %11635, align 4, !tbaa !5
  %11637 = call ptr @s2n_strerror(i32 noundef %11636, ptr noundef @.str.4)
  %11638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  %11640 = call ptr @s2n_strerror_debug(i32 noundef %11639, ptr noundef @.str.4)
  %11641 = call ptr @__errno_location() #11
  %11642 = load i32, ptr %11641, align 4, !tbaa !5
  %11643 = call ptr @strerror(i32 noundef %11642) #10
  %11644 = call ptr @__errno_location() #11
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11633, ptr noundef @.str.5, i32 noundef %11634, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 429, ptr noundef %11637, ptr noundef %11640, ptr noundef %11643, i32 noundef %11645) #10
  br label %11647

11647:                                            ; preds = %11630, %11613
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %11648

11648:                                            ; preds = %11647
  br label %11649

11649:                                            ; preds = %11648
  call void @exit(i32 noundef 1) #12
  unreachable

11650:                                            ; No predecessors!
  br label %11651

11651:                                            ; preds = %11650
  br label %11652

11652:                                            ; preds = %11651, %11594
  br label %11653

11653:                                            ; preds = %11652
  br label %11654

11654:                                            ; preds = %11653
  br label %11655

11655:                                            ; preds = %11654
  %11656 = load i32, ptr @test_count, align 4, !tbaa !5
  %11657 = add nsw i32 %11656, 1
  store i32 %11657, ptr @test_count, align 4, !tbaa !5
  %11658 = load ptr, ptr %227, align 8, !tbaa !9
  %11659 = load ptr, ptr %12, align 8, !tbaa !9
  %11660 = call i32 @s2n_connection_set_config(ptr noundef %11658, ptr noundef %11659)
  %11661 = icmp eq i32 %11660, -1
  br i1 %11661, label %11662, label %11715

11662:                                            ; preds = %11655
  br label %11663

11663:                                            ; preds = %11662
  br label %11664

11664:                                            ; preds = %11663
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %11665 = call ptr @__errno_location() #11
  %11666 = load i32, ptr %11665, align 4, !tbaa !5
  store i32 %11666, ptr %229, align 4, !tbaa !5
  %11667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11668 = call i32 @s2n_print_stacktrace(ptr noundef %11667)
  %11669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11670 = trunc i8 %11669 to i1
  br i1 %11670, label %11671, label %11693

11671:                                            ; preds = %11664
  %11672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11673 = call i32 @fileno(ptr noundef %11672) #10
  %11674 = call i32 @isatty(i32 noundef %11673) #10
  %11675 = icmp ne i32 %11674, 0
  br i1 %11675, label %11676, label %11693

11676:                                            ; preds = %11671
  %11677 = load i32, ptr %229, align 4, !tbaa !5
  %11678 = call ptr @__errno_location() #11
  store i32 %11677, ptr %11678, align 4, !tbaa !5
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = load i32, ptr @test_count, align 4, !tbaa !5
  %11681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11682 = load i32, ptr %11681, align 4, !tbaa !5
  %11683 = call ptr @s2n_strerror(i32 noundef %11682, ptr noundef @.str.4)
  %11684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11685 = load i32, ptr %11684, align 4, !tbaa !5
  %11686 = call ptr @s2n_strerror_debug(i32 noundef %11685, ptr noundef @.str.4)
  %11687 = call ptr @__errno_location() #11
  %11688 = load i32, ptr %11687, align 4, !tbaa !5
  %11689 = call ptr @strerror(i32 noundef %11688) #10
  %11690 = call ptr @__errno_location() #11
  %11691 = load i32, ptr %11690, align 4, !tbaa !5
  %11692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11679, ptr noundef @.str.2, i32 noundef %11680, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 430, ptr noundef %11683, ptr noundef %11686, ptr noundef %11689, i32 noundef %11691) #10
  br label %11710

11693:                                            ; preds = %11671, %11664
  %11694 = load i32, ptr %229, align 4, !tbaa !5
  %11695 = call ptr @__errno_location() #11
  store i32 %11694, ptr %11695, align 4, !tbaa !5
  %11696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11697 = load i32, ptr @test_count, align 4, !tbaa !5
  %11698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11699 = load i32, ptr %11698, align 4, !tbaa !5
  %11700 = call ptr @s2n_strerror(i32 noundef %11699, ptr noundef @.str.4)
  %11701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11702 = load i32, ptr %11701, align 4, !tbaa !5
  %11703 = call ptr @s2n_strerror_debug(i32 noundef %11702, ptr noundef @.str.4)
  %11704 = call ptr @__errno_location() #11
  %11705 = load i32, ptr %11704, align 4, !tbaa !5
  %11706 = call ptr @strerror(i32 noundef %11705) #10
  %11707 = call ptr @__errno_location() #11
  %11708 = load i32, ptr %11707, align 4, !tbaa !5
  %11709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11696, ptr noundef @.str.5, i32 noundef %11697, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 430, ptr noundef %11700, ptr noundef %11703, ptr noundef %11706, i32 noundef %11708) #10
  br label %11710

11710:                                            ; preds = %11693, %11676
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  br label %11711

11711:                                            ; preds = %11710
  br label %11712

11712:                                            ; preds = %11711
  call void @exit(i32 noundef 1) #12
  unreachable

11713:                                            ; No predecessors!
  br label %11714

11714:                                            ; preds = %11713
  br label %11715

11715:                                            ; preds = %11714, %11655
  br label %11716

11716:                                            ; preds = %11715
  br label %11717

11717:                                            ; preds = %11716
  br label %11718

11718:                                            ; preds = %11717
  %11719 = load i32, ptr @test_count, align 4, !tbaa !5
  %11720 = add nsw i32 %11719, 1
  store i32 %11720, ptr @test_count, align 4, !tbaa !5
  %11721 = load ptr, ptr %227, align 8, !tbaa !9
  %11722 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %11723 = call i32 @s2n_connection_allow_response_extension(ptr noundef %11721, i16 noundef zeroext %11722)
  %11724 = icmp eq i32 %11723, -1
  br i1 %11724, label %11725, label %11778

11725:                                            ; preds = %11718
  br label %11726

11726:                                            ; preds = %11725
  br label %11727

11727:                                            ; preds = %11726
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %11728 = call ptr @__errno_location() #11
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  store i32 %11729, ptr %230, align 4, !tbaa !5
  %11730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11731 = call i32 @s2n_print_stacktrace(ptr noundef %11730)
  %11732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11733 = trunc i8 %11732 to i1
  br i1 %11733, label %11734, label %11756

11734:                                            ; preds = %11727
  %11735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11736 = call i32 @fileno(ptr noundef %11735) #10
  %11737 = call i32 @isatty(i32 noundef %11736) #10
  %11738 = icmp ne i32 %11737, 0
  br i1 %11738, label %11739, label %11756

11739:                                            ; preds = %11734
  %11740 = load i32, ptr %230, align 4, !tbaa !5
  %11741 = call ptr @__errno_location() #11
  store i32 %11740, ptr %11741, align 4, !tbaa !5
  %11742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11743 = load i32, ptr @test_count, align 4, !tbaa !5
  %11744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11745 = load i32, ptr %11744, align 4, !tbaa !5
  %11746 = call ptr @s2n_strerror(i32 noundef %11745, ptr noundef @.str.4)
  %11747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11748 = load i32, ptr %11747, align 4, !tbaa !5
  %11749 = call ptr @s2n_strerror_debug(i32 noundef %11748, ptr noundef @.str.4)
  %11750 = call ptr @__errno_location() #11
  %11751 = load i32, ptr %11750, align 4, !tbaa !5
  %11752 = call ptr @strerror(i32 noundef %11751) #10
  %11753 = call ptr @__errno_location() #11
  %11754 = load i32, ptr %11753, align 4, !tbaa !5
  %11755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11742, ptr noundef @.str.2, i32 noundef %11743, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11746, ptr noundef %11749, ptr noundef %11752, i32 noundef %11754) #10
  br label %11773

11756:                                            ; preds = %11734, %11727
  %11757 = load i32, ptr %230, align 4, !tbaa !5
  %11758 = call ptr @__errno_location() #11
  store i32 %11757, ptr %11758, align 4, !tbaa !5
  %11759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11760 = load i32, ptr @test_count, align 4, !tbaa !5
  %11761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11762 = load i32, ptr %11761, align 4, !tbaa !5
  %11763 = call ptr @s2n_strerror(i32 noundef %11762, ptr noundef @.str.4)
  %11764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11765 = load i32, ptr %11764, align 4, !tbaa !5
  %11766 = call ptr @s2n_strerror_debug(i32 noundef %11765, ptr noundef @.str.4)
  %11767 = call ptr @__errno_location() #11
  %11768 = load i32, ptr %11767, align 4, !tbaa !5
  %11769 = call ptr @strerror(i32 noundef %11768) #10
  %11770 = call ptr @__errno_location() #11
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  %11772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11759, ptr noundef @.str.5, i32 noundef %11760, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11763, ptr noundef %11766, ptr noundef %11769, i32 noundef %11771) #10
  br label %11773

11773:                                            ; preds = %11756, %11739
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %11774

11774:                                            ; preds = %11773
  br label %11775

11775:                                            ; preds = %11774
  call void @exit(i32 noundef 1) #12
  unreachable

11776:                                            ; No predecessors!
  br label %11777

11777:                                            ; preds = %11776
  br label %11778

11778:                                            ; preds = %11777, %11718
  br label %11779

11779:                                            ; preds = %11778
  br label %11780

11780:                                            ; preds = %11779
  br label %11781

11781:                                            ; preds = %11780
  %11782 = load i32, ptr @test_count, align 4, !tbaa !5
  %11783 = add nsw i32 %11782, 1
  store i32 %11783, ptr @test_count, align 4, !tbaa !5
  %11784 = load ptr, ptr %227, align 8, !tbaa !9
  %11785 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %11784, ptr noundef @.str.51)
  %11786 = icmp eq i32 %11785, -1
  br i1 %11786, label %11787, label %11840

11787:                                            ; preds = %11781
  br label %11788

11788:                                            ; preds = %11787
  br label %11789

11789:                                            ; preds = %11788
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  %11790 = call ptr @__errno_location() #11
  %11791 = load i32, ptr %11790, align 4, !tbaa !5
  store i32 %11791, ptr %231, align 4, !tbaa !5
  %11792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11793 = call i32 @s2n_print_stacktrace(ptr noundef %11792)
  %11794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11795 = trunc i8 %11794 to i1
  br i1 %11795, label %11796, label %11818

11796:                                            ; preds = %11789
  %11797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11798 = call i32 @fileno(ptr noundef %11797) #10
  %11799 = call i32 @isatty(i32 noundef %11798) #10
  %11800 = icmp ne i32 %11799, 0
  br i1 %11800, label %11801, label %11818

11801:                                            ; preds = %11796
  %11802 = load i32, ptr %231, align 4, !tbaa !5
  %11803 = call ptr @__errno_location() #11
  store i32 %11802, ptr %11803, align 4, !tbaa !5
  %11804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11805 = load i32, ptr @test_count, align 4, !tbaa !5
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror(i32 noundef %11807, ptr noundef @.str.4)
  %11809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @s2n_strerror_debug(i32 noundef %11810, ptr noundef @.str.4)
  %11812 = call ptr @__errno_location() #11
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call ptr @strerror(i32 noundef %11813) #10
  %11815 = call ptr @__errno_location() #11
  %11816 = load i32, ptr %11815, align 4, !tbaa !5
  %11817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11804, ptr noundef @.str.2, i32 noundef %11805, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 434, ptr noundef %11808, ptr noundef %11811, ptr noundef %11814, i32 noundef %11816) #10
  br label %11835

11818:                                            ; preds = %11796, %11789
  %11819 = load i32, ptr %231, align 4, !tbaa !5
  %11820 = call ptr @__errno_location() #11
  store i32 %11819, ptr %11820, align 4, !tbaa !5
  %11821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11822 = load i32, ptr @test_count, align 4, !tbaa !5
  %11823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11824 = load i32, ptr %11823, align 4, !tbaa !5
  %11825 = call ptr @s2n_strerror(i32 noundef %11824, ptr noundef @.str.4)
  %11826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11827 = load i32, ptr %11826, align 4, !tbaa !5
  %11828 = call ptr @s2n_strerror_debug(i32 noundef %11827, ptr noundef @.str.4)
  %11829 = call ptr @__errno_location() #11
  %11830 = load i32, ptr %11829, align 4, !tbaa !5
  %11831 = call ptr @strerror(i32 noundef %11830) #10
  %11832 = call ptr @__errno_location() #11
  %11833 = load i32, ptr %11832, align 4, !tbaa !5
  %11834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11821, ptr noundef @.str.5, i32 noundef %11822, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 434, ptr noundef %11825, ptr noundef %11828, ptr noundef %11831, i32 noundef %11833) #10
  br label %11835

11835:                                            ; preds = %11818, %11801
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  br label %11836

11836:                                            ; preds = %11835
  br label %11837

11837:                                            ; preds = %11836
  call void @exit(i32 noundef 1) #12
  unreachable

11838:                                            ; No predecessors!
  br label %11839

11839:                                            ; preds = %11838
  br label %11840

11840:                                            ; preds = %11839, %11781
  br label %11841

11841:                                            ; preds = %11840
  br label %11842

11842:                                            ; preds = %11841
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #10
  store ptr null, ptr %232, align 8, !tbaa !9
  br label %11843

11843:                                            ; preds = %11842
  %11844 = load i32, ptr @test_count, align 4, !tbaa !5
  %11845 = add nsw i32 %11844, 1
  store i32 %11845, ptr @test_count, align 4, !tbaa !5
  %11846 = load ptr, ptr %227, align 8, !tbaa !9
  %11847 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef %11846, ptr noundef %232)
  %11848 = icmp eq i32 %11847, -1
  br i1 %11848, label %11849, label %11902

11849:                                            ; preds = %11843
  br label %11850

11850:                                            ; preds = %11849
  br label %11851

11851:                                            ; preds = %11850
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %11852 = call ptr @__errno_location() #11
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  store i32 %11853, ptr %233, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = call i32 @s2n_print_stacktrace(ptr noundef %11854)
  %11856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11857 = trunc i8 %11856 to i1
  br i1 %11857, label %11858, label %11880

11858:                                            ; preds = %11851
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @fileno(ptr noundef %11859) #10
  %11861 = call i32 @isatty(i32 noundef %11860) #10
  %11862 = icmp ne i32 %11861, 0
  br i1 %11862, label %11863, label %11880

11863:                                            ; preds = %11858
  %11864 = load i32, ptr %233, align 4, !tbaa !5
  %11865 = call ptr @__errno_location() #11
  store i32 %11864, ptr %11865, align 4, !tbaa !5
  %11866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11869 = load i32, ptr %11868, align 4, !tbaa !5
  %11870 = call ptr @s2n_strerror(i32 noundef %11869, ptr noundef @.str.4)
  %11871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  %11873 = call ptr @s2n_strerror_debug(i32 noundef %11872, ptr noundef @.str.4)
  %11874 = call ptr @__errno_location() #11
  %11875 = load i32, ptr %11874, align 4, !tbaa !5
  %11876 = call ptr @strerror(i32 noundef %11875) #10
  %11877 = call ptr @__errno_location() #11
  %11878 = load i32, ptr %11877, align 4, !tbaa !5
  %11879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11866, ptr noundef @.str.2, i32 noundef %11867, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 437, ptr noundef %11870, ptr noundef %11873, ptr noundef %11876, i32 noundef %11878) #10
  br label %11897

11880:                                            ; preds = %11858, %11851
  %11881 = load i32, ptr %233, align 4, !tbaa !5
  %11882 = call ptr @__errno_location() #11
  store i32 %11881, ptr %11882, align 4, !tbaa !5
  %11883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11884 = load i32, ptr @test_count, align 4, !tbaa !5
  %11885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11886 = load i32, ptr %11885, align 4, !tbaa !5
  %11887 = call ptr @s2n_strerror(i32 noundef %11886, ptr noundef @.str.4)
  %11888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11889 = load i32, ptr %11888, align 4, !tbaa !5
  %11890 = call ptr @s2n_strerror_debug(i32 noundef %11889, ptr noundef @.str.4)
  %11891 = call ptr @__errno_location() #11
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call ptr @strerror(i32 noundef %11892) #10
  %11894 = call ptr @__errno_location() #11
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  %11896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11883, ptr noundef @.str.5, i32 noundef %11884, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 437, ptr noundef %11887, ptr noundef %11890, ptr noundef %11893, i32 noundef %11895) #10
  br label %11897

11897:                                            ; preds = %11880, %11863
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  br label %11898

11898:                                            ; preds = %11897
  br label %11899

11899:                                            ; preds = %11898
  call void @exit(i32 noundef 1) #12
  unreachable

11900:                                            ; No predecessors!
  br label %11901

11901:                                            ; preds = %11900
  br label %11902

11902:                                            ; preds = %11901, %11843
  br label %11903

11903:                                            ; preds = %11902
  br label %11904

11904:                                            ; preds = %11903
  br label %11905

11905:                                            ; preds = %11904
  %11906 = load i32, ptr @test_count, align 4, !tbaa !5
  %11907 = add nsw i32 %11906, 1
  store i32 %11907, ptr @test_count, align 4, !tbaa !5
  %11908 = load ptr, ptr %232, align 8, !tbaa !9
  %11909 = icmp eq ptr %11908, null
  br i1 %11909, label %11910, label %11963

11910:                                            ; preds = %11905
  br label %11911

11911:                                            ; preds = %11910
  br label %11912

11912:                                            ; preds = %11911
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %11913 = call ptr @__errno_location() #11
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  store i32 %11914, ptr %234, align 4, !tbaa !5
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = call i32 @s2n_print_stacktrace(ptr noundef %11915)
  %11917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11918 = trunc i8 %11917 to i1
  br i1 %11918, label %11919, label %11941

11919:                                            ; preds = %11912
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = call i32 @fileno(ptr noundef %11920) #10
  %11922 = call i32 @isatty(i32 noundef %11921) #10
  %11923 = icmp ne i32 %11922, 0
  br i1 %11923, label %11924, label %11941

11924:                                            ; preds = %11919
  %11925 = load i32, ptr %234, align 4, !tbaa !5
  %11926 = call ptr @__errno_location() #11
  store i32 %11925, ptr %11926, align 4, !tbaa !5
  %11927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11928 = load i32, ptr @test_count, align 4, !tbaa !5
  %11929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11930 = load i32, ptr %11929, align 4, !tbaa !5
  %11931 = call ptr @s2n_strerror(i32 noundef %11930, ptr noundef @.str.4)
  %11932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11933 = load i32, ptr %11932, align 4, !tbaa !5
  %11934 = call ptr @s2n_strerror_debug(i32 noundef %11933, ptr noundef @.str.4)
  %11935 = call ptr @__errno_location() #11
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  %11937 = call ptr @strerror(i32 noundef %11936) #10
  %11938 = call ptr @__errno_location() #11
  %11939 = load i32, ptr %11938, align 4, !tbaa !5
  %11940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11927, ptr noundef @.str.2, i32 noundef %11928, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 438, ptr noundef %11931, ptr noundef %11934, ptr noundef %11937, i32 noundef %11939) #10
  br label %11958

11941:                                            ; preds = %11919, %11912
  %11942 = load i32, ptr %234, align 4, !tbaa !5
  %11943 = call ptr @__errno_location() #11
  store i32 %11942, ptr %11943, align 4, !tbaa !5
  %11944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11945 = load i32, ptr @test_count, align 4, !tbaa !5
  %11946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11947 = load i32, ptr %11946, align 4, !tbaa !5
  %11948 = call ptr @s2n_strerror(i32 noundef %11947, ptr noundef @.str.4)
  %11949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11950 = load i32, ptr %11949, align 4, !tbaa !5
  %11951 = call ptr @s2n_strerror_debug(i32 noundef %11950, ptr noundef @.str.4)
  %11952 = call ptr @__errno_location() #11
  %11953 = load i32, ptr %11952, align 4, !tbaa !5
  %11954 = call ptr @strerror(i32 noundef %11953) #10
  %11955 = call ptr @__errno_location() #11
  %11956 = load i32, ptr %11955, align 4, !tbaa !5
  %11957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11944, ptr noundef @.str.5, i32 noundef %11945, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 438, ptr noundef %11948, ptr noundef %11951, ptr noundef %11954, i32 noundef %11956) #10
  br label %11958

11958:                                            ; preds = %11941, %11924
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %11959

11959:                                            ; preds = %11958
  br label %11960

11960:                                            ; preds = %11959
  call void @exit(i32 noundef 1) #12
  unreachable

11961:                                            ; No predecessors!
  br label %11962

11962:                                            ; preds = %11961
  br label %11963

11963:                                            ; preds = %11962, %11905
  br label %11964

11964:                                            ; preds = %11963
  br label %11965

11965:                                            ; preds = %11964
  call void @llvm.lifetime.start.p0(i64 8, ptr %235) #10
  %11966 = load ptr, ptr %227, align 8, !tbaa !9
  %11967 = getelementptr inbounds %struct.s2n_connection, ptr %11966, i32 0, i32 52
  %11968 = getelementptr inbounds %struct.s2n_handshake, ptr %11967, i32 0, i32 0
  store ptr %11968, ptr %235, align 8, !tbaa !9
  %11969 = load ptr, ptr %232, align 8, !tbaa !9
  %11970 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %11969, i32 0, i32 1
  %11971 = load ptr, ptr %11970, align 8, !tbaa !52
  %11972 = getelementptr inbounds ptr, ptr %11971, i64 0
  %11973 = load ptr, ptr %11972, align 8, !tbaa !9
  %11974 = load ptr, ptr %227, align 8, !tbaa !9
  %11975 = getelementptr inbounds %struct.s2n_connection, ptr %11974, i32 0, i32 31
  %11976 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %11975, i32 0, i32 1
  %11977 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %11976, i32 0, i32 0
  store ptr %11973, ptr %11977, align 8, !tbaa !54
  %11978 = load ptr, ptr %227, align 8, !tbaa !9
  %11979 = getelementptr inbounds %struct.s2n_connection, ptr %11978, i32 0, i32 21
  store i8 34, ptr %11979, align 2, !tbaa !60
  %11980 = load ptr, ptr %227, align 8, !tbaa !9
  %11981 = getelementptr inbounds %struct.s2n_connection, ptr %11980, i32 0, i32 23
  store i8 34, ptr %11981, align 4, !tbaa !55
  br label %11982

11982:                                            ; preds = %11965
  %11983 = load i32, ptr @test_count, align 4, !tbaa !5
  %11984 = add nsw i32 %11983, 1
  store i32 %11984, ptr @test_count, align 4, !tbaa !5
  %11985 = load ptr, ptr %227, align 8, !tbaa !9
  %11986 = getelementptr inbounds [8 x i8], ptr %224, i64 0, i64 0
  %11987 = call i32 @s2n_set_cipher_as_tls_server(ptr noundef %11985, ptr noundef %11986, i16 noundef zeroext 4)
  %11988 = icmp eq i32 %11987, -1
  br i1 %11988, label %11989, label %12042

11989:                                            ; preds = %11982
  br label %11990

11990:                                            ; preds = %11989
  br label %11991

11991:                                            ; preds = %11990
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %11992 = call ptr @__errno_location() #11
  %11993 = load i32, ptr %11992, align 4, !tbaa !5
  store i32 %11993, ptr %236, align 4, !tbaa !5
  %11994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11995 = call i32 @s2n_print_stacktrace(ptr noundef %11994)
  %11996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11997 = trunc i8 %11996 to i1
  br i1 %11997, label %11998, label %12020

11998:                                            ; preds = %11991
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = call i32 @fileno(ptr noundef %11999) #10
  %12001 = call i32 @isatty(i32 noundef %12000) #10
  %12002 = icmp ne i32 %12001, 0
  br i1 %12002, label %12003, label %12020

12003:                                            ; preds = %11998
  %12004 = load i32, ptr %236, align 4, !tbaa !5
  %12005 = call ptr @__errno_location() #11
  store i32 %12004, ptr %12005, align 4, !tbaa !5
  %12006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12007 = load i32, ptr @test_count, align 4, !tbaa !5
  %12008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12009 = load i32, ptr %12008, align 4, !tbaa !5
  %12010 = call ptr @s2n_strerror(i32 noundef %12009, ptr noundef @.str.4)
  %12011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12012 = load i32, ptr %12011, align 4, !tbaa !5
  %12013 = call ptr @s2n_strerror_debug(i32 noundef %12012, ptr noundef @.str.4)
  %12014 = call ptr @__errno_location() #11
  %12015 = load i32, ptr %12014, align 4, !tbaa !5
  %12016 = call ptr @strerror(i32 noundef %12015) #10
  %12017 = call ptr @__errno_location() #11
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12006, ptr noundef @.str.2, i32 noundef %12007, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12010, ptr noundef %12013, ptr noundef %12016, i32 noundef %12018) #10
  br label %12037

12020:                                            ; preds = %11998, %11991
  %12021 = load i32, ptr %236, align 4, !tbaa !5
  %12022 = call ptr @__errno_location() #11
  store i32 %12021, ptr %12022, align 4, !tbaa !5
  %12023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12026 = load i32, ptr %12025, align 4, !tbaa !5
  %12027 = call ptr @s2n_strerror(i32 noundef %12026, ptr noundef @.str.4)
  %12028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12029 = load i32, ptr %12028, align 4, !tbaa !5
  %12030 = call ptr @s2n_strerror_debug(i32 noundef %12029, ptr noundef @.str.4)
  %12031 = call ptr @__errno_location() #11
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  %12033 = call ptr @strerror(i32 noundef %12032) #10
  %12034 = call ptr @__errno_location() #11
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12023, ptr noundef @.str.5, i32 noundef %12024, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12027, ptr noundef %12030, ptr noundef %12033, i32 noundef %12035) #10
  br label %12037

12037:                                            ; preds = %12020, %12003
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %12038

12038:                                            ; preds = %12037
  br label %12039

12039:                                            ; preds = %12038
  call void @exit(i32 noundef 1) #12
  unreachable

12040:                                            ; No predecessors!
  br label %12041

12041:                                            ; preds = %12040
  br label %12042

12042:                                            ; preds = %12041, %11982
  br label %12043

12043:                                            ; preds = %12042
  br label %12044

12044:                                            ; preds = %12043
  %12045 = load ptr, ptr %232, align 8, !tbaa !9
  %12046 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %12045, i32 0, i32 1
  %12047 = load ptr, ptr %12046, align 8, !tbaa !52
  %12048 = getelementptr inbounds ptr, ptr %12047, i64 0
  %12049 = load ptr, ptr %12048, align 8, !tbaa !9
  %12050 = load ptr, ptr %227, align 8, !tbaa !9
  %12051 = getelementptr inbounds %struct.s2n_connection, ptr %12050, i32 0, i32 31
  %12052 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %12051, i32 0, i32 3
  %12053 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %12052, i32 0, i32 0
  store ptr %12049, ptr %12053, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 1, ptr %237) #10
  %12054 = load ptr, ptr %227, align 8, !tbaa !9
  %12055 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef %12054)
  %12056 = trunc i32 %12055 to i8
  store i8 %12056, ptr %237, align 1, !tbaa !19
  br label %12057

12057:                                            ; preds = %12044
  br label %12058

12058:                                            ; preds = %12057
  %12059 = load i32, ptr @test_count, align 4, !tbaa !5
  %12060 = add nsw i32 %12059, 1
  store i32 %12060, ptr @test_count, align 4, !tbaa !5
  %12061 = load ptr, ptr %227, align 8, !tbaa !9
  %12062 = load ptr, ptr %235, align 8, !tbaa !9
  %12063 = call i32 @s2n_server_extensions_send(ptr noundef %12061, ptr noundef %12062)
  %12064 = icmp eq i32 %12063, -1
  br i1 %12064, label %12118, label %12065

12065:                                            ; preds = %12058
  br label %12066

12066:                                            ; preds = %12065
  br label %12067

12067:                                            ; preds = %12066
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %12068 = call ptr @__errno_location() #11
  %12069 = load i32, ptr %12068, align 4, !tbaa !5
  store i32 %12069, ptr %238, align 4, !tbaa !5
  %12070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12071 = call i32 @s2n_print_stacktrace(ptr noundef %12070)
  %12072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12073 = trunc i8 %12072 to i1
  br i1 %12073, label %12074, label %12096

12074:                                            ; preds = %12067
  %12075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12076 = call i32 @fileno(ptr noundef %12075) #10
  %12077 = call i32 @isatty(i32 noundef %12076) #10
  %12078 = icmp ne i32 %12077, 0
  br i1 %12078, label %12079, label %12096

12079:                                            ; preds = %12074
  %12080 = load i32, ptr %238, align 4, !tbaa !5
  %12081 = call ptr @__errno_location() #11
  store i32 %12080, ptr %12081, align 4, !tbaa !5
  %12082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12083 = load i32, ptr @test_count, align 4, !tbaa !5
  %12084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12085 = load i32, ptr %12084, align 4, !tbaa !5
  %12086 = call ptr @s2n_strerror(i32 noundef %12085, ptr noundef @.str.4)
  %12087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  %12089 = call ptr @s2n_strerror_debug(i32 noundef %12088, ptr noundef @.str.4)
  %12090 = call ptr @__errno_location() #11
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call ptr @strerror(i32 noundef %12091) #10
  %12093 = call ptr @__errno_location() #11
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  %12095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12082, ptr noundef @.str.2, i32 noundef %12083, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12086, ptr noundef %12089, ptr noundef %12092, i32 noundef %12094) #10
  br label %12113

12096:                                            ; preds = %12074, %12067
  %12097 = load i32, ptr %238, align 4, !tbaa !5
  %12098 = call ptr @__errno_location() #11
  store i32 %12097, ptr %12098, align 4, !tbaa !5
  %12099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12100 = load i32, ptr @test_count, align 4, !tbaa !5
  %12101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  %12103 = call ptr @s2n_strerror(i32 noundef %12102, ptr noundef @.str.4)
  %12104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12105 = load i32, ptr %12104, align 4, !tbaa !5
  %12106 = call ptr @s2n_strerror_debug(i32 noundef %12105, ptr noundef @.str.4)
  %12107 = call ptr @__errno_location() #11
  %12108 = load i32, ptr %12107, align 4, !tbaa !5
  %12109 = call ptr @strerror(i32 noundef %12108) #10
  %12110 = call ptr @__errno_location() #11
  %12111 = load i32, ptr %12110, align 4, !tbaa !5
  %12112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12099, ptr noundef @.str.5, i32 noundef %12100, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12103, ptr noundef %12106, ptr noundef %12109, i32 noundef %12111) #10
  br label %12113

12113:                                            ; preds = %12096, %12079
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %12114

12114:                                            ; preds = %12113
  br label %12115

12115:                                            ; preds = %12114
  call void @exit(i32 noundef 1) #12
  unreachable

12116:                                            ; No predecessors!
  br label %12117

12117:                                            ; preds = %12116
  br label %12118

12118:                                            ; preds = %12117, %12058
  br label %12119

12119:                                            ; preds = %12118
  br label %12120

12120:                                            ; preds = %12119
  br label %12121

12121:                                            ; preds = %12120
  %12122 = load i32, ptr @test_count, align 4, !tbaa !5
  %12123 = add nsw i32 %12122, 1
  store i32 %12123, ptr @test_count, align 4, !tbaa !5
  %12124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12125 = load i32, ptr %12124, align 4, !tbaa !5
  %12126 = icmp eq i32 %12125, 0
  br i1 %12126, label %12127, label %12180

12127:                                            ; preds = %12121
  br label %12128

12128:                                            ; preds = %12127
  br label %12129

12129:                                            ; preds = %12128
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %12130 = call ptr @__errno_location() #11
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  store i32 %12131, ptr %239, align 4, !tbaa !5
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = call i32 @s2n_print_stacktrace(ptr noundef %12132)
  %12134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12135 = trunc i8 %12134 to i1
  br i1 %12135, label %12136, label %12158

12136:                                            ; preds = %12129
  %12137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12138 = call i32 @fileno(ptr noundef %12137) #10
  %12139 = call i32 @isatty(i32 noundef %12138) #10
  %12140 = icmp ne i32 %12139, 0
  br i1 %12140, label %12141, label %12158

12141:                                            ; preds = %12136
  %12142 = load i32, ptr %239, align 4, !tbaa !5
  %12143 = call ptr @__errno_location() #11
  store i32 %12142, ptr %12143, align 4, !tbaa !5
  %12144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12145 = load i32, ptr @test_count, align 4, !tbaa !5
  %12146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12147 = load i32, ptr %12146, align 4, !tbaa !5
  %12148 = call ptr @s2n_strerror(i32 noundef %12147, ptr noundef @.str.4)
  %12149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12150 = load i32, ptr %12149, align 4, !tbaa !5
  %12151 = call ptr @s2n_strerror_debug(i32 noundef %12150, ptr noundef @.str.4)
  %12152 = call ptr @__errno_location() #11
  %12153 = load i32, ptr %12152, align 4, !tbaa !5
  %12154 = call ptr @strerror(i32 noundef %12153) #10
  %12155 = call ptr @__errno_location() #11
  %12156 = load i32, ptr %12155, align 4, !tbaa !5
  %12157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12144, ptr noundef @.str.2, i32 noundef %12145, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12148, ptr noundef %12151, ptr noundef %12154, i32 noundef %12156) #10
  br label %12175

12158:                                            ; preds = %12136, %12129
  %12159 = load i32, ptr %239, align 4, !tbaa !5
  %12160 = call ptr @__errno_location() #11
  store i32 %12159, ptr %12160, align 4, !tbaa !5
  %12161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12162 = load i32, ptr @test_count, align 4, !tbaa !5
  %12163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12164 = load i32, ptr %12163, align 4, !tbaa !5
  %12165 = call ptr @s2n_strerror(i32 noundef %12164, ptr noundef @.str.4)
  %12166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  %12168 = call ptr @s2n_strerror_debug(i32 noundef %12167, ptr noundef @.str.4)
  %12169 = call ptr @__errno_location() #11
  %12170 = load i32, ptr %12169, align 4, !tbaa !5
  %12171 = call ptr @strerror(i32 noundef %12170) #10
  %12172 = call ptr @__errno_location() #11
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12161, ptr noundef @.str.5, i32 noundef %12162, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12165, ptr noundef %12168, ptr noundef %12171, i32 noundef %12173) #10
  br label %12175

12175:                                            ; preds = %12158, %12141
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %12176

12176:                                            ; preds = %12175
  br label %12177

12177:                                            ; preds = %12176
  call void @exit(i32 noundef 1) #12
  unreachable

12178:                                            ; No predecessors!
  br label %12179

12179:                                            ; preds = %12178
  br label %12180

12180:                                            ; preds = %12179, %12121
  br label %12181

12181:                                            ; preds = %12180
  br label %12182

12182:                                            ; preds = %12181
  br label %12183

12183:                                            ; preds = %12182
  %12184 = load i32, ptr @test_count, align 4, !tbaa !5
  %12185 = add nsw i32 %12184, 1
  store i32 %12185, ptr @test_count, align 4, !tbaa !5
  %12186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12187 = load i32, ptr %12186, align 4, !tbaa !5
  %12188 = call ptr @s2n_strerror_debug(i32 noundef %12187, ptr noundef @.str.4)
  %12189 = icmp eq ptr %12188, null
  br i1 %12189, label %12190, label %12243

12190:                                            ; preds = %12183
  br label %12191

12191:                                            ; preds = %12190
  br label %12192

12192:                                            ; preds = %12191
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %12193 = call ptr @__errno_location() #11
  %12194 = load i32, ptr %12193, align 4, !tbaa !5
  store i32 %12194, ptr %240, align 4, !tbaa !5
  %12195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12196 = call i32 @s2n_print_stacktrace(ptr noundef %12195)
  %12197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12198 = trunc i8 %12197 to i1
  br i1 %12198, label %12199, label %12221

12199:                                            ; preds = %12192
  %12200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12201 = call i32 @fileno(ptr noundef %12200) #10
  %12202 = call i32 @isatty(i32 noundef %12201) #10
  %12203 = icmp ne i32 %12202, 0
  br i1 %12203, label %12204, label %12221

12204:                                            ; preds = %12199
  %12205 = load i32, ptr %240, align 4, !tbaa !5
  %12206 = call ptr @__errno_location() #11
  store i32 %12205, ptr %12206, align 4, !tbaa !5
  %12207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12208 = load i32, ptr @test_count, align 4, !tbaa !5
  %12209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  %12211 = call ptr @s2n_strerror(i32 noundef %12210, ptr noundef @.str.4)
  %12212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror_debug(i32 noundef %12213, ptr noundef @.str.4)
  %12215 = call ptr @__errno_location() #11
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @strerror(i32 noundef %12216) #10
  %12218 = call ptr @__errno_location() #11
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12207, ptr noundef @.str.2, i32 noundef %12208, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12211, ptr noundef %12214, ptr noundef %12217, i32 noundef %12219) #10
  br label %12238

12221:                                            ; preds = %12199, %12192
  %12222 = load i32, ptr %240, align 4, !tbaa !5
  %12223 = call ptr @__errno_location() #11
  store i32 %12222, ptr %12223, align 4, !tbaa !5
  %12224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12225 = load i32, ptr @test_count, align 4, !tbaa !5
  %12226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call ptr @s2n_strerror(i32 noundef %12227, ptr noundef @.str.4)
  %12229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call ptr @s2n_strerror_debug(i32 noundef %12230, ptr noundef @.str.4)
  %12232 = call ptr @__errno_location() #11
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call ptr @strerror(i32 noundef %12233) #10
  %12235 = call ptr @__errno_location() #11
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  %12237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12224, ptr noundef @.str.5, i32 noundef %12225, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 452, ptr noundef %12228, ptr noundef %12231, ptr noundef %12234, i32 noundef %12236) #10
  br label %12238

12238:                                            ; preds = %12221, %12204
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %12239

12239:                                            ; preds = %12238
  br label %12240

12240:                                            ; preds = %12239
  call void @exit(i32 noundef 1) #12
  unreachable

12241:                                            ; No predecessors!
  br label %12242

12242:                                            ; preds = %12241
  br label %12243

12243:                                            ; preds = %12242, %12183
  br label %12244

12244:                                            ; preds = %12243
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

12246:                                            ; preds = %12245
  %12247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12247, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12248 = call ptr @__errno_location() #11
  store i32 0, ptr %12248, align 4, !tbaa !5
  br label %12249

12249:                                            ; preds = %12246
  br label %12250

12250:                                            ; preds = %12249
  br label %12251

12251:                                            ; preds = %12250
  br label %12252

12252:                                            ; preds = %12251
  br label %12253

12253:                                            ; preds = %12252
  %12254 = load i32, ptr @test_count, align 4, !tbaa !5
  %12255 = add nsw i32 %12254, 1
  store i32 %12255, ptr @test_count, align 4, !tbaa !5
  %12256 = load ptr, ptr %227, align 8, !tbaa !9
  %12257 = getelementptr inbounds %struct.s2n_connection, ptr %12256, i32 0, i32 31
  %12258 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %12257, i32 0, i32 3
  %12259 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %12258)
  %12260 = icmp eq i32 %12259, -1
  br i1 %12260, label %12261, label %12314

12261:                                            ; preds = %12253
  br label %12262

12262:                                            ; preds = %12261
  br label %12263

12263:                                            ; preds = %12262
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %12264 = call ptr @__errno_location() #11
  %12265 = load i32, ptr %12264, align 4, !tbaa !5
  store i32 %12265, ptr %241, align 4, !tbaa !5
  %12266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12267 = call i32 @s2n_print_stacktrace(ptr noundef %12266)
  %12268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12269 = trunc i8 %12268 to i1
  br i1 %12269, label %12270, label %12292

12270:                                            ; preds = %12263
  %12271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12272 = call i32 @fileno(ptr noundef %12271) #10
  %12273 = call i32 @isatty(i32 noundef %12272) #10
  %12274 = icmp ne i32 %12273, 0
  br i1 %12274, label %12275, label %12292

12275:                                            ; preds = %12270
  %12276 = load i32, ptr %241, align 4, !tbaa !5
  %12277 = call ptr @__errno_location() #11
  store i32 %12276, ptr %12277, align 4, !tbaa !5
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = load i32, ptr @test_count, align 4, !tbaa !5
  %12280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call ptr @s2n_strerror(i32 noundef %12281, ptr noundef @.str.4)
  %12283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  %12285 = call ptr @s2n_strerror_debug(i32 noundef %12284, ptr noundef @.str.4)
  %12286 = call ptr @__errno_location() #11
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @strerror(i32 noundef %12287) #10
  %12289 = call ptr @__errno_location() #11
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12278, ptr noundef @.str.2, i32 noundef %12279, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 454, ptr noundef %12282, ptr noundef %12285, ptr noundef %12288, i32 noundef %12290) #10
  br label %12309

12292:                                            ; preds = %12270, %12263
  %12293 = load i32, ptr %241, align 4, !tbaa !5
  %12294 = call ptr @__errno_location() #11
  store i32 %12293, ptr %12294, align 4, !tbaa !5
  %12295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12296 = load i32, ptr @test_count, align 4, !tbaa !5
  %12297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  %12299 = call ptr @s2n_strerror(i32 noundef %12298, ptr noundef @.str.4)
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror_debug(i32 noundef %12301, ptr noundef @.str.4)
  %12303 = call ptr @__errno_location() #11
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @strerror(i32 noundef %12304) #10
  %12306 = call ptr @__errno_location() #11
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12295, ptr noundef @.str.5, i32 noundef %12296, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 454, ptr noundef %12299, ptr noundef %12302, ptr noundef %12305, i32 noundef %12307) #10
  br label %12309

12309:                                            ; preds = %12292, %12275
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %12310

12310:                                            ; preds = %12309
  br label %12311

12311:                                            ; preds = %12310
  call void @exit(i32 noundef 1) #12
  unreachable

12312:                                            ; No predecessors!
  br label %12313

12313:                                            ; preds = %12312
  br label %12314

12314:                                            ; preds = %12313, %12253
  br label %12315

12315:                                            ; preds = %12314
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

12317:                                            ; preds = %12316
  %12318 = load i32, ptr @test_count, align 4, !tbaa !5
  %12319 = add nsw i32 %12318, 1
  store i32 %12319, ptr @test_count, align 4, !tbaa !5
  %12320 = load ptr, ptr %235, align 8, !tbaa !9
  %12321 = load ptr, ptr %235, align 8, !tbaa !9
  %12322 = getelementptr inbounds %struct.s2n_stuffer, ptr %12321, i32 0, i32 2
  %12323 = load i32, ptr %12322, align 4, !tbaa !15
  %12324 = load ptr, ptr %235, align 8, !tbaa !9
  %12325 = getelementptr inbounds %struct.s2n_stuffer, ptr %12324, i32 0, i32 1
  %12326 = load i32, ptr %12325, align 8, !tbaa !18
  %12327 = sub i32 %12323, %12326
  %12328 = call i32 @s2n_stuffer_skip_read(ptr noundef %12320, i32 noundef %12327)
  %12329 = icmp eq i32 %12328, -1
  br i1 %12329, label %12330, label %12383

12330:                                            ; preds = %12317
  br label %12331

12331:                                            ; preds = %12330
  br label %12332

12332:                                            ; preds = %12331
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %12333 = call ptr @__errno_location() #11
  %12334 = load i32, ptr %12333, align 4, !tbaa !5
  store i32 %12334, ptr %242, align 4, !tbaa !5
  %12335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12336 = call i32 @s2n_print_stacktrace(ptr noundef %12335)
  %12337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12338 = trunc i8 %12337 to i1
  br i1 %12338, label %12339, label %12361

12339:                                            ; preds = %12332
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @fileno(ptr noundef %12340) #10
  %12342 = call i32 @isatty(i32 noundef %12341) #10
  %12343 = icmp ne i32 %12342, 0
  br i1 %12343, label %12344, label %12361

12344:                                            ; preds = %12339
  %12345 = load i32, ptr %242, align 4, !tbaa !5
  %12346 = call ptr @__errno_location() #11
  store i32 %12345, ptr %12346, align 4, !tbaa !5
  %12347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12348 = load i32, ptr @test_count, align 4, !tbaa !5
  %12349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12350 = load i32, ptr %12349, align 4, !tbaa !5
  %12351 = call ptr @s2n_strerror(i32 noundef %12350, ptr noundef @.str.4)
  %12352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12353 = load i32, ptr %12352, align 4, !tbaa !5
  %12354 = call ptr @s2n_strerror_debug(i32 noundef %12353, ptr noundef @.str.4)
  %12355 = call ptr @__errno_location() #11
  %12356 = load i32, ptr %12355, align 4, !tbaa !5
  %12357 = call ptr @strerror(i32 noundef %12356) #10
  %12358 = call ptr @__errno_location() #11
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12347, ptr noundef @.str.2, i32 noundef %12348, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 456, ptr noundef %12351, ptr noundef %12354, ptr noundef %12357, i32 noundef %12359) #10
  br label %12378

12361:                                            ; preds = %12339, %12332
  %12362 = load i32, ptr %242, align 4, !tbaa !5
  %12363 = call ptr @__errno_location() #11
  store i32 %12362, ptr %12363, align 4, !tbaa !5
  %12364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12365 = load i32, ptr @test_count, align 4, !tbaa !5
  %12366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12367 = load i32, ptr %12366, align 4, !tbaa !5
  %12368 = call ptr @s2n_strerror(i32 noundef %12367, ptr noundef @.str.4)
  %12369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12370 = load i32, ptr %12369, align 4, !tbaa !5
  %12371 = call ptr @s2n_strerror_debug(i32 noundef %12370, ptr noundef @.str.4)
  %12372 = call ptr @__errno_location() #11
  %12373 = load i32, ptr %12372, align 4, !tbaa !5
  %12374 = call ptr @strerror(i32 noundef %12373) #10
  %12375 = call ptr @__errno_location() #11
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12364, ptr noundef @.str.5, i32 noundef %12365, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 456, ptr noundef %12368, ptr noundef %12371, ptr noundef %12374, i32 noundef %12376) #10
  br label %12378

12378:                                            ; preds = %12361, %12344
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %12379

12379:                                            ; preds = %12378
  br label %12380

12380:                                            ; preds = %12379
  call void @exit(i32 noundef 1) #12
  unreachable

12381:                                            ; No predecessors!
  br label %12382

12382:                                            ; preds = %12381
  br label %12383

12383:                                            ; preds = %12382, %12317
  br label %12384

12384:                                            ; preds = %12383
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385
  %12387 = load i32, ptr @test_count, align 4, !tbaa !5
  %12388 = add nsw i32 %12387, 1
  store i32 %12388, ptr @test_count, align 4, !tbaa !5
  %12389 = load ptr, ptr %227, align 8, !tbaa !9
  %12390 = load ptr, ptr %235, align 8, !tbaa !9
  %12391 = call i32 @s2n_server_extensions_send(ptr noundef %12389, ptr noundef %12390)
  %12392 = icmp eq i32 %12391, -1
  br i1 %12392, label %12393, label %12446

12393:                                            ; preds = %12386
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #10
  %12396 = call ptr @__errno_location() #11
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  store i32 %12397, ptr %243, align 4, !tbaa !5
  %12398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12399 = call i32 @s2n_print_stacktrace(ptr noundef %12398)
  %12400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12401 = trunc i8 %12400 to i1
  br i1 %12401, label %12402, label %12424

12402:                                            ; preds = %12395
  %12403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12404 = call i32 @fileno(ptr noundef %12403) #10
  %12405 = call i32 @isatty(i32 noundef %12404) #10
  %12406 = icmp ne i32 %12405, 0
  br i1 %12406, label %12407, label %12424

12407:                                            ; preds = %12402
  %12408 = load i32, ptr %243, align 4, !tbaa !5
  %12409 = call ptr @__errno_location() #11
  store i32 %12408, ptr %12409, align 4, !tbaa !5
  %12410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12413 = load i32, ptr %12412, align 4, !tbaa !5
  %12414 = call ptr @s2n_strerror(i32 noundef %12413, ptr noundef @.str.4)
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror_debug(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call ptr @__errno_location() #11
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @strerror(i32 noundef %12419) #10
  %12421 = call ptr @__errno_location() #11
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12410, ptr noundef @.str.2, i32 noundef %12411, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 457, ptr noundef %12414, ptr noundef %12417, ptr noundef %12420, i32 noundef %12422) #10
  br label %12441

12424:                                            ; preds = %12402, %12395
  %12425 = load i32, ptr %243, align 4, !tbaa !5
  %12426 = call ptr @__errno_location() #11
  store i32 %12425, ptr %12426, align 4, !tbaa !5
  %12427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12428 = load i32, ptr @test_count, align 4, !tbaa !5
  %12429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call ptr @s2n_strerror(i32 noundef %12430, ptr noundef @.str.4)
  %12432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call ptr @s2n_strerror_debug(i32 noundef %12433, ptr noundef @.str.4)
  %12435 = call ptr @__errno_location() #11
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @strerror(i32 noundef %12436) #10
  %12438 = call ptr @__errno_location() #11
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12427, ptr noundef @.str.5, i32 noundef %12428, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 457, ptr noundef %12431, ptr noundef %12434, ptr noundef %12437, i32 noundef %12439) #10
  br label %12441

12441:                                            ; preds = %12424, %12407
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #10
  br label %12442

12442:                                            ; preds = %12441
  br label %12443

12443:                                            ; preds = %12442
  call void @exit(i32 noundef 1) #12
  unreachable

12444:                                            ; No predecessors!
  br label %12445

12445:                                            ; preds = %12444
  br label %12446

12446:                                            ; preds = %12445, %12386
  br label %12447

12447:                                            ; preds = %12446
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448
  br label %12450

12450:                                            ; preds = %12449
  %12451 = load i32, ptr @test_count, align 4, !tbaa !5
  %12452 = add nsw i32 %12451, 1
  store i32 %12452, ptr @test_count, align 4, !tbaa !5
  %12453 = load ptr, ptr %235, align 8, !tbaa !9
  %12454 = load i8, ptr %237, align 1, !tbaa !19
  %12455 = zext i8 %12454 to i32
  %12456 = add nsw i32 %12455, 2
  %12457 = call i32 @s2n_stuffer_skip_read(ptr noundef %12453, i32 noundef %12456)
  %12458 = icmp eq i32 %12457, -1
  br i1 %12458, label %12459, label %12512

12459:                                            ; preds = %12450
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #10
  %12462 = call ptr @__errno_location() #11
  %12463 = load i32, ptr %12462, align 4, !tbaa !5
  store i32 %12463, ptr %244, align 4, !tbaa !5
  %12464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12465 = call i32 @s2n_print_stacktrace(ptr noundef %12464)
  %12466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12467 = trunc i8 %12466 to i1
  br i1 %12467, label %12468, label %12490

12468:                                            ; preds = %12461
  %12469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12470 = call i32 @fileno(ptr noundef %12469) #10
  %12471 = call i32 @isatty(i32 noundef %12470) #10
  %12472 = icmp ne i32 %12471, 0
  br i1 %12472, label %12473, label %12490

12473:                                            ; preds = %12468
  %12474 = load i32, ptr %244, align 4, !tbaa !5
  %12475 = call ptr @__errno_location() #11
  store i32 %12474, ptr %12475, align 4, !tbaa !5
  %12476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12477 = load i32, ptr @test_count, align 4, !tbaa !5
  %12478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12479 = load i32, ptr %12478, align 4, !tbaa !5
  %12480 = call ptr @s2n_strerror(i32 noundef %12479, ptr noundef @.str.4)
  %12481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12482 = load i32, ptr %12481, align 4, !tbaa !5
  %12483 = call ptr @s2n_strerror_debug(i32 noundef %12482, ptr noundef @.str.4)
  %12484 = call ptr @__errno_location() #11
  %12485 = load i32, ptr %12484, align 4, !tbaa !5
  %12486 = call ptr @strerror(i32 noundef %12485) #10
  %12487 = call ptr @__errno_location() #11
  %12488 = load i32, ptr %12487, align 4, !tbaa !5
  %12489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12476, ptr noundef @.str.2, i32 noundef %12477, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 458, ptr noundef %12480, ptr noundef %12483, ptr noundef %12486, i32 noundef %12488) #10
  br label %12507

12490:                                            ; preds = %12468, %12461
  %12491 = load i32, ptr %244, align 4, !tbaa !5
  %12492 = call ptr @__errno_location() #11
  store i32 %12491, ptr %12492, align 4, !tbaa !5
  %12493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12494 = load i32, ptr @test_count, align 4, !tbaa !5
  %12495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12496 = load i32, ptr %12495, align 4, !tbaa !5
  %12497 = call ptr @s2n_strerror(i32 noundef %12496, ptr noundef @.str.4)
  %12498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call ptr @s2n_strerror_debug(i32 noundef %12499, ptr noundef @.str.4)
  %12501 = call ptr @__errno_location() #11
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call ptr @strerror(i32 noundef %12502) #10
  %12504 = call ptr @__errno_location() #11
  %12505 = load i32, ptr %12504, align 4, !tbaa !5
  %12506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12493, ptr noundef @.str.5, i32 noundef %12494, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 458, ptr noundef %12497, ptr noundef %12500, ptr noundef %12503, i32 noundef %12505) #10
  br label %12507

12507:                                            ; preds = %12490, %12473
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #10
  br label %12508

12508:                                            ; preds = %12507
  br label %12509

12509:                                            ; preds = %12508
  call void @exit(i32 noundef 1) #12
  unreachable

12510:                                            ; No predecessors!
  br label %12511

12511:                                            ; preds = %12510
  br label %12512

12512:                                            ; preds = %12511, %12450
  br label %12513

12513:                                            ; preds = %12512
  br label %12514

12514:                                            ; preds = %12513
  br label %12515

12515:                                            ; preds = %12514
  %12516 = load i32, ptr @test_count, align 4, !tbaa !5
  %12517 = add nsw i32 %12516, 1
  store i32 %12517, ptr @test_count, align 4, !tbaa !5
  %12518 = load ptr, ptr %235, align 8, !tbaa !9
  %12519 = getelementptr inbounds %struct.s2n_stuffer, ptr %12518, i32 0, i32 2
  %12520 = load i32, ptr %12519, align 4, !tbaa !15
  %12521 = load ptr, ptr %235, align 8, !tbaa !9
  %12522 = getelementptr inbounds %struct.s2n_stuffer, ptr %12521, i32 0, i32 1
  %12523 = load i32, ptr %12522, align 8, !tbaa !18
  %12524 = sub i32 %12520, %12523
  %12525 = icmp eq i32 %12524, 0
  br i1 %12525, label %12579, label %12526

12526:                                            ; preds = %12515
  br label %12527

12527:                                            ; preds = %12526
  br label %12528

12528:                                            ; preds = %12527
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #10
  %12529 = call ptr @__errno_location() #11
  %12530 = load i32, ptr %12529, align 4, !tbaa !5
  store i32 %12530, ptr %245, align 4, !tbaa !5
  %12531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12532 = call i32 @s2n_print_stacktrace(ptr noundef %12531)
  %12533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12534 = trunc i8 %12533 to i1
  br i1 %12534, label %12535, label %12557

12535:                                            ; preds = %12528
  %12536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12537 = call i32 @fileno(ptr noundef %12536) #10
  %12538 = call i32 @isatty(i32 noundef %12537) #10
  %12539 = icmp ne i32 %12538, 0
  br i1 %12539, label %12540, label %12557

12540:                                            ; preds = %12535
  %12541 = load i32, ptr %245, align 4, !tbaa !5
  %12542 = call ptr @__errno_location() #11
  store i32 %12541, ptr %12542, align 4, !tbaa !5
  %12543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12544 = load i32, ptr @test_count, align 4, !tbaa !5
  %12545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12546 = load i32, ptr %12545, align 4, !tbaa !5
  %12547 = call ptr @s2n_strerror(i32 noundef %12546, ptr noundef @.str.4)
  %12548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12549 = load i32, ptr %12548, align 4, !tbaa !5
  %12550 = call ptr @s2n_strerror_debug(i32 noundef %12549, ptr noundef @.str.4)
  %12551 = call ptr @__errno_location() #11
  %12552 = load i32, ptr %12551, align 4, !tbaa !5
  %12553 = call ptr @strerror(i32 noundef %12552) #10
  %12554 = call ptr @__errno_location() #11
  %12555 = load i32, ptr %12554, align 4, !tbaa !5
  %12556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12543, ptr noundef @.str.2, i32 noundef %12544, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 458, ptr noundef %12547, ptr noundef %12550, ptr noundef %12553, i32 noundef %12555) #10
  br label %12574

12557:                                            ; preds = %12535, %12528
  %12558 = load i32, ptr %245, align 4, !tbaa !5
  %12559 = call ptr @__errno_location() #11
  store i32 %12558, ptr %12559, align 4, !tbaa !5
  %12560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12561 = load i32, ptr @test_count, align 4, !tbaa !5
  %12562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call ptr @s2n_strerror(i32 noundef %12563, ptr noundef @.str.4)
  %12565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12566 = load i32, ptr %12565, align 4, !tbaa !5
  %12567 = call ptr @s2n_strerror_debug(i32 noundef %12566, ptr noundef @.str.4)
  %12568 = call ptr @__errno_location() #11
  %12569 = load i32, ptr %12568, align 4, !tbaa !5
  %12570 = call ptr @strerror(i32 noundef %12569) #10
  %12571 = call ptr @__errno_location() #11
  %12572 = load i32, ptr %12571, align 4, !tbaa !5
  %12573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12560, ptr noundef @.str.5, i32 noundef %12561, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 458, ptr noundef %12564, ptr noundef %12567, ptr noundef %12570, i32 noundef %12572) #10
  br label %12574

12574:                                            ; preds = %12557, %12540
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #10
  br label %12575

12575:                                            ; preds = %12574
  br label %12576

12576:                                            ; preds = %12575
  call void @exit(i32 noundef 1) #12
  unreachable

12577:                                            ; No predecessors!
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

12579:                                            ; preds = %12578, %12515
  br label %12580

12580:                                            ; preds = %12579
  br label %12581

12581:                                            ; preds = %12580
  br label %12582

12582:                                            ; preds = %12581
  br label %12583

12583:                                            ; preds = %12582
  %12584 = load ptr, ptr %227, align 8, !tbaa !9
  %12585 = getelementptr inbounds %struct.s2n_connection, ptr %12584, i32 0, i32 23
  store i8 33, ptr %12585, align 4, !tbaa !55
  br label %12586

12586:                                            ; preds = %12583
  %12587 = load i32, ptr @test_count, align 4, !tbaa !5
  %12588 = add nsw i32 %12587, 1
  store i32 %12588, ptr @test_count, align 4, !tbaa !5
  %12589 = load ptr, ptr %235, align 8, !tbaa !9
  %12590 = load ptr, ptr %235, align 8, !tbaa !9
  %12591 = getelementptr inbounds %struct.s2n_stuffer, ptr %12590, i32 0, i32 2
  %12592 = load i32, ptr %12591, align 4, !tbaa !15
  %12593 = load ptr, ptr %235, align 8, !tbaa !9
  %12594 = getelementptr inbounds %struct.s2n_stuffer, ptr %12593, i32 0, i32 1
  %12595 = load i32, ptr %12594, align 8, !tbaa !18
  %12596 = sub i32 %12592, %12595
  %12597 = call i32 @s2n_stuffer_skip_read(ptr noundef %12589, i32 noundef %12596)
  %12598 = icmp eq i32 %12597, -1
  br i1 %12598, label %12599, label %12652

12599:                                            ; preds = %12586
  br label %12600

12600:                                            ; preds = %12599
  br label %12601

12601:                                            ; preds = %12600
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %12602 = call ptr @__errno_location() #11
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  store i32 %12603, ptr %246, 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) #10
  %12611 = call i32 @isatty(i32 noundef %12610) #10
  %12612 = icmp ne i32 %12611, 0
  br i1 %12612, label %12613, label %12630

12613:                                            ; preds = %12608
  %12614 = load i32, ptr %246, align 4, !tbaa !5
  %12615 = call ptr @__errno_location() #11
  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() #11
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @strerror(i32 noundef %12625) #10
  %12627 = call ptr @__errno_location() #11
  %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.49, ptr noundef @.str.1, i32 noundef 463, ptr noundef %12620, ptr noundef %12623, ptr noundef %12626, i32 noundef %12628) #10
  br label %12647

12630:                                            ; preds = %12608, %12601
  %12631 = load i32, ptr %246, align 4, !tbaa !5
  %12632 = call ptr @__errno_location() #11
  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() #11
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @strerror(i32 noundef %12642) #10
  %12644 = call ptr @__errno_location() #11
  %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.49, ptr noundef @.str.1, i32 noundef 463, ptr noundef %12637, ptr noundef %12640, ptr noundef %12643, i32 noundef %12645) #10
  br label %12647

12647:                                            ; preds = %12630, %12613
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %12648

12648:                                            ; preds = %12647
  br label %12649

12649:                                            ; preds = %12648
  call void @exit(i32 noundef 1) #12
  unreachable

12650:                                            ; No predecessors!
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651, %12586
  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 = load ptr, ptr %227, align 8, !tbaa !9
  %12659 = load ptr, ptr %235, align 8, !tbaa !9
  %12660 = call i32 @s2n_server_extensions_send(ptr noundef %12658, ptr noundef %12659)
  %12661 = icmp eq i32 %12660, -1
  br i1 %12661, label %12662, label %12715

12662:                                            ; preds = %12655
  br label %12663

12663:                                            ; preds = %12662
  br label %12664

12664:                                            ; preds = %12663
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #10
  %12665 = call ptr @__errno_location() #11
  %12666 = load i32, ptr %12665, align 4, !tbaa !5
  store i32 %12666, ptr %247, align 4, !tbaa !5
  %12667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12668 = call i32 @s2n_print_stacktrace(ptr noundef %12667)
  %12669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12670 = trunc i8 %12669 to i1
  br i1 %12670, label %12671, label %12693

12671:                                            ; preds = %12664
  %12672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12673 = call i32 @fileno(ptr noundef %12672) #10
  %12674 = call i32 @isatty(i32 noundef %12673) #10
  %12675 = icmp ne i32 %12674, 0
  br i1 %12675, label %12676, label %12693

12676:                                            ; preds = %12671
  %12677 = load i32, ptr %247, align 4, !tbaa !5
  %12678 = call ptr @__errno_location() #11
  store i32 %12677, ptr %12678, align 4, !tbaa !5
  %12679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12680 = load i32, ptr @test_count, align 4, !tbaa !5
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror(i32 noundef %12682, ptr noundef @.str.4)
  %12684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @s2n_strerror_debug(i32 noundef %12685, ptr noundef @.str.4)
  %12687 = call ptr @__errno_location() #11
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @strerror(i32 noundef %12688) #10
  %12690 = call ptr @__errno_location() #11
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12679, ptr noundef @.str.2, i32 noundef %12680, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 464, ptr noundef %12683, ptr noundef %12686, ptr noundef %12689, i32 noundef %12691) #10
  br label %12710

12693:                                            ; preds = %12671, %12664
  %12694 = load i32, ptr %247, align 4, !tbaa !5
  %12695 = call ptr @__errno_location() #11
  store i32 %12694, ptr %12695, align 4, !tbaa !5
  %12696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12697 = load i32, ptr @test_count, align 4, !tbaa !5
  %12698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call ptr @s2n_strerror(i32 noundef %12699, ptr noundef @.str.4)
  %12701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12702 = load i32, ptr %12701, align 4, !tbaa !5
  %12703 = call ptr @s2n_strerror_debug(i32 noundef %12702, ptr noundef @.str.4)
  %12704 = call ptr @__errno_location() #11
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call ptr @strerror(i32 noundef %12705) #10
  %12707 = call ptr @__errno_location() #11
  %12708 = load i32, ptr %12707, align 4, !tbaa !5
  %12709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12696, ptr noundef @.str.5, i32 noundef %12697, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 464, ptr noundef %12700, ptr noundef %12703, ptr noundef %12706, i32 noundef %12708) #10
  br label %12710

12710:                                            ; preds = %12693, %12676
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #10
  br label %12711

12711:                                            ; preds = %12710
  br label %12712

12712:                                            ; preds = %12711
  call void @exit(i32 noundef 1) #12
  unreachable

12713:                                            ; No predecessors!
  br label %12714

12714:                                            ; preds = %12713
  br label %12715

12715:                                            ; preds = %12714, %12655
  br label %12716

12716:                                            ; preds = %12715
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

12718:                                            ; preds = %12717
  br label %12719

12719:                                            ; preds = %12718
  %12720 = load i32, ptr @test_count, align 4, !tbaa !5
  %12721 = add nsw i32 %12720, 1
  store i32 %12721, ptr @test_count, align 4, !tbaa !5
  %12722 = load ptr, ptr %235, align 8, !tbaa !9
  %12723 = call i32 @s2n_stuffer_skip_read(ptr noundef %12722, i32 noundef 0)
  %12724 = icmp eq i32 %12723, -1
  br i1 %12724, label %12725, label %12778

12725:                                            ; preds = %12719
  br label %12726

12726:                                            ; preds = %12725
  br label %12727

12727:                                            ; preds = %12726
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #10
  %12728 = call ptr @__errno_location() #11
  %12729 = load i32, ptr %12728, align 4, !tbaa !5
  store i32 %12729, ptr %248, align 4, !tbaa !5
  %12730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12731 = call i32 @s2n_print_stacktrace(ptr noundef %12730)
  %12732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12733 = trunc i8 %12732 to i1
  br i1 %12733, label %12734, label %12756

12734:                                            ; preds = %12727
  %12735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12736 = call i32 @fileno(ptr noundef %12735) #10
  %12737 = call i32 @isatty(i32 noundef %12736) #10
  %12738 = icmp ne i32 %12737, 0
  br i1 %12738, label %12739, label %12756

12739:                                            ; preds = %12734
  %12740 = load i32, ptr %248, align 4, !tbaa !5
  %12741 = call ptr @__errno_location() #11
  store i32 %12740, ptr %12741, align 4, !tbaa !5
  %12742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12743 = load i32, ptr @test_count, align 4, !tbaa !5
  %12744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @s2n_strerror(i32 noundef %12745, ptr noundef @.str.4)
  %12747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @s2n_strerror_debug(i32 noundef %12748, ptr noundef @.str.4)
  %12750 = call ptr @__errno_location() #11
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call ptr @strerror(i32 noundef %12751) #10
  %12753 = call ptr @__errno_location() #11
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12742, ptr noundef @.str.2, i32 noundef %12743, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12746, ptr noundef %12749, ptr noundef %12752, i32 noundef %12754) #10
  br label %12773

12756:                                            ; preds = %12734, %12727
  %12757 = load i32, ptr %248, align 4, !tbaa !5
  %12758 = call ptr @__errno_location() #11
  store i32 %12757, ptr %12758, align 4, !tbaa !5
  %12759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12760 = load i32, ptr @test_count, align 4, !tbaa !5
  %12761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call ptr @s2n_strerror(i32 noundef %12762, ptr noundef @.str.4)
  %12764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12765 = load i32, ptr %12764, align 4, !tbaa !5
  %12766 = call ptr @s2n_strerror_debug(i32 noundef %12765, ptr noundef @.str.4)
  %12767 = call ptr @__errno_location() #11
  %12768 = load i32, ptr %12767, align 4, !tbaa !5
  %12769 = call ptr @strerror(i32 noundef %12768) #10
  %12770 = call ptr @__errno_location() #11
  %12771 = load i32, ptr %12770, align 4, !tbaa !5
  %12772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12759, ptr noundef @.str.5, i32 noundef %12760, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12763, ptr noundef %12766, ptr noundef %12769, i32 noundef %12771) #10
  br label %12773

12773:                                            ; preds = %12756, %12739
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #10
  br label %12774

12774:                                            ; preds = %12773
  br label %12775

12775:                                            ; preds = %12774
  call void @exit(i32 noundef 1) #12
  unreachable

12776:                                            ; No predecessors!
  br label %12777

12777:                                            ; preds = %12776
  br label %12778

12778:                                            ; preds = %12777, %12719
  br label %12779

12779:                                            ; preds = %12778
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  %12782 = load i32, ptr @test_count, align 4, !tbaa !5
  %12783 = add nsw i32 %12782, 1
  store i32 %12783, ptr @test_count, align 4, !tbaa !5
  %12784 = load ptr, ptr %235, align 8, !tbaa !9
  %12785 = getelementptr inbounds %struct.s2n_stuffer, ptr %12784, i32 0, i32 2
  %12786 = load i32, ptr %12785, align 4, !tbaa !15
  %12787 = load ptr, ptr %235, align 8, !tbaa !9
  %12788 = getelementptr inbounds %struct.s2n_stuffer, ptr %12787, i32 0, i32 1
  %12789 = load i32, ptr %12788, align 8, !tbaa !18
  %12790 = sub i32 %12786, %12789
  %12791 = icmp eq i32 %12790, 0
  br i1 %12791, label %12845, label %12792

12792:                                            ; preds = %12781
  br label %12793

12793:                                            ; preds = %12792
  br label %12794

12794:                                            ; preds = %12793
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %12795 = call ptr @__errno_location() #11
  %12796 = load i32, ptr %12795, align 4, !tbaa !5
  store i32 %12796, ptr %249, align 4, !tbaa !5
  %12797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12798 = call i32 @s2n_print_stacktrace(ptr noundef %12797)
  %12799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12800 = trunc i8 %12799 to i1
  br i1 %12800, label %12801, label %12823

12801:                                            ; preds = %12794
  %12802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12803 = call i32 @fileno(ptr noundef %12802) #10
  %12804 = call i32 @isatty(i32 noundef %12803) #10
  %12805 = icmp ne i32 %12804, 0
  br i1 %12805, label %12806, label %12823

12806:                                            ; preds = %12801
  %12807 = load i32, ptr %249, align 4, !tbaa !5
  %12808 = call ptr @__errno_location() #11
  store i32 %12807, ptr %12808, align 4, !tbaa !5
  %12809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12810 = load i32, ptr @test_count, align 4, !tbaa !5
  %12811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call ptr @s2n_strerror(i32 noundef %12812, ptr noundef @.str.4)
  %12814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call ptr @s2n_strerror_debug(i32 noundef %12815, ptr noundef @.str.4)
  %12817 = call ptr @__errno_location() #11
  %12818 = load i32, ptr %12817, align 4, !tbaa !5
  %12819 = call ptr @strerror(i32 noundef %12818) #10
  %12820 = call ptr @__errno_location() #11
  %12821 = load i32, ptr %12820, align 4, !tbaa !5
  %12822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12809, ptr noundef @.str.2, i32 noundef %12810, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12813, ptr noundef %12816, ptr noundef %12819, i32 noundef %12821) #10
  br label %12840

12823:                                            ; preds = %12801, %12794
  %12824 = load i32, ptr %249, align 4, !tbaa !5
  %12825 = call ptr @__errno_location() #11
  store i32 %12824, ptr %12825, align 4, !tbaa !5
  %12826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12827 = load i32, ptr @test_count, align 4, !tbaa !5
  %12828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call ptr @s2n_strerror(i32 noundef %12829, ptr noundef @.str.4)
  %12831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call ptr @s2n_strerror_debug(i32 noundef %12832, ptr noundef @.str.4)
  %12834 = call ptr @__errno_location() #11
  %12835 = load i32, ptr %12834, align 4, !tbaa !5
  %12836 = call ptr @strerror(i32 noundef %12835) #10
  %12837 = call ptr @__errno_location() #11
  %12838 = load i32, ptr %12837, align 4, !tbaa !5
  %12839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12826, ptr noundef @.str.5, i32 noundef %12827, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12830, ptr noundef %12833, ptr noundef %12836, i32 noundef %12838) #10
  br label %12840

12840:                                            ; preds = %12823, %12806
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %12841

12841:                                            ; preds = %12840
  br label %12842

12842:                                            ; preds = %12841
  call void @exit(i32 noundef 1) #12
  unreachable

12843:                                            ; No predecessors!
  br label %12844

12844:                                            ; preds = %12843
  br label %12845

12845:                                            ; preds = %12844, %12781
  br label %12846

12846:                                            ; preds = %12845
  br label %12847

12847:                                            ; preds = %12846
  br label %12848

12848:                                            ; preds = %12847
  br label %12849

12849:                                            ; preds = %12848
  br label %12850

12850:                                            ; preds = %12849
  %12851 = load i32, ptr @test_count, align 4, !tbaa !5
  %12852 = add nsw i32 %12851, 1
  store i32 %12852, ptr @test_count, align 4, !tbaa !5
  %12853 = call i32 (...) @s2n_disable_tls13_in_test()
  %12854 = icmp eq i32 %12853, -1
  br i1 %12854, label %12855, label %12908

12855:                                            ; preds = %12850
  br label %12856

12856:                                            ; preds = %12855
  br label %12857

12857:                                            ; preds = %12856
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %12858 = call ptr @__errno_location() #11
  %12859 = load i32, ptr %12858, align 4, !tbaa !5
  store i32 %12859, ptr %250, align 4, !tbaa !5
  %12860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12861 = call i32 @s2n_print_stacktrace(ptr noundef %12860)
  %12862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12863 = trunc i8 %12862 to i1
  br i1 %12863, label %12864, label %12886

12864:                                            ; preds = %12857
  %12865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12866 = call i32 @fileno(ptr noundef %12865) #10
  %12867 = call i32 @isatty(i32 noundef %12866) #10
  %12868 = icmp ne i32 %12867, 0
  br i1 %12868, label %12869, label %12886

12869:                                            ; preds = %12864
  %12870 = load i32, ptr %250, align 4, !tbaa !5
  %12871 = call ptr @__errno_location() #11
  store i32 %12870, ptr %12871, align 4, !tbaa !5
  %12872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12873 = load i32, ptr @test_count, align 4, !tbaa !5
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror(i32 noundef %12875, ptr noundef @.str.4)
  %12877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @s2n_strerror_debug(i32 noundef %12878, ptr noundef @.str.4)
  %12880 = call ptr @__errno_location() #11
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call ptr @strerror(i32 noundef %12881) #10
  %12883 = call ptr @__errno_location() #11
  %12884 = load i32, ptr %12883, align 4, !tbaa !5
  %12885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12872, ptr noundef @.str.2, i32 noundef %12873, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 466, ptr noundef %12876, ptr noundef %12879, ptr noundef %12882, i32 noundef %12884) #10
  br label %12903

12886:                                            ; preds = %12864, %12857
  %12887 = load i32, ptr %250, align 4, !tbaa !5
  %12888 = call ptr @__errno_location() #11
  store i32 %12887, ptr %12888, align 4, !tbaa !5
  %12889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12890 = load i32, ptr @test_count, align 4, !tbaa !5
  %12891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror(i32 noundef %12892, ptr noundef @.str.4)
  %12894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @s2n_strerror_debug(i32 noundef %12895, ptr noundef @.str.4)
  %12897 = call ptr @__errno_location() #11
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call ptr @strerror(i32 noundef %12898) #10
  %12900 = call ptr @__errno_location() #11
  %12901 = load i32, ptr %12900, align 4, !tbaa !5
  %12902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12889, ptr noundef @.str.5, i32 noundef %12890, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 466, ptr noundef %12893, ptr noundef %12896, ptr noundef %12899, i32 noundef %12901) #10
  br label %12903

12903:                                            ; preds = %12886, %12869
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  call void @exit(i32 noundef 1) #12
  unreachable

12906:                                            ; No predecessors!
  br label %12907

12907:                                            ; preds = %12906
  br label %12908

12908:                                            ; preds = %12907, %12850
  br label %12909

12909:                                            ; preds = %12908
  br label %12910

12910:                                            ; preds = %12909
  br label %12911

12911:                                            ; preds = %12910
  %12912 = load i32, ptr @test_count, align 4, !tbaa !5
  %12913 = add nsw i32 %12912, 1
  store i32 %12913, ptr @test_count, align 4, !tbaa !5
  %12914 = load ptr, ptr %227, align 8, !tbaa !9
  %12915 = call i32 @s2n_connection_free(ptr noundef %12914)
  %12916 = icmp eq i32 %12915, -1
  br i1 %12916, label %12917, label %12970

12917:                                            ; preds = %12911
  br label %12918

12918:                                            ; preds = %12917
  br label %12919

12919:                                            ; preds = %12918
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  %12920 = call ptr @__errno_location() #11
  %12921 = load i32, ptr %12920, align 4, !tbaa !5
  store i32 %12921, ptr %251, align 4, !tbaa !5
  %12922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12923 = call i32 @s2n_print_stacktrace(ptr noundef %12922)
  %12924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12925 = trunc i8 %12924 to i1
  br i1 %12925, label %12926, label %12948

12926:                                            ; preds = %12919
  %12927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12928 = call i32 @fileno(ptr noundef %12927) #10
  %12929 = call i32 @isatty(i32 noundef %12928) #10
  %12930 = icmp ne i32 %12929, 0
  br i1 %12930, label %12931, label %12948

12931:                                            ; preds = %12926
  %12932 = load i32, ptr %251, align 4, !tbaa !5
  %12933 = call ptr @__errno_location() #11
  store i32 %12932, ptr %12933, align 4, !tbaa !5
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = load i32, ptr @test_count, align 4, !tbaa !5
  %12936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror(i32 noundef %12937, ptr noundef @.str.4)
  %12939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror_debug(i32 noundef %12940, ptr noundef @.str.4)
  %12942 = call ptr @__errno_location() #11
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @strerror(i32 noundef %12943) #10
  %12945 = call ptr @__errno_location() #11
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12934, ptr noundef @.str.2, i32 noundef %12935, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 467, ptr noundef %12938, ptr noundef %12941, ptr noundef %12944, i32 noundef %12946) #10
  br label %12965

12948:                                            ; preds = %12926, %12919
  %12949 = load i32, ptr %251, align 4, !tbaa !5
  %12950 = call ptr @__errno_location() #11
  store i32 %12949, ptr %12950, align 4, !tbaa !5
  %12951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12952 = load i32, ptr @test_count, align 4, !tbaa !5
  %12953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call ptr @s2n_strerror(i32 noundef %12954, ptr noundef @.str.4)
  %12956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12957 = load i32, ptr %12956, align 4, !tbaa !5
  %12958 = call ptr @s2n_strerror_debug(i32 noundef %12957, ptr noundef @.str.4)
  %12959 = call ptr @__errno_location() #11
  %12960 = load i32, ptr %12959, align 4, !tbaa !5
  %12961 = call ptr @strerror(i32 noundef %12960) #10
  %12962 = call ptr @__errno_location() #11
  %12963 = load i32, ptr %12962, align 4, !tbaa !5
  %12964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12951, ptr noundef @.str.5, i32 noundef %12952, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 467, ptr noundef %12955, ptr noundef %12958, ptr noundef %12961, i32 noundef %12963) #10
  br label %12965

12965:                                            ; preds = %12948, %12931
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  br label %12966

12966:                                            ; preds = %12965
  br label %12967

12967:                                            ; preds = %12966
  call void @exit(i32 noundef 1) #12
  unreachable

12968:                                            ; No predecessors!
  br label %12969

12969:                                            ; preds = %12968
  br label %12970

12970:                                            ; preds = %12969, %12911
  br label %12971

12971:                                            ; preds = %12970
  br label %12972

12972:                                            ; preds = %12971
  call void @llvm.lifetime.end.p0(i64 1, ptr %237) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %235) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %225) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %252) #10
  store i8 0, ptr %252, align 1, !tbaa !19
  br label %12973

12973:                                            ; preds = %12972
  %12974 = load i32, ptr @test_count, align 4, !tbaa !5
  %12975 = add nsw i32 %12974, 1
  store i32 %12975, ptr @test_count, align 4, !tbaa !5
  %12976 = load i16, ptr @s2n_server_psk_extension, align 8, !tbaa !50
  %12977 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %12976, ptr noundef %252)
  %12978 = icmp eq i32 %12977, -1
  br i1 %12978, label %12979, label %13032

12979:                                            ; preds = %12973
  br label %12980

12980:                                            ; preds = %12979
  br label %12981

12981:                                            ; preds = %12980
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %12982 = call ptr @__errno_location() #11
  %12983 = load i32, ptr %12982, align 4, !tbaa !5
  store i32 %12983, ptr %253, align 4, !tbaa !5
  %12984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12985 = call i32 @s2n_print_stacktrace(ptr noundef %12984)
  %12986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12987 = trunc i8 %12986 to i1
  br i1 %12987, label %12988, label %13010

12988:                                            ; preds = %12981
  %12989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12990 = call i32 @fileno(ptr noundef %12989) #10
  %12991 = call i32 @isatty(i32 noundef %12990) #10
  %12992 = icmp ne i32 %12991, 0
  br i1 %12992, label %12993, label %13010

12993:                                            ; preds = %12988
  %12994 = load i32, ptr %253, align 4, !tbaa !5
  %12995 = call ptr @__errno_location() #11
  store i32 %12994, ptr %12995, align 4, !tbaa !5
  %12996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12997 = load i32, ptr @test_count, align 4, !tbaa !5
  %12998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12999 = load i32, ptr %12998, align 4, !tbaa !5
  %13000 = call ptr @s2n_strerror(i32 noundef %12999, ptr noundef @.str.4)
  %13001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13002 = load i32, ptr %13001, align 4, !tbaa !5
  %13003 = call ptr @s2n_strerror_debug(i32 noundef %13002, ptr noundef @.str.4)
  %13004 = call ptr @__errno_location() #11
  %13005 = load i32, ptr %13004, align 4, !tbaa !5
  %13006 = call ptr @strerror(i32 noundef %13005) #10
  %13007 = call ptr @__errno_location() #11
  %13008 = load i32, ptr %13007, align 4, !tbaa !5
  %13009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12996, ptr noundef @.str.2, i32 noundef %12997, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 473, ptr noundef %13000, ptr noundef %13003, ptr noundef %13006, i32 noundef %13008) #10
  br label %13027

13010:                                            ; preds = %12988, %12981
  %13011 = load i32, ptr %253, align 4, !tbaa !5
  %13012 = call ptr @__errno_location() #11
  store i32 %13011, ptr %13012, align 4, !tbaa !5
  %13013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13014 = load i32, ptr @test_count, align 4, !tbaa !5
  %13015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13016 = load i32, ptr %13015, align 4, !tbaa !5
  %13017 = call ptr @s2n_strerror(i32 noundef %13016, ptr noundef @.str.4)
  %13018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13019 = load i32, ptr %13018, align 4, !tbaa !5
  %13020 = call ptr @s2n_strerror_debug(i32 noundef %13019, ptr noundef @.str.4)
  %13021 = call ptr @__errno_location() #11
  %13022 = load i32, ptr %13021, align 4, !tbaa !5
  %13023 = call ptr @strerror(i32 noundef %13022) #10
  %13024 = call ptr @__errno_location() #11
  %13025 = load i32, ptr %13024, align 4, !tbaa !5
  %13026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13013, ptr noundef @.str.5, i32 noundef %13014, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 473, ptr noundef %13017, ptr noundef %13020, ptr noundef %13023, i32 noundef %13025) #10
  br label %13027

13027:                                            ; preds = %13010, %12993
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %13028

13028:                                            ; preds = %13027
  br label %13029

13029:                                            ; preds = %13028
  call void @exit(i32 noundef 1) #12
  unreachable

13030:                                            ; No predecessors!
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031, %12973
  br label %13033

13033:                                            ; preds = %13032
  br label %13034

13034:                                            ; preds = %13033
  call void @llvm.lifetime.start.p0(i64 168, ptr %254) #10
  call void @llvm.memset.p0.i64(ptr align 8 %254, i8 0, i64 168, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %255) #10
  store i64 0, ptr %255, align 8, !tbaa !61
  br label %13035

13035:                                            ; preds = %13719, %13034
  %13036 = load i64, ptr %255, align 8, !tbaa !61
  %13037 = icmp ult i64 %13036, 2
  br i1 %13037, label %13039, label %13038

13038:                                            ; preds = %13035
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #10
  br label %13722

13039:                                            ; preds = %13035
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #10
  %13040 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13040, ptr %256, align 8, !tbaa !9
  br label %13041

13041:                                            ; preds = %13039
  %13042 = load i32, ptr @test_count, align 4, !tbaa !5
  %13043 = add nsw i32 %13042, 1
  store i32 %13043, ptr @test_count, align 4, !tbaa !5
  %13044 = load ptr, ptr %256, align 8, !tbaa !9
  %13045 = icmp eq ptr %13044, null
  br i1 %13045, label %13046, label %13099

13046:                                            ; preds = %13041
  br label %13047

13047:                                            ; preds = %13046
  br label %13048

13048:                                            ; preds = %13047
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %13049 = call ptr @__errno_location() #11
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  store i32 %13050, ptr %257, align 4, !tbaa !5
  %13051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13052 = call i32 @s2n_print_stacktrace(ptr noundef %13051)
  %13053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13054 = trunc i8 %13053 to i1
  br i1 %13054, label %13055, label %13077

13055:                                            ; preds = %13048
  %13056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13057 = call i32 @fileno(ptr noundef %13056) #10
  %13058 = call i32 @isatty(i32 noundef %13057) #10
  %13059 = icmp ne i32 %13058, 0
  br i1 %13059, label %13060, label %13077

13060:                                            ; preds = %13055
  %13061 = load i32, ptr %257, align 4, !tbaa !5
  %13062 = call ptr @__errno_location() #11
  store i32 %13061, ptr %13062, align 4, !tbaa !5
  %13063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13064 = load i32, ptr @test_count, align 4, !tbaa !5
  %13065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13066 = load i32, ptr %13065, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror(i32 noundef %13066, ptr noundef @.str.4)
  %13068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @s2n_strerror_debug(i32 noundef %13069, ptr noundef @.str.4)
  %13071 = call ptr @__errno_location() #11
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @strerror(i32 noundef %13072) #10
  %13074 = call ptr @__errno_location() #11
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13063, ptr noundef @.str.2, i32 noundef %13064, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 479, ptr noundef %13067, ptr noundef %13070, ptr noundef %13073, i32 noundef %13075) #10
  br label %13094

13077:                                            ; preds = %13055, %13048
  %13078 = load i32, ptr %257, align 4, !tbaa !5
  %13079 = call ptr @__errno_location() #11
  store i32 %13078, ptr %13079, align 4, !tbaa !5
  %13080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13081 = load i32, ptr @test_count, align 4, !tbaa !5
  %13082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13083 = load i32, ptr %13082, align 4, !tbaa !5
  %13084 = call ptr @s2n_strerror(i32 noundef %13083, ptr noundef @.str.4)
  %13085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13086 = load i32, ptr %13085, align 4, !tbaa !5
  %13087 = call ptr @s2n_strerror_debug(i32 noundef %13086, ptr noundef @.str.4)
  %13088 = call ptr @__errno_location() #11
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call ptr @strerror(i32 noundef %13089) #10
  %13091 = call ptr @__errno_location() #11
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13080, ptr noundef @.str.5, i32 noundef %13081, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 479, ptr noundef %13084, ptr noundef %13087, ptr noundef %13090, i32 noundef %13092) #10
  br label %13094

13094:                                            ; preds = %13077, %13060
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %13095

13095:                                            ; preds = %13094
  br label %13096

13096:                                            ; preds = %13095
  call void @exit(i32 noundef 1) #12
  unreachable

13097:                                            ; No predecessors!
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

13099:                                            ; preds = %13098, %13041
  br label %13100

13100:                                            ; preds = %13099
  br label %13101

13101:                                            ; preds = %13100
  br label %13102

13102:                                            ; preds = %13101
  %13103 = load i32, ptr @test_count, align 4, !tbaa !5
  %13104 = add nsw i32 %13103, 1
  store i32 %13104, ptr @test_count, align 4, !tbaa !5
  %13105 = load ptr, ptr %256, align 8, !tbaa !9
  %13106 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %13105)
  %13107 = icmp eq i32 %13106, -1
  br i1 %13107, label %13108, label %13161

13108:                                            ; preds = %13102
  br label %13109

13109:                                            ; preds = %13108
  br label %13110

13110:                                            ; preds = %13109
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %13111 = call ptr @__errno_location() #11
  %13112 = load i32, ptr %13111, align 4, !tbaa !5
  store i32 %13112, ptr %258, align 4, !tbaa !5
  %13113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13114 = call i32 @s2n_print_stacktrace(ptr noundef %13113)
  %13115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13116 = trunc i8 %13115 to i1
  br i1 %13116, label %13117, label %13139

13117:                                            ; preds = %13110
  %13118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13119 = call i32 @fileno(ptr noundef %13118) #10
  %13120 = call i32 @isatty(i32 noundef %13119) #10
  %13121 = icmp ne i32 %13120, 0
  br i1 %13121, label %13122, label %13139

13122:                                            ; preds = %13117
  %13123 = load i32, ptr %258, align 4, !tbaa !5
  %13124 = call ptr @__errno_location() #11
  store i32 %13123, ptr %13124, align 4, !tbaa !5
  %13125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13126 = load i32, ptr @test_count, align 4, !tbaa !5
  %13127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  %13129 = call ptr @s2n_strerror(i32 noundef %13128, ptr noundef @.str.4)
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror_debug(i32 noundef %13131, ptr noundef @.str.4)
  %13133 = call ptr @__errno_location() #11
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @strerror(i32 noundef %13134) #10
  %13136 = call ptr @__errno_location() #11
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13125, ptr noundef @.str.2, i32 noundef %13126, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 480, ptr noundef %13129, ptr noundef %13132, ptr noundef %13135, i32 noundef %13137) #10
  br label %13156

13139:                                            ; preds = %13117, %13110
  %13140 = load i32, ptr %258, align 4, !tbaa !5
  %13141 = call ptr @__errno_location() #11
  store i32 %13140, ptr %13141, align 4, !tbaa !5
  %13142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13143 = load i32, ptr @test_count, align 4, !tbaa !5
  %13144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13145 = load i32, ptr %13144, align 4, !tbaa !5
  %13146 = call ptr @s2n_strerror(i32 noundef %13145, ptr noundef @.str.4)
  %13147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  %13149 = call ptr @s2n_strerror_debug(i32 noundef %13148, ptr noundef @.str.4)
  %13150 = call ptr @__errno_location() #11
  %13151 = load i32, ptr %13150, align 4, !tbaa !5
  %13152 = call ptr @strerror(i32 noundef %13151) #10
  %13153 = call ptr @__errno_location() #11
  %13154 = load i32, ptr %13153, align 4, !tbaa !5
  %13155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13142, ptr noundef @.str.5, i32 noundef %13143, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 480, ptr noundef %13146, ptr noundef %13149, ptr noundef %13152, i32 noundef %13154) #10
  br label %13156

13156:                                            ; preds = %13139, %13122
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %13157

13157:                                            ; preds = %13156
  br label %13158

13158:                                            ; preds = %13157
  call void @exit(i32 noundef 1) #12
  unreachable

13159:                                            ; No predecessors!
  br label %13160

13160:                                            ; preds = %13159
  br label %13161

13161:                                            ; preds = %13160, %13102
  br label %13162

13162:                                            ; preds = %13161
  br label %13163

13163:                                            ; preds = %13162
  %13164 = load ptr, ptr %256, align 8, !tbaa !9
  %13165 = getelementptr inbounds %struct.s2n_connection, ptr %13164, i32 0, i32 23
  store i8 34, ptr %13165, align 4, !tbaa !55
  br label %13166

13166:                                            ; preds = %13163
  %13167 = load i32, ptr @test_count, align 4, !tbaa !5
  %13168 = add nsw i32 %13167, 1
  store i32 %13168, ptr @test_count, align 4, !tbaa !5
  %13169 = load ptr, ptr %256, align 8, !tbaa !9
  %13170 = call i32 @s2n_conn_choose_state_machine(ptr noundef %13169, i8 noundef zeroext 34)
  %13171 = getelementptr inbounds %struct.s2n_result, ptr %259, i32 0, i32 0
  store i32 %13170, ptr %13171, align 4
  %13172 = getelementptr inbounds %struct.s2n_result, ptr %259, i32 0, i32 0
  %13173 = load i32, ptr %13172, align 4
  %13174 = call zeroext i1 @s2n_result_is_ok(i32 %13173)
  br i1 %13174, label %13228, label %13175

13175:                                            ; preds = %13166
  br label %13176

13176:                                            ; preds = %13175
  br label %13177

13177:                                            ; preds = %13176
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %13178 = call ptr @__errno_location() #11
  %13179 = load i32, ptr %13178, align 4, !tbaa !5
  store i32 %13179, ptr %260, align 4, !tbaa !5
  %13180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13181 = call i32 @s2n_print_stacktrace(ptr noundef %13180)
  %13182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13183 = trunc i8 %13182 to i1
  br i1 %13183, label %13184, label %13206

13184:                                            ; preds = %13177
  %13185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13186 = call i32 @fileno(ptr noundef %13185) #10
  %13187 = call i32 @isatty(i32 noundef %13186) #10
  %13188 = icmp ne i32 %13187, 0
  br i1 %13188, label %13189, label %13206

13189:                                            ; preds = %13184
  %13190 = load i32, ptr %260, align 4, !tbaa !5
  %13191 = call ptr @__errno_location() #11
  store i32 %13190, ptr %13191, align 4, !tbaa !5
  %13192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13193 = load i32, ptr @test_count, align 4, !tbaa !5
  %13194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13195 = load i32, ptr %13194, align 4, !tbaa !5
  %13196 = call ptr @s2n_strerror(i32 noundef %13195, ptr noundef @.str.4)
  %13197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13198 = load i32, ptr %13197, align 4, !tbaa !5
  %13199 = call ptr @s2n_strerror_debug(i32 noundef %13198, ptr noundef @.str.4)
  %13200 = call ptr @__errno_location() #11
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call ptr @strerror(i32 noundef %13201) #10
  %13203 = call ptr @__errno_location() #11
  %13204 = load i32, ptr %13203, align 4, !tbaa !5
  %13205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13192, ptr noundef @.str.2, i32 noundef %13193, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 482, ptr noundef %13196, ptr noundef %13199, ptr noundef %13202, i32 noundef %13204) #10
  br label %13223

13206:                                            ; preds = %13184, %13177
  %13207 = load i32, ptr %260, align 4, !tbaa !5
  %13208 = call ptr @__errno_location() #11
  store i32 %13207, ptr %13208, align 4, !tbaa !5
  %13209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13210 = load i32, ptr @test_count, align 4, !tbaa !5
  %13211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13212 = load i32, ptr %13211, align 4, !tbaa !5
  %13213 = call ptr @s2n_strerror(i32 noundef %13212, ptr noundef @.str.4)
  %13214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call ptr @s2n_strerror_debug(i32 noundef %13215, ptr noundef @.str.4)
  %13217 = call ptr @__errno_location() #11
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call ptr @strerror(i32 noundef %13218) #10
  %13220 = call ptr @__errno_location() #11
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  %13222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13209, ptr noundef @.str.5, i32 noundef %13210, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 482, ptr noundef %13213, ptr noundef %13216, ptr noundef %13219, i32 noundef %13221) #10
  br label %13223

13223:                                            ; preds = %13206, %13189
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %13224

13224:                                            ; preds = %13223
  br label %13225

13225:                                            ; preds = %13224
  call void @exit(i32 noundef 1) #12
  unreachable

13226:                                            ; No predecessors!
  br label %13227

13227:                                            ; preds = %13226
  br label %13228

13228:                                            ; preds = %13227, %13166
  br label %13229

13229:                                            ; preds = %13228
  br label %13230

13230:                                            ; preds = %13229
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  %13231 = load ptr, ptr %256, align 8, !tbaa !9
  %13232 = getelementptr inbounds %struct.s2n_connection, ptr %13231, i32 0, i32 52
  %13233 = getelementptr inbounds %struct.s2n_handshake, ptr %13232, i32 0, i32 0
  store ptr %13233, ptr %261, align 8, !tbaa !9
  %13234 = load ptr, ptr %256, align 8, !tbaa !9
  %13235 = getelementptr inbounds %struct.s2n_connection, ptr %13234, i32 0, i32 33
  %13236 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13235, i32 0, i32 4
  store ptr %254, ptr %13236, align 8, !tbaa !62
  %13237 = load i8, ptr %252, align 1, !tbaa !19
  %13238 = zext i8 %13237 to i32
  %13239 = srem i32 %13238, 8
  %13240 = shl i32 1, %13239
  %13241 = xor i32 %13240, -1
  %13242 = load ptr, ptr %256, align 8, !tbaa !9
  %13243 = getelementptr inbounds %struct.s2n_connection, ptr %13242, i32 0, i32 10
  %13244 = load i8, ptr %252, align 1, !tbaa !19
  %13245 = zext i8 %13244 to i32
  %13246 = ashr i32 %13245, 3
  %13247 = sext i32 %13246 to i64
  %13248 = getelementptr inbounds [22 x i8], ptr %13243, i64 0, i64 %13247
  %13249 = load i8, ptr %13248, align 1, !tbaa !19
  %13250 = sext i8 %13249 to i32
  %13251 = and i32 %13250, %13241
  %13252 = trunc i32 %13251 to i8
  store i8 %13252, ptr %13248, align 1, !tbaa !19
  br label %13253

13253:                                            ; preds = %13230
  %13254 = load i32, ptr @test_count, align 4, !tbaa !5
  %13255 = add nsw i32 %13254, 1
  store i32 %13255, ptr @test_count, align 4, !tbaa !5
  %13256 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_psk_extension, i32 0, i32 5), align 8, !tbaa !63
  %13257 = load ptr, ptr %256, align 8, !tbaa !9
  %13258 = call zeroext i1 %13256(ptr noundef %13257)
  br i1 %13258, label %13312, label %13259

13259:                                            ; preds = %13253
  br label %13260

13260:                                            ; preds = %13259
  br label %13261

13261:                                            ; preds = %13260
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %13262 = call ptr @__errno_location() #11
  %13263 = load i32, ptr %13262, align 4, !tbaa !5
  store i32 %13263, ptr %262, align 4, !tbaa !5
  %13264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13265 = call i32 @s2n_print_stacktrace(ptr noundef %13264)
  %13266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13267 = trunc i8 %13266 to i1
  br i1 %13267, label %13268, label %13290

13268:                                            ; preds = %13261
  %13269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13270 = call i32 @fileno(ptr noundef %13269) #10
  %13271 = call i32 @isatty(i32 noundef %13270) #10
  %13272 = icmp ne i32 %13271, 0
  br i1 %13272, label %13273, label %13290

13273:                                            ; preds = %13268
  %13274 = load i32, ptr %262, align 4, !tbaa !5
  %13275 = call ptr @__errno_location() #11
  store i32 %13274, ptr %13275, align 4, !tbaa !5
  %13276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13277 = load i32, ptr @test_count, align 4, !tbaa !5
  %13278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13279 = load i32, ptr %13278, align 4, !tbaa !5
  %13280 = call ptr @s2n_strerror(i32 noundef %13279, ptr noundef @.str.4)
  %13281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13282 = load i32, ptr %13281, align 4, !tbaa !5
  %13283 = call ptr @s2n_strerror_debug(i32 noundef %13282, ptr noundef @.str.4)
  %13284 = call ptr @__errno_location() #11
  %13285 = load i32, ptr %13284, align 4, !tbaa !5
  %13286 = call ptr @strerror(i32 noundef %13285) #10
  %13287 = call ptr @__errno_location() #11
  %13288 = load i32, ptr %13287, align 4, !tbaa !5
  %13289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13276, ptr noundef @.str.2, i32 noundef %13277, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 489, ptr noundef %13280, ptr noundef %13283, ptr noundef %13286, i32 noundef %13288) #10
  br label %13307

13290:                                            ; preds = %13268, %13261
  %13291 = load i32, ptr %262, align 4, !tbaa !5
  %13292 = call ptr @__errno_location() #11
  store i32 %13291, ptr %13292, align 4, !tbaa !5
  %13293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13294 = load i32, ptr @test_count, align 4, !tbaa !5
  %13295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13296 = load i32, ptr %13295, align 4, !tbaa !5
  %13297 = call ptr @s2n_strerror(i32 noundef %13296, ptr noundef @.str.4)
  %13298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13299 = load i32, ptr %13298, align 4, !tbaa !5
  %13300 = call ptr @s2n_strerror_debug(i32 noundef %13299, ptr noundef @.str.4)
  %13301 = call ptr @__errno_location() #11
  %13302 = load i32, ptr %13301, align 4, !tbaa !5
  %13303 = call ptr @strerror(i32 noundef %13302) #10
  %13304 = call ptr @__errno_location() #11
  %13305 = load i32, ptr %13304, align 4, !tbaa !5
  %13306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13293, ptr noundef @.str.5, i32 noundef %13294, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 489, ptr noundef %13297, ptr noundef %13300, ptr noundef %13303, i32 noundef %13305) #10
  br label %13307

13307:                                            ; preds = %13290, %13273
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %13308

13308:                                            ; preds = %13307
  br label %13309

13309:                                            ; preds = %13308
  call void @exit(i32 noundef 1) #12
  unreachable

13310:                                            ; No predecessors!
  br label %13311

13311:                                            ; preds = %13310
  br label %13312

13312:                                            ; preds = %13311, %13253
  br label %13313

13313:                                            ; preds = %13312
  br label %13314

13314:                                            ; preds = %13313
  %13315 = load ptr, ptr %256, align 8, !tbaa !9
  %13316 = getelementptr inbounds %struct.s2n_connection, ptr %13315, i32 0, i32 27
  %13317 = load ptr, ptr %13316, align 8, !tbaa !64
  %13318 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13317, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13318, align 8, !tbaa !65
  %13319 = load ptr, ptr %256, align 8, !tbaa !9
  %13320 = getelementptr inbounds %struct.s2n_connection, ptr %13319, i32 0, i32 31
  %13321 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %13320, i32 0, i32 1
  %13322 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %13321, i32 0, i32 0
  store ptr @s2n_ecc_curve_secp256r1, ptr %13322, align 8, !tbaa !54
  %13323 = load ptr, ptr %256, align 8, !tbaa !9
  %13324 = getelementptr inbounds %struct.s2n_connection, ptr %13323, i32 0, i32 31
  %13325 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %13324, i32 0, i32 3
  %13326 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %13325, i32 0, i32 0
  store ptr @s2n_ecc_curve_secp256r1, ptr %13326, align 8, !tbaa !56
  br label %13327

13327:                                            ; preds = %13314
  %13328 = load i32, ptr @test_count, align 4, !tbaa !5
  %13329 = add nsw i32 %13328, 1
  store i32 %13329, ptr @test_count, align 4, !tbaa !5
  %13330 = load ptr, ptr %256, align 8, !tbaa !9
  %13331 = getelementptr inbounds %struct.s2n_connection, ptr %13330, i32 0, i32 31
  %13332 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %13331, i32 0, i32 3
  %13333 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %13332)
  %13334 = icmp eq i32 %13333, -1
  br i1 %13334, label %13335, label %13388

13335:                                            ; preds = %13327
  br label %13336

13336:                                            ; preds = %13335
  br label %13337

13337:                                            ; preds = %13336
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %13338 = call ptr @__errno_location() #11
  %13339 = load i32, ptr %13338, align 4, !tbaa !5
  store i32 %13339, ptr %263, align 4, !tbaa !5
  %13340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13341 = call i32 @s2n_print_stacktrace(ptr noundef %13340)
  %13342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13343 = trunc i8 %13342 to i1
  br i1 %13343, label %13344, label %13366

13344:                                            ; preds = %13337
  %13345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13346 = call i32 @fileno(ptr noundef %13345) #10
  %13347 = call i32 @isatty(i32 noundef %13346) #10
  %13348 = icmp ne i32 %13347, 0
  br i1 %13348, label %13349, label %13366

13349:                                            ; preds = %13344
  %13350 = load i32, ptr %263, align 4, !tbaa !5
  %13351 = call ptr @__errno_location() #11
  store i32 %13350, ptr %13351, align 4, !tbaa !5
  %13352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13353 = load i32, ptr @test_count, align 4, !tbaa !5
  %13354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13355 = load i32, ptr %13354, align 4, !tbaa !5
  %13356 = call ptr @s2n_strerror(i32 noundef %13355, ptr noundef @.str.4)
  %13357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13358 = load i32, ptr %13357, align 4, !tbaa !5
  %13359 = call ptr @s2n_strerror_debug(i32 noundef %13358, ptr noundef @.str.4)
  %13360 = call ptr @__errno_location() #11
  %13361 = load i32, ptr %13360, align 4, !tbaa !5
  %13362 = call ptr @strerror(i32 noundef %13361) #10
  %13363 = call ptr @__errno_location() #11
  %13364 = load i32, ptr %13363, align 4, !tbaa !5
  %13365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13352, ptr noundef @.str.2, i32 noundef %13353, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 495, ptr noundef %13356, ptr noundef %13359, ptr noundef %13362, i32 noundef %13364) #10
  br label %13383

13366:                                            ; preds = %13344, %13337
  %13367 = load i32, ptr %263, align 4, !tbaa !5
  %13368 = call ptr @__errno_location() #11
  store i32 %13367, ptr %13368, align 4, !tbaa !5
  %13369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13370 = load i32, ptr @test_count, align 4, !tbaa !5
  %13371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13372 = load i32, ptr %13371, align 4, !tbaa !5
  %13373 = call ptr @s2n_strerror(i32 noundef %13372, ptr noundef @.str.4)
  %13374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13375 = load i32, ptr %13374, align 4, !tbaa !5
  %13376 = call ptr @s2n_strerror_debug(i32 noundef %13375, ptr noundef @.str.4)
  %13377 = call ptr @__errno_location() #11
  %13378 = load i32, ptr %13377, align 4, !tbaa !5
  %13379 = call ptr @strerror(i32 noundef %13378) #10
  %13380 = call ptr @__errno_location() #11
  %13381 = load i32, ptr %13380, align 4, !tbaa !5
  %13382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13369, ptr noundef @.str.5, i32 noundef %13370, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 495, ptr noundef %13373, ptr noundef %13376, ptr noundef %13379, i32 noundef %13381) #10
  br label %13383

13383:                                            ; preds = %13366, %13349
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %13384

13384:                                            ; preds = %13383
  br label %13385

13385:                                            ; preds = %13384
  call void @exit(i32 noundef 1) #12
  unreachable

13386:                                            ; No predecessors!
  br label %13387

13387:                                            ; preds = %13386
  br label %13388

13388:                                            ; preds = %13387, %13327
  br label %13389

13389:                                            ; preds = %13388
  br label %13390

13390:                                            ; preds = %13389
  %13391 = load i64, ptr %255, align 8, !tbaa !61
  %13392 = icmp ne i64 %13391, 0
  br i1 %13392, label %13393, label %13456

13393:                                            ; preds = %13390
  br label %13394

13394:                                            ; preds = %13393
  %13395 = load i32, ptr @test_count, align 4, !tbaa !5
  %13396 = add nsw i32 %13395, 1
  store i32 %13396, ptr @test_count, align 4, !tbaa !5
  %13397 = load ptr, ptr %256, align 8, !tbaa !9
  %13398 = call i32 @s2n_set_connection_hello_retry_flags(ptr noundef %13397)
  %13399 = icmp eq i32 %13398, -1
  br i1 %13399, label %13400, label %13453

13400:                                            ; preds = %13394
  br label %13401

13401:                                            ; preds = %13400
  br label %13402

13402:                                            ; preds = %13401
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %13403 = call ptr @__errno_location() #11
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  store i32 %13404, ptr %264, align 4, !tbaa !5
  %13405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13406 = call i32 @s2n_print_stacktrace(ptr noundef %13405)
  %13407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13408 = trunc i8 %13407 to i1
  br i1 %13408, label %13409, label %13431

13409:                                            ; preds = %13402
  %13410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13411 = call i32 @fileno(ptr noundef %13410) #10
  %13412 = call i32 @isatty(i32 noundef %13411) #10
  %13413 = icmp ne i32 %13412, 0
  br i1 %13413, label %13414, label %13431

13414:                                            ; preds = %13409
  %13415 = load i32, ptr %264, align 4, !tbaa !5
  %13416 = call ptr @__errno_location() #11
  store i32 %13415, ptr %13416, align 4, !tbaa !5
  %13417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13418 = load i32, ptr @test_count, align 4, !tbaa !5
  %13419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13420 = load i32, ptr %13419, align 4, !tbaa !5
  %13421 = call ptr @s2n_strerror(i32 noundef %13420, ptr noundef @.str.4)
  %13422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13423 = load i32, ptr %13422, align 4, !tbaa !5
  %13424 = call ptr @s2n_strerror_debug(i32 noundef %13423, ptr noundef @.str.4)
  %13425 = call ptr @__errno_location() #11
  %13426 = load i32, ptr %13425, align 4, !tbaa !5
  %13427 = call ptr @strerror(i32 noundef %13426) #10
  %13428 = call ptr @__errno_location() #11
  %13429 = load i32, ptr %13428, align 4, !tbaa !5
  %13430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13417, ptr noundef @.str.2, i32 noundef %13418, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 498, ptr noundef %13421, ptr noundef %13424, ptr noundef %13427, i32 noundef %13429) #10
  br label %13448

13431:                                            ; preds = %13409, %13402
  %13432 = load i32, ptr %264, align 4, !tbaa !5
  %13433 = call ptr @__errno_location() #11
  store i32 %13432, ptr %13433, align 4, !tbaa !5
  %13434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13435 = load i32, ptr @test_count, align 4, !tbaa !5
  %13436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13437 = load i32, ptr %13436, align 4, !tbaa !5
  %13438 = call ptr @s2n_strerror(i32 noundef %13437, ptr noundef @.str.4)
  %13439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13440 = load i32, ptr %13439, align 4, !tbaa !5
  %13441 = call ptr @s2n_strerror_debug(i32 noundef %13440, ptr noundef @.str.4)
  %13442 = call ptr @__errno_location() #11
  %13443 = load i32, ptr %13442, align 4, !tbaa !5
  %13444 = call ptr @strerror(i32 noundef %13443) #10
  %13445 = call ptr @__errno_location() #11
  %13446 = load i32, ptr %13445, align 4, !tbaa !5
  %13447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13434, ptr noundef @.str.5, i32 noundef %13435, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 498, ptr noundef %13438, ptr noundef %13441, ptr noundef %13444, i32 noundef %13446) #10
  br label %13448

13448:                                            ; preds = %13431, %13414
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %13449

13449:                                            ; preds = %13448
  br label %13450

13450:                                            ; preds = %13449
  call void @exit(i32 noundef 1) #12
  unreachable

13451:                                            ; No predecessors!
  br label %13452

13452:                                            ; preds = %13451
  br label %13453

13453:                                            ; preds = %13452, %13394
  br label %13454

13454:                                            ; preds = %13453
  br label %13455

13455:                                            ; preds = %13454
  br label %13456

13456:                                            ; preds = %13455, %13390
  br label %13457

13457:                                            ; preds = %13456
  %13458 = load i32, ptr @test_count, align 4, !tbaa !5
  %13459 = add nsw i32 %13458, 1
  store i32 %13459, ptr @test_count, align 4, !tbaa !5
  %13460 = load ptr, ptr %256, align 8, !tbaa !9
  %13461 = load ptr, ptr %261, align 8, !tbaa !9
  %13462 = call i32 @s2n_server_extensions_send(ptr noundef %13460, ptr noundef %13461)
  %13463 = icmp eq i32 %13462, -1
  br i1 %13463, label %13464, label %13517

13464:                                            ; preds = %13457
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %13467 = call ptr @__errno_location() #11
  %13468 = load i32, ptr %13467, align 4, !tbaa !5
  store i32 %13468, ptr %265, align 4, !tbaa !5
  %13469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13470 = call i32 @s2n_print_stacktrace(ptr noundef %13469)
  %13471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13472 = trunc i8 %13471 to i1
  br i1 %13472, label %13473, label %13495

13473:                                            ; preds = %13466
  %13474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13475 = call i32 @fileno(ptr noundef %13474) #10
  %13476 = call i32 @isatty(i32 noundef %13475) #10
  %13477 = icmp ne i32 %13476, 0
  br i1 %13477, label %13478, label %13495

13478:                                            ; preds = %13473
  %13479 = load i32, ptr %265, align 4, !tbaa !5
  %13480 = call ptr @__errno_location() #11
  store i32 %13479, ptr %13480, align 4, !tbaa !5
  %13481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13482 = load i32, ptr @test_count, align 4, !tbaa !5
  %13483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror(i32 noundef %13484, ptr noundef @.str.4)
  %13486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @s2n_strerror_debug(i32 noundef %13487, ptr noundef @.str.4)
  %13489 = call ptr @__errno_location() #11
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call ptr @strerror(i32 noundef %13490) #10
  %13492 = call ptr @__errno_location() #11
  %13493 = load i32, ptr %13492, align 4, !tbaa !5
  %13494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13481, ptr noundef @.str.2, i32 noundef %13482, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 501, ptr noundef %13485, ptr noundef %13488, ptr noundef %13491, i32 noundef %13493) #10
  br label %13512

13495:                                            ; preds = %13473, %13466
  %13496 = load i32, ptr %265, align 4, !tbaa !5
  %13497 = call ptr @__errno_location() #11
  store i32 %13496, ptr %13497, align 4, !tbaa !5
  %13498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13499 = load i32, ptr @test_count, align 4, !tbaa !5
  %13500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @s2n_strerror(i32 noundef %13501, ptr noundef @.str.4)
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call ptr @s2n_strerror_debug(i32 noundef %13504, ptr noundef @.str.4)
  %13506 = call ptr @__errno_location() #11
  %13507 = load i32, ptr %13506, align 4, !tbaa !5
  %13508 = call ptr @strerror(i32 noundef %13507) #10
  %13509 = call ptr @__errno_location() #11
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13498, ptr noundef @.str.5, i32 noundef %13499, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 501, ptr noundef %13502, ptr noundef %13505, ptr noundef %13508, i32 noundef %13510) #10
  br label %13512

13512:                                            ; preds = %13495, %13478
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

13514:                                            ; preds = %13513
  call void @exit(i32 noundef 1) #12
  unreachable

13515:                                            ; No predecessors!
  br label %13516

13516:                                            ; preds = %13515
  br label %13517

13517:                                            ; preds = %13516, %13457
  br label %13518

13518:                                            ; preds = %13517
  br label %13519

13519:                                            ; preds = %13518
  call void @llvm.lifetime.start.p0(i64 704, ptr %266) #10
  call void @llvm.memset.p0.i64(ptr align 8 %266, i8 0, i64 704, i1 false)
  br label %13520

13520:                                            ; preds = %13519
  %13521 = load i32, ptr @test_count, align 4, !tbaa !5
  %13522 = add nsw i32 %13521, 1
  store i32 %13522, ptr @test_count, align 4, !tbaa !5
  %13523 = load ptr, ptr %261, align 8, !tbaa !9
  %13524 = call i32 @s2n_extension_list_parse(ptr noundef %13523, ptr noundef %266)
  %13525 = icmp eq i32 %13524, -1
  br i1 %13525, label %13526, label %13579

13526:                                            ; preds = %13520
  br label %13527

13527:                                            ; preds = %13526
  br label %13528

13528:                                            ; preds = %13527
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #10
  %13529 = call ptr @__errno_location() #11
  %13530 = load i32, ptr %13529, align 4, !tbaa !5
  store i32 %13530, ptr %267, align 4, !tbaa !5
  %13531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13532 = call i32 @s2n_print_stacktrace(ptr noundef %13531)
  %13533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13534 = trunc i8 %13533 to i1
  br i1 %13534, label %13535, label %13557

13535:                                            ; preds = %13528
  %13536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13537 = call i32 @fileno(ptr noundef %13536) #10
  %13538 = call i32 @isatty(i32 noundef %13537) #10
  %13539 = icmp ne i32 %13538, 0
  br i1 %13539, label %13540, label %13557

13540:                                            ; preds = %13535
  %13541 = load i32, ptr %267, align 4, !tbaa !5
  %13542 = call ptr @__errno_location() #11
  store i32 %13541, ptr %13542, align 4, !tbaa !5
  %13543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13544 = load i32, ptr @test_count, align 4, !tbaa !5
  %13545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13546 = load i32, ptr %13545, align 4, !tbaa !5
  %13547 = call ptr @s2n_strerror(i32 noundef %13546, ptr noundef @.str.4)
  %13548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13549 = load i32, ptr %13548, align 4, !tbaa !5
  %13550 = call ptr @s2n_strerror_debug(i32 noundef %13549, ptr noundef @.str.4)
  %13551 = call ptr @__errno_location() #11
  %13552 = load i32, ptr %13551, align 4, !tbaa !5
  %13553 = call ptr @strerror(i32 noundef %13552) #10
  %13554 = call ptr @__errno_location() #11
  %13555 = load i32, ptr %13554, align 4, !tbaa !5
  %13556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13543, ptr noundef @.str.2, i32 noundef %13544, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 504, ptr noundef %13547, ptr noundef %13550, ptr noundef %13553, i32 noundef %13555) #10
  br label %13574

13557:                                            ; preds = %13535, %13528
  %13558 = load i32, ptr %267, align 4, !tbaa !5
  %13559 = call ptr @__errno_location() #11
  store i32 %13558, ptr %13559, align 4, !tbaa !5
  %13560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13561 = load i32, ptr @test_count, align 4, !tbaa !5
  %13562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13563 = load i32, ptr %13562, align 4, !tbaa !5
  %13564 = call ptr @s2n_strerror(i32 noundef %13563, ptr noundef @.str.4)
  %13565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @s2n_strerror_debug(i32 noundef %13566, ptr noundef @.str.4)
  %13568 = call ptr @__errno_location() #11
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @strerror(i32 noundef %13569) #10
  %13571 = call ptr @__errno_location() #11
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13560, ptr noundef @.str.5, i32 noundef %13561, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 504, ptr noundef %13564, ptr noundef %13567, ptr noundef %13570, i32 noundef %13572) #10
  br label %13574

13574:                                            ; preds = %13557, %13540
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #10
  br label %13575

13575:                                            ; preds = %13574
  br label %13576

13576:                                            ; preds = %13575
  call void @exit(i32 noundef 1) #12
  unreachable

13577:                                            ; No predecessors!
  br label %13578

13578:                                            ; preds = %13577
  br label %13579

13579:                                            ; preds = %13578, %13520
  br label %13580

13580:                                            ; preds = %13579
  br label %13581

13581:                                            ; preds = %13580
  call void @llvm.lifetime.start.p0(i64 1, ptr %268) #10
  %13582 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %266, i32 0, i32 0
  %13583 = load i8, ptr %252, align 1, !tbaa !19
  %13584 = zext i8 %13583 to i64
  %13585 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %13582, i64 0, i64 %13584
  %13586 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %13585, i32 0, i32 1
  %13587 = load i16, ptr %13586, align 8, !tbaa !70
  %13588 = zext i16 %13587 to i32
  %13589 = load i16, ptr @s2n_server_psk_extension, align 8, !tbaa !50
  %13590 = zext i16 %13589 to i32
  %13591 = icmp eq i32 %13588, %13590
  %13592 = zext i1 %13591 to i8
  store i8 %13592, ptr %268, align 1, !tbaa !11
  br label %13593

13593:                                            ; preds = %13581
  %13594 = load i32, ptr @test_count, align 4, !tbaa !5
  %13595 = add nsw i32 %13594, 1
  store i32 %13595, ptr @test_count, align 4, !tbaa !5
  %13596 = load i8, ptr %268, align 1, !tbaa !11, !range !13, !noundef !14
  %13597 = trunc i8 %13596 to i1
  %13598 = zext i1 %13597 to i64
  %13599 = load i64, ptr %255, align 8, !tbaa !61
  %13600 = icmp eq i64 %13598, %13599
  br i1 %13600, label %13601, label %13654

13601:                                            ; preds = %13593
  br label %13602

13602:                                            ; preds = %13601
  br label %13603

13603:                                            ; preds = %13602
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #10
  %13604 = call ptr @__errno_location() #11
  %13605 = load i32, ptr %13604, align 4, !tbaa !5
  store i32 %13605, ptr %269, align 4, !tbaa !5
  %13606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13607 = call i32 @s2n_print_stacktrace(ptr noundef %13606)
  %13608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13609 = trunc i8 %13608 to i1
  br i1 %13609, label %13610, label %13632

13610:                                            ; preds = %13603
  %13611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13612 = call i32 @fileno(ptr noundef %13611) #10
  %13613 = call i32 @isatty(i32 noundef %13612) #10
  %13614 = icmp ne i32 %13613, 0
  br i1 %13614, label %13615, label %13632

13615:                                            ; preds = %13610
  %13616 = load i32, ptr %269, align 4, !tbaa !5
  %13617 = call ptr @__errno_location() #11
  store i32 %13616, ptr %13617, align 4, !tbaa !5
  %13618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13619 = load i32, ptr @test_count, align 4, !tbaa !5
  %13620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13621 = load i32, ptr %13620, align 4, !tbaa !5
  %13622 = call ptr @s2n_strerror(i32 noundef %13621, ptr noundef @.str.4)
  %13623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13624 = load i32, ptr %13623, align 4, !tbaa !5
  %13625 = call ptr @s2n_strerror_debug(i32 noundef %13624, ptr noundef @.str.4)
  %13626 = call ptr @__errno_location() #11
  %13627 = load i32, ptr %13626, align 4, !tbaa !5
  %13628 = call ptr @strerror(i32 noundef %13627) #10
  %13629 = call ptr @__errno_location() #11
  %13630 = load i32, ptr %13629, align 4, !tbaa !5
  %13631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13618, ptr noundef @.str.2, i32 noundef %13619, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 508, ptr noundef %13622, ptr noundef %13625, ptr noundef %13628, i32 noundef %13630) #10
  br label %13649

13632:                                            ; preds = %13610, %13603
  %13633 = load i32, ptr %269, align 4, !tbaa !5
  %13634 = call ptr @__errno_location() #11
  store i32 %13633, ptr %13634, align 4, !tbaa !5
  %13635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13636 = load i32, ptr @test_count, align 4, !tbaa !5
  %13637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call ptr @s2n_strerror(i32 noundef %13638, ptr noundef @.str.4)
  %13640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13641 = load i32, ptr %13640, align 4, !tbaa !5
  %13642 = call ptr @s2n_strerror_debug(i32 noundef %13641, ptr noundef @.str.4)
  %13643 = call ptr @__errno_location() #11
  %13644 = load i32, ptr %13643, align 4, !tbaa !5
  %13645 = call ptr @strerror(i32 noundef %13644) #10
  %13646 = call ptr @__errno_location() #11
  %13647 = load i32, ptr %13646, align 4, !tbaa !5
  %13648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13635, ptr noundef @.str.5, i32 noundef %13636, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 508, ptr noundef %13639, ptr noundef %13642, ptr noundef %13645, i32 noundef %13647) #10
  br label %13649

13649:                                            ; preds = %13632, %13615
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #10
  br label %13650

13650:                                            ; preds = %13649
  br label %13651

13651:                                            ; preds = %13650
  call void @exit(i32 noundef 1) #12
  unreachable

13652:                                            ; No predecessors!
  br label %13653

13653:                                            ; preds = %13652
  br label %13654

13654:                                            ; preds = %13653, %13593
  br label %13655

13655:                                            ; preds = %13654
  br label %13656

13656:                                            ; preds = %13655
  br label %13657

13657:                                            ; preds = %13656
  %13658 = load i32, ptr @test_count, align 4, !tbaa !5
  %13659 = add nsw i32 %13658, 1
  store i32 %13659, ptr @test_count, align 4, !tbaa !5
  %13660 = load ptr, ptr %256, align 8, !tbaa !9
  %13661 = call i32 @s2n_connection_free(ptr noundef %13660)
  %13662 = icmp eq i32 %13661, -1
  br i1 %13662, label %13663, label %13716

13663:                                            ; preds = %13657
  br label %13664

13664:                                            ; preds = %13663
  br label %13665

13665:                                            ; preds = %13664
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %13666 = call ptr @__errno_location() #11
  %13667 = load i32, ptr %13666, align 4, !tbaa !5
  store i32 %13667, ptr %270, align 4, !tbaa !5
  %13668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13669 = call i32 @s2n_print_stacktrace(ptr noundef %13668)
  %13670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13671 = trunc i8 %13670 to i1
  br i1 %13671, label %13672, label %13694

13672:                                            ; preds = %13665
  %13673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13674 = call i32 @fileno(ptr noundef %13673) #10
  %13675 = call i32 @isatty(i32 noundef %13674) #10
  %13676 = icmp ne i32 %13675, 0
  br i1 %13676, label %13677, label %13694

13677:                                            ; preds = %13672
  %13678 = load i32, ptr %270, align 4, !tbaa !5
  %13679 = call ptr @__errno_location() #11
  store i32 %13678, ptr %13679, align 4, !tbaa !5
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = load i32, ptr @test_count, align 4, !tbaa !5
  %13682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13683 = load i32, ptr %13682, align 4, !tbaa !5
  %13684 = call ptr @s2n_strerror(i32 noundef %13683, ptr noundef @.str.4)
  %13685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13686 = load i32, ptr %13685, align 4, !tbaa !5
  %13687 = call ptr @s2n_strerror_debug(i32 noundef %13686, ptr noundef @.str.4)
  %13688 = call ptr @__errno_location() #11
  %13689 = load i32, ptr %13688, align 4, !tbaa !5
  %13690 = call ptr @strerror(i32 noundef %13689) #10
  %13691 = call ptr @__errno_location() #11
  %13692 = load i32, ptr %13691, align 4, !tbaa !5
  %13693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13680, ptr noundef @.str.2, i32 noundef %13681, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 510, ptr noundef %13684, ptr noundef %13687, ptr noundef %13690, i32 noundef %13692) #10
  br label %13711

13694:                                            ; preds = %13672, %13665
  %13695 = load i32, ptr %270, align 4, !tbaa !5
  %13696 = call ptr @__errno_location() #11
  store i32 %13695, ptr %13696, align 4, !tbaa !5
  %13697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13698 = load i32, ptr @test_count, align 4, !tbaa !5
  %13699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13700 = load i32, ptr %13699, align 4, !tbaa !5
  %13701 = call ptr @s2n_strerror(i32 noundef %13700, ptr noundef @.str.4)
  %13702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13703 = load i32, ptr %13702, align 4, !tbaa !5
  %13704 = call ptr @s2n_strerror_debug(i32 noundef %13703, ptr noundef @.str.4)
  %13705 = call ptr @__errno_location() #11
  %13706 = load i32, ptr %13705, align 4, !tbaa !5
  %13707 = call ptr @strerror(i32 noundef %13706) #10
  %13708 = call ptr @__errno_location() #11
  %13709 = load i32, ptr %13708, align 4, !tbaa !5
  %13710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13697, ptr noundef @.str.5, i32 noundef %13698, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 510, ptr noundef %13701, ptr noundef %13704, ptr noundef %13707, i32 noundef %13709) #10
  br label %13711

13711:                                            ; preds = %13694, %13677
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %13712

13712:                                            ; preds = %13711
  br label %13713

13713:                                            ; preds = %13712
  call void @exit(i32 noundef 1) #12
  unreachable

13714:                                            ; No predecessors!
  br label %13715

13715:                                            ; preds = %13714
  br label %13716

13716:                                            ; preds = %13715, %13657
  br label %13717

13717:                                            ; preds = %13716
  br label %13718

13718:                                            ; preds = %13717
  call void @llvm.lifetime.end.p0(i64 1, ptr %268) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %266) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #10
  br label %13719

13719:                                            ; preds = %13718
  %13720 = load i64, ptr %255, align 8, !tbaa !61
  %13721 = add i64 %13720, 1
  store i64 %13721, ptr %255, align 8, !tbaa !61
  br label %13035, !llvm.loop !72

13722:                                            ; preds = %13038
  call void @llvm.lifetime.end.p0(i64 168, ptr %254) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %252) #10
  br label %13723

13723:                                            ; preds = %13722
  %13724 = load i32, ptr @test_count, align 4, !tbaa !5
  %13725 = add nsw i32 %13724, 1
  store i32 %13725, ptr @test_count, align 4, !tbaa !5
  %13726 = load ptr, ptr %12, align 8, !tbaa !9
  %13727 = call i32 @s2n_config_free(ptr noundef %13726)
  %13728 = icmp eq i32 %13727, -1
  br i1 %13728, label %13729, label %13782

13729:                                            ; preds = %13723
  br label %13730

13730:                                            ; preds = %13729
  br label %13731

13731:                                            ; preds = %13730
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %13732 = call ptr @__errno_location() #11
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  store i32 %13733, ptr %271, align 4, !tbaa !5
  %13734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13735 = call i32 @s2n_print_stacktrace(ptr noundef %13734)
  %13736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13737 = trunc i8 %13736 to i1
  br i1 %13737, label %13738, label %13760

13738:                                            ; preds = %13731
  %13739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13740 = call i32 @fileno(ptr noundef %13739) #10
  %13741 = call i32 @isatty(i32 noundef %13740) #10
  %13742 = icmp ne i32 %13741, 0
  br i1 %13742, label %13743, label %13760

13743:                                            ; preds = %13738
  %13744 = load i32, ptr %271, align 4, !tbaa !5
  %13745 = call ptr @__errno_location() #11
  store i32 %13744, ptr %13745, align 4, !tbaa !5
  %13746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13747 = load i32, ptr @test_count, align 4, !tbaa !5
  %13748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13749 = load i32, ptr %13748, align 4, !tbaa !5
  %13750 = call ptr @s2n_strerror(i32 noundef %13749, ptr noundef @.str.4)
  %13751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13752 = load i32, ptr %13751, align 4, !tbaa !5
  %13753 = call ptr @s2n_strerror_debug(i32 noundef %13752, ptr noundef @.str.4)
  %13754 = call ptr @__errno_location() #11
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  %13756 = call ptr @strerror(i32 noundef %13755) #10
  %13757 = call ptr @__errno_location() #11
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13746, ptr noundef @.str.2, i32 noundef %13747, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 514, ptr noundef %13750, ptr noundef %13753, ptr noundef %13756, i32 noundef %13758) #10
  br label %13777

13760:                                            ; preds = %13738, %13731
  %13761 = load i32, ptr %271, align 4, !tbaa !5
  %13762 = call ptr @__errno_location() #11
  store i32 %13761, ptr %13762, align 4, !tbaa !5
  %13763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13764 = load i32, ptr @test_count, align 4, !tbaa !5
  %13765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13766 = load i32, ptr %13765, align 4, !tbaa !5
  %13767 = call ptr @s2n_strerror(i32 noundef %13766, ptr noundef @.str.4)
  %13768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  %13770 = call ptr @s2n_strerror_debug(i32 noundef %13769, ptr noundef @.str.4)
  %13771 = call ptr @__errno_location() #11
  %13772 = load i32, ptr %13771, align 4, !tbaa !5
  %13773 = call ptr @strerror(i32 noundef %13772) #10
  %13774 = call ptr @__errno_location() #11
  %13775 = load i32, ptr %13774, align 4, !tbaa !5
  %13776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13763, ptr noundef @.str.5, i32 noundef %13764, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 514, ptr noundef %13767, ptr noundef %13770, ptr noundef %13773, i32 noundef %13775) #10
  br label %13777

13777:                                            ; preds = %13760, %13743
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %13778

13778:                                            ; preds = %13777
  br label %13779

13779:                                            ; preds = %13778
  call void @exit(i32 noundef 1) #12
  unreachable

13780:                                            ; No predecessors!
  br label %13781

13781:                                            ; preds = %13780
  br label %13782

13782:                                            ; preds = %13781, %13723
  br label %13783

13783:                                            ; preds = %13782
  br label %13784

13784:                                            ; preds = %13783
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #10
  store ptr null, ptr %272, align 8, !tbaa !9
  br label %13785

13785:                                            ; preds = %13784
  %13786 = load i32, ptr @test_count, align 4, !tbaa !5
  %13787 = add nsw i32 %13786, 1
  store i32 %13787, ptr @test_count, align 4, !tbaa !5
  %13788 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13788, ptr %272, align 8, !tbaa !9
  %13789 = icmp eq ptr %13788, null
  br i1 %13789, label %13790, label %13843

13790:                                            ; preds = %13785
  br label %13791

13791:                                            ; preds = %13790
  br label %13792

13792:                                            ; preds = %13791
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %13793 = call ptr @__errno_location() #11
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  store i32 %13794, ptr %273, align 4, !tbaa !5
  %13795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13796 = call i32 @s2n_print_stacktrace(ptr noundef %13795)
  %13797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13798 = trunc i8 %13797 to i1
  br i1 %13798, label %13799, label %13821

13799:                                            ; preds = %13792
  %13800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13801 = call i32 @fileno(ptr noundef %13800) #10
  %13802 = call i32 @isatty(i32 noundef %13801) #10
  %13803 = icmp ne i32 %13802, 0
  br i1 %13803, label %13804, label %13821

13804:                                            ; preds = %13799
  %13805 = load i32, ptr %273, align 4, !tbaa !5
  %13806 = call ptr @__errno_location() #11
  store i32 %13805, ptr %13806, align 4, !tbaa !5
  %13807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13808 = load i32, ptr @test_count, align 4, !tbaa !5
  %13809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13810 = load i32, ptr %13809, align 4, !tbaa !5
  %13811 = call ptr @s2n_strerror(i32 noundef %13810, ptr noundef @.str.4)
  %13812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13813 = load i32, ptr %13812, align 4, !tbaa !5
  %13814 = call ptr @s2n_strerror_debug(i32 noundef %13813, ptr noundef @.str.4)
  %13815 = call ptr @__errno_location() #11
  %13816 = load i32, ptr %13815, align 4, !tbaa !5
  %13817 = call ptr @strerror(i32 noundef %13816) #10
  %13818 = call ptr @__errno_location() #11
  %13819 = load i32, ptr %13818, align 4, !tbaa !5
  %13820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13807, ptr noundef @.str.2, i32 noundef %13808, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 520, ptr noundef %13811, ptr noundef %13814, ptr noundef %13817, i32 noundef %13819) #10
  br label %13838

13821:                                            ; preds = %13799, %13792
  %13822 = load i32, ptr %273, align 4, !tbaa !5
  %13823 = call ptr @__errno_location() #11
  store i32 %13822, ptr %13823, align 4, !tbaa !5
  %13824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13825 = load i32, ptr @test_count, align 4, !tbaa !5
  %13826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13827 = load i32, ptr %13826, align 4, !tbaa !5
  %13828 = call ptr @s2n_strerror(i32 noundef %13827, ptr noundef @.str.4)
  %13829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call ptr @s2n_strerror_debug(i32 noundef %13830, ptr noundef @.str.4)
  %13832 = call ptr @__errno_location() #11
  %13833 = load i32, ptr %13832, align 4, !tbaa !5
  %13834 = call ptr @strerror(i32 noundef %13833) #10
  %13835 = call ptr @__errno_location() #11
  %13836 = load i32, ptr %13835, align 4, !tbaa !5
  %13837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13824, ptr noundef @.str.5, i32 noundef %13825, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 520, ptr noundef %13828, ptr noundef %13831, ptr noundef %13834, i32 noundef %13836) #10
  br label %13838

13838:                                            ; preds = %13821, %13804
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %13839

13839:                                            ; preds = %13838
  br label %13840

13840:                                            ; preds = %13839
  call void @exit(i32 noundef 1) #12
  unreachable

13841:                                            ; No predecessors!
  br label %13842

13842:                                            ; preds = %13841
  br label %13843

13843:                                            ; preds = %13842, %13785
  br label %13844

13844:                                            ; preds = %13843
  br label %13845

13845:                                            ; preds = %13844
  %13846 = load ptr, ptr %272, align 8, !tbaa !9
  %13847 = getelementptr inbounds %struct.s2n_connection, ptr %13846, i32 0, i32 27
  %13848 = load ptr, ptr %13847, align 8, !tbaa !64
  %13849 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13848, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %13849, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 40, ptr %274) #10
  call void @llvm.memset.p0.i64(ptr align 8 %274, i8 0, i64 40, i1 false)
  br label %13850

13850:                                            ; preds = %13845
  %13851 = load i32, ptr @test_count, align 4, !tbaa !5
  %13852 = add nsw i32 %13851, 1
  store i32 %13852, ptr @test_count, align 4, !tbaa !5
  %13853 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %274, i32 noundef 0)
  %13854 = icmp eq i32 %13853, -1
  br i1 %13854, label %13855, label %13908

13855:                                            ; preds = %13850
  br label %13856

13856:                                            ; preds = %13855
  br label %13857

13857:                                            ; preds = %13856
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #10
  %13858 = call ptr @__errno_location() #11
  %13859 = load i32, ptr %13858, align 4, !tbaa !5
  store i32 %13859, ptr %275, align 4, !tbaa !5
  %13860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13861 = call i32 @s2n_print_stacktrace(ptr noundef %13860)
  %13862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13863 = trunc i8 %13862 to i1
  br i1 %13863, label %13864, label %13886

13864:                                            ; preds = %13857
  %13865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13866 = call i32 @fileno(ptr noundef %13865) #10
  %13867 = call i32 @isatty(i32 noundef %13866) #10
  %13868 = icmp ne i32 %13867, 0
  br i1 %13868, label %13869, label %13886

13869:                                            ; preds = %13864
  %13870 = load i32, ptr %275, align 4, !tbaa !5
  %13871 = call ptr @__errno_location() #11
  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() #11
  %13881 = load i32, ptr %13880, align 4, !tbaa !5
  %13882 = call ptr @strerror(i32 noundef %13881) #10
  %13883 = call ptr @__errno_location() #11
  %13884 = load i32, ptr %13883, align 4, !tbaa !5
  %13885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13872, ptr noundef @.str.2, i32 noundef %13873, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 524, ptr noundef %13876, ptr noundef %13879, ptr noundef %13882, i32 noundef %13884) #10
  br label %13903

13886:                                            ; preds = %13864, %13857
  %13887 = load i32, ptr %275, align 4, !tbaa !5
  %13888 = call ptr @__errno_location() #11
  store i32 %13887, ptr %13888, align 4, !tbaa !5
  %13889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13890 = load i32, ptr @test_count, align 4, !tbaa !5
  %13891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13892 = load i32, ptr %13891, align 4, !tbaa !5
  %13893 = call ptr @s2n_strerror(i32 noundef %13892, ptr noundef @.str.4)
  %13894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13895 = load i32, ptr %13894, align 4, !tbaa !5
  %13896 = call ptr @s2n_strerror_debug(i32 noundef %13895, ptr noundef @.str.4)
  %13897 = call ptr @__errno_location() #11
  %13898 = load i32, ptr %13897, align 4, !tbaa !5
  %13899 = call ptr @strerror(i32 noundef %13898) #10
  %13900 = call ptr @__errno_location() #11
  %13901 = load i32, ptr %13900, align 4, !tbaa !5
  %13902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13889, ptr noundef @.str.5, i32 noundef %13890, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 524, ptr noundef %13893, ptr noundef %13896, ptr noundef %13899, i32 noundef %13901) #10
  br label %13903

13903:                                            ; preds = %13886, %13869
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #10
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  call void @exit(i32 noundef 1) #12
  unreachable

13906:                                            ; No predecessors!
  br label %13907

13907:                                            ; preds = %13906
  br label %13908

13908:                                            ; preds = %13907, %13850
  br label %13909

13909:                                            ; preds = %13908
  br label %13910

13910:                                            ; preds = %13909
  br label %13911

13911:                                            ; preds = %13910
  %13912 = load i32, ptr @test_count, align 4, !tbaa !5
  %13913 = add nsw i32 %13912, 1
  store i32 %13913, ptr @test_count, align 4, !tbaa !5
  %13914 = load ptr, ptr %272, align 8, !tbaa !9
  %13915 = call i32 @s2n_server_extensions_send(ptr noundef %13914, ptr noundef %274)
  %13916 = icmp eq i32 %13915, -1
  br i1 %13916, label %13917, label %13970

13917:                                            ; preds = %13911
  br label %13918

13918:                                            ; preds = %13917
  br label %13919

13919:                                            ; preds = %13918
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #10
  %13920 = call ptr @__errno_location() #11
  %13921 = load i32, ptr %13920, align 4, !tbaa !5
  store i32 %13921, ptr %276, align 4, !tbaa !5
  %13922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13923 = call i32 @s2n_print_stacktrace(ptr noundef %13922)
  %13924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13925 = trunc i8 %13924 to i1
  br i1 %13925, label %13926, label %13948

13926:                                            ; preds = %13919
  %13927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13928 = call i32 @fileno(ptr noundef %13927) #10
  %13929 = call i32 @isatty(i32 noundef %13928) #10
  %13930 = icmp ne i32 %13929, 0
  br i1 %13930, label %13931, label %13948

13931:                                            ; preds = %13926
  %13932 = load i32, ptr %276, align 4, !tbaa !5
  %13933 = call ptr @__errno_location() #11
  store i32 %13932, ptr %13933, align 4, !tbaa !5
  %13934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13935 = load i32, ptr @test_count, align 4, !tbaa !5
  %13936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call ptr @s2n_strerror(i32 noundef %13937, ptr noundef @.str.4)
  %13939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13940 = load i32, ptr %13939, align 4, !tbaa !5
  %13941 = call ptr @s2n_strerror_debug(i32 noundef %13940, ptr noundef @.str.4)
  %13942 = call ptr @__errno_location() #11
  %13943 = load i32, ptr %13942, align 4, !tbaa !5
  %13944 = call ptr @strerror(i32 noundef %13943) #10
  %13945 = call ptr @__errno_location() #11
  %13946 = load i32, ptr %13945, align 4, !tbaa !5
  %13947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13934, ptr noundef @.str.2, i32 noundef %13935, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13938, ptr noundef %13941, ptr noundef %13944, i32 noundef %13946) #10
  br label %13965

13948:                                            ; preds = %13926, %13919
  %13949 = load i32, ptr %276, align 4, !tbaa !5
  %13950 = call ptr @__errno_location() #11
  store i32 %13949, ptr %13950, align 4, !tbaa !5
  %13951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13952 = load i32, ptr @test_count, align 4, !tbaa !5
  %13953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call ptr @s2n_strerror(i32 noundef %13954, ptr noundef @.str.4)
  %13956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  %13958 = call ptr @s2n_strerror_debug(i32 noundef %13957, ptr noundef @.str.4)
  %13959 = call ptr @__errno_location() #11
  %13960 = load i32, ptr %13959, align 4, !tbaa !5
  %13961 = call ptr @strerror(i32 noundef %13960) #10
  %13962 = call ptr @__errno_location() #11
  %13963 = load i32, ptr %13962, align 4, !tbaa !5
  %13964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13951, ptr noundef @.str.5, i32 noundef %13952, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13955, ptr noundef %13958, ptr noundef %13961, i32 noundef %13963) #10
  br label %13965

13965:                                            ; preds = %13948, %13931
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #10
  br label %13966

13966:                                            ; preds = %13965
  br label %13967

13967:                                            ; preds = %13966
  call void @exit(i32 noundef 1) #12
  unreachable

13968:                                            ; No predecessors!
  br label %13969

13969:                                            ; preds = %13968
  br label %13970

13970:                                            ; preds = %13969, %13911
  br label %13971

13971:                                            ; preds = %13970
  br label %13972

13972:                                            ; preds = %13971
  br label %13973

13973:                                            ; preds = %13972
  %13974 = load i32, ptr @test_count, align 4, !tbaa !5
  %13975 = add nsw i32 %13974, 1
  store i32 %13975, ptr @test_count, align 4, !tbaa !5
  %13976 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 2
  %13977 = load i32, ptr %13976, align 4, !tbaa !15
  %13978 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 1
  %13979 = load i32, ptr %13978, align 8, !tbaa !18
  %13980 = sub i32 %13977, %13979
  %13981 = icmp eq i32 %13980, 0
  br i1 %13981, label %14035, label %13982

13982:                                            ; preds = %13973
  br label %13983

13983:                                            ; preds = %13982
  br label %13984

13984:                                            ; preds = %13983
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #10
  %13985 = call ptr @__errno_location() #11
  %13986 = load i32, ptr %13985, align 4, !tbaa !5
  store i32 %13986, ptr %277, align 4, !tbaa !5
  %13987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13988 = call i32 @s2n_print_stacktrace(ptr noundef %13987)
  %13989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13990 = trunc i8 %13989 to i1
  br i1 %13990, label %13991, label %14013

13991:                                            ; preds = %13984
  %13992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13993 = call i32 @fileno(ptr noundef %13992) #10
  %13994 = call i32 @isatty(i32 noundef %13993) #10
  %13995 = icmp ne i32 %13994, 0
  br i1 %13995, label %13996, label %14013

13996:                                            ; preds = %13991
  %13997 = load i32, ptr %277, align 4, !tbaa !5
  %13998 = call ptr @__errno_location() #11
  store i32 %13997, ptr %13998, align 4, !tbaa !5
  %13999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14000 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14002, ptr noundef @.str.4)
  %14004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14005 = load i32, ptr %14004, align 4, !tbaa !5
  %14006 = call ptr @s2n_strerror_debug(i32 noundef %14005, ptr noundef @.str.4)
  %14007 = call ptr @__errno_location() #11
  %14008 = load i32, ptr %14007, align 4, !tbaa !5
  %14009 = call ptr @strerror(i32 noundef %14008) #10
  %14010 = call ptr @__errno_location() #11
  %14011 = load i32, ptr %14010, align 4, !tbaa !5
  %14012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13999, ptr noundef @.str.2, i32 noundef %14000, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 527, ptr noundef %14003, ptr noundef %14006, ptr noundef %14009, i32 noundef %14011) #10
  br label %14030

14013:                                            ; preds = %13991, %13984
  %14014 = load i32, ptr %277, align 4, !tbaa !5
  %14015 = call ptr @__errno_location() #11
  store i32 %14014, ptr %14015, align 4, !tbaa !5
  %14016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14017 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14019, ptr noundef @.str.4)
  %14021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14022 = load i32, ptr %14021, align 4, !tbaa !5
  %14023 = call ptr @s2n_strerror_debug(i32 noundef %14022, ptr noundef @.str.4)
  %14024 = call ptr @__errno_location() #11
  %14025 = load i32, ptr %14024, align 4, !tbaa !5
  %14026 = call ptr @strerror(i32 noundef %14025) #10
  %14027 = call ptr @__errno_location() #11
  %14028 = load i32, ptr %14027, align 4, !tbaa !5
  %14029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14016, ptr noundef @.str.5, i32 noundef %14017, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 527, ptr noundef %14020, ptr noundef %14023, ptr noundef %14026, i32 noundef %14028) #10
  br label %14030

14030:                                            ; preds = %14013, %13996
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #10
  br label %14031

14031:                                            ; preds = %14030
  br label %14032

14032:                                            ; preds = %14031
  call void @exit(i32 noundef 1) #12
  unreachable

14033:                                            ; No predecessors!
  br label %14034

14034:                                            ; preds = %14033
  br label %14035

14035:                                            ; preds = %14034, %13973
  br label %14036

14036:                                            ; preds = %14035
  br label %14037

14037:                                            ; preds = %14036
  br label %14038

14038:                                            ; preds = %14037
  %14039 = load i32, ptr @test_count, align 4, !tbaa !5
  %14040 = add nsw i32 %14039, 1
  store i32 %14040, ptr @test_count, align 4, !tbaa !5
  %14041 = load ptr, ptr %272, align 8, !tbaa !9
  %14042 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %14041)
  %14043 = icmp eq i32 %14042, -1
  br i1 %14043, label %14044, label %14097

14044:                                            ; preds = %14038
  br label %14045

14045:                                            ; preds = %14044
  br label %14046

14046:                                            ; preds = %14045
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #10
  %14047 = call ptr @__errno_location() #11
  %14048 = load i32, ptr %14047, align 4, !tbaa !5
  store i32 %14048, ptr %278, align 4, !tbaa !5
  %14049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14050 = call i32 @s2n_print_stacktrace(ptr noundef %14049)
  %14051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14052 = trunc i8 %14051 to i1
  br i1 %14052, label %14053, label %14075

14053:                                            ; preds = %14046
  %14054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14055 = call i32 @fileno(ptr noundef %14054) #10
  %14056 = call i32 @isatty(i32 noundef %14055) #10
  %14057 = icmp ne i32 %14056, 0
  br i1 %14057, label %14058, label %14075

14058:                                            ; preds = %14053
  %14059 = load i32, ptr %278, align 4, !tbaa !5
  %14060 = call ptr @__errno_location() #11
  store i32 %14059, ptr %14060, align 4, !tbaa !5
  %14061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14062 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14064, ptr noundef @.str.4)
  %14066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14067 = load i32, ptr %14066, align 4, !tbaa !5
  %14068 = call ptr @s2n_strerror_debug(i32 noundef %14067, ptr noundef @.str.4)
  %14069 = call ptr @__errno_location() #11
  %14070 = load i32, ptr %14069, align 4, !tbaa !5
  %14071 = call ptr @strerror(i32 noundef %14070) #10
  %14072 = call ptr @__errno_location() #11
  %14073 = load i32, ptr %14072, align 4, !tbaa !5
  %14074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14061, ptr noundef @.str.2, i32 noundef %14062, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 529, ptr noundef %14065, ptr noundef %14068, ptr noundef %14071, i32 noundef %14073) #10
  br label %14092

14075:                                            ; preds = %14053, %14046
  %14076 = load i32, ptr %278, align 4, !tbaa !5
  %14077 = call ptr @__errno_location() #11
  store i32 %14076, ptr %14077, align 4, !tbaa !5
  %14078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14079 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14081, ptr noundef @.str.4)
  %14083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14084 = load i32, ptr %14083, align 4, !tbaa !5
  %14085 = call ptr @s2n_strerror_debug(i32 noundef %14084, ptr noundef @.str.4)
  %14086 = call ptr @__errno_location() #11
  %14087 = load i32, ptr %14086, align 4, !tbaa !5
  %14088 = call ptr @strerror(i32 noundef %14087) #10
  %14089 = call ptr @__errno_location() #11
  %14090 = load i32, ptr %14089, align 4, !tbaa !5
  %14091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14078, ptr noundef @.str.5, i32 noundef %14079, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 529, ptr noundef %14082, ptr noundef %14085, ptr noundef %14088, i32 noundef %14090) #10
  br label %14092

14092:                                            ; preds = %14075, %14058
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #10
  br label %14093

14093:                                            ; preds = %14092
  br label %14094

14094:                                            ; preds = %14093
  call void @exit(i32 noundef 1) #12
  unreachable

14095:                                            ; No predecessors!
  br label %14096

14096:                                            ; preds = %14095
  br label %14097

14097:                                            ; preds = %14096, %14038
  br label %14098

14098:                                            ; preds = %14097
  br label %14099

14099:                                            ; preds = %14098
  br label %14100

14100:                                            ; preds = %14099
  %14101 = load i32, ptr @test_count, align 4, !tbaa !5
  %14102 = add nsw i32 %14101, 1
  store i32 %14102, ptr @test_count, align 4, !tbaa !5
  %14103 = load ptr, ptr %272, align 8, !tbaa !9
  %14104 = call i32 @s2n_server_extensions_send(ptr noundef %14103, ptr noundef %274)
  %14105 = icmp eq i32 %14104, -1
  br i1 %14105, label %14106, label %14159

14106:                                            ; preds = %14100
  br label %14107

14107:                                            ; preds = %14106
  br label %14108

14108:                                            ; preds = %14107
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #10
  %14109 = call ptr @__errno_location() #11
  %14110 = load i32, ptr %14109, align 4, !tbaa !5
  store i32 %14110, ptr %279, align 4, !tbaa !5
  %14111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14112 = call i32 @s2n_print_stacktrace(ptr noundef %14111)
  %14113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14114 = trunc i8 %14113 to i1
  br i1 %14114, label %14115, label %14137

14115:                                            ; preds = %14108
  %14116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14117 = call i32 @fileno(ptr noundef %14116) #10
  %14118 = call i32 @isatty(i32 noundef %14117) #10
  %14119 = icmp ne i32 %14118, 0
  br i1 %14119, label %14120, label %14137

14120:                                            ; preds = %14115
  %14121 = load i32, ptr %279, align 4, !tbaa !5
  %14122 = call ptr @__errno_location() #11
  store i32 %14121, ptr %14122, align 4, !tbaa !5
  %14123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14124 = load i32, ptr @test_count, align 4, !tbaa !5
  %14125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14126 = load i32, ptr %14125, align 4, !tbaa !5
  %14127 = call ptr @s2n_strerror(i32 noundef %14126, ptr noundef @.str.4)
  %14128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14129 = load i32, ptr %14128, align 4, !tbaa !5
  %14130 = call ptr @s2n_strerror_debug(i32 noundef %14129, ptr noundef @.str.4)
  %14131 = call ptr @__errno_location() #11
  %14132 = load i32, ptr %14131, align 4, !tbaa !5
  %14133 = call ptr @strerror(i32 noundef %14132) #10
  %14134 = call ptr @__errno_location() #11
  %14135 = load i32, ptr %14134, align 4, !tbaa !5
  %14136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14123, ptr noundef @.str.2, i32 noundef %14124, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 531, ptr noundef %14127, ptr noundef %14130, ptr noundef %14133, i32 noundef %14135) #10
  br label %14154

14137:                                            ; preds = %14115, %14108
  %14138 = load i32, ptr %279, align 4, !tbaa !5
  %14139 = call ptr @__errno_location() #11
  store i32 %14138, ptr %14139, align 4, !tbaa !5
  %14140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14141 = load i32, ptr @test_count, align 4, !tbaa !5
  %14142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14143 = load i32, ptr %14142, align 4, !tbaa !5
  %14144 = call ptr @s2n_strerror(i32 noundef %14143, ptr noundef @.str.4)
  %14145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14146 = load i32, ptr %14145, align 4, !tbaa !5
  %14147 = call ptr @s2n_strerror_debug(i32 noundef %14146, ptr noundef @.str.4)
  %14148 = call ptr @__errno_location() #11
  %14149 = load i32, ptr %14148, align 4, !tbaa !5
  %14150 = call ptr @strerror(i32 noundef %14149) #10
  %14151 = call ptr @__errno_location() #11
  %14152 = load i32, ptr %14151, align 4, !tbaa !5
  %14153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14140, ptr noundef @.str.5, i32 noundef %14141, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 531, ptr noundef %14144, ptr noundef %14147, ptr noundef %14150, i32 noundef %14152) #10
  br label %14154

14154:                                            ; preds = %14137, %14120
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #10
  br label %14155

14155:                                            ; preds = %14154
  br label %14156

14156:                                            ; preds = %14155
  call void @exit(i32 noundef 1) #12
  unreachable

14157:                                            ; No predecessors!
  br label %14158

14158:                                            ; preds = %14157
  br label %14159

14159:                                            ; preds = %14158, %14100
  br label %14160

14160:                                            ; preds = %14159
  br label %14161

14161:                                            ; preds = %14160
  br label %14162

14162:                                            ; preds = %14161
  %14163 = load i32, ptr @test_count, align 4, !tbaa !5
  %14164 = add nsw i32 %14163, 1
  store i32 %14164, ptr @test_count, align 4, !tbaa !5
  %14165 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 2
  %14166 = load i32, ptr %14165, align 4, !tbaa !15
  %14167 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 1
  %14168 = load i32, ptr %14167, align 8, !tbaa !18
  %14169 = sub i32 %14166, %14168
  %14170 = icmp eq i32 %14169, 0
  br i1 %14170, label %14171, label %14224

14171:                                            ; preds = %14162
  br label %14172

14172:                                            ; preds = %14171
  br label %14173

14173:                                            ; preds = %14172
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #10
  %14174 = call ptr @__errno_location() #11
  %14175 = load i32, ptr %14174, align 4, !tbaa !5
  store i32 %14175, ptr %280, align 4, !tbaa !5
  %14176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14177 = call i32 @s2n_print_stacktrace(ptr noundef %14176)
  %14178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14179 = trunc i8 %14178 to i1
  br i1 %14179, label %14180, label %14202

14180:                                            ; preds = %14173
  %14181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14182 = call i32 @fileno(ptr noundef %14181) #10
  %14183 = call i32 @isatty(i32 noundef %14182) #10
  %14184 = icmp ne i32 %14183, 0
  br i1 %14184, label %14185, label %14202

14185:                                            ; preds = %14180
  %14186 = load i32, ptr %280, align 4, !tbaa !5
  %14187 = call ptr @__errno_location() #11
  store i32 %14186, ptr %14187, align 4, !tbaa !5
  %14188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14189 = load i32, ptr @test_count, align 4, !tbaa !5
  %14190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14191 = load i32, ptr %14190, align 4, !tbaa !5
  %14192 = call ptr @s2n_strerror(i32 noundef %14191, ptr noundef @.str.4)
  %14193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14194 = load i32, ptr %14193, align 4, !tbaa !5
  %14195 = call ptr @s2n_strerror_debug(i32 noundef %14194, ptr noundef @.str.4)
  %14196 = call ptr @__errno_location() #11
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  %14198 = call ptr @strerror(i32 noundef %14197) #10
  %14199 = call ptr @__errno_location() #11
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  %14201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14188, ptr noundef @.str.2, i32 noundef %14189, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 532, ptr noundef %14192, ptr noundef %14195, ptr noundef %14198, i32 noundef %14200) #10
  br label %14219

14202:                                            ; preds = %14180, %14173
  %14203 = load i32, ptr %280, align 4, !tbaa !5
  %14204 = call ptr @__errno_location() #11
  store i32 %14203, ptr %14204, align 4, !tbaa !5
  %14205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14206 = load i32, ptr @test_count, align 4, !tbaa !5
  %14207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14208 = load i32, ptr %14207, align 4, !tbaa !5
  %14209 = call ptr @s2n_strerror(i32 noundef %14208, ptr noundef @.str.4)
  %14210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14211 = load i32, ptr %14210, align 4, !tbaa !5
  %14212 = call ptr @s2n_strerror_debug(i32 noundef %14211, ptr noundef @.str.4)
  %14213 = call ptr @__errno_location() #11
  %14214 = load i32, ptr %14213, align 4, !tbaa !5
  %14215 = call ptr @strerror(i32 noundef %14214) #10
  %14216 = call ptr @__errno_location() #11
  %14217 = load i32, ptr %14216, align 4, !tbaa !5
  %14218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14205, ptr noundef @.str.5, i32 noundef %14206, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 532, ptr noundef %14209, ptr noundef %14212, ptr noundef %14215, i32 noundef %14217) #10
  br label %14219

14219:                                            ; preds = %14202, %14185
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #10
  br label %14220

14220:                                            ; preds = %14219
  br label %14221

14221:                                            ; preds = %14220
  call void @exit(i32 noundef 1) #12
  unreachable

14222:                                            ; No predecessors!
  br label %14223

14223:                                            ; preds = %14222
  br label %14224

14224:                                            ; preds = %14223, %14162
  br label %14225

14225:                                            ; preds = %14224
  br label %14226

14226:                                            ; preds = %14225
  br label %14227

14227:                                            ; preds = %14226
  %14228 = load i32, ptr @test_count, align 4, !tbaa !5
  %14229 = add nsw i32 %14228, 1
  store i32 %14229, ptr @test_count, align 4, !tbaa !5
  %14230 = load ptr, ptr %272, align 8, !tbaa !9
  %14231 = call i32 @s2n_server_extensions_recv(ptr noundef %14230, ptr noundef %274)
  %14232 = icmp eq i32 %14231, -1
  br i1 %14232, label %14233, label %14286

14233:                                            ; preds = %14227
  br label %14234

14234:                                            ; preds = %14233
  br label %14235

14235:                                            ; preds = %14234
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  %14236 = call ptr @__errno_location() #11
  %14237 = load i32, ptr %14236, align 4, !tbaa !5
  store i32 %14237, ptr %281, align 4, !tbaa !5
  %14238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14239 = call i32 @s2n_print_stacktrace(ptr noundef %14238)
  %14240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14241 = trunc i8 %14240 to i1
  br i1 %14241, label %14242, label %14264

14242:                                            ; preds = %14235
  %14243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14244 = call i32 @fileno(ptr noundef %14243) #10
  %14245 = call i32 @isatty(i32 noundef %14244) #10
  %14246 = icmp ne i32 %14245, 0
  br i1 %14246, label %14247, label %14264

14247:                                            ; preds = %14242
  %14248 = load i32, ptr %281, align 4, !tbaa !5
  %14249 = call ptr @__errno_location() #11
  store i32 %14248, ptr %14249, align 4, !tbaa !5
  %14250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14251 = load i32, ptr @test_count, align 4, !tbaa !5
  %14252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  %14254 = call ptr @s2n_strerror(i32 noundef %14253, ptr noundef @.str.4)
  %14255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14256 = load i32, ptr %14255, align 4, !tbaa !5
  %14257 = call ptr @s2n_strerror_debug(i32 noundef %14256, ptr noundef @.str.4)
  %14258 = call ptr @__errno_location() #11
  %14259 = load i32, ptr %14258, align 4, !tbaa !5
  %14260 = call ptr @strerror(i32 noundef %14259) #10
  %14261 = call ptr @__errno_location() #11
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14250, ptr noundef @.str.2, i32 noundef %14251, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 534, ptr noundef %14254, ptr noundef %14257, ptr noundef %14260, i32 noundef %14262) #10
  br label %14281

14264:                                            ; preds = %14242, %14235
  %14265 = load i32, ptr %281, align 4, !tbaa !5
  %14266 = call ptr @__errno_location() #11
  store i32 %14265, ptr %14266, align 4, !tbaa !5
  %14267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14268 = load i32, ptr @test_count, align 4, !tbaa !5
  %14269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14270 = load i32, ptr %14269, align 4, !tbaa !5
  %14271 = call ptr @s2n_strerror(i32 noundef %14270, ptr noundef @.str.4)
  %14272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14273 = load i32, ptr %14272, align 4, !tbaa !5
  %14274 = call ptr @s2n_strerror_debug(i32 noundef %14273, ptr noundef @.str.4)
  %14275 = call ptr @__errno_location() #11
  %14276 = load i32, ptr %14275, align 4, !tbaa !5
  %14277 = call ptr @strerror(i32 noundef %14276) #10
  %14278 = call ptr @__errno_location() #11
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14267, ptr noundef @.str.5, i32 noundef %14268, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 534, ptr noundef %14271, ptr noundef %14274, ptr noundef %14277, i32 noundef %14279) #10
  br label %14281

14281:                                            ; preds = %14264, %14247
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  br label %14282

14282:                                            ; preds = %14281
  br label %14283

14283:                                            ; preds = %14282
  call void @exit(i32 noundef 1) #12
  unreachable

14284:                                            ; No predecessors!
  br label %14285

14285:                                            ; preds = %14284
  br label %14286

14286:                                            ; preds = %14285, %14227
  br label %14287

14287:                                            ; preds = %14286
  br label %14288

14288:                                            ; preds = %14287
  br label %14289

14289:                                            ; preds = %14288
  %14290 = load i32, ptr @test_count, align 4, !tbaa !5
  %14291 = add nsw i32 %14290, 1
  store i32 %14291, ptr @test_count, align 4, !tbaa !5
  %14292 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 2
  %14293 = load i32, ptr %14292, align 4, !tbaa !15
  %14294 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 1
  %14295 = load i32, ptr %14294, align 8, !tbaa !18
  %14296 = sub i32 %14293, %14295
  %14297 = icmp eq i32 %14296, 0
  br i1 %14297, label %14351, label %14298

14298:                                            ; preds = %14289
  br label %14299

14299:                                            ; preds = %14298
  br label %14300

14300:                                            ; preds = %14299
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %14301 = call ptr @__errno_location() #11
  %14302 = load i32, ptr %14301, align 4, !tbaa !5
  store i32 %14302, ptr %282, align 4, !tbaa !5
  %14303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14304 = call i32 @s2n_print_stacktrace(ptr noundef %14303)
  %14305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14306 = trunc i8 %14305 to i1
  br i1 %14306, label %14307, label %14329

14307:                                            ; preds = %14300
  %14308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14309 = call i32 @fileno(ptr noundef %14308) #10
  %14310 = call i32 @isatty(i32 noundef %14309) #10
  %14311 = icmp ne i32 %14310, 0
  br i1 %14311, label %14312, label %14329

14312:                                            ; preds = %14307
  %14313 = load i32, ptr %282, align 4, !tbaa !5
  %14314 = call ptr @__errno_location() #11
  store i32 %14313, ptr %14314, align 4, !tbaa !5
  %14315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14316 = load i32, ptr @test_count, align 4, !tbaa !5
  %14317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14318 = load i32, ptr %14317, align 4, !tbaa !5
  %14319 = call ptr @s2n_strerror(i32 noundef %14318, ptr noundef @.str.4)
  %14320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14321 = load i32, ptr %14320, align 4, !tbaa !5
  %14322 = call ptr @s2n_strerror_debug(i32 noundef %14321, ptr noundef @.str.4)
  %14323 = call ptr @__errno_location() #11
  %14324 = load i32, ptr %14323, align 4, !tbaa !5
  %14325 = call ptr @strerror(i32 noundef %14324) #10
  %14326 = call ptr @__errno_location() #11
  %14327 = load i32, ptr %14326, align 4, !tbaa !5
  %14328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14315, ptr noundef @.str.2, i32 noundef %14316, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 535, ptr noundef %14319, ptr noundef %14322, ptr noundef %14325, i32 noundef %14327) #10
  br label %14346

14329:                                            ; preds = %14307, %14300
  %14330 = load i32, ptr %282, align 4, !tbaa !5
  %14331 = call ptr @__errno_location() #11
  store i32 %14330, ptr %14331, align 4, !tbaa !5
  %14332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14333 = load i32, ptr @test_count, align 4, !tbaa !5
  %14334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14335 = load i32, ptr %14334, align 4, !tbaa !5
  %14336 = call ptr @s2n_strerror(i32 noundef %14335, ptr noundef @.str.4)
  %14337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14338 = load i32, ptr %14337, align 4, !tbaa !5
  %14339 = call ptr @s2n_strerror_debug(i32 noundef %14338, ptr noundef @.str.4)
  %14340 = call ptr @__errno_location() #11
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call ptr @strerror(i32 noundef %14341) #10
  %14343 = call ptr @__errno_location() #11
  %14344 = load i32, ptr %14343, align 4, !tbaa !5
  %14345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14332, ptr noundef @.str.5, i32 noundef %14333, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 535, ptr noundef %14336, ptr noundef %14339, ptr noundef %14342, i32 noundef %14344) #10
  br label %14346

14346:                                            ; preds = %14329, %14312
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %14347

14347:                                            ; preds = %14346
  br label %14348

14348:                                            ; preds = %14347
  call void @exit(i32 noundef 1) #12
  unreachable

14349:                                            ; No predecessors!
  br label %14350

14350:                                            ; preds = %14349
  br label %14351

14351:                                            ; preds = %14350, %14289
  br label %14352

14352:                                            ; preds = %14351
  br label %14353

14353:                                            ; preds = %14352
  br label %14354

14354:                                            ; preds = %14353
  %14355 = load i32, ptr @test_count, align 4, !tbaa !5
  %14356 = add nsw i32 %14355, 1
  store i32 %14356, ptr @test_count, align 4, !tbaa !5
  %14357 = call i32 @s2n_stuffer_free(ptr noundef %274)
  %14358 = icmp eq i32 %14357, -1
  br i1 %14358, label %14359, label %14412

14359:                                            ; preds = %14354
  br label %14360

14360:                                            ; preds = %14359
  br label %14361

14361:                                            ; preds = %14360
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %14362 = call ptr @__errno_location() #11
  %14363 = load i32, ptr %14362, align 4, !tbaa !5
  store i32 %14363, ptr %283, align 4, !tbaa !5
  %14364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14365 = call i32 @s2n_print_stacktrace(ptr noundef %14364)
  %14366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14367 = trunc i8 %14366 to i1
  br i1 %14367, label %14368, label %14390

14368:                                            ; preds = %14361
  %14369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14370 = call i32 @fileno(ptr noundef %14369) #10
  %14371 = call i32 @isatty(i32 noundef %14370) #10
  %14372 = icmp ne i32 %14371, 0
  br i1 %14372, label %14373, label %14390

14373:                                            ; preds = %14368
  %14374 = load i32, ptr %283, align 4, !tbaa !5
  %14375 = call ptr @__errno_location() #11
  store i32 %14374, ptr %14375, align 4, !tbaa !5
  %14376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14377 = load i32, ptr @test_count, align 4, !tbaa !5
  %14378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14379 = load i32, ptr %14378, align 4, !tbaa !5
  %14380 = call ptr @s2n_strerror(i32 noundef %14379, ptr noundef @.str.4)
  %14381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14382 = load i32, ptr %14381, align 4, !tbaa !5
  %14383 = call ptr @s2n_strerror_debug(i32 noundef %14382, ptr noundef @.str.4)
  %14384 = call ptr @__errno_location() #11
  %14385 = load i32, ptr %14384, align 4, !tbaa !5
  %14386 = call ptr @strerror(i32 noundef %14385) #10
  %14387 = call ptr @__errno_location() #11
  %14388 = load i32, ptr %14387, align 4, !tbaa !5
  %14389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14376, ptr noundef @.str.2, i32 noundef %14377, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 537, ptr noundef %14380, ptr noundef %14383, ptr noundef %14386, i32 noundef %14388) #10
  br label %14407

14390:                                            ; preds = %14368, %14361
  %14391 = load i32, ptr %283, align 4, !tbaa !5
  %14392 = call ptr @__errno_location() #11
  store i32 %14391, ptr %14392, align 4, !tbaa !5
  %14393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14394 = load i32, ptr @test_count, align 4, !tbaa !5
  %14395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14396 = load i32, ptr %14395, align 4, !tbaa !5
  %14397 = call ptr @s2n_strerror(i32 noundef %14396, ptr noundef @.str.4)
  %14398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14399 = load i32, ptr %14398, align 4, !tbaa !5
  %14400 = call ptr @s2n_strerror_debug(i32 noundef %14399, ptr noundef @.str.4)
  %14401 = call ptr @__errno_location() #11
  %14402 = load i32, ptr %14401, align 4, !tbaa !5
  %14403 = call ptr @strerror(i32 noundef %14402) #10
  %14404 = call ptr @__errno_location() #11
  %14405 = load i32, ptr %14404, align 4, !tbaa !5
  %14406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14393, ptr noundef @.str.5, i32 noundef %14394, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 537, ptr noundef %14397, ptr noundef %14400, ptr noundef %14403, i32 noundef %14405) #10
  br label %14407

14407:                                            ; preds = %14390, %14373
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %14408

14408:                                            ; preds = %14407
  br label %14409

14409:                                            ; preds = %14408
  call void @exit(i32 noundef 1) #12
  unreachable

14410:                                            ; No predecessors!
  br label %14411

14411:                                            ; preds = %14410
  br label %14412

14412:                                            ; preds = %14411, %14354
  br label %14413

14413:                                            ; preds = %14412
  br label %14414

14414:                                            ; preds = %14413
  br label %14415

14415:                                            ; preds = %14414
  %14416 = load i32, ptr @test_count, align 4, !tbaa !5
  %14417 = add nsw i32 %14416, 1
  store i32 %14417, ptr @test_count, align 4, !tbaa !5
  %14418 = load ptr, ptr %272, align 8, !tbaa !9
  %14419 = call i32 @s2n_connection_free(ptr noundef %14418)
  %14420 = icmp eq i32 %14419, -1
  br i1 %14420, label %14421, label %14474

14421:                                            ; preds = %14415
  br label %14422

14422:                                            ; preds = %14421
  br label %14423

14423:                                            ; preds = %14422
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %14424 = call ptr @__errno_location() #11
  %14425 = load i32, ptr %14424, align 4, !tbaa !5
  store i32 %14425, ptr %284, align 4, !tbaa !5
  %14426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14427 = call i32 @s2n_print_stacktrace(ptr noundef %14426)
  %14428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14429 = trunc i8 %14428 to i1
  br i1 %14429, label %14430, label %14452

14430:                                            ; preds = %14423
  %14431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14432 = call i32 @fileno(ptr noundef %14431) #10
  %14433 = call i32 @isatty(i32 noundef %14432) #10
  %14434 = icmp ne i32 %14433, 0
  br i1 %14434, label %14435, label %14452

14435:                                            ; preds = %14430
  %14436 = load i32, ptr %284, align 4, !tbaa !5
  %14437 = call ptr @__errno_location() #11
  store i32 %14436, ptr %14437, align 4, !tbaa !5
  %14438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14439 = load i32, ptr @test_count, align 4, !tbaa !5
  %14440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14441 = load i32, ptr %14440, align 4, !tbaa !5
  %14442 = call ptr @s2n_strerror(i32 noundef %14441, ptr noundef @.str.4)
  %14443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  %14445 = call ptr @s2n_strerror_debug(i32 noundef %14444, ptr noundef @.str.4)
  %14446 = call ptr @__errno_location() #11
  %14447 = load i32, ptr %14446, align 4, !tbaa !5
  %14448 = call ptr @strerror(i32 noundef %14447) #10
  %14449 = call ptr @__errno_location() #11
  %14450 = load i32, ptr %14449, align 4, !tbaa !5
  %14451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14438, ptr noundef @.str.2, i32 noundef %14439, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 538, ptr noundef %14442, ptr noundef %14445, ptr noundef %14448, i32 noundef %14450) #10
  br label %14469

14452:                                            ; preds = %14430, %14423
  %14453 = load i32, ptr %284, align 4, !tbaa !5
  %14454 = call ptr @__errno_location() #11
  store i32 %14453, ptr %14454, align 4, !tbaa !5
  %14455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14456 = load i32, ptr @test_count, align 4, !tbaa !5
  %14457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14458 = load i32, ptr %14457, align 4, !tbaa !5
  %14459 = call ptr @s2n_strerror(i32 noundef %14458, ptr noundef @.str.4)
  %14460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14461 = load i32, ptr %14460, align 4, !tbaa !5
  %14462 = call ptr @s2n_strerror_debug(i32 noundef %14461, ptr noundef @.str.4)
  %14463 = call ptr @__errno_location() #11
  %14464 = load i32, ptr %14463, align 4, !tbaa !5
  %14465 = call ptr @strerror(i32 noundef %14464) #10
  %14466 = call ptr @__errno_location() #11
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14455, ptr noundef @.str.5, i32 noundef %14456, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 538, ptr noundef %14459, ptr noundef %14462, ptr noundef %14465, i32 noundef %14467) #10
  br label %14469

14469:                                            ; preds = %14452, %14435
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  br label %14470

14470:                                            ; preds = %14469
  br label %14471

14471:                                            ; preds = %14470
  call void @exit(i32 noundef 1) #12
  unreachable

14472:                                            ; No predecessors!
  br label %14473

14473:                                            ; preds = %14472
  br label %14474

14474:                                            ; preds = %14473, %14415
  br label %14475

14475:                                            ; preds = %14474
  br label %14476

14476:                                            ; preds = %14475
  call void @llvm.lifetime.end.p0(i64 40, ptr %274) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  br label %14477

14477:                                            ; preds = %14476
  %14478 = load i32, ptr @test_count, align 4, !tbaa !5
  %14479 = add nsw i32 %14478, 1
  store i32 %14479, ptr @test_count, align 4, !tbaa !5
  %14480 = call i32 (...) @s2n_enable_tls13_in_test()
  %14481 = icmp eq i32 %14480, -1
  br i1 %14481, label %14482, label %14535

14482:                                            ; preds = %14477
  br label %14483

14483:                                            ; preds = %14482
  br label %14484

14484:                                            ; preds = %14483
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %14485 = call ptr @__errno_location() #11
  %14486 = load i32, ptr %14485, align 4, !tbaa !5
  store i32 %14486, ptr %285, align 4, !tbaa !5
  %14487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14488 = call i32 @s2n_print_stacktrace(ptr noundef %14487)
  %14489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14490 = trunc i8 %14489 to i1
  br i1 %14490, label %14491, label %14513

14491:                                            ; preds = %14484
  %14492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14493 = call i32 @fileno(ptr noundef %14492) #10
  %14494 = call i32 @isatty(i32 noundef %14493) #10
  %14495 = icmp ne i32 %14494, 0
  br i1 %14495, label %14496, label %14513

14496:                                            ; preds = %14491
  %14497 = load i32, ptr %285, align 4, !tbaa !5
  %14498 = call ptr @__errno_location() #11
  store i32 %14497, ptr %14498, align 4, !tbaa !5
  %14499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14500 = load i32, ptr @test_count, align 4, !tbaa !5
  %14501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call ptr @s2n_strerror(i32 noundef %14502, ptr noundef @.str.4)
  %14504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call ptr @s2n_strerror_debug(i32 noundef %14505, ptr noundef @.str.4)
  %14507 = call ptr @__errno_location() #11
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  %14509 = call ptr @strerror(i32 noundef %14508) #10
  %14510 = call ptr @__errno_location() #11
  %14511 = load i32, ptr %14510, align 4, !tbaa !5
  %14512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14499, ptr noundef @.str.2, i32 noundef %14500, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 544, ptr noundef %14503, ptr noundef %14506, ptr noundef %14509, i32 noundef %14511) #10
  br label %14530

14513:                                            ; preds = %14491, %14484
  %14514 = load i32, ptr %285, align 4, !tbaa !5
  %14515 = call ptr @__errno_location() #11
  store i32 %14514, ptr %14515, align 4, !tbaa !5
  %14516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14517 = load i32, ptr @test_count, align 4, !tbaa !5
  %14518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14519 = load i32, ptr %14518, align 4, !tbaa !5
  %14520 = call ptr @s2n_strerror(i32 noundef %14519, ptr noundef @.str.4)
  %14521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14522 = load i32, ptr %14521, align 4, !tbaa !5
  %14523 = call ptr @s2n_strerror_debug(i32 noundef %14522, ptr noundef @.str.4)
  %14524 = call ptr @__errno_location() #11
  %14525 = load i32, ptr %14524, align 4, !tbaa !5
  %14526 = call ptr @strerror(i32 noundef %14525) #10
  %14527 = call ptr @__errno_location() #11
  %14528 = load i32, ptr %14527, align 4, !tbaa !5
  %14529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14516, ptr noundef @.str.5, i32 noundef %14517, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 544, ptr noundef %14520, ptr noundef %14523, ptr noundef %14526, i32 noundef %14528) #10
  br label %14530

14530:                                            ; preds = %14513, %14496
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %14531

14531:                                            ; preds = %14530
  br label %14532

14532:                                            ; preds = %14531
  call void @exit(i32 noundef 1) #12
  unreachable

14533:                                            ; No predecessors!
  br label %14534

14534:                                            ; preds = %14533
  br label %14535

14535:                                            ; preds = %14534, %14477
  br label %14536

14536:                                            ; preds = %14535
  br label %14537

14537:                                            ; preds = %14536
  call void @llvm.lifetime.start.p0(i64 8, ptr %286) #10
  store ptr null, ptr %286, align 8, !tbaa !9
  br label %14538

14538:                                            ; preds = %14537
  %14539 = load i32, ptr @test_count, align 4, !tbaa !5
  %14540 = add nsw i32 %14539, 1
  store i32 %14540, ptr @test_count, align 4, !tbaa !5
  %14541 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14541, ptr %286, align 8, !tbaa !9
  %14542 = icmp eq ptr %14541, null
  br i1 %14542, label %14543, label %14596

14543:                                            ; preds = %14538
  br label %14544

14544:                                            ; preds = %14543
  br label %14545

14545:                                            ; preds = %14544
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %14546 = call ptr @__errno_location() #11
  %14547 = load i32, ptr %14546, align 4, !tbaa !5
  store i32 %14547, ptr %287, align 4, !tbaa !5
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = call i32 @s2n_print_stacktrace(ptr noundef %14548)
  %14550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14551 = trunc i8 %14550 to i1
  br i1 %14551, label %14552, label %14574

14552:                                            ; preds = %14545
  %14553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14554 = call i32 @fileno(ptr noundef %14553) #10
  %14555 = call i32 @isatty(i32 noundef %14554) #10
  %14556 = icmp ne i32 %14555, 0
  br i1 %14556, label %14557, label %14574

14557:                                            ; preds = %14552
  %14558 = load i32, ptr %287, align 4, !tbaa !5
  %14559 = call ptr @__errno_location() #11
  store i32 %14558, ptr %14559, align 4, !tbaa !5
  %14560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14561 = load i32, ptr @test_count, align 4, !tbaa !5
  %14562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14563 = load i32, ptr %14562, align 4, !tbaa !5
  %14564 = call ptr @s2n_strerror(i32 noundef %14563, ptr noundef @.str.4)
  %14565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14566 = load i32, ptr %14565, align 4, !tbaa !5
  %14567 = call ptr @s2n_strerror_debug(i32 noundef %14566, ptr noundef @.str.4)
  %14568 = call ptr @__errno_location() #11
  %14569 = load i32, ptr %14568, align 4, !tbaa !5
  %14570 = call ptr @strerror(i32 noundef %14569) #10
  %14571 = call ptr @__errno_location() #11
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14560, ptr noundef @.str.2, i32 noundef %14561, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 547, ptr noundef %14564, ptr noundef %14567, ptr noundef %14570, i32 noundef %14572) #10
  br label %14591

14574:                                            ; preds = %14552, %14545
  %14575 = load i32, ptr %287, align 4, !tbaa !5
  %14576 = call ptr @__errno_location() #11
  store i32 %14575, ptr %14576, align 4, !tbaa !5
  %14577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14578 = load i32, ptr @test_count, align 4, !tbaa !5
  %14579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14580 = load i32, ptr %14579, align 4, !tbaa !5
  %14581 = call ptr @s2n_strerror(i32 noundef %14580, ptr noundef @.str.4)
  %14582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14583 = load i32, ptr %14582, align 4, !tbaa !5
  %14584 = call ptr @s2n_strerror_debug(i32 noundef %14583, ptr noundef @.str.4)
  %14585 = call ptr @__errno_location() #11
  %14586 = load i32, ptr %14585, align 4, !tbaa !5
  %14587 = call ptr @strerror(i32 noundef %14586) #10
  %14588 = call ptr @__errno_location() #11
  %14589 = load i32, ptr %14588, align 4, !tbaa !5
  %14590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14577, ptr noundef @.str.5, i32 noundef %14578, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 547, ptr noundef %14581, ptr noundef %14584, ptr noundef %14587, i32 noundef %14589) #10
  br label %14591

14591:                                            ; preds = %14574, %14557
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %14592

14592:                                            ; preds = %14591
  br label %14593

14593:                                            ; preds = %14592
  call void @exit(i32 noundef 1) #12
  unreachable

14594:                                            ; No predecessors!
  br label %14595

14595:                                            ; preds = %14594
  br label %14596

14596:                                            ; preds = %14595, %14538
  br label %14597

14597:                                            ; preds = %14596
  br label %14598

14598:                                            ; preds = %14597
  br label %14599

14599:                                            ; preds = %14598
  %14600 = load i32, ptr @test_count, align 4, !tbaa !5
  %14601 = add nsw i32 %14600, 1
  store i32 %14601, ptr @test_count, align 4, !tbaa !5
  %14602 = load ptr, ptr %286, align 8, !tbaa !9
  %14603 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %14602)
  %14604 = icmp eq i32 %14603, -1
  br i1 %14604, label %14605, label %14658

14605:                                            ; preds = %14599
  br label %14606

14606:                                            ; preds = %14605
  br label %14607

14607:                                            ; preds = %14606
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %14608 = call ptr @__errno_location() #11
  %14609 = load i32, ptr %14608, align 4, !tbaa !5
  store i32 %14609, ptr %288, align 4, !tbaa !5
  %14610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14611 = call i32 @s2n_print_stacktrace(ptr noundef %14610)
  %14612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14613 = trunc i8 %14612 to i1
  br i1 %14613, label %14614, label %14636

14614:                                            ; preds = %14607
  %14615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14616 = call i32 @fileno(ptr noundef %14615) #10
  %14617 = call i32 @isatty(i32 noundef %14616) #10
  %14618 = icmp ne i32 %14617, 0
  br i1 %14618, label %14619, label %14636

14619:                                            ; preds = %14614
  %14620 = load i32, ptr %288, align 4, !tbaa !5
  %14621 = call ptr @__errno_location() #11
  store i32 %14620, ptr %14621, align 4, !tbaa !5
  %14622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14623 = load i32, ptr @test_count, align 4, !tbaa !5
  %14624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14625 = load i32, ptr %14624, align 4, !tbaa !5
  %14626 = call ptr @s2n_strerror(i32 noundef %14625, ptr noundef @.str.4)
  %14627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14628 = load i32, ptr %14627, align 4, !tbaa !5
  %14629 = call ptr @s2n_strerror_debug(i32 noundef %14628, ptr noundef @.str.4)
  %14630 = call ptr @__errno_location() #11
  %14631 = load i32, ptr %14630, align 4, !tbaa !5
  %14632 = call ptr @strerror(i32 noundef %14631) #10
  %14633 = call ptr @__errno_location() #11
  %14634 = load i32, ptr %14633, align 4, !tbaa !5
  %14635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14622, ptr noundef @.str.2, i32 noundef %14623, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 548, ptr noundef %14626, ptr noundef %14629, ptr noundef %14632, i32 noundef %14634) #10
  br label %14653

14636:                                            ; preds = %14614, %14607
  %14637 = load i32, ptr %288, align 4, !tbaa !5
  %14638 = call ptr @__errno_location() #11
  store i32 %14637, ptr %14638, align 4, !tbaa !5
  %14639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14640 = load i32, ptr @test_count, align 4, !tbaa !5
  %14641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14642 = load i32, ptr %14641, align 4, !tbaa !5
  %14643 = call ptr @s2n_strerror(i32 noundef %14642, ptr noundef @.str.4)
  %14644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14645 = load i32, ptr %14644, align 4, !tbaa !5
  %14646 = call ptr @s2n_strerror_debug(i32 noundef %14645, ptr noundef @.str.4)
  %14647 = call ptr @__errno_location() #11
  %14648 = load i32, ptr %14647, align 4, !tbaa !5
  %14649 = call ptr @strerror(i32 noundef %14648) #10
  %14650 = call ptr @__errno_location() #11
  %14651 = load i32, ptr %14650, align 4, !tbaa !5
  %14652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14639, ptr noundef @.str.5, i32 noundef %14640, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 548, ptr noundef %14643, ptr noundef %14646, ptr noundef %14649, i32 noundef %14651) #10
  br label %14653

14653:                                            ; preds = %14636, %14619
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %14654

14654:                                            ; preds = %14653
  br label %14655

14655:                                            ; preds = %14654
  call void @exit(i32 noundef 1) #12
  unreachable

14656:                                            ; No predecessors!
  br label %14657

14657:                                            ; preds = %14656
  br label %14658

14658:                                            ; preds = %14657, %14599
  br label %14659

14659:                                            ; preds = %14658
  br label %14660

14660:                                            ; preds = %14659
  call void @llvm.lifetime.start.p0(i64 88, ptr %289) #10
  call void @llvm.memset.p0.i64(ptr align 8 %289, i8 0, i64 88, i1 false)
  br label %14661

14661:                                            ; preds = %14660
  %14662 = load i32, ptr @test_count, align 4, !tbaa !5
  %14663 = add nsw i32 %14662, 1
  store i32 %14663, ptr @test_count, align 4, !tbaa !5
  %14664 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %289, i32 0, i32 2
  %14665 = call i32 @s2n_blob_init(ptr noundef %14664, ptr noundef @main.fake_ocsp.73, i32 noundef 3)
  %14666 = icmp eq i32 %14665, -1
  br i1 %14666, label %14667, label %14720

14667:                                            ; preds = %14661
  br label %14668

14668:                                            ; preds = %14667
  br label %14669

14669:                                            ; preds = %14668
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %14670 = call ptr @__errno_location() #11
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  store i32 %14671, ptr %290, align 4, !tbaa !5
  %14672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14673 = call i32 @s2n_print_stacktrace(ptr noundef %14672)
  %14674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14675 = trunc i8 %14674 to i1
  br i1 %14675, label %14676, label %14698

14676:                                            ; preds = %14669
  %14677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14678 = call i32 @fileno(ptr noundef %14677) #10
  %14679 = call i32 @isatty(i32 noundef %14678) #10
  %14680 = icmp ne i32 %14679, 0
  br i1 %14680, label %14681, label %14698

14681:                                            ; preds = %14676
  %14682 = load i32, ptr %290, align 4, !tbaa !5
  %14683 = call ptr @__errno_location() #11
  store i32 %14682, ptr %14683, align 4, !tbaa !5
  %14684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14685 = load i32, ptr @test_count, align 4, !tbaa !5
  %14686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14687 = load i32, ptr %14686, align 4, !tbaa !5
  %14688 = call ptr @s2n_strerror(i32 noundef %14687, ptr noundef @.str.4)
  %14689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14690 = load i32, ptr %14689, align 4, !tbaa !5
  %14691 = call ptr @s2n_strerror_debug(i32 noundef %14690, ptr noundef @.str.4)
  %14692 = call ptr @__errno_location() #11
  %14693 = load i32, ptr %14692, align 4, !tbaa !5
  %14694 = call ptr @strerror(i32 noundef %14693) #10
  %14695 = call ptr @__errno_location() #11
  %14696 = load i32, ptr %14695, align 4, !tbaa !5
  %14697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14684, ptr noundef @.str.2, i32 noundef %14685, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 552, ptr noundef %14688, ptr noundef %14691, ptr noundef %14694, i32 noundef %14696) #10
  br label %14715

14698:                                            ; preds = %14676, %14669
  %14699 = load i32, ptr %290, align 4, !tbaa !5
  %14700 = call ptr @__errno_location() #11
  store i32 %14699, ptr %14700, align 4, !tbaa !5
  %14701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14702 = load i32, ptr @test_count, align 4, !tbaa !5
  %14703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14704 = load i32, ptr %14703, align 4, !tbaa !5
  %14705 = call ptr @s2n_strerror(i32 noundef %14704, ptr noundef @.str.4)
  %14706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14707 = load i32, ptr %14706, align 4, !tbaa !5
  %14708 = call ptr @s2n_strerror_debug(i32 noundef %14707, ptr noundef @.str.4)
  %14709 = call ptr @__errno_location() #11
  %14710 = load i32, ptr %14709, align 4, !tbaa !5
  %14711 = call ptr @strerror(i32 noundef %14710) #10
  %14712 = call ptr @__errno_location() #11
  %14713 = load i32, ptr %14712, align 4, !tbaa !5
  %14714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14701, ptr noundef @.str.5, i32 noundef %14702, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 552, ptr noundef %14705, ptr noundef %14708, ptr noundef %14711, i32 noundef %14713) #10
  br label %14715

14715:                                            ; preds = %14698, %14681
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %14716

14716:                                            ; preds = %14715
  br label %14717

14717:                                            ; preds = %14716
  call void @exit(i32 noundef 1) #12
  unreachable

14718:                                            ; No predecessors!
  br label %14719

14719:                                            ; preds = %14718
  br label %14720

14720:                                            ; preds = %14719, %14661
  br label %14721

14721:                                            ; preds = %14720
  br label %14722

14722:                                            ; preds = %14721
  %14723 = load ptr, ptr %286, align 8, !tbaa !9
  %14724 = getelementptr inbounds %struct.s2n_connection, ptr %14723, i32 0, i32 65
  store i32 1, ptr %14724, align 8, !tbaa !47
  %14725 = load ptr, ptr %286, align 8, !tbaa !9
  %14726 = getelementptr inbounds %struct.s2n_connection, ptr %14725, i32 0, i32 32
  %14727 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %14726, i32 0, i32 7
  store ptr %289, ptr %14727, align 8, !tbaa !46
  %14728 = load ptr, ptr %286, align 8, !tbaa !9
  %14729 = getelementptr inbounds %struct.s2n_connection, ptr %14728, i32 0, i32 23
  store i8 33, ptr %14729, align 4, !tbaa !55
  %14730 = load ptr, ptr %286, align 8, !tbaa !9
  %14731 = getelementptr inbounds %struct.s2n_connection, ptr %14730, i32 0, i32 22
  store i8 33, ptr %14731, align 1, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 8, ptr %291) #10
  store ptr null, ptr %291, align 8, !tbaa !9
  br label %14732

14732:                                            ; preds = %14722
  %14733 = load i32, ptr @test_count, align 4, !tbaa !5
  %14734 = add nsw i32 %14733, 1
  store i32 %14734, ptr @test_count, align 4, !tbaa !5
  %14735 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14735, ptr %291, align 8, !tbaa !9
  %14736 = icmp eq ptr %14735, null
  br i1 %14736, label %14737, label %14790

14737:                                            ; preds = %14732
  br label %14738

14738:                                            ; preds = %14737
  br label %14739

14739:                                            ; preds = %14738
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %14740 = call ptr @__errno_location() #11
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  store i32 %14741, ptr %292, align 4, !tbaa !5
  %14742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14743 = call i32 @s2n_print_stacktrace(ptr noundef %14742)
  %14744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14745 = trunc i8 %14744 to i1
  br i1 %14745, label %14746, label %14768

14746:                                            ; preds = %14739
  %14747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14748 = call i32 @fileno(ptr noundef %14747) #10
  %14749 = call i32 @isatty(i32 noundef %14748) #10
  %14750 = icmp ne i32 %14749, 0
  br i1 %14750, label %14751, label %14768

14751:                                            ; preds = %14746
  %14752 = load i32, ptr %292, align 4, !tbaa !5
  %14753 = call ptr @__errno_location() #11
  store i32 %14752, ptr %14753, align 4, !tbaa !5
  %14754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14755 = load i32, ptr @test_count, align 4, !tbaa !5
  %14756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14757 = load i32, ptr %14756, align 4, !tbaa !5
  %14758 = call ptr @s2n_strerror(i32 noundef %14757, ptr noundef @.str.4)
  %14759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14760 = load i32, ptr %14759, align 4, !tbaa !5
  %14761 = call ptr @s2n_strerror_debug(i32 noundef %14760, ptr noundef @.str.4)
  %14762 = call ptr @__errno_location() #11
  %14763 = load i32, ptr %14762, align 4, !tbaa !5
  %14764 = call ptr @strerror(i32 noundef %14763) #10
  %14765 = call ptr @__errno_location() #11
  %14766 = load i32, ptr %14765, align 4, !tbaa !5
  %14767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14754, ptr noundef @.str.2, i32 noundef %14755, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 565, ptr noundef %14758, ptr noundef %14761, ptr noundef %14764, i32 noundef %14766) #10
  br label %14785

14768:                                            ; preds = %14746, %14739
  %14769 = load i32, ptr %292, align 4, !tbaa !5
  %14770 = call ptr @__errno_location() #11
  store i32 %14769, ptr %14770, align 4, !tbaa !5
  %14771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14772 = load i32, ptr @test_count, align 4, !tbaa !5
  %14773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14774 = load i32, ptr %14773, align 4, !tbaa !5
  %14775 = call ptr @s2n_strerror(i32 noundef %14774, ptr noundef @.str.4)
  %14776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14777 = load i32, ptr %14776, align 4, !tbaa !5
  %14778 = call ptr @s2n_strerror_debug(i32 noundef %14777, ptr noundef @.str.4)
  %14779 = call ptr @__errno_location() #11
  %14780 = load i32, ptr %14779, align 4, !tbaa !5
  %14781 = call ptr @strerror(i32 noundef %14780) #10
  %14782 = call ptr @__errno_location() #11
  %14783 = load i32, ptr %14782, align 4, !tbaa !5
  %14784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14771, ptr noundef @.str.5, i32 noundef %14772, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 565, ptr noundef %14775, ptr noundef %14778, ptr noundef %14781, i32 noundef %14783) #10
  br label %14785

14785:                                            ; preds = %14768, %14751
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %14786

14786:                                            ; preds = %14785
  br label %14787

14787:                                            ; preds = %14786
  call void @exit(i32 noundef 1) #12
  unreachable

14788:                                            ; No predecessors!
  br label %14789

14789:                                            ; preds = %14788
  br label %14790

14790:                                            ; preds = %14789, %14732
  br label %14791

14791:                                            ; preds = %14790
  br label %14792

14792:                                            ; preds = %14791
  br label %14793

14793:                                            ; preds = %14792
  %14794 = load i32, ptr @test_count, align 4, !tbaa !5
  %14795 = add nsw i32 %14794, 1
  store i32 %14795, ptr @test_count, align 4, !tbaa !5
  %14796 = load ptr, ptr %291, align 8, !tbaa !9
  %14797 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %14796)
  %14798 = icmp eq i32 %14797, -1
  br i1 %14798, label %14799, label %14852

14799:                                            ; preds = %14793
  br label %14800

14800:                                            ; preds = %14799
  br label %14801

14801:                                            ; preds = %14800
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #10
  %14802 = call ptr @__errno_location() #11
  %14803 = load i32, ptr %14802, align 4, !tbaa !5
  store i32 %14803, ptr %293, align 4, !tbaa !5
  %14804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14805 = call i32 @s2n_print_stacktrace(ptr noundef %14804)
  %14806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14807 = trunc i8 %14806 to i1
  br i1 %14807, label %14808, label %14830

14808:                                            ; preds = %14801
  %14809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14810 = call i32 @fileno(ptr noundef %14809) #10
  %14811 = call i32 @isatty(i32 noundef %14810) #10
  %14812 = icmp ne i32 %14811, 0
  br i1 %14812, label %14813, label %14830

14813:                                            ; preds = %14808
  %14814 = load i32, ptr %293, align 4, !tbaa !5
  %14815 = call ptr @__errno_location() #11
  store i32 %14814, ptr %14815, align 4, !tbaa !5
  %14816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14817 = load i32, ptr @test_count, align 4, !tbaa !5
  %14818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call ptr @s2n_strerror(i32 noundef %14819, ptr noundef @.str.4)
  %14821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  %14823 = call ptr @s2n_strerror_debug(i32 noundef %14822, ptr noundef @.str.4)
  %14824 = call ptr @__errno_location() #11
  %14825 = load i32, ptr %14824, align 4, !tbaa !5
  %14826 = call ptr @strerror(i32 noundef %14825) #10
  %14827 = call ptr @__errno_location() #11
  %14828 = load i32, ptr %14827, align 4, !tbaa !5
  %14829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14816, ptr noundef @.str.2, i32 noundef %14817, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 566, ptr noundef %14820, ptr noundef %14823, ptr noundef %14826, i32 noundef %14828) #10
  br label %14847

14830:                                            ; preds = %14808, %14801
  %14831 = load i32, ptr %293, align 4, !tbaa !5
  %14832 = call ptr @__errno_location() #11
  store i32 %14831, ptr %14832, align 4, !tbaa !5
  %14833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14834 = load i32, ptr @test_count, align 4, !tbaa !5
  %14835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  %14837 = call ptr @s2n_strerror(i32 noundef %14836, ptr noundef @.str.4)
  %14838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14839 = load i32, ptr %14838, align 4, !tbaa !5
  %14840 = call ptr @s2n_strerror_debug(i32 noundef %14839, ptr noundef @.str.4)
  %14841 = call ptr @__errno_location() #11
  %14842 = load i32, ptr %14841, align 4, !tbaa !5
  %14843 = call ptr @strerror(i32 noundef %14842) #10
  %14844 = call ptr @__errno_location() #11
  %14845 = load i32, ptr %14844, align 4, !tbaa !5
  %14846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14833, ptr noundef @.str.5, i32 noundef %14834, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 566, ptr noundef %14837, ptr noundef %14840, ptr noundef %14843, i32 noundef %14845) #10
  br label %14847

14847:                                            ; preds = %14830, %14813
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #10
  br label %14848

14848:                                            ; preds = %14847
  br label %14849

14849:                                            ; preds = %14848
  call void @exit(i32 noundef 1) #12
  unreachable

14850:                                            ; No predecessors!
  br label %14851

14851:                                            ; preds = %14850
  br label %14852

14852:                                            ; preds = %14851, %14793
  br label %14853

14853:                                            ; preds = %14852
  br label %14854

14854:                                            ; preds = %14853
  call void @llvm.lifetime.start.p0(i64 40, ptr %294) #10
  br label %14855

14855:                                            ; preds = %14854
  %14856 = load i32, ptr @test_count, align 4, !tbaa !5
  %14857 = add nsw i32 %14856, 1
  store i32 %14857, ptr @test_count, align 4, !tbaa !5
  %14858 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %294, i32 noundef 0)
  %14859 = icmp eq i32 %14858, -1
  br i1 %14859, label %14860, label %14913

14860:                                            ; preds = %14855
  br label %14861

14861:                                            ; preds = %14860
  br label %14862

14862:                                            ; preds = %14861
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %14863 = call ptr @__errno_location() #11
  %14864 = load i32, ptr %14863, align 4, !tbaa !5
  store i32 %14864, ptr %295, align 4, !tbaa !5
  %14865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14866 = call i32 @s2n_print_stacktrace(ptr noundef %14865)
  %14867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14868 = trunc i8 %14867 to i1
  br i1 %14868, label %14869, label %14891

14869:                                            ; preds = %14862
  %14870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14871 = call i32 @fileno(ptr noundef %14870) #10
  %14872 = call i32 @isatty(i32 noundef %14871) #10
  %14873 = icmp ne i32 %14872, 0
  br i1 %14873, label %14874, label %14891

14874:                                            ; preds = %14869
  %14875 = load i32, ptr %295, align 4, !tbaa !5
  %14876 = call ptr @__errno_location() #11
  store i32 %14875, ptr %14876, align 4, !tbaa !5
  %14877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14878 = load i32, ptr @test_count, align 4, !tbaa !5
  %14879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14880 = load i32, ptr %14879, align 4, !tbaa !5
  %14881 = call ptr @s2n_strerror(i32 noundef %14880, ptr noundef @.str.4)
  %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_debug(i32 noundef %14883, ptr noundef @.str.4)
  %14885 = call ptr @__errno_location() #11
  %14886 = load i32, ptr %14885, align 4, !tbaa !5
  %14887 = call ptr @strerror(i32 noundef %14886) #10
  %14888 = call ptr @__errno_location() #11
  %14889 = load i32, ptr %14888, align 4, !tbaa !5
  %14890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14877, ptr noundef @.str.2, i32 noundef %14878, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 569, ptr noundef %14881, ptr noundef %14884, ptr noundef %14887, i32 noundef %14889) #10
  br label %14908

14891:                                            ; preds = %14869, %14862
  %14892 = load i32, ptr %295, align 4, !tbaa !5
  %14893 = call ptr @__errno_location() #11
  store i32 %14892, ptr %14893, align 4, !tbaa !5
  %14894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14895 = load i32, ptr @test_count, align 4, !tbaa !5
  %14896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14897 = load i32, ptr %14896, align 4, !tbaa !5
  %14898 = call ptr @s2n_strerror(i32 noundef %14897, ptr noundef @.str.4)
  %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_debug(i32 noundef %14900, ptr noundef @.str.4)
  %14902 = call ptr @__errno_location() #11
  %14903 = load i32, ptr %14902, align 4, !tbaa !5
  %14904 = call ptr @strerror(i32 noundef %14903) #10
  %14905 = call ptr @__errno_location() #11
  %14906 = load i32, ptr %14905, align 4, !tbaa !5
  %14907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14894, ptr noundef @.str.5, i32 noundef %14895, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 569, ptr noundef %14898, ptr noundef %14901, ptr noundef %14904, i32 noundef %14906) #10
  br label %14908

14908:                                            ; preds = %14891, %14874
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %14909

14909:                                            ; preds = %14908
  br label %14910

14910:                                            ; preds = %14909
  call void @exit(i32 noundef 1) #12
  unreachable

14911:                                            ; No predecessors!
  br label %14912

14912:                                            ; preds = %14911
  br label %14913

14913:                                            ; preds = %14912, %14855
  br label %14914

14914:                                            ; preds = %14913
  br label %14915

14915:                                            ; preds = %14914
  call void @llvm.lifetime.start.p0(i64 16, ptr %296) #10
  call void @llvm.memset.p0.i64(ptr align 8 %296, i8 0, i64 16, i1 false)
  br label %14916

14916:                                            ; preds = %14915
  %14917 = load i32, ptr @test_count, align 4, !tbaa !5
  %14918 = add nsw i32 %14917, 1
  store i32 %14918, ptr @test_count, align 4, !tbaa !5
  %14919 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %294, ptr noundef %296)
  %14920 = icmp eq i32 %14919, -1
  br i1 %14920, label %14921, label %14974

14921:                                            ; preds = %14916
  br label %14922

14922:                                            ; preds = %14921
  br label %14923

14923:                                            ; preds = %14922
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %14924 = call ptr @__errno_location() #11
  %14925 = load i32, ptr %14924, align 4, !tbaa !5
  store i32 %14925, ptr %297, align 4, !tbaa !5
  %14926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14927 = call i32 @s2n_print_stacktrace(ptr noundef %14926)
  %14928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14929 = trunc i8 %14928 to i1
  br i1 %14929, label %14930, label %14952

14930:                                            ; preds = %14923
  %14931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14932 = call i32 @fileno(ptr noundef %14931) #10
  %14933 = call i32 @isatty(i32 noundef %14932) #10
  %14934 = icmp ne i32 %14933, 0
  br i1 %14934, label %14935, label %14952

14935:                                            ; preds = %14930
  %14936 = load i32, ptr %297, align 4, !tbaa !5
  %14937 = call ptr @__errno_location() #11
  store i32 %14936, ptr %14937, align 4, !tbaa !5
  %14938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14939 = load i32, ptr @test_count, align 4, !tbaa !5
  %14940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14941 = load i32, ptr %14940, align 4, !tbaa !5
  %14942 = call ptr @s2n_strerror(i32 noundef %14941, ptr noundef @.str.4)
  %14943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call ptr @s2n_strerror_debug(i32 noundef %14944, ptr noundef @.str.4)
  %14946 = call ptr @__errno_location() #11
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call ptr @strerror(i32 noundef %14947) #10
  %14949 = call ptr @__errno_location() #11
  %14950 = load i32, ptr %14949, align 4, !tbaa !5
  %14951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14938, ptr noundef @.str.2, i32 noundef %14939, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 573, ptr noundef %14942, ptr noundef %14945, ptr noundef %14948, i32 noundef %14950) #10
  br label %14969

14952:                                            ; preds = %14930, %14923
  %14953 = load i32, ptr %297, align 4, !tbaa !5
  %14954 = call ptr @__errno_location() #11
  store i32 %14953, ptr %14954, align 4, !tbaa !5
  %14955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14956 = load i32, ptr @test_count, align 4, !tbaa !5
  %14957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror(i32 noundef %14958, ptr noundef @.str.4)
  %14960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14961 = load i32, ptr %14960, align 4, !tbaa !5
  %14962 = call ptr @s2n_strerror_debug(i32 noundef %14961, ptr noundef @.str.4)
  %14963 = call ptr @__errno_location() #11
  %14964 = load i32, ptr %14963, align 4, !tbaa !5
  %14965 = call ptr @strerror(i32 noundef %14964) #10
  %14966 = call ptr @__errno_location() #11
  %14967 = load i32, ptr %14966, align 4, !tbaa !5
  %14968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14955, ptr noundef @.str.5, i32 noundef %14956, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 573, ptr noundef %14959, ptr noundef %14962, ptr noundef %14965, i32 noundef %14967) #10
  br label %14969

14969:                                            ; preds = %14952, %14935
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

14971:                                            ; preds = %14970
  call void @exit(i32 noundef 1) #12
  unreachable

14972:                                            ; No predecessors!
  br label %14973

14973:                                            ; preds = %14972
  br label %14974

14974:                                            ; preds = %14973, %14916
  br label %14975

14975:                                            ; preds = %14974
  br label %14976

14976:                                            ; preds = %14975
  br label %14977

14977:                                            ; preds = %14976
  %14978 = load i32, ptr @test_count, align 4, !tbaa !5
  %14979 = add nsw i32 %14978, 1
  store i32 %14979, ptr @test_count, align 4, !tbaa !5
  %14980 = load ptr, ptr %286, align 8, !tbaa !9
  %14981 = call i32 @s2n_extension_send(ptr noundef @s2n_cert_status_response_extension, ptr noundef %14980, ptr noundef %294)
  %14982 = icmp eq i32 %14981, -1
  br i1 %14982, label %14983, label %15036

14983:                                            ; preds = %14977
  br label %14984

14984:                                            ; preds = %14983
  br label %14985

14985:                                            ; preds = %14984
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #10
  %14986 = call ptr @__errno_location() #11
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  store i32 %14987, ptr %298, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = call i32 @s2n_print_stacktrace(ptr noundef %14988)
  %14990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14991 = trunc i8 %14990 to i1
  br i1 %14991, label %14992, label %15014

14992:                                            ; preds = %14985
  %14993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14994 = call i32 @fileno(ptr noundef %14993) #10
  %14995 = call i32 @isatty(i32 noundef %14994) #10
  %14996 = icmp ne i32 %14995, 0
  br i1 %14996, label %14997, label %15014

14997:                                            ; preds = %14992
  %14998 = load i32, ptr %298, align 4, !tbaa !5
  %14999 = call ptr @__errno_location() #11
  store i32 %14998, ptr %14999, align 4, !tbaa !5
  %15000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15001 = load i32, ptr @test_count, align 4, !tbaa !5
  %15002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15003 = load i32, ptr %15002, align 4, !tbaa !5
  %15004 = call ptr @s2n_strerror(i32 noundef %15003, ptr noundef @.str.4)
  %15005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  %15007 = call ptr @s2n_strerror_debug(i32 noundef %15006, ptr noundef @.str.4)
  %15008 = call ptr @__errno_location() #11
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call ptr @strerror(i32 noundef %15009) #10
  %15011 = call ptr @__errno_location() #11
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15000, ptr noundef @.str.2, i32 noundef %15001, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 575, ptr noundef %15004, ptr noundef %15007, ptr noundef %15010, i32 noundef %15012) #10
  br label %15031

15014:                                            ; preds = %14992, %14985
  %15015 = load i32, ptr %298, align 4, !tbaa !5
  %15016 = call ptr @__errno_location() #11
  store i32 %15015, ptr %15016, align 4, !tbaa !5
  %15017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15018 = load i32, ptr @test_count, align 4, !tbaa !5
  %15019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15020 = load i32, ptr %15019, align 4, !tbaa !5
  %15021 = call ptr @s2n_strerror(i32 noundef %15020, ptr noundef @.str.4)
  %15022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  %15024 = call ptr @s2n_strerror_debug(i32 noundef %15023, ptr noundef @.str.4)
  %15025 = call ptr @__errno_location() #11
  %15026 = load i32, ptr %15025, align 4, !tbaa !5
  %15027 = call ptr @strerror(i32 noundef %15026) #10
  %15028 = call ptr @__errno_location() #11
  %15029 = load i32, ptr %15028, align 4, !tbaa !5
  %15030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15017, ptr noundef @.str.5, i32 noundef %15018, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 575, ptr noundef %15021, ptr noundef %15024, ptr noundef %15027, i32 noundef %15029) #10
  br label %15031

15031:                                            ; preds = %15014, %14997
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #10
  br label %15032

15032:                                            ; preds = %15031
  br label %15033

15033:                                            ; preds = %15032
  call void @exit(i32 noundef 1) #12
  unreachable

15034:                                            ; No predecessors!
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

15036:                                            ; preds = %15035, %14977
  br label %15037

15037:                                            ; preds = %15036
  br label %15038

15038:                                            ; preds = %15037
  br label %15039

15039:                                            ; preds = %15038
  %15040 = load i32, ptr @test_count, align 4, !tbaa !5
  %15041 = add nsw i32 %15040, 1
  store i32 %15041, ptr @test_count, align 4, !tbaa !5
  %15042 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %296)
  %15043 = icmp eq i32 %15042, -1
  br i1 %15043, label %15044, label %15097

15044:                                            ; preds = %15039
  br label %15045

15045:                                            ; preds = %15044
  br label %15046

15046:                                            ; preds = %15045
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %15047 = call ptr @__errno_location() #11
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  store i32 %15048, ptr %299, align 4, !tbaa !5
  %15049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15050 = call i32 @s2n_print_stacktrace(ptr noundef %15049)
  %15051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15052 = trunc i8 %15051 to i1
  br i1 %15052, label %15053, label %15075

15053:                                            ; preds = %15046
  %15054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15055 = call i32 @fileno(ptr noundef %15054) #10
  %15056 = call i32 @isatty(i32 noundef %15055) #10
  %15057 = icmp ne i32 %15056, 0
  br i1 %15057, label %15058, label %15075

15058:                                            ; preds = %15053
  %15059 = load i32, ptr %299, align 4, !tbaa !5
  %15060 = call ptr @__errno_location() #11
  store i32 %15059, ptr %15060, align 4, !tbaa !5
  %15061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15062 = load i32, ptr @test_count, align 4, !tbaa !5
  %15063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15064 = load i32, ptr %15063, align 4, !tbaa !5
  %15065 = call ptr @s2n_strerror(i32 noundef %15064, ptr noundef @.str.4)
  %15066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15067 = load i32, ptr %15066, align 4, !tbaa !5
  %15068 = call ptr @s2n_strerror_debug(i32 noundef %15067, ptr noundef @.str.4)
  %15069 = call ptr @__errno_location() #11
  %15070 = load i32, ptr %15069, align 4, !tbaa !5
  %15071 = call ptr @strerror(i32 noundef %15070) #10
  %15072 = call ptr @__errno_location() #11
  %15073 = load i32, ptr %15072, align 4, !tbaa !5
  %15074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15061, ptr noundef @.str.2, i32 noundef %15062, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15065, ptr noundef %15068, ptr noundef %15071, i32 noundef %15073) #10
  br label %15092

15075:                                            ; preds = %15053, %15046
  %15076 = load i32, ptr %299, align 4, !tbaa !5
  %15077 = call ptr @__errno_location() #11
  store i32 %15076, ptr %15077, align 4, !tbaa !5
  %15078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15079 = load i32, ptr @test_count, align 4, !tbaa !5
  %15080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15081 = load i32, ptr %15080, align 4, !tbaa !5
  %15082 = call ptr @s2n_strerror(i32 noundef %15081, ptr noundef @.str.4)
  %15083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15084 = load i32, ptr %15083, align 4, !tbaa !5
  %15085 = call ptr @s2n_strerror_debug(i32 noundef %15084, ptr noundef @.str.4)
  %15086 = call ptr @__errno_location() #11
  %15087 = load i32, ptr %15086, align 4, !tbaa !5
  %15088 = call ptr @strerror(i32 noundef %15087) #10
  %15089 = call ptr @__errno_location() #11
  %15090 = load i32, ptr %15089, align 4, !tbaa !5
  %15091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15078, ptr noundef @.str.5, i32 noundef %15079, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15082, ptr noundef %15085, ptr noundef %15088, i32 noundef %15090) #10
  br label %15092

15092:                                            ; preds = %15075, %15058
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %15093

15093:                                            ; preds = %15092
  br label %15094

15094:                                            ; preds = %15093
  call void @exit(i32 noundef 1) #12
  unreachable

15095:                                            ; No predecessors!
  br label %15096

15096:                                            ; preds = %15095
  br label %15097

15097:                                            ; preds = %15096, %15039
  br label %15098

15098:                                            ; preds = %15097
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099
  %15101 = load i32, ptr @test_count, align 4, !tbaa !5
  %15102 = add nsw i32 %15101, 1
  store i32 %15102, ptr @test_count, align 4, !tbaa !5
  %15103 = load ptr, ptr %291, align 8, !tbaa !9
  %15104 = getelementptr inbounds %struct.s2n_connection, ptr %15103, i32 0, i32 65
  %15105 = load i32, ptr %15104, align 8, !tbaa !47
  %15106 = icmp eq i32 %15105, 0
  br i1 %15106, label %15160, label %15107

15107:                                            ; preds = %15100
  br label %15108

15108:                                            ; preds = %15107
  br label %15109

15109:                                            ; preds = %15108
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #10
  %15110 = call ptr @__errno_location() #11
  %15111 = load i32, ptr %15110, align 4, !tbaa !5
  store i32 %15111, ptr %300, align 4, !tbaa !5
  %15112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15113 = call i32 @s2n_print_stacktrace(ptr noundef %15112)
  %15114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15115 = trunc i8 %15114 to i1
  br i1 %15115, label %15116, label %15138

15116:                                            ; preds = %15109
  %15117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15118 = call i32 @fileno(ptr noundef %15117) #10
  %15119 = call i32 @isatty(i32 noundef %15118) #10
  %15120 = icmp ne i32 %15119, 0
  br i1 %15120, label %15121, label %15138

15121:                                            ; preds = %15116
  %15122 = load i32, ptr %300, align 4, !tbaa !5
  %15123 = call ptr @__errno_location() #11
  store i32 %15122, ptr %15123, align 4, !tbaa !5
  %15124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15125 = load i32, ptr @test_count, align 4, !tbaa !5
  %15126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15127 = load i32, ptr %15126, align 4, !tbaa !5
  %15128 = call ptr @s2n_strerror(i32 noundef %15127, ptr noundef @.str.4)
  %15129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15130 = load i32, ptr %15129, align 4, !tbaa !5
  %15131 = call ptr @s2n_strerror_debug(i32 noundef %15130, ptr noundef @.str.4)
  %15132 = call ptr @__errno_location() #11
  %15133 = load i32, ptr %15132, align 4, !tbaa !5
  %15134 = call ptr @strerror(i32 noundef %15133) #10
  %15135 = call ptr @__errno_location() #11
  %15136 = load i32, ptr %15135, align 4, !tbaa !5
  %15137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15124, ptr noundef @.str.2, i32 noundef %15125, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 578, ptr noundef %15128, ptr noundef %15131, ptr noundef %15134, i32 noundef %15136) #10
  br label %15155

15138:                                            ; preds = %15116, %15109
  %15139 = load i32, ptr %300, align 4, !tbaa !5
  %15140 = call ptr @__errno_location() #11
  store i32 %15139, ptr %15140, align 4, !tbaa !5
  %15141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15142 = load i32, ptr @test_count, align 4, !tbaa !5
  %15143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15144 = load i32, ptr %15143, align 4, !tbaa !5
  %15145 = call ptr @s2n_strerror(i32 noundef %15144, ptr noundef @.str.4)
  %15146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15147 = load i32, ptr %15146, align 4, !tbaa !5
  %15148 = call ptr @s2n_strerror_debug(i32 noundef %15147, ptr noundef @.str.4)
  %15149 = call ptr @__errno_location() #11
  %15150 = load i32, ptr %15149, align 4, !tbaa !5
  %15151 = call ptr @strerror(i32 noundef %15150) #10
  %15152 = call ptr @__errno_location() #11
  %15153 = load i32, ptr %15152, align 4, !tbaa !5
  %15154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15141, ptr noundef @.str.5, i32 noundef %15142, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 578, ptr noundef %15145, ptr noundef %15148, ptr noundef %15151, i32 noundef %15153) #10
  br label %15155

15155:                                            ; preds = %15138, %15121
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #10
  br label %15156

15156:                                            ; preds = %15155
  br label %15157

15157:                                            ; preds = %15156
  call void @exit(i32 noundef 1) #12
  unreachable

15158:                                            ; No predecessors!
  br label %15159

15159:                                            ; preds = %15158
  br label %15160

15160:                                            ; preds = %15159, %15100
  br label %15161

15161:                                            ; preds = %15160
  br label %15162

15162:                                            ; preds = %15161
  br label %15163

15163:                                            ; preds = %15162
  %15164 = load i32, ptr @test_count, align 4, !tbaa !5
  %15165 = add nsw i32 %15164, 1
  store i32 %15165, ptr @test_count, align 4, !tbaa !5
  %15166 = load ptr, ptr %291, align 8, !tbaa !9
  %15167 = getelementptr inbounds %struct.s2n_connection, ptr %15166, i32 0, i32 22
  %15168 = load i8, ptr %15167, align 1, !tbaa !74
  %15169 = zext i8 %15168 to i32
  %15170 = icmp eq i32 %15169, 0
  br i1 %15170, label %15224, label %15171

15171:                                            ; preds = %15163
  br label %15172

15172:                                            ; preds = %15171
  br label %15173

15173:                                            ; preds = %15172
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  %15174 = call ptr @__errno_location() #11
  %15175 = load i32, ptr %15174, align 4, !tbaa !5
  store i32 %15175, ptr %301, align 4, !tbaa !5
  %15176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15177 = call i32 @s2n_print_stacktrace(ptr noundef %15176)
  %15178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15179 = trunc i8 %15178 to i1
  br i1 %15179, label %15180, label %15202

15180:                                            ; preds = %15173
  %15181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15182 = call i32 @fileno(ptr noundef %15181) #10
  %15183 = call i32 @isatty(i32 noundef %15182) #10
  %15184 = icmp ne i32 %15183, 0
  br i1 %15184, label %15185, label %15202

15185:                                            ; preds = %15180
  %15186 = load i32, ptr %301, align 4, !tbaa !5
  %15187 = call ptr @__errno_location() #11
  store i32 %15186, ptr %15187, align 4, !tbaa !5
  %15188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15189 = load i32, ptr @test_count, align 4, !tbaa !5
  %15190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @s2n_strerror(i32 noundef %15191, ptr noundef @.str.4)
  %15193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call ptr @s2n_strerror_debug(i32 noundef %15194, ptr noundef @.str.4)
  %15196 = call ptr @__errno_location() #11
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @strerror(i32 noundef %15197) #10
  %15199 = call ptr @__errno_location() #11
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15188, ptr noundef @.str.2, i32 noundef %15189, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15192, ptr noundef %15195, ptr noundef %15198, i32 noundef %15200) #10
  br label %15219

15202:                                            ; preds = %15180, %15173
  %15203 = load i32, ptr %301, align 4, !tbaa !5
  %15204 = call ptr @__errno_location() #11
  store i32 %15203, ptr %15204, align 4, !tbaa !5
  %15205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15206 = load i32, ptr @test_count, align 4, !tbaa !5
  %15207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15208 = load i32, ptr %15207, align 4, !tbaa !5
  %15209 = call ptr @s2n_strerror(i32 noundef %15208, ptr noundef @.str.4)
  %15210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15211 = load i32, ptr %15210, align 4, !tbaa !5
  %15212 = call ptr @s2n_strerror_debug(i32 noundef %15211, ptr noundef @.str.4)
  %15213 = call ptr @__errno_location() #11
  %15214 = load i32, ptr %15213, align 4, !tbaa !5
  %15215 = call ptr @strerror(i32 noundef %15214) #10
  %15216 = call ptr @__errno_location() #11
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  %15218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15205, ptr noundef @.str.5, i32 noundef %15206, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15209, ptr noundef %15212, ptr noundef %15215, i32 noundef %15217) #10
  br label %15219

15219:                                            ; preds = %15202, %15185
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  br label %15220

15220:                                            ; preds = %15219
  br label %15221

15221:                                            ; preds = %15220
  call void @exit(i32 noundef 1) #12
  unreachable

15222:                                            ; No predecessors!
  br label %15223

15223:                                            ; preds = %15222
  br label %15224

15224:                                            ; preds = %15223, %15163
  br label %15225

15225:                                            ; preds = %15224
  br label %15226

15226:                                            ; preds = %15225
  br label %15227

15227:                                            ; preds = %15226
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = add nsw i32 %15228, 1
  store i32 %15229, ptr @test_count, align 4, !tbaa !5
  %15230 = load ptr, ptr %291, align 8, !tbaa !9
  %15231 = call i32 @s2n_server_extensions_recv(ptr noundef %15230, ptr noundef %294)
  %15232 = icmp eq i32 %15231, -1
  br i1 %15232, label %15233, label %15286

15233:                                            ; preds = %15227
  br label %15234

15234:                                            ; preds = %15233
  br label %15235

15235:                                            ; preds = %15234
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #10
  %15236 = call ptr @__errno_location() #11
  %15237 = load i32, ptr %15236, align 4, !tbaa !5
  store i32 %15237, ptr %302, align 4, !tbaa !5
  %15238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15239 = call i32 @s2n_print_stacktrace(ptr noundef %15238)
  %15240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15241 = trunc i8 %15240 to i1
  br i1 %15241, label %15242, label %15264

15242:                                            ; preds = %15235
  %15243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15244 = call i32 @fileno(ptr noundef %15243) #10
  %15245 = call i32 @isatty(i32 noundef %15244) #10
  %15246 = icmp ne i32 %15245, 0
  br i1 %15246, label %15247, label %15264

15247:                                            ; preds = %15242
  %15248 = load i32, ptr %302, align 4, !tbaa !5
  %15249 = call ptr @__errno_location() #11
  store i32 %15248, ptr %15249, align 4, !tbaa !5
  %15250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15251 = load i32, ptr @test_count, align 4, !tbaa !5
  %15252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15253 = load i32, ptr %15252, align 4, !tbaa !5
  %15254 = call ptr @s2n_strerror(i32 noundef %15253, ptr noundef @.str.4)
  %15255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15256 = load i32, ptr %15255, align 4, !tbaa !5
  %15257 = call ptr @s2n_strerror_debug(i32 noundef %15256, ptr noundef @.str.4)
  %15258 = call ptr @__errno_location() #11
  %15259 = load i32, ptr %15258, align 4, !tbaa !5
  %15260 = call ptr @strerror(i32 noundef %15259) #10
  %15261 = call ptr @__errno_location() #11
  %15262 = load i32, ptr %15261, align 4, !tbaa !5
  %15263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15250, ptr noundef @.str.2, i32 noundef %15251, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 580, ptr noundef %15254, ptr noundef %15257, ptr noundef %15260, i32 noundef %15262) #10
  br label %15281

15264:                                            ; preds = %15242, %15235
  %15265 = load i32, ptr %302, align 4, !tbaa !5
  %15266 = call ptr @__errno_location() #11
  store i32 %15265, ptr %15266, align 4, !tbaa !5
  %15267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15268 = load i32, ptr @test_count, align 4, !tbaa !5
  %15269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15270 = load i32, ptr %15269, align 4, !tbaa !5
  %15271 = call ptr @s2n_strerror(i32 noundef %15270, ptr noundef @.str.4)
  %15272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15273 = load i32, ptr %15272, align 4, !tbaa !5
  %15274 = call ptr @s2n_strerror_debug(i32 noundef %15273, ptr noundef @.str.4)
  %15275 = call ptr @__errno_location() #11
  %15276 = load i32, ptr %15275, align 4, !tbaa !5
  %15277 = call ptr @strerror(i32 noundef %15276) #10
  %15278 = call ptr @__errno_location() #11
  %15279 = load i32, ptr %15278, align 4, !tbaa !5
  %15280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15267, ptr noundef @.str.5, i32 noundef %15268, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 580, ptr noundef %15271, ptr noundef %15274, ptr noundef %15277, i32 noundef %15279) #10
  br label %15281

15281:                                            ; preds = %15264, %15247
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #10
  br label %15282

15282:                                            ; preds = %15281
  br label %15283

15283:                                            ; preds = %15282
  call void @exit(i32 noundef 1) #12
  unreachable

15284:                                            ; No predecessors!
  br label %15285

15285:                                            ; preds = %15284
  br label %15286

15286:                                            ; preds = %15285, %15227
  br label %15287

15287:                                            ; preds = %15286
  br label %15288

15288:                                            ; preds = %15287
  br label %15289

15289:                                            ; preds = %15288
  %15290 = load i32, ptr @test_count, align 4, !tbaa !5
  %15291 = add nsw i32 %15290, 1
  store i32 %15291, ptr @test_count, align 4, !tbaa !5
  %15292 = load ptr, ptr %291, align 8, !tbaa !9
  %15293 = getelementptr inbounds %struct.s2n_connection, ptr %15292, i32 0, i32 65
  %15294 = load i32, ptr %15293, align 8, !tbaa !47
  %15295 = icmp eq i32 %15294, 1
  br i1 %15295, label %15349, label %15296

15296:                                            ; preds = %15289
  br label %15297

15297:                                            ; preds = %15296
  br label %15298

15298:                                            ; preds = %15297
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #10
  %15299 = call ptr @__errno_location() #11
  %15300 = load i32, ptr %15299, align 4, !tbaa !5
  store i32 %15300, ptr %303, align 4, !tbaa !5
  %15301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15302 = call i32 @s2n_print_stacktrace(ptr noundef %15301)
  %15303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15304 = trunc i8 %15303 to i1
  br i1 %15304, label %15305, label %15327

15305:                                            ; preds = %15298
  %15306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15307 = call i32 @fileno(ptr noundef %15306) #10
  %15308 = call i32 @isatty(i32 noundef %15307) #10
  %15309 = icmp ne i32 %15308, 0
  br i1 %15309, label %15310, label %15327

15310:                                            ; preds = %15305
  %15311 = load i32, ptr %303, align 4, !tbaa !5
  %15312 = call ptr @__errno_location() #11
  store i32 %15311, ptr %15312, align 4, !tbaa !5
  %15313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15314 = load i32, ptr @test_count, align 4, !tbaa !5
  %15315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15316 = load i32, ptr %15315, align 4, !tbaa !5
  %15317 = call ptr @s2n_strerror(i32 noundef %15316, ptr noundef @.str.4)
  %15318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15319 = load i32, ptr %15318, align 4, !tbaa !5
  %15320 = call ptr @s2n_strerror_debug(i32 noundef %15319, ptr noundef @.str.4)
  %15321 = call ptr @__errno_location() #11
  %15322 = load i32, ptr %15321, align 4, !tbaa !5
  %15323 = call ptr @strerror(i32 noundef %15322) #10
  %15324 = call ptr @__errno_location() #11
  %15325 = load i32, ptr %15324, align 4, !tbaa !5
  %15326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15313, ptr noundef @.str.2, i32 noundef %15314, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 581, ptr noundef %15317, ptr noundef %15320, ptr noundef %15323, i32 noundef %15325) #10
  br label %15344

15327:                                            ; preds = %15305, %15298
  %15328 = load i32, ptr %303, align 4, !tbaa !5
  %15329 = call ptr @__errno_location() #11
  store i32 %15328, ptr %15329, align 4, !tbaa !5
  %15330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15331 = load i32, ptr @test_count, align 4, !tbaa !5
  %15332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15333 = load i32, ptr %15332, align 4, !tbaa !5
  %15334 = call ptr @s2n_strerror(i32 noundef %15333, ptr noundef @.str.4)
  %15335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15336 = load i32, ptr %15335, align 4, !tbaa !5
  %15337 = call ptr @s2n_strerror_debug(i32 noundef %15336, ptr noundef @.str.4)
  %15338 = call ptr @__errno_location() #11
  %15339 = load i32, ptr %15338, align 4, !tbaa !5
  %15340 = call ptr @strerror(i32 noundef %15339) #10
  %15341 = call ptr @__errno_location() #11
  %15342 = load i32, ptr %15341, align 4, !tbaa !5
  %15343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15330, ptr noundef @.str.5, i32 noundef %15331, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 581, ptr noundef %15334, ptr noundef %15337, ptr noundef %15340, i32 noundef %15342) #10
  br label %15344

15344:                                            ; preds = %15327, %15310
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #10
  br label %15345

15345:                                            ; preds = %15344
  br label %15346

15346:                                            ; preds = %15345
  call void @exit(i32 noundef 1) #12
  unreachable

15347:                                            ; No predecessors!
  br label %15348

15348:                                            ; preds = %15347
  br label %15349

15349:                                            ; preds = %15348, %15289
  br label %15350

15350:                                            ; preds = %15349
  br label %15351

15351:                                            ; preds = %15350
  br label %15352

15352:                                            ; preds = %15351
  %15353 = load i32, ptr @test_count, align 4, !tbaa !5
  %15354 = add nsw i32 %15353, 1
  store i32 %15354, ptr @test_count, align 4, !tbaa !5
  %15355 = load ptr, ptr %291, align 8, !tbaa !9
  %15356 = getelementptr inbounds %struct.s2n_connection, ptr %15355, i32 0, i32 22
  %15357 = load i8, ptr %15356, align 1, !tbaa !74
  %15358 = zext i8 %15357 to i32
  %15359 = icmp eq i32 %15358, 0
  br i1 %15359, label %15413, label %15360

15360:                                            ; preds = %15352
  br label %15361

15361:                                            ; preds = %15360
  br label %15362

15362:                                            ; preds = %15361
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %15363 = call ptr @__errno_location() #11
  %15364 = load i32, ptr %15363, align 4, !tbaa !5
  store i32 %15364, ptr %304, align 4, !tbaa !5
  %15365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15366 = call i32 @s2n_print_stacktrace(ptr noundef %15365)
  %15367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15368 = trunc i8 %15367 to i1
  br i1 %15368, label %15369, label %15391

15369:                                            ; preds = %15362
  %15370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15371 = call i32 @fileno(ptr noundef %15370) #10
  %15372 = call i32 @isatty(i32 noundef %15371) #10
  %15373 = icmp ne i32 %15372, 0
  br i1 %15373, label %15374, label %15391

15374:                                            ; preds = %15369
  %15375 = load i32, ptr %304, align 4, !tbaa !5
  %15376 = call ptr @__errno_location() #11
  store i32 %15375, ptr %15376, align 4, !tbaa !5
  %15377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15378 = load i32, ptr @test_count, align 4, !tbaa !5
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror(i32 noundef %15380, ptr noundef @.str.4)
  %15382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @s2n_strerror_debug(i32 noundef %15383, ptr noundef @.str.4)
  %15385 = call ptr @__errno_location() #11
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call ptr @strerror(i32 noundef %15386) #10
  %15388 = call ptr @__errno_location() #11
  %15389 = load i32, ptr %15388, align 4, !tbaa !5
  %15390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15377, ptr noundef @.str.2, i32 noundef %15378, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15381, ptr noundef %15384, ptr noundef %15387, i32 noundef %15389) #10
  br label %15408

15391:                                            ; preds = %15369, %15362
  %15392 = load i32, ptr %304, align 4, !tbaa !5
  %15393 = call ptr @__errno_location() #11
  store i32 %15392, ptr %15393, align 4, !tbaa !5
  %15394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15395 = load i32, ptr @test_count, align 4, !tbaa !5
  %15396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call ptr @s2n_strerror(i32 noundef %15397, ptr noundef @.str.4)
  %15399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call ptr @s2n_strerror_debug(i32 noundef %15400, ptr noundef @.str.4)
  %15402 = call ptr @__errno_location() #11
  %15403 = load i32, ptr %15402, align 4, !tbaa !5
  %15404 = call ptr @strerror(i32 noundef %15403) #10
  %15405 = call ptr @__errno_location() #11
  %15406 = load i32, ptr %15405, align 4, !tbaa !5
  %15407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15394, ptr noundef @.str.5, i32 noundef %15395, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15398, ptr noundef %15401, ptr noundef %15404, i32 noundef %15406) #10
  br label %15408

15408:                                            ; preds = %15391, %15374
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %15409

15409:                                            ; preds = %15408
  br label %15410

15410:                                            ; preds = %15409
  call void @exit(i32 noundef 1) #12
  unreachable

15411:                                            ; No predecessors!
  br label %15412

15412:                                            ; preds = %15411
  br label %15413

15413:                                            ; preds = %15412, %15352
  br label %15414

15414:                                            ; preds = %15413
  br label %15415

15415:                                            ; preds = %15414
  br label %15416

15416:                                            ; preds = %15415
  %15417 = load i32, ptr @test_count, align 4, !tbaa !5
  %15418 = add nsw i32 %15417, 1
  store i32 %15418, ptr @test_count, align 4, !tbaa !5
  %15419 = load ptr, ptr %291, align 8, !tbaa !9
  %15420 = call i32 @s2n_connection_free(ptr noundef %15419)
  %15421 = icmp eq i32 %15420, -1
  br i1 %15421, label %15422, label %15475

15422:                                            ; preds = %15416
  br label %15423

15423:                                            ; preds = %15422
  br label %15424

15424:                                            ; preds = %15423
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  %15425 = call ptr @__errno_location() #11
  %15426 = load i32, ptr %15425, align 4, !tbaa !5
  store i32 %15426, ptr %305, align 4, !tbaa !5
  %15427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15428 = call i32 @s2n_print_stacktrace(ptr noundef %15427)
  %15429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15430 = trunc i8 %15429 to i1
  br i1 %15430, label %15431, label %15453

15431:                                            ; preds = %15424
  %15432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15433 = call i32 @fileno(ptr noundef %15432) #10
  %15434 = call i32 @isatty(i32 noundef %15433) #10
  %15435 = icmp ne i32 %15434, 0
  br i1 %15435, label %15436, label %15453

15436:                                            ; preds = %15431
  %15437 = load i32, ptr %305, align 4, !tbaa !5
  %15438 = call ptr @__errno_location() #11
  store i32 %15437, ptr %15438, align 4, !tbaa !5
  %15439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15440 = load i32, ptr @test_count, align 4, !tbaa !5
  %15441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15442 = load i32, ptr %15441, align 4, !tbaa !5
  %15443 = call ptr @s2n_strerror(i32 noundef %15442, ptr noundef @.str.4)
  %15444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15445 = load i32, ptr %15444, align 4, !tbaa !5
  %15446 = call ptr @s2n_strerror_debug(i32 noundef %15445, ptr noundef @.str.4)
  %15447 = call ptr @__errno_location() #11
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @strerror(i32 noundef %15448) #10
  %15450 = call ptr @__errno_location() #11
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15439, ptr noundef @.str.2, i32 noundef %15440, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 584, ptr noundef %15443, ptr noundef %15446, ptr noundef %15449, i32 noundef %15451) #10
  br label %15470

15453:                                            ; preds = %15431, %15424
  %15454 = load i32, ptr %305, align 4, !tbaa !5
  %15455 = call ptr @__errno_location() #11
  store i32 %15454, ptr %15455, align 4, !tbaa !5
  %15456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15457 = load i32, ptr @test_count, align 4, !tbaa !5
  %15458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15459 = load i32, ptr %15458, align 4, !tbaa !5
  %15460 = call ptr @s2n_strerror(i32 noundef %15459, ptr noundef @.str.4)
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror_debug(i32 noundef %15462, ptr noundef @.str.4)
  %15464 = call ptr @__errno_location() #11
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @strerror(i32 noundef %15465) #10
  %15467 = call ptr @__errno_location() #11
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15456, ptr noundef @.str.5, i32 noundef %15457, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 584, ptr noundef %15460, ptr noundef %15463, ptr noundef %15466, i32 noundef %15468) #10
  br label %15470

15470:                                            ; preds = %15453, %15436
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  br label %15471

15471:                                            ; preds = %15470
  br label %15472

15472:                                            ; preds = %15471
  call void @exit(i32 noundef 1) #12
  unreachable

15473:                                            ; No predecessors!
  br label %15474

15474:                                            ; preds = %15473
  br label %15475

15475:                                            ; preds = %15474, %15416
  br label %15476

15476:                                            ; preds = %15475
  br label %15477

15477:                                            ; preds = %15476
  call void @llvm.lifetime.end.p0(i64 16, ptr %296) #10
  %15478 = call i32 @s2n_stuffer_free(ptr noundef %294)
  call void @llvm.lifetime.end.p0(i64 40, ptr %294) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %291) #10
  %15479 = load ptr, ptr %286, align 8, !tbaa !9
  %15480 = getelementptr inbounds %struct.s2n_connection, ptr %15479, i32 0, i32 23
  store i8 34, ptr %15480, align 4, !tbaa !55
  %15481 = load ptr, ptr %286, align 8, !tbaa !9
  %15482 = getelementptr inbounds %struct.s2n_connection, ptr %15481, i32 0, i32 22
  store i8 34, ptr %15482, align 1, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 8, ptr %306) #10
  store ptr null, ptr %306, align 8, !tbaa !9
  br label %15483

15483:                                            ; preds = %15477
  %15484 = load i32, ptr @test_count, align 4, !tbaa !5
  %15485 = add nsw i32 %15484, 1
  store i32 %15485, ptr @test_count, align 4, !tbaa !5
  %15486 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15486, ptr %306, align 8, !tbaa !9
  %15487 = icmp eq ptr %15486, null
  br i1 %15487, label %15488, label %15541

15488:                                            ; preds = %15483
  br label %15489

15489:                                            ; preds = %15488
  br label %15490

15490:                                            ; preds = %15489
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #10
  %15491 = call ptr @__errno_location() #11
  %15492 = load i32, ptr %15491, align 4, !tbaa !5
  store i32 %15492, ptr %307, align 4, !tbaa !5
  %15493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15494 = call i32 @s2n_print_stacktrace(ptr noundef %15493)
  %15495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15496 = trunc i8 %15495 to i1
  br i1 %15496, label %15497, label %15519

15497:                                            ; preds = %15490
  %15498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15499 = call i32 @fileno(ptr noundef %15498) #10
  %15500 = call i32 @isatty(i32 noundef %15499) #10
  %15501 = icmp ne i32 %15500, 0
  br i1 %15501, label %15502, label %15519

15502:                                            ; preds = %15497
  %15503 = load i32, ptr %307, align 4, !tbaa !5
  %15504 = call ptr @__errno_location() #11
  store i32 %15503, ptr %15504, align 4, !tbaa !5
  %15505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15506 = load i32, ptr @test_count, align 4, !tbaa !5
  %15507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  %15509 = call ptr @s2n_strerror(i32 noundef %15508, ptr noundef @.str.4)
  %15510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15511 = load i32, ptr %15510, align 4, !tbaa !5
  %15512 = call ptr @s2n_strerror_debug(i32 noundef %15511, ptr noundef @.str.4)
  %15513 = call ptr @__errno_location() #11
  %15514 = load i32, ptr %15513, align 4, !tbaa !5
  %15515 = call ptr @strerror(i32 noundef %15514) #10
  %15516 = call ptr @__errno_location() #11
  %15517 = load i32, ptr %15516, align 4, !tbaa !5
  %15518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15505, ptr noundef @.str.2, i32 noundef %15506, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 594, ptr noundef %15509, ptr noundef %15512, ptr noundef %15515, i32 noundef %15517) #10
  br label %15536

15519:                                            ; preds = %15497, %15490
  %15520 = load i32, ptr %307, align 4, !tbaa !5
  %15521 = call ptr @__errno_location() #11
  store i32 %15520, ptr %15521, align 4, !tbaa !5
  %15522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15523 = load i32, ptr @test_count, align 4, !tbaa !5
  %15524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15525 = load i32, ptr %15524, align 4, !tbaa !5
  %15526 = call ptr @s2n_strerror(i32 noundef %15525, ptr noundef @.str.4)
  %15527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15528 = load i32, ptr %15527, align 4, !tbaa !5
  %15529 = call ptr @s2n_strerror_debug(i32 noundef %15528, ptr noundef @.str.4)
  %15530 = call ptr @__errno_location() #11
  %15531 = load i32, ptr %15530, align 4, !tbaa !5
  %15532 = call ptr @strerror(i32 noundef %15531) #10
  %15533 = call ptr @__errno_location() #11
  %15534 = load i32, ptr %15533, align 4, !tbaa !5
  %15535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15522, ptr noundef @.str.5, i32 noundef %15523, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 594, ptr noundef %15526, ptr noundef %15529, ptr noundef %15532, i32 noundef %15534) #10
  br label %15536

15536:                                            ; preds = %15519, %15502
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #10
  br label %15537

15537:                                            ; preds = %15536
  br label %15538

15538:                                            ; preds = %15537
  call void @exit(i32 noundef 1) #12
  unreachable

15539:                                            ; No predecessors!
  br label %15540

15540:                                            ; preds = %15539
  br label %15541

15541:                                            ; preds = %15540, %15483
  br label %15542

15542:                                            ; preds = %15541
  br label %15543

15543:                                            ; preds = %15542
  br label %15544

15544:                                            ; preds = %15543
  %15545 = load i32, ptr @test_count, align 4, !tbaa !5
  %15546 = add nsw i32 %15545, 1
  store i32 %15546, ptr @test_count, align 4, !tbaa !5
  %15547 = load ptr, ptr %306, align 8, !tbaa !9
  %15548 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %15547)
  %15549 = icmp eq i32 %15548, -1
  br i1 %15549, label %15550, label %15603

15550:                                            ; preds = %15544
  br label %15551

15551:                                            ; preds = %15550
  br label %15552

15552:                                            ; preds = %15551
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #10
  %15553 = call ptr @__errno_location() #11
  %15554 = load i32, ptr %15553, align 4, !tbaa !5
  store i32 %15554, ptr %308, align 4, !tbaa !5
  %15555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15556 = call i32 @s2n_print_stacktrace(ptr noundef %15555)
  %15557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15558 = trunc i8 %15557 to i1
  br i1 %15558, label %15559, label %15581

15559:                                            ; preds = %15552
  %15560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15561 = call i32 @fileno(ptr noundef %15560) #10
  %15562 = call i32 @isatty(i32 noundef %15561) #10
  %15563 = icmp ne i32 %15562, 0
  br i1 %15563, label %15564, label %15581

15564:                                            ; preds = %15559
  %15565 = load i32, ptr %308, align 4, !tbaa !5
  %15566 = call ptr @__errno_location() #11
  store i32 %15565, ptr %15566, align 4, !tbaa !5
  %15567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15568 = load i32, ptr @test_count, align 4, !tbaa !5
  %15569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  %15571 = call ptr @s2n_strerror(i32 noundef %15570, ptr noundef @.str.4)
  %15572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15573 = load i32, ptr %15572, align 4, !tbaa !5
  %15574 = call ptr @s2n_strerror_debug(i32 noundef %15573, ptr noundef @.str.4)
  %15575 = call ptr @__errno_location() #11
  %15576 = load i32, ptr %15575, align 4, !tbaa !5
  %15577 = call ptr @strerror(i32 noundef %15576) #10
  %15578 = call ptr @__errno_location() #11
  %15579 = load i32, ptr %15578, align 4, !tbaa !5
  %15580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15567, ptr noundef @.str.2, i32 noundef %15568, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 595, ptr noundef %15571, ptr noundef %15574, ptr noundef %15577, i32 noundef %15579) #10
  br label %15598

15581:                                            ; preds = %15559, %15552
  %15582 = load i32, ptr %308, align 4, !tbaa !5
  %15583 = call ptr @__errno_location() #11
  store i32 %15582, ptr %15583, align 4, !tbaa !5
  %15584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15585 = load i32, ptr @test_count, align 4, !tbaa !5
  %15586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15587 = load i32, ptr %15586, align 4, !tbaa !5
  %15588 = call ptr @s2n_strerror(i32 noundef %15587, ptr noundef @.str.4)
  %15589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15590 = load i32, ptr %15589, align 4, !tbaa !5
  %15591 = call ptr @s2n_strerror_debug(i32 noundef %15590, ptr noundef @.str.4)
  %15592 = call ptr @__errno_location() #11
  %15593 = load i32, ptr %15592, align 4, !tbaa !5
  %15594 = call ptr @strerror(i32 noundef %15593) #10
  %15595 = call ptr @__errno_location() #11
  %15596 = load i32, ptr %15595, align 4, !tbaa !5
  %15597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15584, ptr noundef @.str.5, i32 noundef %15585, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 595, ptr noundef %15588, ptr noundef %15591, ptr noundef %15594, i32 noundef %15596) #10
  br label %15598

15598:                                            ; preds = %15581, %15564
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #10
  br label %15599

15599:                                            ; preds = %15598
  br label %15600

15600:                                            ; preds = %15599
  call void @exit(i32 noundef 1) #12
  unreachable

15601:                                            ; No predecessors!
  br label %15602

15602:                                            ; preds = %15601
  br label %15603

15603:                                            ; preds = %15602, %15544
  br label %15604

15604:                                            ; preds = %15603
  br label %15605

15605:                                            ; preds = %15604
  call void @llvm.lifetime.start.p0(i64 40, ptr %309) #10
  br label %15606

15606:                                            ; preds = %15605
  %15607 = load i32, ptr @test_count, align 4, !tbaa !5
  %15608 = add nsw i32 %15607, 1
  store i32 %15608, ptr @test_count, align 4, !tbaa !5
  %15609 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %309, i32 noundef 0)
  %15610 = icmp eq i32 %15609, -1
  br i1 %15610, label %15611, label %15664

15611:                                            ; preds = %15606
  br label %15612

15612:                                            ; preds = %15611
  br label %15613

15613:                                            ; preds = %15612
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #10
  %15614 = call ptr @__errno_location() #11
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  store i32 %15615, ptr %310, align 4, !tbaa !5
  %15616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15617 = call i32 @s2n_print_stacktrace(ptr noundef %15616)
  %15618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15619 = trunc i8 %15618 to i1
  br i1 %15619, label %15620, label %15642

15620:                                            ; preds = %15613
  %15621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15622 = call i32 @fileno(ptr noundef %15621) #10
  %15623 = call i32 @isatty(i32 noundef %15622) #10
  %15624 = icmp ne i32 %15623, 0
  br i1 %15624, label %15625, label %15642

15625:                                            ; preds = %15620
  %15626 = load i32, ptr %310, align 4, !tbaa !5
  %15627 = call ptr @__errno_location() #11
  store i32 %15626, ptr %15627, align 4, !tbaa !5
  %15628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15629 = load i32, ptr @test_count, align 4, !tbaa !5
  %15630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15631 = load i32, ptr %15630, align 4, !tbaa !5
  %15632 = call ptr @s2n_strerror(i32 noundef %15631, ptr noundef @.str.4)
  %15633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15634 = load i32, ptr %15633, align 4, !tbaa !5
  %15635 = call ptr @s2n_strerror_debug(i32 noundef %15634, ptr noundef @.str.4)
  %15636 = call ptr @__errno_location() #11
  %15637 = load i32, ptr %15636, align 4, !tbaa !5
  %15638 = call ptr @strerror(i32 noundef %15637) #10
  %15639 = call ptr @__errno_location() #11
  %15640 = load i32, ptr %15639, align 4, !tbaa !5
  %15641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15628, ptr noundef @.str.2, i32 noundef %15629, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 598, ptr noundef %15632, ptr noundef %15635, ptr noundef %15638, i32 noundef %15640) #10
  br label %15659

15642:                                            ; preds = %15620, %15613
  %15643 = load i32, ptr %310, align 4, !tbaa !5
  %15644 = call ptr @__errno_location() #11
  store i32 %15643, ptr %15644, align 4, !tbaa !5
  %15645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15646 = load i32, ptr @test_count, align 4, !tbaa !5
  %15647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15648 = load i32, ptr %15647, align 4, !tbaa !5
  %15649 = call ptr @s2n_strerror(i32 noundef %15648, ptr noundef @.str.4)
  %15650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15651 = load i32, ptr %15650, align 4, !tbaa !5
  %15652 = call ptr @s2n_strerror_debug(i32 noundef %15651, ptr noundef @.str.4)
  %15653 = call ptr @__errno_location() #11
  %15654 = load i32, ptr %15653, align 4, !tbaa !5
  %15655 = call ptr @strerror(i32 noundef %15654) #10
  %15656 = call ptr @__errno_location() #11
  %15657 = load i32, ptr %15656, align 4, !tbaa !5
  %15658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15645, ptr noundef @.str.5, i32 noundef %15646, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 598, ptr noundef %15649, ptr noundef %15652, ptr noundef %15655, i32 noundef %15657) #10
  br label %15659

15659:                                            ; preds = %15642, %15625
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #10
  br label %15660

15660:                                            ; preds = %15659
  br label %15661

15661:                                            ; preds = %15660
  call void @exit(i32 noundef 1) #12
  unreachable

15662:                                            ; No predecessors!
  br label %15663

15663:                                            ; preds = %15662
  br label %15664

15664:                                            ; preds = %15663, %15606
  br label %15665

15665:                                            ; preds = %15664
  br label %15666

15666:                                            ; preds = %15665
  call void @llvm.lifetime.start.p0(i64 16, ptr %311) #10
  call void @llvm.memset.p0.i64(ptr align 8 %311, i8 0, i64 16, i1 false)
  br label %15667

15667:                                            ; preds = %15666
  %15668 = load i32, ptr @test_count, align 4, !tbaa !5
  %15669 = add nsw i32 %15668, 1
  store i32 %15669, ptr @test_count, align 4, !tbaa !5
  %15670 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %309, ptr noundef %311)
  %15671 = icmp eq i32 %15670, -1
  br i1 %15671, label %15672, label %15725

15672:                                            ; preds = %15667
  br label %15673

15673:                                            ; preds = %15672
  br label %15674

15674:                                            ; preds = %15673
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #10
  %15675 = call ptr @__errno_location() #11
  %15676 = load i32, ptr %15675, align 4, !tbaa !5
  store i32 %15676, ptr %312, align 4, !tbaa !5
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = call i32 @s2n_print_stacktrace(ptr noundef %15677)
  %15679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15680 = trunc i8 %15679 to i1
  br i1 %15680, label %15681, label %15703

15681:                                            ; preds = %15674
  %15682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15683 = call i32 @fileno(ptr noundef %15682) #10
  %15684 = call i32 @isatty(i32 noundef %15683) #10
  %15685 = icmp ne i32 %15684, 0
  br i1 %15685, label %15686, label %15703

15686:                                            ; preds = %15681
  %15687 = load i32, ptr %312, align 4, !tbaa !5
  %15688 = call ptr @__errno_location() #11
  store i32 %15687, ptr %15688, align 4, !tbaa !5
  %15689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15690 = load i32, ptr @test_count, align 4, !tbaa !5
  %15691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15692 = load i32, ptr %15691, align 4, !tbaa !5
  %15693 = call ptr @s2n_strerror(i32 noundef %15692, ptr noundef @.str.4)
  %15694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15695 = load i32, ptr %15694, align 4, !tbaa !5
  %15696 = call ptr @s2n_strerror_debug(i32 noundef %15695, ptr noundef @.str.4)
  %15697 = call ptr @__errno_location() #11
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @strerror(i32 noundef %15698) #10
  %15700 = call ptr @__errno_location() #11
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15689, ptr noundef @.str.2, i32 noundef %15690, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 602, ptr noundef %15693, ptr noundef %15696, ptr noundef %15699, i32 noundef %15701) #10
  br label %15720

15703:                                            ; preds = %15681, %15674
  %15704 = load i32, ptr %312, align 4, !tbaa !5
  %15705 = call ptr @__errno_location() #11
  store i32 %15704, ptr %15705, align 4, !tbaa !5
  %15706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15707 = load i32, ptr @test_count, align 4, !tbaa !5
  %15708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15709 = load i32, ptr %15708, align 4, !tbaa !5
  %15710 = call ptr @s2n_strerror(i32 noundef %15709, ptr noundef @.str.4)
  %15711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15712 = load i32, ptr %15711, align 4, !tbaa !5
  %15713 = call ptr @s2n_strerror_debug(i32 noundef %15712, ptr noundef @.str.4)
  %15714 = call ptr @__errno_location() #11
  %15715 = load i32, ptr %15714, align 4, !tbaa !5
  %15716 = call ptr @strerror(i32 noundef %15715) #10
  %15717 = call ptr @__errno_location() #11
  %15718 = load i32, ptr %15717, align 4, !tbaa !5
  %15719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15706, ptr noundef @.str.5, i32 noundef %15707, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 602, ptr noundef %15710, ptr noundef %15713, ptr noundef %15716, i32 noundef %15718) #10
  br label %15720

15720:                                            ; preds = %15703, %15686
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #10
  br label %15721

15721:                                            ; preds = %15720
  br label %15722

15722:                                            ; preds = %15721
  call void @exit(i32 noundef 1) #12
  unreachable

15723:                                            ; No predecessors!
  br label %15724

15724:                                            ; preds = %15723
  br label %15725

15725:                                            ; preds = %15724, %15667
  br label %15726

15726:                                            ; preds = %15725
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

15728:                                            ; preds = %15727
  %15729 = load i32, ptr @test_count, align 4, !tbaa !5
  %15730 = add nsw i32 %15729, 1
  store i32 %15730, ptr @test_count, align 4, !tbaa !5
  %15731 = load ptr, ptr %286, align 8, !tbaa !9
  %15732 = call i32 @s2n_extension_send(ptr noundef @s2n_server_supported_versions_extension, ptr noundef %15731, ptr noundef %309)
  %15733 = icmp eq i32 %15732, -1
  br i1 %15733, label %15734, label %15787

15734:                                            ; preds = %15728
  br label %15735

15735:                                            ; preds = %15734
  br label %15736

15736:                                            ; preds = %15735
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #10
  %15737 = call ptr @__errno_location() #11
  %15738 = load i32, ptr %15737, align 4, !tbaa !5
  store i32 %15738, ptr %313, align 4, !tbaa !5
  %15739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15740 = call i32 @s2n_print_stacktrace(ptr noundef %15739)
  %15741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15742 = trunc i8 %15741 to i1
  br i1 %15742, label %15743, label %15765

15743:                                            ; preds = %15736
  %15744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15745 = call i32 @fileno(ptr noundef %15744) #10
  %15746 = call i32 @isatty(i32 noundef %15745) #10
  %15747 = icmp ne i32 %15746, 0
  br i1 %15747, label %15748, label %15765

15748:                                            ; preds = %15743
  %15749 = load i32, ptr %313, align 4, !tbaa !5
  %15750 = call ptr @__errno_location() #11
  store i32 %15749, ptr %15750, align 4, !tbaa !5
  %15751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15752 = load i32, ptr @test_count, align 4, !tbaa !5
  %15753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15754 = load i32, ptr %15753, align 4, !tbaa !5
  %15755 = call ptr @s2n_strerror(i32 noundef %15754, ptr noundef @.str.4)
  %15756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15757 = load i32, ptr %15756, align 4, !tbaa !5
  %15758 = call ptr @s2n_strerror_debug(i32 noundef %15757, ptr noundef @.str.4)
  %15759 = call ptr @__errno_location() #11
  %15760 = load i32, ptr %15759, align 4, !tbaa !5
  %15761 = call ptr @strerror(i32 noundef %15760) #10
  %15762 = call ptr @__errno_location() #11
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  %15764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15751, ptr noundef @.str.2, i32 noundef %15752, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15755, ptr noundef %15758, ptr noundef %15761, i32 noundef %15763) #10
  br label %15782

15765:                                            ; preds = %15743, %15736
  %15766 = load i32, ptr %313, align 4, !tbaa !5
  %15767 = call ptr @__errno_location() #11
  store i32 %15766, ptr %15767, align 4, !tbaa !5
  %15768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15769 = load i32, ptr @test_count, align 4, !tbaa !5
  %15770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15771 = load i32, ptr %15770, align 4, !tbaa !5
  %15772 = call ptr @s2n_strerror(i32 noundef %15771, ptr noundef @.str.4)
  %15773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15774 = load i32, ptr %15773, align 4, !tbaa !5
  %15775 = call ptr @s2n_strerror_debug(i32 noundef %15774, ptr noundef @.str.4)
  %15776 = call ptr @__errno_location() #11
  %15777 = load i32, ptr %15776, align 4, !tbaa !5
  %15778 = call ptr @strerror(i32 noundef %15777) #10
  %15779 = call ptr @__errno_location() #11
  %15780 = load i32, ptr %15779, align 4, !tbaa !5
  %15781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15768, ptr noundef @.str.5, i32 noundef %15769, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 604, ptr noundef %15772, ptr noundef %15775, ptr noundef %15778, i32 noundef %15780) #10
  br label %15782

15782:                                            ; preds = %15765, %15748
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #10
  br label %15783

15783:                                            ; preds = %15782
  br label %15784

15784:                                            ; preds = %15783
  call void @exit(i32 noundef 1) #12
  unreachable

15785:                                            ; No predecessors!
  br label %15786

15786:                                            ; preds = %15785
  br label %15787

15787:                                            ; preds = %15786, %15728
  br label %15788

15788:                                            ; preds = %15787
  br label %15789

15789:                                            ; preds = %15788
  br label %15790

15790:                                            ; preds = %15789
  %15791 = load i32, ptr @test_count, align 4, !tbaa !5
  %15792 = add nsw i32 %15791, 1
  store i32 %15792, ptr @test_count, align 4, !tbaa !5
  %15793 = load ptr, ptr %286, align 8, !tbaa !9
  %15794 = call i32 @s2n_extension_send(ptr noundef @s2n_cert_status_response_extension, ptr noundef %15793, ptr noundef %309)
  %15795 = icmp eq i32 %15794, -1
  br i1 %15795, label %15796, label %15849

15796:                                            ; preds = %15790
  br label %15797

15797:                                            ; preds = %15796
  br label %15798

15798:                                            ; preds = %15797
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %15799 = call ptr @__errno_location() #11
  %15800 = load i32, ptr %15799, align 4, !tbaa !5
  store i32 %15800, ptr %314, align 4, !tbaa !5
  %15801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15802 = call i32 @s2n_print_stacktrace(ptr noundef %15801)
  %15803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15804 = trunc i8 %15803 to i1
  br i1 %15804, label %15805, label %15827

15805:                                            ; preds = %15798
  %15806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15807 = call i32 @fileno(ptr noundef %15806) #10
  %15808 = call i32 @isatty(i32 noundef %15807) #10
  %15809 = icmp ne i32 %15808, 0
  br i1 %15809, label %15810, label %15827

15810:                                            ; preds = %15805
  %15811 = load i32, ptr %314, align 4, !tbaa !5
  %15812 = call ptr @__errno_location() #11
  store i32 %15811, ptr %15812, align 4, !tbaa !5
  %15813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15814 = load i32, ptr @test_count, align 4, !tbaa !5
  %15815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15816 = load i32, ptr %15815, align 4, !tbaa !5
  %15817 = call ptr @s2n_strerror(i32 noundef %15816, ptr noundef @.str.4)
  %15818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15819 = load i32, ptr %15818, align 4, !tbaa !5
  %15820 = call ptr @s2n_strerror_debug(i32 noundef %15819, ptr noundef @.str.4)
  %15821 = call ptr @__errno_location() #11
  %15822 = load i32, ptr %15821, align 4, !tbaa !5
  %15823 = call ptr @strerror(i32 noundef %15822) #10
  %15824 = call ptr @__errno_location() #11
  %15825 = load i32, ptr %15824, align 4, !tbaa !5
  %15826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15813, ptr noundef @.str.2, i32 noundef %15814, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 606, ptr noundef %15817, ptr noundef %15820, ptr noundef %15823, i32 noundef %15825) #10
  br label %15844

15827:                                            ; preds = %15805, %15798
  %15828 = load i32, ptr %314, align 4, !tbaa !5
  %15829 = call ptr @__errno_location() #11
  store i32 %15828, ptr %15829, align 4, !tbaa !5
  %15830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15831 = load i32, ptr @test_count, align 4, !tbaa !5
  %15832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15833 = load i32, ptr %15832, align 4, !tbaa !5
  %15834 = call ptr @s2n_strerror(i32 noundef %15833, ptr noundef @.str.4)
  %15835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15836 = load i32, ptr %15835, align 4, !tbaa !5
  %15837 = call ptr @s2n_strerror_debug(i32 noundef %15836, ptr noundef @.str.4)
  %15838 = call ptr @__errno_location() #11
  %15839 = load i32, ptr %15838, align 4, !tbaa !5
  %15840 = call ptr @strerror(i32 noundef %15839) #10
  %15841 = call ptr @__errno_location() #11
  %15842 = load i32, ptr %15841, align 4, !tbaa !5
  %15843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15830, ptr noundef @.str.5, i32 noundef %15831, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 606, ptr noundef %15834, ptr noundef %15837, ptr noundef %15840, i32 noundef %15842) #10
  br label %15844

15844:                                            ; preds = %15827, %15810
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %15845

15845:                                            ; preds = %15844
  br label %15846

15846:                                            ; preds = %15845
  call void @exit(i32 noundef 1) #12
  unreachable

15847:                                            ; No predecessors!
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848, %15790
  br label %15850

15850:                                            ; preds = %15849
  br label %15851

15851:                                            ; preds = %15850
  br label %15852

15852:                                            ; preds = %15851
  %15853 = load i32, ptr @test_count, align 4, !tbaa !5
  %15854 = add nsw i32 %15853, 1
  store i32 %15854, ptr @test_count, align 4, !tbaa !5
  %15855 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %311)
  %15856 = icmp eq i32 %15855, -1
  br i1 %15856, label %15857, label %15910

15857:                                            ; preds = %15852
  br label %15858

15858:                                            ; preds = %15857
  br label %15859

15859:                                            ; preds = %15858
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #10
  %15860 = call ptr @__errno_location() #11
  %15861 = load i32, ptr %15860, align 4, !tbaa !5
  store i32 %15861, ptr %315, align 4, !tbaa !5
  %15862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15863 = call i32 @s2n_print_stacktrace(ptr noundef %15862)
  %15864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15865 = trunc i8 %15864 to i1
  br i1 %15865, label %15866, label %15888

15866:                                            ; preds = %15859
  %15867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15868 = call i32 @fileno(ptr noundef %15867) #10
  %15869 = call i32 @isatty(i32 noundef %15868) #10
  %15870 = icmp ne i32 %15869, 0
  br i1 %15870, label %15871, label %15888

15871:                                            ; preds = %15866
  %15872 = load i32, ptr %315, align 4, !tbaa !5
  %15873 = call ptr @__errno_location() #11
  store i32 %15872, ptr %15873, align 4, !tbaa !5
  %15874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15875 = load i32, ptr @test_count, align 4, !tbaa !5
  %15876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15877 = load i32, ptr %15876, align 4, !tbaa !5
  %15878 = call ptr @s2n_strerror(i32 noundef %15877, ptr noundef @.str.4)
  %15879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15880 = load i32, ptr %15879, align 4, !tbaa !5
  %15881 = call ptr @s2n_strerror_debug(i32 noundef %15880, ptr noundef @.str.4)
  %15882 = call ptr @__errno_location() #11
  %15883 = load i32, ptr %15882, align 4, !tbaa !5
  %15884 = call ptr @strerror(i32 noundef %15883) #10
  %15885 = call ptr @__errno_location() #11
  %15886 = load i32, ptr %15885, align 4, !tbaa !5
  %15887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15874, ptr noundef @.str.2, i32 noundef %15875, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 607, ptr noundef %15878, ptr noundef %15881, ptr noundef %15884, i32 noundef %15886) #10
  br label %15905

15888:                                            ; preds = %15866, %15859
  %15889 = load i32, ptr %315, align 4, !tbaa !5
  %15890 = call ptr @__errno_location() #11
  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() #11
  %15900 = load i32, ptr %15899, align 4, !tbaa !5
  %15901 = call ptr @strerror(i32 noundef %15900) #10
  %15902 = call ptr @__errno_location() #11
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  %15904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15891, ptr noundef @.str.5, i32 noundef %15892, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 607, ptr noundef %15895, ptr noundef %15898, ptr noundef %15901, i32 noundef %15903) #10
  br label %15905

15905:                                            ; preds = %15888, %15871
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #10
  br label %15906

15906:                                            ; preds = %15905
  br label %15907

15907:                                            ; preds = %15906
  call void @exit(i32 noundef 1) #12
  unreachable

15908:                                            ; No predecessors!
  br label %15909

15909:                                            ; preds = %15908
  br label %15910

15910:                                            ; preds = %15909, %15852
  br label %15911

15911:                                            ; preds = %15910
  br label %15912

15912:                                            ; preds = %15911
  br label %15913

15913:                                            ; preds = %15912
  %15914 = load i32, ptr @test_count, align 4, !tbaa !5
  %15915 = add nsw i32 %15914, 1
  store i32 %15915, ptr @test_count, align 4, !tbaa !5
  %15916 = load ptr, ptr %306, align 8, !tbaa !9
  %15917 = getelementptr inbounds %struct.s2n_connection, ptr %15916, i32 0, i32 65
  %15918 = load i32, ptr %15917, align 8, !tbaa !47
  %15919 = icmp eq i32 %15918, 0
  br i1 %15919, label %15973, label %15920

15920:                                            ; preds = %15913
  br label %15921

15921:                                            ; preds = %15920
  br label %15922

15922:                                            ; preds = %15921
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %15923 = call ptr @__errno_location() #11
  %15924 = load i32, ptr %15923, align 4, !tbaa !5
  store i32 %15924, ptr %316, align 4, !tbaa !5
  %15925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15926 = call i32 @s2n_print_stacktrace(ptr noundef %15925)
  %15927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15928 = trunc i8 %15927 to i1
  br i1 %15928, label %15929, label %15951

15929:                                            ; preds = %15922
  %15930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15931 = call i32 @fileno(ptr noundef %15930) #10
  %15932 = call i32 @isatty(i32 noundef %15931) #10
  %15933 = icmp ne i32 %15932, 0
  br i1 %15933, label %15934, label %15951

15934:                                            ; preds = %15929
  %15935 = load i32, ptr %316, align 4, !tbaa !5
  %15936 = call ptr @__errno_location() #11
  store i32 %15935, ptr %15936, align 4, !tbaa !5
  %15937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15938 = load i32, ptr @test_count, align 4, !tbaa !5
  %15939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15940 = load i32, ptr %15939, align 4, !tbaa !5
  %15941 = call ptr @s2n_strerror(i32 noundef %15940, ptr noundef @.str.4)
  %15942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15943 = load i32, ptr %15942, align 4, !tbaa !5
  %15944 = call ptr @s2n_strerror_debug(i32 noundef %15943, ptr noundef @.str.4)
  %15945 = call ptr @__errno_location() #11
  %15946 = load i32, ptr %15945, align 4, !tbaa !5
  %15947 = call ptr @strerror(i32 noundef %15946) #10
  %15948 = call ptr @__errno_location() #11
  %15949 = load i32, ptr %15948, align 4, !tbaa !5
  %15950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15937, ptr noundef @.str.2, i32 noundef %15938, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 609, ptr noundef %15941, ptr noundef %15944, ptr noundef %15947, i32 noundef %15949) #10
  br label %15968

15951:                                            ; preds = %15929, %15922
  %15952 = load i32, ptr %316, align 4, !tbaa !5
  %15953 = call ptr @__errno_location() #11
  store i32 %15952, ptr %15953, align 4, !tbaa !5
  %15954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15955 = load i32, ptr @test_count, align 4, !tbaa !5
  %15956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15957 = load i32, ptr %15956, align 4, !tbaa !5
  %15958 = call ptr @s2n_strerror(i32 noundef %15957, ptr noundef @.str.4)
  %15959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15960 = load i32, ptr %15959, align 4, !tbaa !5
  %15961 = call ptr @s2n_strerror_debug(i32 noundef %15960, ptr noundef @.str.4)
  %15962 = call ptr @__errno_location() #11
  %15963 = load i32, ptr %15962, align 4, !tbaa !5
  %15964 = call ptr @strerror(i32 noundef %15963) #10
  %15965 = call ptr @__errno_location() #11
  %15966 = load i32, ptr %15965, align 4, !tbaa !5
  %15967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15954, ptr noundef @.str.5, i32 noundef %15955, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 609, ptr noundef %15958, ptr noundef %15961, ptr noundef %15964, i32 noundef %15966) #10
  br label %15968

15968:                                            ; preds = %15951, %15934
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %15969

15969:                                            ; preds = %15968
  br label %15970

15970:                                            ; preds = %15969
  call void @exit(i32 noundef 1) #12
  unreachable

15971:                                            ; No predecessors!
  br label %15972

15972:                                            ; preds = %15971
  br label %15973

15973:                                            ; preds = %15972, %15913
  br label %15974

15974:                                            ; preds = %15973
  br label %15975

15975:                                            ; preds = %15974
  br label %15976

15976:                                            ; preds = %15975
  %15977 = load i32, ptr @test_count, align 4, !tbaa !5
  %15978 = add nsw i32 %15977, 1
  store i32 %15978, ptr @test_count, align 4, !tbaa !5
  %15979 = load ptr, ptr %306, align 8, !tbaa !9
  %15980 = getelementptr inbounds %struct.s2n_connection, ptr %15979, i32 0, i32 22
  %15981 = load i8, ptr %15980, align 1, !tbaa !74
  %15982 = zext i8 %15981 to i32
  %15983 = icmp eq i32 %15982, 0
  br i1 %15983, label %16037, label %15984

15984:                                            ; preds = %15976
  br label %15985

15985:                                            ; preds = %15984
  br label %15986

15986:                                            ; preds = %15985
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #10
  %15987 = call ptr @__errno_location() #11
  %15988 = load i32, ptr %15987, align 4, !tbaa !5
  store i32 %15988, ptr %317, align 4, !tbaa !5
  %15989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15990 = call i32 @s2n_print_stacktrace(ptr noundef %15989)
  %15991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15992 = trunc i8 %15991 to i1
  br i1 %15992, label %15993, label %16015

15993:                                            ; preds = %15986
  %15994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15995 = call i32 @fileno(ptr noundef %15994) #10
  %15996 = call i32 @isatty(i32 noundef %15995) #10
  %15997 = icmp ne i32 %15996, 0
  br i1 %15997, label %15998, label %16015

15998:                                            ; preds = %15993
  %15999 = load i32, ptr %317, align 4, !tbaa !5
  %16000 = call ptr @__errno_location() #11
  store i32 %15999, ptr %16000, align 4, !tbaa !5
  %16001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16002 = load i32, ptr @test_count, align 4, !tbaa !5
  %16003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call ptr @s2n_strerror(i32 noundef %16004, ptr noundef @.str.4)
  %16006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16007 = load i32, ptr %16006, align 4, !tbaa !5
  %16008 = call ptr @s2n_strerror_debug(i32 noundef %16007, ptr noundef @.str.4)
  %16009 = call ptr @__errno_location() #11
  %16010 = load i32, ptr %16009, align 4, !tbaa !5
  %16011 = call ptr @strerror(i32 noundef %16010) #10
  %16012 = call ptr @__errno_location() #11
  %16013 = load i32, ptr %16012, align 4, !tbaa !5
  %16014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16001, ptr noundef @.str.2, i32 noundef %16002, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 610, ptr noundef %16005, ptr noundef %16008, ptr noundef %16011, i32 noundef %16013) #10
  br label %16032

16015:                                            ; preds = %15993, %15986
  %16016 = load i32, ptr %317, align 4, !tbaa !5
  %16017 = call ptr @__errno_location() #11
  store i32 %16016, ptr %16017, align 4, !tbaa !5
  %16018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16019 = load i32, ptr @test_count, align 4, !tbaa !5
  %16020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16021 = load i32, ptr %16020, align 4, !tbaa !5
  %16022 = call ptr @s2n_strerror(i32 noundef %16021, ptr noundef @.str.4)
  %16023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16024 = load i32, ptr %16023, align 4, !tbaa !5
  %16025 = call ptr @s2n_strerror_debug(i32 noundef %16024, ptr noundef @.str.4)
  %16026 = call ptr @__errno_location() #11
  %16027 = load i32, ptr %16026, align 4, !tbaa !5
  %16028 = call ptr @strerror(i32 noundef %16027) #10
  %16029 = call ptr @__errno_location() #11
  %16030 = load i32, ptr %16029, align 4, !tbaa !5
  %16031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16018, ptr noundef @.str.5, i32 noundef %16019, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 610, ptr noundef %16022, ptr noundef %16025, ptr noundef %16028, i32 noundef %16030) #10
  br label %16032

16032:                                            ; preds = %16015, %15998
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #10
  br label %16033

16033:                                            ; preds = %16032
  br label %16034

16034:                                            ; preds = %16033
  call void @exit(i32 noundef 1) #12
  unreachable

16035:                                            ; No predecessors!
  br label %16036

16036:                                            ; preds = %16035
  br label %16037

16037:                                            ; preds = %16036, %15976
  br label %16038

16038:                                            ; preds = %16037
  br label %16039

16039:                                            ; preds = %16038
  br label %16040

16040:                                            ; preds = %16039
  %16041 = load i32, ptr @test_count, align 4, !tbaa !5
  %16042 = add nsw i32 %16041, 1
  store i32 %16042, ptr @test_count, align 4, !tbaa !5
  %16043 = load ptr, ptr %306, align 8, !tbaa !9
  %16044 = call i32 @s2n_server_extensions_recv(ptr noundef %16043, ptr noundef %309)
  %16045 = icmp eq i32 %16044, -1
  br i1 %16045, label %16046, label %16099

16046:                                            ; preds = %16040
  br label %16047

16047:                                            ; preds = %16046
  br label %16048

16048:                                            ; preds = %16047
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #10
  %16049 = call ptr @__errno_location() #11
  %16050 = load i32, ptr %16049, align 4, !tbaa !5
  store i32 %16050, ptr %318, align 4, !tbaa !5
  %16051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16052 = call i32 @s2n_print_stacktrace(ptr noundef %16051)
  %16053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16054 = trunc i8 %16053 to i1
  br i1 %16054, label %16055, label %16077

16055:                                            ; preds = %16048
  %16056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16057 = call i32 @fileno(ptr noundef %16056) #10
  %16058 = call i32 @isatty(i32 noundef %16057) #10
  %16059 = icmp ne i32 %16058, 0
  br i1 %16059, label %16060, label %16077

16060:                                            ; preds = %16055
  %16061 = load i32, ptr %318, align 4, !tbaa !5
  %16062 = call ptr @__errno_location() #11
  store i32 %16061, ptr %16062, align 4, !tbaa !5
  %16063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16064 = load i32, ptr @test_count, align 4, !tbaa !5
  %16065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16066 = load i32, ptr %16065, align 4, !tbaa !5
  %16067 = call ptr @s2n_strerror(i32 noundef %16066, ptr noundef @.str.4)
  %16068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16069 = load i32, ptr %16068, align 4, !tbaa !5
  %16070 = call ptr @s2n_strerror_debug(i32 noundef %16069, ptr noundef @.str.4)
  %16071 = call ptr @__errno_location() #11
  %16072 = load i32, ptr %16071, align 4, !tbaa !5
  %16073 = call ptr @strerror(i32 noundef %16072) #10
  %16074 = call ptr @__errno_location() #11
  %16075 = load i32, ptr %16074, align 4, !tbaa !5
  %16076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16063, ptr noundef @.str.2, i32 noundef %16064, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 611, ptr noundef %16067, ptr noundef %16070, ptr noundef %16073, i32 noundef %16075) #10
  br label %16094

16077:                                            ; preds = %16055, %16048
  %16078 = load i32, ptr %318, align 4, !tbaa !5
  %16079 = call ptr @__errno_location() #11
  store i32 %16078, ptr %16079, align 4, !tbaa !5
  %16080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16081 = load i32, ptr @test_count, align 4, !tbaa !5
  %16082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16083 = load i32, ptr %16082, align 4, !tbaa !5
  %16084 = call ptr @s2n_strerror(i32 noundef %16083, ptr noundef @.str.4)
  %16085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16086 = load i32, ptr %16085, align 4, !tbaa !5
  %16087 = call ptr @s2n_strerror_debug(i32 noundef %16086, ptr noundef @.str.4)
  %16088 = call ptr @__errno_location() #11
  %16089 = load i32, ptr %16088, align 4, !tbaa !5
  %16090 = call ptr @strerror(i32 noundef %16089) #10
  %16091 = call ptr @__errno_location() #11
  %16092 = load i32, ptr %16091, align 4, !tbaa !5
  %16093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16080, ptr noundef @.str.5, i32 noundef %16081, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 611, ptr noundef %16084, ptr noundef %16087, ptr noundef %16090, i32 noundef %16092) #10
  br label %16094

16094:                                            ; preds = %16077, %16060
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #10
  br label %16095

16095:                                            ; preds = %16094
  br label %16096

16096:                                            ; preds = %16095
  call void @exit(i32 noundef 1) #12
  unreachable

16097:                                            ; No predecessors!
  br label %16098

16098:                                            ; preds = %16097
  br label %16099

16099:                                            ; preds = %16098, %16040
  br label %16100

16100:                                            ; preds = %16099
  br label %16101

16101:                                            ; preds = %16100
  br label %16102

16102:                                            ; preds = %16101
  %16103 = load i32, ptr @test_count, align 4, !tbaa !5
  %16104 = add nsw i32 %16103, 1
  store i32 %16104, ptr @test_count, align 4, !tbaa !5
  %16105 = load ptr, ptr %306, align 8, !tbaa !9
  %16106 = getelementptr inbounds %struct.s2n_connection, ptr %16105, i32 0, i32 65
  %16107 = load i32, ptr %16106, align 8, !tbaa !47
  %16108 = icmp eq i32 %16107, 0
  br i1 %16108, label %16162, label %16109

16109:                                            ; preds = %16102
  br label %16110

16110:                                            ; preds = %16109
  br label %16111

16111:                                            ; preds = %16110
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %16112 = call ptr @__errno_location() #11
  %16113 = load i32, ptr %16112, align 4, !tbaa !5
  store i32 %16113, ptr %319, align 4, !tbaa !5
  %16114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16115 = call i32 @s2n_print_stacktrace(ptr noundef %16114)
  %16116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16117 = trunc i8 %16116 to i1
  br i1 %16117, label %16118, label %16140

16118:                                            ; preds = %16111
  %16119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16120 = call i32 @fileno(ptr noundef %16119) #10
  %16121 = call i32 @isatty(i32 noundef %16120) #10
  %16122 = icmp ne i32 %16121, 0
  br i1 %16122, label %16123, label %16140

16123:                                            ; preds = %16118
  %16124 = load i32, ptr %319, align 4, !tbaa !5
  %16125 = call ptr @__errno_location() #11
  store i32 %16124, ptr %16125, align 4, !tbaa !5
  %16126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16127 = load i32, ptr @test_count, align 4, !tbaa !5
  %16128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16129 = load i32, ptr %16128, align 4, !tbaa !5
  %16130 = call ptr @s2n_strerror(i32 noundef %16129, ptr noundef @.str.4)
  %16131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16132 = load i32, ptr %16131, align 4, !tbaa !5
  %16133 = call ptr @s2n_strerror_debug(i32 noundef %16132, ptr noundef @.str.4)
  %16134 = call ptr @__errno_location() #11
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  %16136 = call ptr @strerror(i32 noundef %16135) #10
  %16137 = call ptr @__errno_location() #11
  %16138 = load i32, ptr %16137, align 4, !tbaa !5
  %16139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16126, ptr noundef @.str.2, i32 noundef %16127, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 612, ptr noundef %16130, ptr noundef %16133, ptr noundef %16136, i32 noundef %16138) #10
  br label %16157

16140:                                            ; preds = %16118, %16111
  %16141 = load i32, ptr %319, align 4, !tbaa !5
  %16142 = call ptr @__errno_location() #11
  store i32 %16141, ptr %16142, align 4, !tbaa !5
  %16143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16144 = load i32, ptr @test_count, align 4, !tbaa !5
  %16145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16146 = load i32, ptr %16145, align 4, !tbaa !5
  %16147 = call ptr @s2n_strerror(i32 noundef %16146, ptr noundef @.str.4)
  %16148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16149 = load i32, ptr %16148, align 4, !tbaa !5
  %16150 = call ptr @s2n_strerror_debug(i32 noundef %16149, ptr noundef @.str.4)
  %16151 = call ptr @__errno_location() #11
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call ptr @strerror(i32 noundef %16152) #10
  %16154 = call ptr @__errno_location() #11
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16143, ptr noundef @.str.5, i32 noundef %16144, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 612, ptr noundef %16147, ptr noundef %16150, ptr noundef %16153, i32 noundef %16155) #10
  br label %16157

16157:                                            ; preds = %16140, %16123
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %16158

16158:                                            ; preds = %16157
  br label %16159

16159:                                            ; preds = %16158
  call void @exit(i32 noundef 1) #12
  unreachable

16160:                                            ; No predecessors!
  br label %16161

16161:                                            ; preds = %16160
  br label %16162

16162:                                            ; preds = %16161, %16102
  br label %16163

16163:                                            ; preds = %16162
  br label %16164

16164:                                            ; preds = %16163
  br label %16165

16165:                                            ; preds = %16164
  %16166 = load i32, ptr @test_count, align 4, !tbaa !5
  %16167 = add nsw i32 %16166, 1
  store i32 %16167, ptr @test_count, align 4, !tbaa !5
  %16168 = load ptr, ptr %306, align 8, !tbaa !9
  %16169 = getelementptr inbounds %struct.s2n_connection, ptr %16168, i32 0, i32 22
  %16170 = load i8, ptr %16169, align 1, !tbaa !74
  %16171 = zext i8 %16170 to i32
  %16172 = icmp eq i32 %16171, 34
  br i1 %16172, label %16226, label %16173

16173:                                            ; preds = %16165
  br label %16174

16174:                                            ; preds = %16173
  br label %16175

16175:                                            ; preds = %16174
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #10
  %16176 = call ptr @__errno_location() #11
  %16177 = load i32, ptr %16176, align 4, !tbaa !5
  store i32 %16177, ptr %320, align 4, !tbaa !5
  %16178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16179 = call i32 @s2n_print_stacktrace(ptr noundef %16178)
  %16180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16181 = trunc i8 %16180 to i1
  br i1 %16181, label %16182, label %16204

16182:                                            ; preds = %16175
  %16183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16184 = call i32 @fileno(ptr noundef %16183) #10
  %16185 = call i32 @isatty(i32 noundef %16184) #10
  %16186 = icmp ne i32 %16185, 0
  br i1 %16186, label %16187, label %16204

16187:                                            ; preds = %16182
  %16188 = load i32, ptr %320, align 4, !tbaa !5
  %16189 = call ptr @__errno_location() #11
  store i32 %16188, ptr %16189, align 4, !tbaa !5
  %16190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16191 = load i32, ptr @test_count, align 4, !tbaa !5
  %16192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16193 = load i32, ptr %16192, align 4, !tbaa !5
  %16194 = call ptr @s2n_strerror(i32 noundef %16193, ptr noundef @.str.4)
  %16195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  %16197 = call ptr @s2n_strerror_debug(i32 noundef %16196, ptr noundef @.str.4)
  %16198 = call ptr @__errno_location() #11
  %16199 = load i32, ptr %16198, align 4, !tbaa !5
  %16200 = call ptr @strerror(i32 noundef %16199) #10
  %16201 = call ptr @__errno_location() #11
  %16202 = load i32, ptr %16201, align 4, !tbaa !5
  %16203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16190, ptr noundef @.str.2, i32 noundef %16191, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 613, ptr noundef %16194, ptr noundef %16197, ptr noundef %16200, i32 noundef %16202) #10
  br label %16221

16204:                                            ; preds = %16182, %16175
  %16205 = load i32, ptr %320, align 4, !tbaa !5
  %16206 = call ptr @__errno_location() #11
  store i32 %16205, ptr %16206, align 4, !tbaa !5
  %16207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16208 = load i32, ptr @test_count, align 4, !tbaa !5
  %16209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16210 = load i32, ptr %16209, align 4, !tbaa !5
  %16211 = call ptr @s2n_strerror(i32 noundef %16210, ptr noundef @.str.4)
  %16212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16213 = load i32, ptr %16212, align 4, !tbaa !5
  %16214 = call ptr @s2n_strerror_debug(i32 noundef %16213, ptr noundef @.str.4)
  %16215 = call ptr @__errno_location() #11
  %16216 = load i32, ptr %16215, align 4, !tbaa !5
  %16217 = call ptr @strerror(i32 noundef %16216) #10
  %16218 = call ptr @__errno_location() #11
  %16219 = load i32, ptr %16218, align 4, !tbaa !5
  %16220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16207, ptr noundef @.str.5, i32 noundef %16208, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 613, ptr noundef %16211, ptr noundef %16214, ptr noundef %16217, i32 noundef %16219) #10
  br label %16221

16221:                                            ; preds = %16204, %16187
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #10
  br label %16222

16222:                                            ; preds = %16221
  br label %16223

16223:                                            ; preds = %16222
  call void @exit(i32 noundef 1) #12
  unreachable

16224:                                            ; No predecessors!
  br label %16225

16225:                                            ; preds = %16224
  br label %16226

16226:                                            ; preds = %16225, %16165
  br label %16227

16227:                                            ; preds = %16226
  br label %16228

16228:                                            ; preds = %16227
  br label %16229

16229:                                            ; preds = %16228
  %16230 = load i32, ptr @test_count, align 4, !tbaa !5
  %16231 = add nsw i32 %16230, 1
  store i32 %16231, ptr @test_count, align 4, !tbaa !5
  %16232 = load ptr, ptr %306, align 8, !tbaa !9
  %16233 = call i32 @s2n_connection_free(ptr noundef %16232)
  %16234 = icmp eq i32 %16233, -1
  br i1 %16234, label %16235, label %16288

16235:                                            ; preds = %16229
  br label %16236

16236:                                            ; preds = %16235
  br label %16237

16237:                                            ; preds = %16236
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #10
  %16238 = call ptr @__errno_location() #11
  %16239 = load i32, ptr %16238, align 4, !tbaa !5
  store i32 %16239, ptr %321, align 4, !tbaa !5
  %16240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16241 = call i32 @s2n_print_stacktrace(ptr noundef %16240)
  %16242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16243 = trunc i8 %16242 to i1
  br i1 %16243, label %16244, label %16266

16244:                                            ; preds = %16237
  %16245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16246 = call i32 @fileno(ptr noundef %16245) #10
  %16247 = call i32 @isatty(i32 noundef %16246) #10
  %16248 = icmp ne i32 %16247, 0
  br i1 %16248, label %16249, label %16266

16249:                                            ; preds = %16244
  %16250 = load i32, ptr %321, align 4, !tbaa !5
  %16251 = call ptr @__errno_location() #11
  store i32 %16250, ptr %16251, align 4, !tbaa !5
  %16252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16253 = load i32, ptr @test_count, align 4, !tbaa !5
  %16254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16255 = load i32, ptr %16254, align 4, !tbaa !5
  %16256 = call ptr @s2n_strerror(i32 noundef %16255, ptr noundef @.str.4)
  %16257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16258 = load i32, ptr %16257, align 4, !tbaa !5
  %16259 = call ptr @s2n_strerror_debug(i32 noundef %16258, ptr noundef @.str.4)
  %16260 = call ptr @__errno_location() #11
  %16261 = load i32, ptr %16260, align 4, !tbaa !5
  %16262 = call ptr @strerror(i32 noundef %16261) #10
  %16263 = call ptr @__errno_location() #11
  %16264 = load i32, ptr %16263, align 4, !tbaa !5
  %16265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16252, ptr noundef @.str.2, i32 noundef %16253, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16256, ptr noundef %16259, ptr noundef %16262, i32 noundef %16264) #10
  br label %16283

16266:                                            ; preds = %16244, %16237
  %16267 = load i32, ptr %321, align 4, !tbaa !5
  %16268 = call ptr @__errno_location() #11
  store i32 %16267, ptr %16268, align 4, !tbaa !5
  %16269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16270 = load i32, ptr @test_count, align 4, !tbaa !5
  %16271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16272 = load i32, ptr %16271, align 4, !tbaa !5
  %16273 = call ptr @s2n_strerror(i32 noundef %16272, ptr noundef @.str.4)
  %16274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16275 = load i32, ptr %16274, align 4, !tbaa !5
  %16276 = call ptr @s2n_strerror_debug(i32 noundef %16275, ptr noundef @.str.4)
  %16277 = call ptr @__errno_location() #11
  %16278 = load i32, ptr %16277, align 4, !tbaa !5
  %16279 = call ptr @strerror(i32 noundef %16278) #10
  %16280 = call ptr @__errno_location() #11
  %16281 = load i32, ptr %16280, align 4, !tbaa !5
  %16282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16269, ptr noundef @.str.5, i32 noundef %16270, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16273, ptr noundef %16276, ptr noundef %16279, i32 noundef %16281) #10
  br label %16283

16283:                                            ; preds = %16266, %16249
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #10
  br label %16284

16284:                                            ; preds = %16283
  br label %16285

16285:                                            ; preds = %16284
  call void @exit(i32 noundef 1) #12
  unreachable

16286:                                            ; No predecessors!
  br label %16287

16287:                                            ; preds = %16286
  br label %16288

16288:                                            ; preds = %16287, %16229
  br label %16289

16289:                                            ; preds = %16288
  br label %16290

16290:                                            ; preds = %16289
  call void @llvm.lifetime.end.p0(i64 16, ptr %311) #10
  %16291 = call i32 @s2n_stuffer_free(ptr noundef %309)
  call void @llvm.lifetime.end.p0(i64 40, ptr %309) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %306) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %322) #10
  store i8 5, ptr %322, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 168, ptr %323) #10
  call void @llvm.memset.p0.i64(ptr align 8 %323, i8 0, i64 168, i1 false)
  %16292 = load ptr, ptr %286, align 8, !tbaa !9
  %16293 = getelementptr inbounds %struct.s2n_connection, ptr %16292, i32 0, i32 23
  store i8 34, ptr %16293, align 4, !tbaa !55
  %16294 = load ptr, ptr %286, align 8, !tbaa !9
  %16295 = getelementptr inbounds %struct.s2n_connection, ptr %16294, i32 0, i32 22
  store i8 34, ptr %16295, align 1, !tbaa !74
  br label %16296

16296:                                            ; preds = %16290
  %16297 = load i32, ptr @test_count, align 4, !tbaa !5
  %16298 = add nsw i32 %16297, 1
  store i32 %16298, ptr @test_count, align 4, !tbaa !5
  %16299 = load ptr, ptr %286, align 8, !tbaa !9
  %16300 = call i32 @s2n_conn_choose_state_machine(ptr noundef %16299, i8 noundef zeroext 34)
  %16301 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  store i32 %16300, ptr %16301, align 4
  %16302 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  %16303 = load i32, ptr %16302, align 4
  %16304 = call zeroext i1 @s2n_result_is_ok(i32 %16303)
  br i1 %16304, label %16358, label %16305

16305:                                            ; preds = %16296
  br label %16306

16306:                                            ; preds = %16305
  br label %16307

16307:                                            ; preds = %16306
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %16308 = call ptr @__errno_location() #11
  %16309 = load i32, ptr %16308, align 4, !tbaa !5
  store i32 %16309, ptr %325, align 4, !tbaa !5
  %16310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16311 = call i32 @s2n_print_stacktrace(ptr noundef %16310)
  %16312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16313 = trunc i8 %16312 to i1
  br i1 %16313, label %16314, label %16336

16314:                                            ; preds = %16307
  %16315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16316 = call i32 @fileno(ptr noundef %16315) #10
  %16317 = call i32 @isatty(i32 noundef %16316) #10
  %16318 = icmp ne i32 %16317, 0
  br i1 %16318, label %16319, label %16336

16319:                                            ; preds = %16314
  %16320 = load i32, ptr %325, align 4, !tbaa !5
  %16321 = call ptr @__errno_location() #11
  store i32 %16320, ptr %16321, align 4, !tbaa !5
  %16322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16323 = load i32, ptr @test_count, align 4, !tbaa !5
  %16324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @s2n_strerror(i32 noundef %16325, ptr noundef @.str.4)
  %16327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call ptr @s2n_strerror_debug(i32 noundef %16328, ptr noundef @.str.4)
  %16330 = call ptr @__errno_location() #11
  %16331 = load i32, ptr %16330, align 4, !tbaa !5
  %16332 = call ptr @strerror(i32 noundef %16331) #10
  %16333 = call ptr @__errno_location() #11
  %16334 = load i32, ptr %16333, align 4, !tbaa !5
  %16335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16322, ptr noundef @.str.2, i32 noundef %16323, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 626, ptr noundef %16326, ptr noundef %16329, ptr noundef %16332, i32 noundef %16334) #10
  br label %16353

16336:                                            ; preds = %16314, %16307
  %16337 = load i32, ptr %325, align 4, !tbaa !5
  %16338 = call ptr @__errno_location() #11
  store i32 %16337, ptr %16338, align 4, !tbaa !5
  %16339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16340 = load i32, ptr @test_count, align 4, !tbaa !5
  %16341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16342 = load i32, ptr %16341, align 4, !tbaa !5
  %16343 = call ptr @s2n_strerror(i32 noundef %16342, ptr noundef @.str.4)
  %16344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16345 = load i32, ptr %16344, align 4, !tbaa !5
  %16346 = call ptr @s2n_strerror_debug(i32 noundef %16345, ptr noundef @.str.4)
  %16347 = call ptr @__errno_location() #11
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  %16349 = call ptr @strerror(i32 noundef %16348) #10
  %16350 = call ptr @__errno_location() #11
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  %16352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16339, ptr noundef @.str.5, i32 noundef %16340, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 626, ptr noundef %16343, ptr noundef %16346, ptr noundef %16349, i32 noundef %16351) #10
  br label %16353

16353:                                            ; preds = %16336, %16319
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %16354

16354:                                            ; preds = %16353
  br label %16355

16355:                                            ; preds = %16354
  call void @exit(i32 noundef 1) #12
  unreachable

16356:                                            ; No predecessors!
  br label %16357

16357:                                            ; preds = %16356
  br label %16358

16358:                                            ; preds = %16357, %16296
  br label %16359

16359:                                            ; preds = %16358
  br label %16360

16360:                                            ; preds = %16359
  %16361 = load ptr, ptr %286, align 8, !tbaa !9
  %16362 = getelementptr inbounds %struct.s2n_connection, ptr %16361, i32 0, i32 33
  %16363 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16362, i32 0, i32 4
  store ptr %323, ptr %16363, align 8, !tbaa !62
  %16364 = load ptr, ptr %286, align 8, !tbaa !9
  %16365 = getelementptr inbounds %struct.s2n_connection, ptr %16364, i32 0, i32 33
  %16366 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16365, i32 0, i32 3
  store i16 5, ptr %16366, align 2, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 40, ptr %326) #10
  br label %16367

16367:                                            ; preds = %16360
  %16368 = load i32, ptr @test_count, align 4, !tbaa !5
  %16369 = add nsw i32 %16368, 1
  store i32 %16369, ptr @test_count, align 4, !tbaa !5
  %16370 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %326, i32 noundef 0)
  %16371 = icmp eq i32 %16370, -1
  br i1 %16371, label %16372, label %16425

16372:                                            ; preds = %16367
  br label %16373

16373:                                            ; preds = %16372
  br label %16374

16374:                                            ; preds = %16373
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #10
  %16375 = call ptr @__errno_location() #11
  %16376 = load i32, ptr %16375, align 4, !tbaa !5
  store i32 %16376, ptr %327, align 4, !tbaa !5
  %16377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16378 = call i32 @s2n_print_stacktrace(ptr noundef %16377)
  %16379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16380 = trunc i8 %16379 to i1
  br i1 %16380, label %16381, label %16403

16381:                                            ; preds = %16374
  %16382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16383 = call i32 @fileno(ptr noundef %16382) #10
  %16384 = call i32 @isatty(i32 noundef %16383) #10
  %16385 = icmp ne i32 %16384, 0
  br i1 %16385, label %16386, label %16403

16386:                                            ; preds = %16381
  %16387 = load i32, ptr %327, align 4, !tbaa !5
  %16388 = call ptr @__errno_location() #11
  store i32 %16387, ptr %16388, align 4, !tbaa !5
  %16389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16390 = load i32, ptr @test_count, align 4, !tbaa !5
  %16391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16392 = load i32, ptr %16391, align 4, !tbaa !5
  %16393 = call ptr @s2n_strerror(i32 noundef %16392, ptr noundef @.str.4)
  %16394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16395 = load i32, ptr %16394, align 4, !tbaa !5
  %16396 = call ptr @s2n_strerror_debug(i32 noundef %16395, ptr noundef @.str.4)
  %16397 = call ptr @__errno_location() #11
  %16398 = load i32, ptr %16397, align 4, !tbaa !5
  %16399 = call ptr @strerror(i32 noundef %16398) #10
  %16400 = call ptr @__errno_location() #11
  %16401 = load i32, ptr %16400, align 4, !tbaa !5
  %16402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16389, ptr noundef @.str.2, i32 noundef %16390, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 631, ptr noundef %16393, ptr noundef %16396, ptr noundef %16399, i32 noundef %16401) #10
  br label %16420

16403:                                            ; preds = %16381, %16374
  %16404 = load i32, ptr %327, align 4, !tbaa !5
  %16405 = call ptr @__errno_location() #11
  store i32 %16404, ptr %16405, align 4, !tbaa !5
  %16406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16407 = load i32, ptr @test_count, align 4, !tbaa !5
  %16408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16409 = load i32, ptr %16408, align 4, !tbaa !5
  %16410 = call ptr @s2n_strerror(i32 noundef %16409, ptr noundef @.str.4)
  %16411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16412 = load i32, ptr %16411, align 4, !tbaa !5
  %16413 = call ptr @s2n_strerror_debug(i32 noundef %16412, ptr noundef @.str.4)
  %16414 = call ptr @__errno_location() #11
  %16415 = load i32, ptr %16414, align 4, !tbaa !5
  %16416 = call ptr @strerror(i32 noundef %16415) #10
  %16417 = call ptr @__errno_location() #11
  %16418 = load i32, ptr %16417, align 4, !tbaa !5
  %16419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16406, ptr noundef @.str.5, i32 noundef %16407, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 631, ptr noundef %16410, ptr noundef %16413, ptr noundef %16416, i32 noundef %16418) #10
  br label %16420

16420:                                            ; preds = %16403, %16386
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #10
  br label %16421

16421:                                            ; preds = %16420
  br label %16422

16422:                                            ; preds = %16421
  call void @exit(i32 noundef 1) #12
  unreachable

16423:                                            ; No predecessors!
  br label %16424

16424:                                            ; preds = %16423
  br label %16425

16425:                                            ; preds = %16424, %16367
  br label %16426

16426:                                            ; preds = %16425
  br label %16427

16427:                                            ; preds = %16426
  call void @llvm.lifetime.start.p0(i64 16, ptr %328) #10
  call void @llvm.memset.p0.i64(ptr align 8 %328, i8 0, i64 16, i1 false)
  br label %16428

16428:                                            ; preds = %16427
  %16429 = load i32, ptr @test_count, align 4, !tbaa !5
  %16430 = add nsw i32 %16429, 1
  store i32 %16430, ptr @test_count, align 4, !tbaa !5
  %16431 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %326, ptr noundef %328)
  %16432 = icmp eq i32 %16431, -1
  br i1 %16432, label %16433, label %16486

16433:                                            ; preds = %16428
  br label %16434

16434:                                            ; preds = %16433
  br label %16435

16435:                                            ; preds = %16434
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #10
  %16436 = call ptr @__errno_location() #11
  %16437 = load i32, ptr %16436, align 4, !tbaa !5
  store i32 %16437, ptr %329, align 4, !tbaa !5
  %16438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16439 = call i32 @s2n_print_stacktrace(ptr noundef %16438)
  %16440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16441 = trunc i8 %16440 to i1
  br i1 %16441, label %16442, label %16464

16442:                                            ; preds = %16435
  %16443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16444 = call i32 @fileno(ptr noundef %16443) #10
  %16445 = call i32 @isatty(i32 noundef %16444) #10
  %16446 = icmp ne i32 %16445, 0
  br i1 %16446, label %16447, label %16464

16447:                                            ; preds = %16442
  %16448 = load i32, ptr %329, align 4, !tbaa !5
  %16449 = call ptr @__errno_location() #11
  store i32 %16448, ptr %16449, align 4, !tbaa !5
  %16450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16451 = load i32, ptr @test_count, align 4, !tbaa !5
  %16452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16453 = load i32, ptr %16452, align 4, !tbaa !5
  %16454 = call ptr @s2n_strerror(i32 noundef %16453, ptr noundef @.str.4)
  %16455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16456 = load i32, ptr %16455, align 4, !tbaa !5
  %16457 = call ptr @s2n_strerror_debug(i32 noundef %16456, ptr noundef @.str.4)
  %16458 = call ptr @__errno_location() #11
  %16459 = load i32, ptr %16458, align 4, !tbaa !5
  %16460 = call ptr @strerror(i32 noundef %16459) #10
  %16461 = call ptr @__errno_location() #11
  %16462 = load i32, ptr %16461, align 4, !tbaa !5
  %16463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16450, ptr noundef @.str.2, i32 noundef %16451, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 635, ptr noundef %16454, ptr noundef %16457, ptr noundef %16460, i32 noundef %16462) #10
  br label %16481

16464:                                            ; preds = %16442, %16435
  %16465 = load i32, ptr %329, align 4, !tbaa !5
  %16466 = call ptr @__errno_location() #11
  store i32 %16465, ptr %16466, align 4, !tbaa !5
  %16467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16468 = load i32, ptr @test_count, align 4, !tbaa !5
  %16469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16470 = load i32, ptr %16469, align 4, !tbaa !5
  %16471 = call ptr @s2n_strerror(i32 noundef %16470, ptr noundef @.str.4)
  %16472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16473 = load i32, ptr %16472, align 4, !tbaa !5
  %16474 = call ptr @s2n_strerror_debug(i32 noundef %16473, ptr noundef @.str.4)
  %16475 = call ptr @__errno_location() #11
  %16476 = load i32, ptr %16475, align 4, !tbaa !5
  %16477 = call ptr @strerror(i32 noundef %16476) #10
  %16478 = call ptr @__errno_location() #11
  %16479 = load i32, ptr %16478, align 4, !tbaa !5
  %16480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16467, ptr noundef @.str.5, i32 noundef %16468, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 635, ptr noundef %16471, ptr noundef %16474, ptr noundef %16477, i32 noundef %16479) #10
  br label %16481

16481:                                            ; preds = %16464, %16447
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #10
  br label %16482

16482:                                            ; preds = %16481
  br label %16483

16483:                                            ; preds = %16482
  call void @exit(i32 noundef 1) #12
  unreachable

16484:                                            ; No predecessors!
  br label %16485

16485:                                            ; preds = %16484
  br label %16486

16486:                                            ; preds = %16485, %16428
  br label %16487

16487:                                            ; preds = %16486
  br label %16488

16488:                                            ; preds = %16487
  br label %16489

16489:                                            ; preds = %16488
  %16490 = load i32, ptr @test_count, align 4, !tbaa !5
  %16491 = add nsw i32 %16490, 1
  store i32 %16491, ptr @test_count, align 4, !tbaa !5
  %16492 = load ptr, ptr %286, align 8, !tbaa !9
  %16493 = call i32 @s2n_extension_send(ptr noundef @s2n_server_supported_versions_extension, ptr noundef %16492, ptr noundef %326)
  %16494 = icmp eq i32 %16493, -1
  br i1 %16494, label %16495, label %16548

16495:                                            ; preds = %16489
  br label %16496

16496:                                            ; preds = %16495
  br label %16497

16497:                                            ; preds = %16496
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  %16498 = call ptr @__errno_location() #11
  %16499 = load i32, ptr %16498, align 4, !tbaa !5
  store i32 %16499, ptr %330, align 4, !tbaa !5
  %16500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16501 = call i32 @s2n_print_stacktrace(ptr noundef %16500)
  %16502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16503 = trunc i8 %16502 to i1
  br i1 %16503, label %16504, label %16526

16504:                                            ; preds = %16497
  %16505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16506 = call i32 @fileno(ptr noundef %16505) #10
  %16507 = call i32 @isatty(i32 noundef %16506) #10
  %16508 = icmp ne i32 %16507, 0
  br i1 %16508, label %16509, label %16526

16509:                                            ; preds = %16504
  %16510 = load i32, ptr %330, align 4, !tbaa !5
  %16511 = call ptr @__errno_location() #11
  store i32 %16510, ptr %16511, align 4, !tbaa !5
  %16512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16513 = load i32, ptr @test_count, align 4, !tbaa !5
  %16514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16515 = load i32, ptr %16514, align 4, !tbaa !5
  %16516 = call ptr @s2n_strerror(i32 noundef %16515, ptr noundef @.str.4)
  %16517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16518 = load i32, ptr %16517, align 4, !tbaa !5
  %16519 = call ptr @s2n_strerror_debug(i32 noundef %16518, ptr noundef @.str.4)
  %16520 = call ptr @__errno_location() #11
  %16521 = load i32, ptr %16520, align 4, !tbaa !5
  %16522 = call ptr @strerror(i32 noundef %16521) #10
  %16523 = call ptr @__errno_location() #11
  %16524 = load i32, ptr %16523, align 4, !tbaa !5
  %16525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16512, ptr noundef @.str.2, i32 noundef %16513, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 637, ptr noundef %16516, ptr noundef %16519, ptr noundef %16522, i32 noundef %16524) #10
  br label %16543

16526:                                            ; preds = %16504, %16497
  %16527 = load i32, ptr %330, align 4, !tbaa !5
  %16528 = call ptr @__errno_location() #11
  store i32 %16527, ptr %16528, align 4, !tbaa !5
  %16529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16530 = load i32, ptr @test_count, align 4, !tbaa !5
  %16531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16532 = load i32, ptr %16531, align 4, !tbaa !5
  %16533 = call ptr @s2n_strerror(i32 noundef %16532, ptr noundef @.str.4)
  %16534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16535 = load i32, ptr %16534, align 4, !tbaa !5
  %16536 = call ptr @s2n_strerror_debug(i32 noundef %16535, ptr noundef @.str.4)
  %16537 = call ptr @__errno_location() #11
  %16538 = load i32, ptr %16537, align 4, !tbaa !5
  %16539 = call ptr @strerror(i32 noundef %16538) #10
  %16540 = call ptr @__errno_location() #11
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  %16542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16529, ptr noundef @.str.5, i32 noundef %16530, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 637, ptr noundef %16533, ptr noundef %16536, ptr noundef %16539, i32 noundef %16541) #10
  br label %16543

16543:                                            ; preds = %16526, %16509
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  br label %16544

16544:                                            ; preds = %16543
  br label %16545

16545:                                            ; preds = %16544
  call void @exit(i32 noundef 1) #12
  unreachable

16546:                                            ; No predecessors!
  br label %16547

16547:                                            ; preds = %16546
  br label %16548

16548:                                            ; preds = %16547, %16489
  br label %16549

16549:                                            ; preds = %16548
  br label %16550

16550:                                            ; preds = %16549
  br label %16551

16551:                                            ; preds = %16550
  %16552 = load i32, ptr @test_count, align 4, !tbaa !5
  %16553 = add nsw i32 %16552, 1
  store i32 %16553, ptr @test_count, align 4, !tbaa !5
  %16554 = load ptr, ptr %286, align 8, !tbaa !9
  %16555 = call i32 @s2n_extension_send(ptr noundef @s2n_server_psk_extension, ptr noundef %16554, ptr noundef %326)
  %16556 = icmp eq i32 %16555, -1
  br i1 %16556, label %16557, label %16610

16557:                                            ; preds = %16551
  br label %16558

16558:                                            ; preds = %16557
  br label %16559

16559:                                            ; preds = %16558
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %16560 = call ptr @__errno_location() #11
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  store i32 %16561, ptr %331, align 4, !tbaa !5
  %16562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16563 = call i32 @s2n_print_stacktrace(ptr noundef %16562)
  %16564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16565 = trunc i8 %16564 to i1
  br i1 %16565, label %16566, label %16588

16566:                                            ; preds = %16559
  %16567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16568 = call i32 @fileno(ptr noundef %16567) #10
  %16569 = call i32 @isatty(i32 noundef %16568) #10
  %16570 = icmp ne i32 %16569, 0
  br i1 %16570, label %16571, label %16588

16571:                                            ; preds = %16566
  %16572 = load i32, ptr %331, align 4, !tbaa !5
  %16573 = call ptr @__errno_location() #11
  store i32 %16572, ptr %16573, align 4, !tbaa !5
  %16574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16575 = load i32, ptr @test_count, align 4, !tbaa !5
  %16576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16577 = load i32, ptr %16576, align 4, !tbaa !5
  %16578 = call ptr @s2n_strerror(i32 noundef %16577, ptr noundef @.str.4)
  %16579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16580 = load i32, ptr %16579, align 4, !tbaa !5
  %16581 = call ptr @s2n_strerror_debug(i32 noundef %16580, ptr noundef @.str.4)
  %16582 = call ptr @__errno_location() #11
  %16583 = load i32, ptr %16582, align 4, !tbaa !5
  %16584 = call ptr @strerror(i32 noundef %16583) #10
  %16585 = call ptr @__errno_location() #11
  %16586 = load i32, ptr %16585, align 4, !tbaa !5
  %16587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16574, ptr noundef @.str.2, i32 noundef %16575, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 639, ptr noundef %16578, ptr noundef %16581, ptr noundef %16584, i32 noundef %16586) #10
  br label %16605

16588:                                            ; preds = %16566, %16559
  %16589 = load i32, ptr %331, align 4, !tbaa !5
  %16590 = call ptr @__errno_location() #11
  store i32 %16589, ptr %16590, align 4, !tbaa !5
  %16591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16592 = load i32, ptr @test_count, align 4, !tbaa !5
  %16593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16594 = load i32, ptr %16593, align 4, !tbaa !5
  %16595 = call ptr @s2n_strerror(i32 noundef %16594, ptr noundef @.str.4)
  %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_debug(i32 noundef %16597, ptr noundef @.str.4)
  %16599 = call ptr @__errno_location() #11
  %16600 = load i32, ptr %16599, align 4, !tbaa !5
  %16601 = call ptr @strerror(i32 noundef %16600) #10
  %16602 = call ptr @__errno_location() #11
  %16603 = load i32, ptr %16602, align 4, !tbaa !5
  %16604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16591, ptr noundef @.str.5, i32 noundef %16592, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 639, ptr noundef %16595, ptr noundef %16598, ptr noundef %16601, i32 noundef %16603) #10
  br label %16605

16605:                                            ; preds = %16588, %16571
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %16606

16606:                                            ; preds = %16605
  br label %16607

16607:                                            ; preds = %16606
  call void @exit(i32 noundef 1) #12
  unreachable

16608:                                            ; No predecessors!
  br label %16609

16609:                                            ; preds = %16608
  br label %16610

16610:                                            ; preds = %16609, %16551
  br label %16611

16611:                                            ; preds = %16610
  br label %16612

16612:                                            ; preds = %16611
  br label %16613

16613:                                            ; preds = %16612
  %16614 = load i32, ptr @test_count, align 4, !tbaa !5
  %16615 = add nsw i32 %16614, 1
  store i32 %16615, ptr @test_count, align 4, !tbaa !5
  %16616 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %328)
  %16617 = icmp eq i32 %16616, -1
  br i1 %16617, label %16618, label %16671

16618:                                            ; preds = %16613
  br label %16619

16619:                                            ; preds = %16618
  br label %16620

16620:                                            ; preds = %16619
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #10
  %16621 = call ptr @__errno_location() #11
  %16622 = load i32, ptr %16621, align 4, !tbaa !5
  store i32 %16622, ptr %332, align 4, !tbaa !5
  %16623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16624 = call i32 @s2n_print_stacktrace(ptr noundef %16623)
  %16625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16626 = trunc i8 %16625 to i1
  br i1 %16626, label %16627, label %16649

16627:                                            ; preds = %16620
  %16628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16629 = call i32 @fileno(ptr noundef %16628) #10
  %16630 = call i32 @isatty(i32 noundef %16629) #10
  %16631 = icmp ne i32 %16630, 0
  br i1 %16631, label %16632, label %16649

16632:                                            ; preds = %16627
  %16633 = load i32, ptr %332, align 4, !tbaa !5
  %16634 = call ptr @__errno_location() #11
  store i32 %16633, ptr %16634, align 4, !tbaa !5
  %16635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16636 = load i32, ptr @test_count, align 4, !tbaa !5
  %16637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16638 = load i32, ptr %16637, align 4, !tbaa !5
  %16639 = call ptr @s2n_strerror(i32 noundef %16638, ptr noundef @.str.4)
  %16640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16641 = load i32, ptr %16640, align 4, !tbaa !5
  %16642 = call ptr @s2n_strerror_debug(i32 noundef %16641, ptr noundef @.str.4)
  %16643 = call ptr @__errno_location() #11
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  %16645 = call ptr @strerror(i32 noundef %16644) #10
  %16646 = call ptr @__errno_location() #11
  %16647 = load i32, ptr %16646, align 4, !tbaa !5
  %16648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16635, ptr noundef @.str.2, i32 noundef %16636, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 640, ptr noundef %16639, ptr noundef %16642, ptr noundef %16645, i32 noundef %16647) #10
  br label %16666

16649:                                            ; preds = %16627, %16620
  %16650 = load i32, ptr %332, align 4, !tbaa !5
  %16651 = call ptr @__errno_location() #11
  store i32 %16650, ptr %16651, align 4, !tbaa !5
  %16652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16653 = load i32, ptr @test_count, align 4, !tbaa !5
  %16654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16655 = load i32, ptr %16654, align 4, !tbaa !5
  %16656 = call ptr @s2n_strerror(i32 noundef %16655, ptr noundef @.str.4)
  %16657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16658 = load i32, ptr %16657, align 4, !tbaa !5
  %16659 = call ptr @s2n_strerror_debug(i32 noundef %16658, ptr noundef @.str.4)
  %16660 = call ptr @__errno_location() #11
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @strerror(i32 noundef %16661) #10
  %16663 = call ptr @__errno_location() #11
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16652, ptr noundef @.str.5, i32 noundef %16653, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 640, ptr noundef %16656, ptr noundef %16659, ptr noundef %16662, i32 noundef %16664) #10
  br label %16666

16666:                                            ; preds = %16649, %16632
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #10
  br label %16667

16667:                                            ; preds = %16666
  br label %16668

16668:                                            ; preds = %16667
  call void @exit(i32 noundef 1) #12
  unreachable

16669:                                            ; No predecessors!
  br label %16670

16670:                                            ; preds = %16669
  br label %16671

16671:                                            ; preds = %16670, %16613
  br label %16672

16672:                                            ; preds = %16671
  br label %16673

16673:                                            ; preds = %16672
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #10
  store i64 0, ptr %333, align 8, !tbaa !61
  br label %16674

16674:                                            ; preds = %17459, %16673
  %16675 = load i64, ptr %333, align 8, !tbaa !61
  %16676 = icmp ult i64 %16675, 2
  br i1 %16676, label %16678, label %16677

16677:                                            ; preds = %16674
  store i32 1581, ptr %334, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #10
  br label %17462

16678:                                            ; preds = %16674
  call void @llvm.lifetime.start.p0(i64 8, ptr %335) #10
  store ptr null, ptr %335, align 8, !tbaa !9
  br label %16679

16679:                                            ; preds = %16678
  %16680 = load i32, ptr @test_count, align 4, !tbaa !5
  %16681 = add nsw i32 %16680, 1
  store i32 %16681, ptr @test_count, align 4, !tbaa !5
  %16682 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16682, ptr %335, align 8, !tbaa !9
  %16683 = icmp eq ptr %16682, null
  br i1 %16683, label %16684, label %16737

16684:                                            ; preds = %16679
  br label %16685

16685:                                            ; preds = %16684
  br label %16686

16686:                                            ; preds = %16685
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %16687 = call ptr @__errno_location() #11
  %16688 = load i32, ptr %16687, align 4, !tbaa !5
  store i32 %16688, ptr %336, align 4, !tbaa !5
  %16689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16690 = call i32 @s2n_print_stacktrace(ptr noundef %16689)
  %16691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16692 = trunc i8 %16691 to i1
  br i1 %16692, label %16693, label %16715

16693:                                            ; preds = %16686
  %16694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16695 = call i32 @fileno(ptr noundef %16694) #10
  %16696 = call i32 @isatty(i32 noundef %16695) #10
  %16697 = icmp ne i32 %16696, 0
  br i1 %16697, label %16698, label %16715

16698:                                            ; preds = %16693
  %16699 = load i32, ptr %336, align 4, !tbaa !5
  %16700 = call ptr @__errno_location() #11
  store i32 %16699, ptr %16700, align 4, !tbaa !5
  %16701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16702 = load i32, ptr @test_count, align 4, !tbaa !5
  %16703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16704 = load i32, ptr %16703, align 4, !tbaa !5
  %16705 = call ptr @s2n_strerror(i32 noundef %16704, ptr noundef @.str.4)
  %16706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16707 = load i32, ptr %16706, align 4, !tbaa !5
  %16708 = call ptr @s2n_strerror_debug(i32 noundef %16707, ptr noundef @.str.4)
  %16709 = call ptr @__errno_location() #11
  %16710 = load i32, ptr %16709, align 4, !tbaa !5
  %16711 = call ptr @strerror(i32 noundef %16710) #10
  %16712 = call ptr @__errno_location() #11
  %16713 = load i32, ptr %16712, align 4, !tbaa !5
  %16714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16701, ptr noundef @.str.2, i32 noundef %16702, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 644, ptr noundef %16705, ptr noundef %16708, ptr noundef %16711, i32 noundef %16713) #10
  br label %16732

16715:                                            ; preds = %16693, %16686
  %16716 = load i32, ptr %336, align 4, !tbaa !5
  %16717 = call ptr @__errno_location() #11
  store i32 %16716, ptr %16717, align 4, !tbaa !5
  %16718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16719 = load i32, ptr @test_count, align 4, !tbaa !5
  %16720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call ptr @s2n_strerror(i32 noundef %16721, ptr noundef @.str.4)
  %16723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @s2n_strerror_debug(i32 noundef %16724, ptr noundef @.str.4)
  %16726 = call ptr @__errno_location() #11
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call ptr @strerror(i32 noundef %16727) #10
  %16729 = call ptr @__errno_location() #11
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  %16731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16718, ptr noundef @.str.5, i32 noundef %16719, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 644, ptr noundef %16722, ptr noundef %16725, ptr noundef %16728, i32 noundef %16730) #10
  br label %16732

16732:                                            ; preds = %16715, %16698
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %16733

16733:                                            ; preds = %16732
  br label %16734

16734:                                            ; preds = %16733
  call void @exit(i32 noundef 1) #12
  unreachable

16735:                                            ; No predecessors!
  br label %16736

16736:                                            ; preds = %16735
  br label %16737

16737:                                            ; preds = %16736, %16679
  br label %16738

16738:                                            ; preds = %16737
  br label %16739

16739:                                            ; preds = %16738
  br label %16740

16740:                                            ; preds = %16739
  %16741 = load i32, ptr @test_count, align 4, !tbaa !5
  %16742 = add nsw i32 %16741, 1
  store i32 %16742, ptr @test_count, align 4, !tbaa !5
  %16743 = load ptr, ptr %335, align 8, !tbaa !9
  %16744 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef %16743)
  %16745 = icmp eq i32 %16744, -1
  br i1 %16745, label %16746, label %16799

16746:                                            ; preds = %16740
  br label %16747

16747:                                            ; preds = %16746
  br label %16748

16748:                                            ; preds = %16747
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %16749 = call ptr @__errno_location() #11
  %16750 = load i32, ptr %16749, align 4, !tbaa !5
  store i32 %16750, ptr %337, align 4, !tbaa !5
  %16751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16752 = call i32 @s2n_print_stacktrace(ptr noundef %16751)
  %16753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16754 = trunc i8 %16753 to i1
  br i1 %16754, label %16755, label %16777

16755:                                            ; preds = %16748
  %16756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16757 = call i32 @fileno(ptr noundef %16756) #10
  %16758 = call i32 @isatty(i32 noundef %16757) #10
  %16759 = icmp ne i32 %16758, 0
  br i1 %16759, label %16760, label %16777

16760:                                            ; preds = %16755
  %16761 = load i32, ptr %337, align 4, !tbaa !5
  %16762 = call ptr @__errno_location() #11
  store i32 %16761, ptr %16762, align 4, !tbaa !5
  %16763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16764 = load i32, ptr @test_count, align 4, !tbaa !5
  %16765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @s2n_strerror(i32 noundef %16766, ptr noundef @.str.4)
  %16768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call ptr @s2n_strerror_debug(i32 noundef %16769, ptr noundef @.str.4)
  %16771 = call ptr @__errno_location() #11
  %16772 = load i32, ptr %16771, align 4, !tbaa !5
  %16773 = call ptr @strerror(i32 noundef %16772) #10
  %16774 = call ptr @__errno_location() #11
  %16775 = load i32, ptr %16774, align 4, !tbaa !5
  %16776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16763, ptr noundef @.str.2, i32 noundef %16764, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 645, ptr noundef %16767, ptr noundef %16770, ptr noundef %16773, i32 noundef %16775) #10
  br label %16794

16777:                                            ; preds = %16755, %16748
  %16778 = load i32, ptr %337, align 4, !tbaa !5
  %16779 = call ptr @__errno_location() #11
  store i32 %16778, ptr %16779, align 4, !tbaa !5
  %16780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16781 = load i32, ptr @test_count, align 4, !tbaa !5
  %16782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16783 = load i32, ptr %16782, align 4, !tbaa !5
  %16784 = call ptr @s2n_strerror(i32 noundef %16783, ptr noundef @.str.4)
  %16785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16786 = load i32, ptr %16785, align 4, !tbaa !5
  %16787 = call ptr @s2n_strerror_debug(i32 noundef %16786, ptr noundef @.str.4)
  %16788 = call ptr @__errno_location() #11
  %16789 = load i32, ptr %16788, align 4, !tbaa !5
  %16790 = call ptr @strerror(i32 noundef %16789) #10
  %16791 = call ptr @__errno_location() #11
  %16792 = load i32, ptr %16791, align 4, !tbaa !5
  %16793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16780, ptr noundef @.str.5, i32 noundef %16781, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 645, ptr noundef %16784, ptr noundef %16787, ptr noundef %16790, i32 noundef %16792) #10
  br label %16794

16794:                                            ; preds = %16777, %16760
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %16795

16795:                                            ; preds = %16794
  br label %16796

16796:                                            ; preds = %16795
  call void @exit(i32 noundef 1) #12
  unreachable

16797:                                            ; No predecessors!
  br label %16798

16798:                                            ; preds = %16797
  br label %16799

16799:                                            ; preds = %16798, %16740
  br label %16800

16800:                                            ; preds = %16799
  br label %16801

16801:                                            ; preds = %16800
  %16802 = load ptr, ptr %335, align 8, !tbaa !9
  %16803 = getelementptr inbounds %struct.s2n_connection, ptr %16802, i32 0, i32 23
  store i8 34, ptr %16803, align 4, !tbaa !55
  br label %16804

16804:                                            ; preds = %16801
  %16805 = load i32, ptr @test_count, align 4, !tbaa !5
  %16806 = add nsw i32 %16805, 1
  store i32 %16806, ptr @test_count, align 4, !tbaa !5
  %16807 = load ptr, ptr %335, align 8, !tbaa !9
  %16808 = call i32 @s2n_conn_choose_state_machine(ptr noundef %16807, i8 noundef zeroext 34)
  %16809 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  store i32 %16808, ptr %16809, align 4
  %16810 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  %16811 = load i32, ptr %16810, align 4
  %16812 = call zeroext i1 @s2n_result_is_ok(i32 %16811)
  br i1 %16812, label %16866, label %16813

16813:                                            ; preds = %16804
  br label %16814

16814:                                            ; preds = %16813
  br label %16815

16815:                                            ; preds = %16814
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #10
  %16816 = call ptr @__errno_location() #11
  %16817 = load i32, ptr %16816, align 4, !tbaa !5
  store i32 %16817, ptr %339, align 4, !tbaa !5
  %16818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16819 = call i32 @s2n_print_stacktrace(ptr noundef %16818)
  %16820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16821 = trunc i8 %16820 to i1
  br i1 %16821, label %16822, label %16844

16822:                                            ; preds = %16815
  %16823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16824 = call i32 @fileno(ptr noundef %16823) #10
  %16825 = call i32 @isatty(i32 noundef %16824) #10
  %16826 = icmp ne i32 %16825, 0
  br i1 %16826, label %16827, label %16844

16827:                                            ; preds = %16822
  %16828 = load i32, ptr %339, align 4, !tbaa !5
  %16829 = call ptr @__errno_location() #11
  store i32 %16828, ptr %16829, align 4, !tbaa !5
  %16830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16831 = load i32, ptr @test_count, align 4, !tbaa !5
  %16832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16833 = load i32, ptr %16832, align 4, !tbaa !5
  %16834 = call ptr @s2n_strerror(i32 noundef %16833, ptr noundef @.str.4)
  %16835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16836 = load i32, ptr %16835, align 4, !tbaa !5
  %16837 = call ptr @s2n_strerror_debug(i32 noundef %16836, ptr noundef @.str.4)
  %16838 = call ptr @__errno_location() #11
  %16839 = load i32, ptr %16838, align 4, !tbaa !5
  %16840 = call ptr @strerror(i32 noundef %16839) #10
  %16841 = call ptr @__errno_location() #11
  %16842 = load i32, ptr %16841, align 4, !tbaa !5
  %16843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16830, ptr noundef @.str.2, i32 noundef %16831, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 647, ptr noundef %16834, ptr noundef %16837, ptr noundef %16840, i32 noundef %16842) #10
  br label %16861

16844:                                            ; preds = %16822, %16815
  %16845 = load i32, ptr %339, align 4, !tbaa !5
  %16846 = call ptr @__errno_location() #11
  store i32 %16845, ptr %16846, align 4, !tbaa !5
  %16847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16848 = load i32, ptr @test_count, align 4, !tbaa !5
  %16849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16850 = load i32, ptr %16849, align 4, !tbaa !5
  %16851 = call ptr @s2n_strerror(i32 noundef %16850, ptr noundef @.str.4)
  %16852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16853 = load i32, ptr %16852, align 4, !tbaa !5
  %16854 = call ptr @s2n_strerror_debug(i32 noundef %16853, ptr noundef @.str.4)
  %16855 = call ptr @__errno_location() #11
  %16856 = load i32, ptr %16855, align 4, !tbaa !5
  %16857 = call ptr @strerror(i32 noundef %16856) #10
  %16858 = call ptr @__errno_location() #11
  %16859 = load i32, ptr %16858, align 4, !tbaa !5
  %16860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16847, ptr noundef @.str.5, i32 noundef %16848, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 647, ptr noundef %16851, ptr noundef %16854, ptr noundef %16857, i32 noundef %16859) #10
  br label %16861

16861:                                            ; preds = %16844, %16827
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #10
  br label %16862

16862:                                            ; preds = %16861
  br label %16863

16863:                                            ; preds = %16862
  call void @exit(i32 noundef 1) #12
  unreachable

16864:                                            ; No predecessors!
  br label %16865

16865:                                            ; preds = %16864
  br label %16866

16866:                                            ; preds = %16865, %16804
  br label %16867

16867:                                            ; preds = %16866
  br label %16868

16868:                                            ; preds = %16867
  br label %16869

16869:                                            ; preds = %16868
  %16870 = load i32, ptr @test_count, align 4, !tbaa !5
  %16871 = add nsw i32 %16870, 1
  store i32 %16871, ptr @test_count, align 4, !tbaa !5
  %16872 = load ptr, ptr %335, align 8, !tbaa !9
  %16873 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %16874 = call i32 @s2n_connection_mark_extension_received(ptr noundef %16872, i16 noundef zeroext %16873)
  %16875 = icmp eq i32 %16874, -1
  br i1 %16875, label %16876, label %16929

16876:                                            ; preds = %16869
  br label %16877

16877:                                            ; preds = %16876
  br label %16878

16878:                                            ; preds = %16877
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #10
  %16879 = call ptr @__errno_location() #11
  %16880 = load i32, ptr %16879, align 4, !tbaa !5
  store i32 %16880, ptr %340, align 4, !tbaa !5
  %16881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16882 = call i32 @s2n_print_stacktrace(ptr noundef %16881)
  %16883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16884 = trunc i8 %16883 to i1
  br i1 %16884, label %16885, label %16907

16885:                                            ; preds = %16878
  %16886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16887 = call i32 @fileno(ptr noundef %16886) #10
  %16888 = call i32 @isatty(i32 noundef %16887) #10
  %16889 = icmp ne i32 %16888, 0
  br i1 %16889, label %16890, label %16907

16890:                                            ; preds = %16885
  %16891 = load i32, ptr %340, align 4, !tbaa !5
  %16892 = call ptr @__errno_location() #11
  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() #11
  %16902 = load i32, ptr %16901, align 4, !tbaa !5
  %16903 = call ptr @strerror(i32 noundef %16902) #10
  %16904 = call ptr @__errno_location() #11
  %16905 = load i32, ptr %16904, align 4, !tbaa !5
  %16906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16893, ptr noundef @.str.2, i32 noundef %16894, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 649, ptr noundef %16897, ptr noundef %16900, ptr noundef %16903, i32 noundef %16905) #10
  br label %16924

16907:                                            ; preds = %16885, %16878
  %16908 = load i32, ptr %340, align 4, !tbaa !5
  %16909 = call ptr @__errno_location() #11
  store i32 %16908, ptr %16909, align 4, !tbaa !5
  %16910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16911 = load i32, ptr @test_count, align 4, !tbaa !5
  %16912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16913 = load i32, ptr %16912, align 4, !tbaa !5
  %16914 = call ptr @s2n_strerror(i32 noundef %16913, ptr noundef @.str.4)
  %16915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16916 = load i32, ptr %16915, align 4, !tbaa !5
  %16917 = call ptr @s2n_strerror_debug(i32 noundef %16916, ptr noundef @.str.4)
  %16918 = call ptr @__errno_location() #11
  %16919 = load i32, ptr %16918, align 4, !tbaa !5
  %16920 = call ptr @strerror(i32 noundef %16919) #10
  %16921 = call ptr @__errno_location() #11
  %16922 = load i32, ptr %16921, align 4, !tbaa !5
  %16923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16910, ptr noundef @.str.5, i32 noundef %16911, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 649, ptr noundef %16914, ptr noundef %16917, ptr noundef %16920, i32 noundef %16922) #10
  br label %16924

16924:                                            ; preds = %16907, %16890
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #10
  br label %16925

16925:                                            ; preds = %16924
  br label %16926

16926:                                            ; preds = %16925
  call void @exit(i32 noundef 1) #12
  unreachable

16927:                                            ; No predecessors!
  br label %16928

16928:                                            ; preds = %16927
  br label %16929

16929:                                            ; preds = %16928, %16869
  br label %16930

16930:                                            ; preds = %16929
  br label %16931

16931:                                            ; preds = %16930
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #10
  store i64 0, ptr %341, align 8, !tbaa !61
  br label %16932

16932:                                            ; preds = %17004, %16931
  %16933 = load i64, ptr %341, align 8, !tbaa !61
  %16934 = icmp ule i64 %16933, 5
  br i1 %16934, label %16936, label %16935

16935:                                            ; preds = %16932
  store i32 1608, ptr %334, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #10
  br label %17007

16936:                                            ; preds = %16932
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #10
  store ptr null, ptr %342, align 8, !tbaa !9
  br label %16937

16937:                                            ; preds = %16936
  %16938 = load i32, ptr @test_count, align 4, !tbaa !5
  %16939 = add nsw i32 %16938, 1
  store i32 %16939, ptr @test_count, align 4, !tbaa !5
  %16940 = load ptr, ptr %335, align 8, !tbaa !9
  %16941 = getelementptr inbounds %struct.s2n_connection, ptr %16940, i32 0, i32 33
  %16942 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16941, i32 0, i32 1
  %16943 = call i32 @s2n_array_pushback(ptr noundef %16942, ptr noundef %342)
  %16944 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  store i32 %16943, ptr %16944, align 4
  %16945 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  %16946 = load i32, ptr %16945, align 4
  %16947 = call zeroext i1 @s2n_result_is_ok(i32 %16946)
  br i1 %16947, label %17001, label %16948

16948:                                            ; preds = %16937
  br label %16949

16949:                                            ; preds = %16948
  br label %16950

16950:                                            ; preds = %16949
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #10
  %16951 = call ptr @__errno_location() #11
  %16952 = load i32, ptr %16951, align 4, !tbaa !5
  store i32 %16952, ptr %344, align 4, !tbaa !5
  %16953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16954 = call i32 @s2n_print_stacktrace(ptr noundef %16953)
  %16955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16956 = trunc i8 %16955 to i1
  br i1 %16956, label %16957, label %16979

16957:                                            ; preds = %16950
  %16958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16959 = call i32 @fileno(ptr noundef %16958) #10
  %16960 = call i32 @isatty(i32 noundef %16959) #10
  %16961 = icmp ne i32 %16960, 0
  br i1 %16961, label %16962, label %16979

16962:                                            ; preds = %16957
  %16963 = load i32, ptr %344, align 4, !tbaa !5
  %16964 = call ptr @__errno_location() #11
  store i32 %16963, ptr %16964, align 4, !tbaa !5
  %16965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16966 = load i32, ptr @test_count, align 4, !tbaa !5
  %16967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16968 = load i32, ptr %16967, align 4, !tbaa !5
  %16969 = call ptr @s2n_strerror(i32 noundef %16968, ptr noundef @.str.4)
  %16970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16971 = load i32, ptr %16970, align 4, !tbaa !5
  %16972 = call ptr @s2n_strerror_debug(i32 noundef %16971, ptr noundef @.str.4)
  %16973 = call ptr @__errno_location() #11
  %16974 = load i32, ptr %16973, align 4, !tbaa !5
  %16975 = call ptr @strerror(i32 noundef %16974) #10
  %16976 = call ptr @__errno_location() #11
  %16977 = load i32, ptr %16976, align 4, !tbaa !5
  %16978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16965, ptr noundef @.str.2, i32 noundef %16966, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 653, ptr noundef %16969, ptr noundef %16972, ptr noundef %16975, i32 noundef %16977) #10
  br label %16996

16979:                                            ; preds = %16957, %16950
  %16980 = load i32, ptr %344, align 4, !tbaa !5
  %16981 = call ptr @__errno_location() #11
  store i32 %16980, ptr %16981, align 4, !tbaa !5
  %16982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16983 = load i32, ptr @test_count, align 4, !tbaa !5
  %16984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16985 = load i32, ptr %16984, align 4, !tbaa !5
  %16986 = call ptr @s2n_strerror(i32 noundef %16985, ptr noundef @.str.4)
  %16987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16988 = load i32, ptr %16987, align 4, !tbaa !5
  %16989 = call ptr @s2n_strerror_debug(i32 noundef %16988, ptr noundef @.str.4)
  %16990 = call ptr @__errno_location() #11
  %16991 = load i32, ptr %16990, align 4, !tbaa !5
  %16992 = call ptr @strerror(i32 noundef %16991) #10
  %16993 = call ptr @__errno_location() #11
  %16994 = load i32, ptr %16993, align 4, !tbaa !5
  %16995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16982, ptr noundef @.str.5, i32 noundef %16983, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 653, ptr noundef %16986, ptr noundef %16989, ptr noundef %16992, i32 noundef %16994) #10
  br label %16996

16996:                                            ; preds = %16979, %16962
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #10
  br label %16997

16997:                                            ; preds = %16996
  br label %16998

16998:                                            ; preds = %16997
  call void @exit(i32 noundef 1) #12
  unreachable

16999:                                            ; No predecessors!
  br label %17000

17000:                                            ; preds = %16999
  br label %17001

17001:                                            ; preds = %17000, %16937
  br label %17002

17002:                                            ; preds = %17001
  br label %17003

17003:                                            ; preds = %17002
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #10
  br label %17004

17004:                                            ; preds = %17003
  %17005 = load i64, ptr %341, align 8, !tbaa !61
  %17006 = add i64 %17005, 1
  store i64 %17006, ptr %341, align 8, !tbaa !61
  br label %16932, !llvm.loop !76

17007:                                            ; preds = %16935
  %17008 = load i64, ptr %333, align 8, !tbaa !61
  %17009 = icmp ne i64 %17008, 0
  br i1 %17009, label %17010, label %17073

17010:                                            ; preds = %17007
  br label %17011

17011:                                            ; preds = %17010
  %17012 = load i32, ptr @test_count, align 4, !tbaa !5
  %17013 = add nsw i32 %17012, 1
  store i32 %17013, ptr @test_count, align 4, !tbaa !5
  %17014 = load ptr, ptr %335, align 8, !tbaa !9
  %17015 = call i32 @s2n_set_connection_hello_retry_flags(ptr noundef %17014)
  %17016 = icmp eq i32 %17015, -1
  br i1 %17016, label %17017, label %17070

17017:                                            ; preds = %17011
  br label %17018

17018:                                            ; preds = %17017
  br label %17019

17019:                                            ; preds = %17018
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %17020 = call ptr @__errno_location() #11
  %17021 = load i32, ptr %17020, align 4, !tbaa !5
  store i32 %17021, ptr %345, align 4, !tbaa !5
  %17022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17023 = call i32 @s2n_print_stacktrace(ptr noundef %17022)
  %17024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17025 = trunc i8 %17024 to i1
  br i1 %17025, label %17026, label %17048

17026:                                            ; preds = %17019
  %17027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17028 = call i32 @fileno(ptr noundef %17027) #10
  %17029 = call i32 @isatty(i32 noundef %17028) #10
  %17030 = icmp ne i32 %17029, 0
  br i1 %17030, label %17031, label %17048

17031:                                            ; preds = %17026
  %17032 = load i32, ptr %345, align 4, !tbaa !5
  %17033 = call ptr @__errno_location() #11
  store i32 %17032, ptr %17033, align 4, !tbaa !5
  %17034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17035 = load i32, ptr @test_count, align 4, !tbaa !5
  %17036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17037 = load i32, ptr %17036, align 4, !tbaa !5
  %17038 = call ptr @s2n_strerror(i32 noundef %17037, ptr noundef @.str.4)
  %17039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17040 = load i32, ptr %17039, align 4, !tbaa !5
  %17041 = call ptr @s2n_strerror_debug(i32 noundef %17040, ptr noundef @.str.4)
  %17042 = call ptr @__errno_location() #11
  %17043 = load i32, ptr %17042, align 4, !tbaa !5
  %17044 = call ptr @strerror(i32 noundef %17043) #10
  %17045 = call ptr @__errno_location() #11
  %17046 = load i32, ptr %17045, align 4, !tbaa !5
  %17047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17034, ptr noundef @.str.2, i32 noundef %17035, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 657, ptr noundef %17038, ptr noundef %17041, ptr noundef %17044, i32 noundef %17046) #10
  br label %17065

17048:                                            ; preds = %17026, %17019
  %17049 = load i32, ptr %345, align 4, !tbaa !5
  %17050 = call ptr @__errno_location() #11
  store i32 %17049, ptr %17050, align 4, !tbaa !5
  %17051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17052 = load i32, ptr @test_count, align 4, !tbaa !5
  %17053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17054 = load i32, ptr %17053, align 4, !tbaa !5
  %17055 = call ptr @s2n_strerror(i32 noundef %17054, ptr noundef @.str.4)
  %17056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17057 = load i32, ptr %17056, align 4, !tbaa !5
  %17058 = call ptr @s2n_strerror_debug(i32 noundef %17057, ptr noundef @.str.4)
  %17059 = call ptr @__errno_location() #11
  %17060 = load i32, ptr %17059, align 4, !tbaa !5
  %17061 = call ptr @strerror(i32 noundef %17060) #10
  %17062 = call ptr @__errno_location() #11
  %17063 = load i32, ptr %17062, align 4, !tbaa !5
  %17064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17051, ptr noundef @.str.5, i32 noundef %17052, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 657, ptr noundef %17055, ptr noundef %17058, ptr noundef %17061, i32 noundef %17063) #10
  br label %17065

17065:                                            ; preds = %17048, %17031
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %17066

17066:                                            ; preds = %17065
  br label %17067

17067:                                            ; preds = %17066
  call void @exit(i32 noundef 1) #12
  unreachable

17068:                                            ; No predecessors!
  br label %17069

17069:                                            ; preds = %17068
  br label %17070

17070:                                            ; preds = %17069, %17011
  br label %17071

17071:                                            ; preds = %17070
  br label %17072

17072:                                            ; preds = %17071
  br label %17073

17073:                                            ; preds = %17072, %17007
  br label %17074

17074:                                            ; preds = %17073
  %17075 = load i32, ptr @test_count, align 4, !tbaa !5
  %17076 = add nsw i32 %17075, 1
  store i32 %17076, ptr @test_count, align 4, !tbaa !5
  %17077 = load ptr, ptr %335, align 8, !tbaa !9
  %17078 = getelementptr inbounds %struct.s2n_connection, ptr %17077, i32 0, i32 33
  %17079 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17078, i32 0, i32 3
  %17080 = load i16, ptr %17079, align 2, !tbaa !75
  %17081 = zext i16 %17080 to i32
  %17082 = icmp eq i32 %17081, 0
  br i1 %17082, label %17136, label %17083

17083:                                            ; preds = %17074
  br label %17084

17084:                                            ; preds = %17083
  br label %17085

17085:                                            ; preds = %17084
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #10
  %17086 = call ptr @__errno_location() #11
  %17087 = load i32, ptr %17086, align 4, !tbaa !5
  store i32 %17087, ptr %346, align 4, !tbaa !5
  %17088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17089 = call i32 @s2n_print_stacktrace(ptr noundef %17088)
  %17090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17091 = trunc i8 %17090 to i1
  br i1 %17091, label %17092, label %17114

17092:                                            ; preds = %17085
  %17093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17094 = call i32 @fileno(ptr noundef %17093) #10
  %17095 = call i32 @isatty(i32 noundef %17094) #10
  %17096 = icmp ne i32 %17095, 0
  br i1 %17096, label %17097, label %17114

17097:                                            ; preds = %17092
  %17098 = load i32, ptr %346, align 4, !tbaa !5
  %17099 = call ptr @__errno_location() #11
  store i32 %17098, ptr %17099, align 4, !tbaa !5
  %17100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17101 = load i32, ptr @test_count, align 4, !tbaa !5
  %17102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17103 = load i32, ptr %17102, align 4, !tbaa !5
  %17104 = call ptr @s2n_strerror(i32 noundef %17103, ptr noundef @.str.4)
  %17105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17106 = load i32, ptr %17105, align 4, !tbaa !5
  %17107 = call ptr @s2n_strerror_debug(i32 noundef %17106, ptr noundef @.str.4)
  %17108 = call ptr @__errno_location() #11
  %17109 = load i32, ptr %17108, align 4, !tbaa !5
  %17110 = call ptr @strerror(i32 noundef %17109) #10
  %17111 = call ptr @__errno_location() #11
  %17112 = load i32, ptr %17111, align 4, !tbaa !5
  %17113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17100, ptr noundef @.str.2, i32 noundef %17101, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 660, ptr noundef %17104, ptr noundef %17107, ptr noundef %17110, i32 noundef %17112) #10
  br label %17131

17114:                                            ; preds = %17092, %17085
  %17115 = load i32, ptr %346, align 4, !tbaa !5
  %17116 = call ptr @__errno_location() #11
  store i32 %17115, ptr %17116, align 4, !tbaa !5
  %17117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17118 = load i32, ptr @test_count, align 4, !tbaa !5
  %17119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17120 = load i32, ptr %17119, align 4, !tbaa !5
  %17121 = call ptr @s2n_strerror(i32 noundef %17120, ptr noundef @.str.4)
  %17122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17123 = load i32, ptr %17122, align 4, !tbaa !5
  %17124 = call ptr @s2n_strerror_debug(i32 noundef %17123, ptr noundef @.str.4)
  %17125 = call ptr @__errno_location() #11
  %17126 = load i32, ptr %17125, align 4, !tbaa !5
  %17127 = call ptr @strerror(i32 noundef %17126) #10
  %17128 = call ptr @__errno_location() #11
  %17129 = load i32, ptr %17128, align 4, !tbaa !5
  %17130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17117, ptr noundef @.str.5, i32 noundef %17118, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 660, ptr noundef %17121, ptr noundef %17124, ptr noundef %17127, i32 noundef %17129) #10
  br label %17131

17131:                                            ; preds = %17114, %17097
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #10
  br label %17132

17132:                                            ; preds = %17131
  br label %17133

17133:                                            ; preds = %17132
  call void @exit(i32 noundef 1) #12
  unreachable

17134:                                            ; No predecessors!
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

17136:                                            ; preds = %17135, %17074
  br label %17137

17137:                                            ; preds = %17136
  br label %17138

17138:                                            ; preds = %17137
  br label %17139

17139:                                            ; preds = %17138
  %17140 = load i32, ptr @test_count, align 4, !tbaa !5
  %17141 = add nsw i32 %17140, 1
  store i32 %17141, ptr @test_count, align 4, !tbaa !5
  %17142 = load ptr, ptr %335, align 8, !tbaa !9
  %17143 = call i32 @s2n_server_extensions_recv(ptr noundef %17142, ptr noundef %326)
  %17144 = icmp eq i32 %17143, -1
  br i1 %17144, label %17145, label %17198

17145:                                            ; preds = %17139
  br label %17146

17146:                                            ; preds = %17145
  br label %17147

17147:                                            ; preds = %17146
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #10
  %17148 = call ptr @__errno_location() #11
  %17149 = load i32, ptr %17148, align 4, !tbaa !5
  store i32 %17149, ptr %347, align 4, !tbaa !5
  %17150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17151 = call i32 @s2n_print_stacktrace(ptr noundef %17150)
  %17152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17153 = trunc i8 %17152 to i1
  br i1 %17153, label %17154, label %17176

17154:                                            ; preds = %17147
  %17155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17156 = call i32 @fileno(ptr noundef %17155) #10
  %17157 = call i32 @isatty(i32 noundef %17156) #10
  %17158 = icmp ne i32 %17157, 0
  br i1 %17158, label %17159, label %17176

17159:                                            ; preds = %17154
  %17160 = load i32, ptr %347, align 4, !tbaa !5
  %17161 = call ptr @__errno_location() #11
  store i32 %17160, ptr %17161, align 4, !tbaa !5
  %17162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17163 = load i32, ptr @test_count, align 4, !tbaa !5
  %17164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17165 = load i32, ptr %17164, align 4, !tbaa !5
  %17166 = call ptr @s2n_strerror(i32 noundef %17165, ptr noundef @.str.4)
  %17167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17168 = load i32, ptr %17167, align 4, !tbaa !5
  %17169 = call ptr @s2n_strerror_debug(i32 noundef %17168, ptr noundef @.str.4)
  %17170 = call ptr @__errno_location() #11
  %17171 = load i32, ptr %17170, align 4, !tbaa !5
  %17172 = call ptr @strerror(i32 noundef %17171) #10
  %17173 = call ptr @__errno_location() #11
  %17174 = load i32, ptr %17173, align 4, !tbaa !5
  %17175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17162, ptr noundef @.str.2, i32 noundef %17163, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 661, ptr noundef %17166, ptr noundef %17169, ptr noundef %17172, i32 noundef %17174) #10
  br label %17193

17176:                                            ; preds = %17154, %17147
  %17177 = load i32, ptr %347, align 4, !tbaa !5
  %17178 = call ptr @__errno_location() #11
  store i32 %17177, ptr %17178, align 4, !tbaa !5
  %17179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17180 = load i32, ptr @test_count, align 4, !tbaa !5
  %17181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17182 = load i32, ptr %17181, align 4, !tbaa !5
  %17183 = call ptr @s2n_strerror(i32 noundef %17182, ptr noundef @.str.4)
  %17184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17185 = load i32, ptr %17184, align 4, !tbaa !5
  %17186 = call ptr @s2n_strerror_debug(i32 noundef %17185, ptr noundef @.str.4)
  %17187 = call ptr @__errno_location() #11
  %17188 = load i32, ptr %17187, align 4, !tbaa !5
  %17189 = call ptr @strerror(i32 noundef %17188) #10
  %17190 = call ptr @__errno_location() #11
  %17191 = load i32, ptr %17190, align 4, !tbaa !5
  %17192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17179, ptr noundef @.str.5, i32 noundef %17180, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 661, ptr noundef %17183, ptr noundef %17186, ptr noundef %17189, i32 noundef %17191) #10
  br label %17193

17193:                                            ; preds = %17176, %17159
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #10
  br label %17194

17194:                                            ; preds = %17193
  br label %17195

17195:                                            ; preds = %17194
  call void @exit(i32 noundef 1) #12
  unreachable

17196:                                            ; No predecessors!
  br label %17197

17197:                                            ; preds = %17196
  br label %17198

17198:                                            ; preds = %17197, %17139
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199
  %17201 = load i64, ptr %333, align 8, !tbaa !61
  %17202 = icmp ne i64 %17201, 0
  br i1 %17202, label %17203, label %17269

17203:                                            ; preds = %17200
  br label %17204

17204:                                            ; preds = %17203
  %17205 = load i32, ptr @test_count, align 4, !tbaa !5
  %17206 = add nsw i32 %17205, 1
  store i32 %17206, ptr @test_count, align 4, !tbaa !5
  %17207 = load ptr, ptr %335, align 8, !tbaa !9
  %17208 = getelementptr inbounds %struct.s2n_connection, ptr %17207, i32 0, i32 33
  %17209 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17208, i32 0, i32 3
  %17210 = load i16, ptr %17209, align 2, !tbaa !75
  %17211 = zext i16 %17210 to i32
  %17212 = icmp eq i32 %17211, 0
  br i1 %17212, label %17266, label %17213

17213:                                            ; preds = %17204
  br label %17214

17214:                                            ; preds = %17213
  br label %17215

17215:                                            ; preds = %17214
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #10
  %17216 = call ptr @__errno_location() #11
  %17217 = load i32, ptr %17216, align 4, !tbaa !5
  store i32 %17217, ptr %348, align 4, !tbaa !5
  %17218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17219 = call i32 @s2n_print_stacktrace(ptr noundef %17218)
  %17220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17221 = trunc i8 %17220 to i1
  br i1 %17221, label %17222, label %17244

17222:                                            ; preds = %17215
  %17223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17224 = call i32 @fileno(ptr noundef %17223) #10
  %17225 = call i32 @isatty(i32 noundef %17224) #10
  %17226 = icmp ne i32 %17225, 0
  br i1 %17226, label %17227, label %17244

17227:                                            ; preds = %17222
  %17228 = load i32, ptr %348, align 4, !tbaa !5
  %17229 = call ptr @__errno_location() #11
  store i32 %17228, ptr %17229, align 4, !tbaa !5
  %17230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17231 = load i32, ptr @test_count, align 4, !tbaa !5
  %17232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17233 = load i32, ptr %17232, align 4, !tbaa !5
  %17234 = call ptr @s2n_strerror(i32 noundef %17233, ptr noundef @.str.4)
  %17235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17236 = load i32, ptr %17235, align 4, !tbaa !5
  %17237 = call ptr @s2n_strerror_debug(i32 noundef %17236, ptr noundef @.str.4)
  %17238 = call ptr @__errno_location() #11
  %17239 = load i32, ptr %17238, align 4, !tbaa !5
  %17240 = call ptr @strerror(i32 noundef %17239) #10
  %17241 = call ptr @__errno_location() #11
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17230, ptr noundef @.str.2, i32 noundef %17231, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 664, ptr noundef %17234, ptr noundef %17237, ptr noundef %17240, i32 noundef %17242) #10
  br label %17261

17244:                                            ; preds = %17222, %17215
  %17245 = load i32, ptr %348, align 4, !tbaa !5
  %17246 = call ptr @__errno_location() #11
  store i32 %17245, ptr %17246, align 4, !tbaa !5
  %17247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17248 = load i32, ptr @test_count, align 4, !tbaa !5
  %17249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17250 = load i32, ptr %17249, align 4, !tbaa !5
  %17251 = call ptr @s2n_strerror(i32 noundef %17250, ptr noundef @.str.4)
  %17252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17253 = load i32, ptr %17252, align 4, !tbaa !5
  %17254 = call ptr @s2n_strerror_debug(i32 noundef %17253, ptr noundef @.str.4)
  %17255 = call ptr @__errno_location() #11
  %17256 = load i32, ptr %17255, align 4, !tbaa !5
  %17257 = call ptr @strerror(i32 noundef %17256) #10
  %17258 = call ptr @__errno_location() #11
  %17259 = load i32, ptr %17258, align 4, !tbaa !5
  %17260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17247, ptr noundef @.str.5, i32 noundef %17248, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 664, ptr noundef %17251, ptr noundef %17254, ptr noundef %17257, i32 noundef %17259) #10
  br label %17261

17261:                                            ; preds = %17244, %17227
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #10
  br label %17262

17262:                                            ; preds = %17261
  br label %17263

17263:                                            ; preds = %17262
  call void @exit(i32 noundef 1) #12
  unreachable

17264:                                            ; No predecessors!
  br label %17265

17265:                                            ; preds = %17264
  br label %17266

17266:                                            ; preds = %17265, %17204
  br label %17267

17267:                                            ; preds = %17266
  br label %17268

17268:                                            ; preds = %17267
  br label %17335

17269:                                            ; preds = %17200
  br label %17270

17270:                                            ; preds = %17269
  %17271 = load i32, ptr @test_count, align 4, !tbaa !5
  %17272 = add nsw i32 %17271, 1
  store i32 %17272, ptr @test_count, align 4, !tbaa !5
  %17273 = load ptr, ptr %335, align 8, !tbaa !9
  %17274 = getelementptr inbounds %struct.s2n_connection, ptr %17273, i32 0, i32 33
  %17275 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17274, i32 0, i32 3
  %17276 = load i16, ptr %17275, align 2, !tbaa !75
  %17277 = zext i16 %17276 to i32
  %17278 = icmp eq i32 %17277, 5
  br i1 %17278, label %17332, label %17279

17279:                                            ; preds = %17270
  br label %17280

17280:                                            ; preds = %17279
  br label %17281

17281:                                            ; preds = %17280
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #10
  %17282 = call ptr @__errno_location() #11
  %17283 = load i32, ptr %17282, align 4, !tbaa !5
  store i32 %17283, ptr %349, align 4, !tbaa !5
  %17284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17285 = call i32 @s2n_print_stacktrace(ptr noundef %17284)
  %17286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17287 = trunc i8 %17286 to i1
  br i1 %17287, label %17288, label %17310

17288:                                            ; preds = %17281
  %17289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17290 = call i32 @fileno(ptr noundef %17289) #10
  %17291 = call i32 @isatty(i32 noundef %17290) #10
  %17292 = icmp ne i32 %17291, 0
  br i1 %17292, label %17293, label %17310

17293:                                            ; preds = %17288
  %17294 = load i32, ptr %349, align 4, !tbaa !5
  %17295 = call ptr @__errno_location() #11
  store i32 %17294, ptr %17295, align 4, !tbaa !5
  %17296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17297 = load i32, ptr @test_count, align 4, !tbaa !5
  %17298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17299 = load i32, ptr %17298, align 4, !tbaa !5
  %17300 = call ptr @s2n_strerror(i32 noundef %17299, ptr noundef @.str.4)
  %17301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17302 = load i32, ptr %17301, align 4, !tbaa !5
  %17303 = call ptr @s2n_strerror_debug(i32 noundef %17302, ptr noundef @.str.4)
  %17304 = call ptr @__errno_location() #11
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @strerror(i32 noundef %17305) #10
  %17307 = call ptr @__errno_location() #11
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17296, ptr noundef @.str.2, i32 noundef %17297, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 666, ptr noundef %17300, ptr noundef %17303, ptr noundef %17306, i32 noundef %17308) #10
  br label %17327

17310:                                            ; preds = %17288, %17281
  %17311 = load i32, ptr %349, align 4, !tbaa !5
  %17312 = call ptr @__errno_location() #11
  store i32 %17311, ptr %17312, align 4, !tbaa !5
  %17313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17314 = load i32, ptr @test_count, align 4, !tbaa !5
  %17315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17316 = load i32, ptr %17315, align 4, !tbaa !5
  %17317 = call ptr @s2n_strerror(i32 noundef %17316, ptr noundef @.str.4)
  %17318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17319 = load i32, ptr %17318, align 4, !tbaa !5
  %17320 = call ptr @s2n_strerror_debug(i32 noundef %17319, ptr noundef @.str.4)
  %17321 = call ptr @__errno_location() #11
  %17322 = load i32, ptr %17321, align 4, !tbaa !5
  %17323 = call ptr @strerror(i32 noundef %17322) #10
  %17324 = call ptr @__errno_location() #11
  %17325 = load i32, ptr %17324, align 4, !tbaa !5
  %17326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17313, ptr noundef @.str.5, i32 noundef %17314, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 666, ptr noundef %17317, ptr noundef %17320, ptr noundef %17323, i32 noundef %17325) #10
  br label %17327

17327:                                            ; preds = %17310, %17293
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #10
  br label %17328

17328:                                            ; preds = %17327
  br label %17329

17329:                                            ; preds = %17328
  call void @exit(i32 noundef 1) #12
  unreachable

17330:                                            ; No predecessors!
  br label %17331

17331:                                            ; preds = %17330
  br label %17332

17332:                                            ; preds = %17331, %17270
  br label %17333

17333:                                            ; preds = %17332
  br label %17334

17334:                                            ; preds = %17333
  br label %17335

17335:                                            ; preds = %17334, %17268
  br label %17336

17336:                                            ; preds = %17335
  %17337 = load i32, ptr @test_count, align 4, !tbaa !5
  %17338 = add nsw i32 %17337, 1
  store i32 %17338, ptr @test_count, align 4, !tbaa !5
  %17339 = load ptr, ptr %335, align 8, !tbaa !9
  %17340 = call i32 @s2n_connection_free(ptr noundef %17339)
  %17341 = icmp eq i32 %17340, -1
  br i1 %17341, label %17342, label %17395

17342:                                            ; preds = %17336
  br label %17343

17343:                                            ; preds = %17342
  br label %17344

17344:                                            ; preds = %17343
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %17345 = call ptr @__errno_location() #11
  %17346 = load i32, ptr %17345, align 4, !tbaa !5
  store i32 %17346, ptr %350, align 4, !tbaa !5
  %17347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17348 = call i32 @s2n_print_stacktrace(ptr noundef %17347)
  %17349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17350 = trunc i8 %17349 to i1
  br i1 %17350, label %17351, label %17373

17351:                                            ; preds = %17344
  %17352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17353 = call i32 @fileno(ptr noundef %17352) #10
  %17354 = call i32 @isatty(i32 noundef %17353) #10
  %17355 = icmp ne i32 %17354, 0
  br i1 %17355, label %17356, label %17373

17356:                                            ; preds = %17351
  %17357 = load i32, ptr %350, align 4, !tbaa !5
  %17358 = call ptr @__errno_location() #11
  store i32 %17357, ptr %17358, align 4, !tbaa !5
  %17359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17360 = load i32, ptr @test_count, align 4, !tbaa !5
  %17361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17362 = load i32, ptr %17361, align 4, !tbaa !5
  %17363 = call ptr @s2n_strerror(i32 noundef %17362, ptr noundef @.str.4)
  %17364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17365 = load i32, ptr %17364, align 4, !tbaa !5
  %17366 = call ptr @s2n_strerror_debug(i32 noundef %17365, ptr noundef @.str.4)
  %17367 = call ptr @__errno_location() #11
  %17368 = load i32, ptr %17367, align 4, !tbaa !5
  %17369 = call ptr @strerror(i32 noundef %17368) #10
  %17370 = call ptr @__errno_location() #11
  %17371 = load i32, ptr %17370, align 4, !tbaa !5
  %17372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17359, ptr noundef @.str.2, i32 noundef %17360, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 669, ptr noundef %17363, ptr noundef %17366, ptr noundef %17369, i32 noundef %17371) #10
  br label %17390

17373:                                            ; preds = %17351, %17344
  %17374 = load i32, ptr %350, align 4, !tbaa !5
  %17375 = call ptr @__errno_location() #11
  store i32 %17374, ptr %17375, align 4, !tbaa !5
  %17376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17377 = load i32, ptr @test_count, align 4, !tbaa !5
  %17378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17379 = load i32, ptr %17378, align 4, !tbaa !5
  %17380 = call ptr @s2n_strerror(i32 noundef %17379, ptr noundef @.str.4)
  %17381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17382 = load i32, ptr %17381, align 4, !tbaa !5
  %17383 = call ptr @s2n_strerror_debug(i32 noundef %17382, ptr noundef @.str.4)
  %17384 = call ptr @__errno_location() #11
  %17385 = load i32, ptr %17384, align 4, !tbaa !5
  %17386 = call ptr @strerror(i32 noundef %17385) #10
  %17387 = call ptr @__errno_location() #11
  %17388 = load i32, ptr %17387, align 4, !tbaa !5
  %17389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17376, ptr noundef @.str.5, i32 noundef %17377, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 669, ptr noundef %17380, ptr noundef %17383, ptr noundef %17386, i32 noundef %17388) #10
  br label %17390

17390:                                            ; preds = %17373, %17356
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %17391

17391:                                            ; preds = %17390
  br label %17392

17392:                                            ; preds = %17391
  call void @exit(i32 noundef 1) #12
  unreachable

17393:                                            ; No predecessors!
  br label %17394

17394:                                            ; preds = %17393
  br label %17395

17395:                                            ; preds = %17394, %17336
  br label %17396

17396:                                            ; preds = %17395
  br label %17397

17397:                                            ; preds = %17396
  br label %17398

17398:                                            ; preds = %17397
  %17399 = load i32, ptr @test_count, align 4, !tbaa !5
  %17400 = add nsw i32 %17399, 1
  store i32 %17400, ptr @test_count, align 4, !tbaa !5
  %17401 = call i32 @s2n_stuffer_reread(ptr noundef %326)
  %17402 = icmp eq i32 %17401, -1
  br i1 %17402, label %17403, label %17456

17403:                                            ; preds = %17398
  br label %17404

17404:                                            ; preds = %17403
  br label %17405

17405:                                            ; preds = %17404
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #10
  %17406 = call ptr @__errno_location() #11
  %17407 = load i32, ptr %17406, align 4, !tbaa !5
  store i32 %17407, ptr %351, align 4, !tbaa !5
  %17408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17409 = call i32 @s2n_print_stacktrace(ptr noundef %17408)
  %17410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17411 = trunc i8 %17410 to i1
  br i1 %17411, label %17412, label %17434

17412:                                            ; preds = %17405
  %17413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17414 = call i32 @fileno(ptr noundef %17413) #10
  %17415 = call i32 @isatty(i32 noundef %17414) #10
  %17416 = icmp ne i32 %17415, 0
  br i1 %17416, label %17417, label %17434

17417:                                            ; preds = %17412
  %17418 = load i32, ptr %351, align 4, !tbaa !5
  %17419 = call ptr @__errno_location() #11
  store i32 %17418, ptr %17419, align 4, !tbaa !5
  %17420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17421 = load i32, ptr @test_count, align 4, !tbaa !5
  %17422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17423 = load i32, ptr %17422, align 4, !tbaa !5
  %17424 = call ptr @s2n_strerror(i32 noundef %17423, ptr noundef @.str.4)
  %17425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17426 = load i32, ptr %17425, align 4, !tbaa !5
  %17427 = call ptr @s2n_strerror_debug(i32 noundef %17426, ptr noundef @.str.4)
  %17428 = call ptr @__errno_location() #11
  %17429 = load i32, ptr %17428, align 4, !tbaa !5
  %17430 = call ptr @strerror(i32 noundef %17429) #10
  %17431 = call ptr @__errno_location() #11
  %17432 = load i32, ptr %17431, align 4, !tbaa !5
  %17433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17420, ptr noundef @.str.2, i32 noundef %17421, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 670, ptr noundef %17424, ptr noundef %17427, ptr noundef %17430, i32 noundef %17432) #10
  br label %17451

17434:                                            ; preds = %17412, %17405
  %17435 = load i32, ptr %351, align 4, !tbaa !5
  %17436 = call ptr @__errno_location() #11
  store i32 %17435, ptr %17436, align 4, !tbaa !5
  %17437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17438 = load i32, ptr @test_count, align 4, !tbaa !5
  %17439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17440 = load i32, ptr %17439, align 4, !tbaa !5
  %17441 = call ptr @s2n_strerror(i32 noundef %17440, ptr noundef @.str.4)
  %17442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17443 = load i32, ptr %17442, align 4, !tbaa !5
  %17444 = call ptr @s2n_strerror_debug(i32 noundef %17443, ptr noundef @.str.4)
  %17445 = call ptr @__errno_location() #11
  %17446 = load i32, ptr %17445, align 4, !tbaa !5
  %17447 = call ptr @strerror(i32 noundef %17446) #10
  %17448 = call ptr @__errno_location() #11
  %17449 = load i32, ptr %17448, align 4, !tbaa !5
  %17450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17437, ptr noundef @.str.5, i32 noundef %17438, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 670, ptr noundef %17441, ptr noundef %17444, ptr noundef %17447, i32 noundef %17449) #10
  br label %17451

17451:                                            ; preds = %17434, %17417
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #10
  br label %17452

17452:                                            ; preds = %17451
  br label %17453

17453:                                            ; preds = %17452
  call void @exit(i32 noundef 1) #12
  unreachable

17454:                                            ; No predecessors!
  br label %17455

17455:                                            ; preds = %17454
  br label %17456

17456:                                            ; preds = %17455, %17398
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

17458:                                            ; preds = %17457
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #10
  br label %17459

17459:                                            ; preds = %17458
  %17460 = load i64, ptr %333, align 8, !tbaa !61
  %17461 = add i64 %17460, 1
  store i64 %17461, ptr %333, align 8, !tbaa !61
  br label %16674, !llvm.loop !77

17462:                                            ; preds = %16677
  call void @llvm.lifetime.end.p0(i64 16, ptr %328) #10
  %17463 = call i32 @s2n_stuffer_free(ptr noundef %326)
  call void @llvm.lifetime.end.p0(i64 40, ptr %326) #10
  call void @llvm.lifetime.end.p0(i64 168, ptr %323) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %322) #10
  br label %17464

17464:                                            ; preds = %17462
  %17465 = load i32, ptr @test_count, align 4, !tbaa !5
  %17466 = add nsw i32 %17465, 1
  store i32 %17466, ptr @test_count, align 4, !tbaa !5
  %17467 = load ptr, ptr %286, align 8, !tbaa !9
  %17468 = call i32 @s2n_connection_free(ptr noundef %17467)
  %17469 = icmp eq i32 %17468, -1
  br i1 %17469, label %17470, label %17523

17470:                                            ; preds = %17464
  br label %17471

17471:                                            ; preds = %17470
  br label %17472

17472:                                            ; preds = %17471
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %17473 = call ptr @__errno_location() #11
  %17474 = load i32, ptr %17473, align 4, !tbaa !5
  store i32 %17474, ptr %352, align 4, !tbaa !5
  %17475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17476 = call i32 @s2n_print_stacktrace(ptr noundef %17475)
  %17477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17478 = trunc i8 %17477 to i1
  br i1 %17478, label %17479, label %17501

17479:                                            ; preds = %17472
  %17480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17481 = call i32 @fileno(ptr noundef %17480) #10
  %17482 = call i32 @isatty(i32 noundef %17481) #10
  %17483 = icmp ne i32 %17482, 0
  br i1 %17483, label %17484, label %17501

17484:                                            ; preds = %17479
  %17485 = load i32, ptr %352, align 4, !tbaa !5
  %17486 = call ptr @__errno_location() #11
  store i32 %17485, ptr %17486, align 4, !tbaa !5
  %17487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17488 = load i32, ptr @test_count, align 4, !tbaa !5
  %17489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17490 = load i32, ptr %17489, align 4, !tbaa !5
  %17491 = call ptr @s2n_strerror(i32 noundef %17490, ptr noundef @.str.4)
  %17492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17493 = load i32, ptr %17492, align 4, !tbaa !5
  %17494 = call ptr @s2n_strerror_debug(i32 noundef %17493, ptr noundef @.str.4)
  %17495 = call ptr @__errno_location() #11
  %17496 = load i32, ptr %17495, align 4, !tbaa !5
  %17497 = call ptr @strerror(i32 noundef %17496) #10
  %17498 = call ptr @__errno_location() #11
  %17499 = load i32, ptr %17498, align 4, !tbaa !5
  %17500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17487, ptr noundef @.str.2, i32 noundef %17488, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 674, ptr noundef %17491, ptr noundef %17494, ptr noundef %17497, i32 noundef %17499) #10
  br label %17518

17501:                                            ; preds = %17479, %17472
  %17502 = load i32, ptr %352, align 4, !tbaa !5
  %17503 = call ptr @__errno_location() #11
  store i32 %17502, ptr %17503, align 4, !tbaa !5
  %17504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17505 = load i32, ptr @test_count, align 4, !tbaa !5
  %17506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17507 = load i32, ptr %17506, align 4, !tbaa !5
  %17508 = call ptr @s2n_strerror(i32 noundef %17507, ptr noundef @.str.4)
  %17509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17510 = load i32, ptr %17509, align 4, !tbaa !5
  %17511 = call ptr @s2n_strerror_debug(i32 noundef %17510, ptr noundef @.str.4)
  %17512 = call ptr @__errno_location() #11
  %17513 = load i32, ptr %17512, align 4, !tbaa !5
  %17514 = call ptr @strerror(i32 noundef %17513) #10
  %17515 = call ptr @__errno_location() #11
  %17516 = load i32, ptr %17515, align 4, !tbaa !5
  %17517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17504, ptr noundef @.str.5, i32 noundef %17505, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 674, ptr noundef %17508, ptr noundef %17511, ptr noundef %17514, i32 noundef %17516) #10
  br label %17518

17518:                                            ; preds = %17501, %17484
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %17519

17519:                                            ; preds = %17518
  br label %17520

17520:                                            ; preds = %17519
  call void @exit(i32 noundef 1) #12
  unreachable

17521:                                            ; No predecessors!
  br label %17522

17522:                                            ; preds = %17521
  br label %17523

17523:                                            ; preds = %17522, %17464
  br label %17524

17524:                                            ; preds = %17523
  br label %17525

17525:                                            ; preds = %17524
  br label %17526

17526:                                            ; preds = %17525
  %17527 = load i32, ptr @test_count, align 4, !tbaa !5
  %17528 = add nsw i32 %17527, 1
  store i32 %17528, ptr @test_count, align 4, !tbaa !5
  %17529 = call i32 (...) @s2n_disable_tls13_in_test()
  %17530 = icmp eq i32 %17529, -1
  br i1 %17530, label %17531, label %17584

17531:                                            ; preds = %17526
  br label %17532

17532:                                            ; preds = %17531
  br label %17533

17533:                                            ; preds = %17532
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #10
  %17534 = call ptr @__errno_location() #11
  %17535 = load i32, ptr %17534, align 4, !tbaa !5
  store i32 %17535, ptr %353, align 4, !tbaa !5
  %17536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17537 = call i32 @s2n_print_stacktrace(ptr noundef %17536)
  %17538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17539 = trunc i8 %17538 to i1
  br i1 %17539, label %17540, label %17562

17540:                                            ; preds = %17533
  %17541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17542 = call i32 @fileno(ptr noundef %17541) #10
  %17543 = call i32 @isatty(i32 noundef %17542) #10
  %17544 = icmp ne i32 %17543, 0
  br i1 %17544, label %17545, label %17562

17545:                                            ; preds = %17540
  %17546 = load i32, ptr %353, align 4, !tbaa !5
  %17547 = call ptr @__errno_location() #11
  store i32 %17546, ptr %17547, align 4, !tbaa !5
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = load i32, ptr @test_count, align 4, !tbaa !5
  %17550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17551 = load i32, ptr %17550, align 4, !tbaa !5
  %17552 = call ptr @s2n_strerror(i32 noundef %17551, ptr noundef @.str.4)
  %17553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17554 = load i32, ptr %17553, align 4, !tbaa !5
  %17555 = call ptr @s2n_strerror_debug(i32 noundef %17554, ptr noundef @.str.4)
  %17556 = call ptr @__errno_location() #11
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @strerror(i32 noundef %17557) #10
  %17559 = call ptr @__errno_location() #11
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17548, ptr noundef @.str.2, i32 noundef %17549, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 675, ptr noundef %17552, ptr noundef %17555, ptr noundef %17558, i32 noundef %17560) #10
  br label %17579

17562:                                            ; preds = %17540, %17533
  %17563 = load i32, ptr %353, align 4, !tbaa !5
  %17564 = call ptr @__errno_location() #11
  store i32 %17563, ptr %17564, align 4, !tbaa !5
  %17565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17566 = load i32, ptr @test_count, align 4, !tbaa !5
  %17567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17568 = load i32, ptr %17567, align 4, !tbaa !5
  %17569 = call ptr @s2n_strerror(i32 noundef %17568, ptr noundef @.str.4)
  %17570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17571 = load i32, ptr %17570, align 4, !tbaa !5
  %17572 = call ptr @s2n_strerror_debug(i32 noundef %17571, ptr noundef @.str.4)
  %17573 = call ptr @__errno_location() #11
  %17574 = load i32, ptr %17573, align 4, !tbaa !5
  %17575 = call ptr @strerror(i32 noundef %17574) #10
  %17576 = call ptr @__errno_location() #11
  %17577 = load i32, ptr %17576, align 4, !tbaa !5
  %17578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17565, ptr noundef @.str.5, i32 noundef %17566, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 675, ptr noundef %17569, ptr noundef %17572, ptr noundef %17575, i32 noundef %17577) #10
  br label %17579

17579:                                            ; preds = %17562, %17545
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #10
  br label %17580

17580:                                            ; preds = %17579
  br label %17581

17581:                                            ; preds = %17580
  call void @exit(i32 noundef 1) #12
  unreachable

17582:                                            ; No predecessors!
  br label %17583

17583:                                            ; preds = %17582
  br label %17584

17584:                                            ; preds = %17583, %17526
  br label %17585

17585:                                            ; preds = %17584
  br label %17586

17586:                                            ; preds = %17585
  call void @llvm.lifetime.end.p0(i64 88, ptr %289) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %286) #10
  br label %17587

17587:                                            ; preds = %17586
  %17588 = load i32, ptr @test_count, align 4, !tbaa !5
  %17589 = add nsw i32 %17588, 1
  store i32 %17589, ptr @test_count, align 4, !tbaa !5
  %17590 = load ptr, ptr %10, align 8, !tbaa !9
  %17591 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %17590)
  %17592 = icmp eq i32 %17591, -1
  br i1 %17592, label %17593, label %17646

17593:                                            ; preds = %17587
  br label %17594

17594:                                            ; preds = %17593
  br label %17595

17595:                                            ; preds = %17594
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #10
  %17596 = call ptr @__errno_location() #11
  %17597 = load i32, ptr %17596, align 4, !tbaa !5
  store i32 %17597, ptr %354, align 4, !tbaa !5
  %17598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17599 = call i32 @s2n_print_stacktrace(ptr noundef %17598)
  %17600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17601 = trunc i8 %17600 to i1
  br i1 %17601, label %17602, label %17624

17602:                                            ; preds = %17595
  %17603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17604 = call i32 @fileno(ptr noundef %17603) #10
  %17605 = call i32 @isatty(i32 noundef %17604) #10
  %17606 = icmp ne i32 %17605, 0
  br i1 %17606, label %17607, label %17624

17607:                                            ; preds = %17602
  %17608 = load i32, ptr %354, align 4, !tbaa !5
  %17609 = call ptr @__errno_location() #11
  store i32 %17608, ptr %17609, align 4, !tbaa !5
  %17610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17611 = load i32, ptr @test_count, align 4, !tbaa !5
  %17612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17613 = load i32, ptr %17612, align 4, !tbaa !5
  %17614 = call ptr @s2n_strerror(i32 noundef %17613, ptr noundef @.str.4)
  %17615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17616 = load i32, ptr %17615, align 4, !tbaa !5
  %17617 = call ptr @s2n_strerror_debug(i32 noundef %17616, ptr noundef @.str.4)
  %17618 = call ptr @__errno_location() #11
  %17619 = load i32, ptr %17618, align 4, !tbaa !5
  %17620 = call ptr @strerror(i32 noundef %17619) #10
  %17621 = call ptr @__errno_location() #11
  %17622 = load i32, ptr %17621, align 4, !tbaa !5
  %17623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17610, ptr noundef @.str.2, i32 noundef %17611, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 678, ptr noundef %17614, ptr noundef %17617, ptr noundef %17620, i32 noundef %17622) #10
  br label %17641

17624:                                            ; preds = %17602, %17595
  %17625 = load i32, ptr %354, align 4, !tbaa !5
  %17626 = call ptr @__errno_location() #11
  store i32 %17625, ptr %17626, align 4, !tbaa !5
  %17627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17628 = load i32, ptr @test_count, align 4, !tbaa !5
  %17629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17630 = load i32, ptr %17629, align 4, !tbaa !5
  %17631 = call ptr @s2n_strerror(i32 noundef %17630, ptr noundef @.str.4)
  %17632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17633 = load i32, ptr %17632, align 4, !tbaa !5
  %17634 = call ptr @s2n_strerror_debug(i32 noundef %17633, ptr noundef @.str.4)
  %17635 = call ptr @__errno_location() #11
  %17636 = load i32, ptr %17635, align 4, !tbaa !5
  %17637 = call ptr @strerror(i32 noundef %17636) #10
  %17638 = call ptr @__errno_location() #11
  %17639 = load i32, ptr %17638, align 4, !tbaa !5
  %17640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17627, ptr noundef @.str.5, i32 noundef %17628, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 678, ptr noundef %17631, ptr noundef %17634, ptr noundef %17637, i32 noundef %17639) #10
  br label %17641

17641:                                            ; preds = %17624, %17607
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #10
  br label %17642

17642:                                            ; preds = %17641
  br label %17643

17643:                                            ; preds = %17642
  call void @exit(i32 noundef 1) #12
  unreachable

17644:                                            ; No predecessors!
  br label %17645

17645:                                            ; preds = %17644
  br label %17646

17646:                                            ; preds = %17645, %17587
  br label %17647

17647:                                            ; preds = %17646
  br label %17648

17648:                                            ; preds = %17647
  br label %17649

17649:                                            ; preds = %17648
  br label %17650

17650:                                            ; preds = %17649
  %17651 = call i32 @s2n_cleanup()
  %17652 = icmp eq i32 %17651, -1
  br i1 %17652, label %17653, label %17706

17653:                                            ; preds = %17650
  br label %17654

17654:                                            ; preds = %17653
  br label %17655

17655:                                            ; preds = %17654
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %17656 = call ptr @__errno_location() #11
  %17657 = load i32, ptr %17656, align 4, !tbaa !5
  store i32 %17657, ptr %355, align 4, !tbaa !5
  %17658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17659 = call i32 @s2n_print_stacktrace(ptr noundef %17658)
  %17660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17661 = trunc i8 %17660 to i1
  br i1 %17661, label %17662, label %17684

17662:                                            ; preds = %17655
  %17663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17664 = call i32 @fileno(ptr noundef %17663) #10
  %17665 = call i32 @isatty(i32 noundef %17664) #10
  %17666 = icmp ne i32 %17665, 0
  br i1 %17666, label %17667, label %17684

17667:                                            ; preds = %17662
  %17668 = load i32, ptr %355, align 4, !tbaa !5
  %17669 = call ptr @__errno_location() #11
  store i32 %17668, ptr %17669, align 4, !tbaa !5
  %17670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17671 = load i32, ptr @test_count, align 4, !tbaa !5
  %17672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17673 = load i32, ptr %17672, align 4, !tbaa !5
  %17674 = call ptr @s2n_strerror(i32 noundef %17673, ptr noundef @.str.4)
  %17675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17676 = load i32, ptr %17675, align 4, !tbaa !5
  %17677 = call ptr @s2n_strerror_debug(i32 noundef %17676, ptr noundef @.str.4)
  %17678 = call ptr @__errno_location() #11
  %17679 = load i32, ptr %17678, align 4, !tbaa !5
  %17680 = call ptr @strerror(i32 noundef %17679) #10
  %17681 = call ptr @__errno_location() #11
  %17682 = load i32, ptr %17681, align 4, !tbaa !5
  %17683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17670, ptr noundef @.str.2, i32 noundef %17671, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 680, ptr noundef %17674, ptr noundef %17677, ptr noundef %17680, i32 noundef %17682) #10
  br label %17701

17684:                                            ; preds = %17662, %17655
  %17685 = load i32, ptr %355, align 4, !tbaa !5
  %17686 = call ptr @__errno_location() #11
  store i32 %17685, ptr %17686, align 4, !tbaa !5
  %17687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17688 = load i32, ptr @test_count, align 4, !tbaa !5
  %17689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17690 = load i32, ptr %17689, align 4, !tbaa !5
  %17691 = call ptr @s2n_strerror(i32 noundef %17690, ptr noundef @.str.4)
  %17692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17693 = load i32, ptr %17692, align 4, !tbaa !5
  %17694 = call ptr @s2n_strerror_debug(i32 noundef %17693, ptr noundef @.str.4)
  %17695 = call ptr @__errno_location() #11
  %17696 = load i32, ptr %17695, align 4, !tbaa !5
  %17697 = call ptr @strerror(i32 noundef %17696) #10
  %17698 = call ptr @__errno_location() #11
  %17699 = load i32, ptr %17698, align 4, !tbaa !5
  %17700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17687, ptr noundef @.str.5, i32 noundef %17688, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 680, ptr noundef %17691, ptr noundef %17694, ptr noundef %17697, i32 noundef %17699) #10
  br label %17701

17701:                                            ; preds = %17684, %17667
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %17702

17702:                                            ; preds = %17701
  br label %17703

17703:                                            ; preds = %17702
  call void @exit(i32 noundef 1) #12
  unreachable

17704:                                            ; No predecessors!
  br label %17705

17705:                                            ; preds = %17704
  br label %17706

17706:                                            ; preds = %17705, %17650
  br label %17707

17707:                                            ; preds = %17706
  br label %17708

17708:                                            ; preds = %17707
  br label %17709

17709:                                            ; preds = %17708
  br label %17710

17710:                                            ; preds = %17709
  %17711 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %17712 = icmp eq i32 %17711, -1
  br i1 %17712, label %17713, label %17766

17713:                                            ; preds = %17710
  br label %17714

17714:                                            ; preds = %17713
  br label %17715

17715:                                            ; preds = %17714
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  %17716 = call ptr @__errno_location() #11
  %17717 = load i32, ptr %17716, align 4, !tbaa !5
  store i32 %17717, ptr %356, align 4, !tbaa !5
  %17718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17719 = call i32 @s2n_print_stacktrace(ptr noundef %17718)
  %17720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17721 = trunc i8 %17720 to i1
  br i1 %17721, label %17722, label %17744

17722:                                            ; preds = %17715
  %17723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17724 = call i32 @fileno(ptr noundef %17723) #10
  %17725 = call i32 @isatty(i32 noundef %17724) #10
  %17726 = icmp ne i32 %17725, 0
  br i1 %17726, label %17727, label %17744

17727:                                            ; preds = %17722
  %17728 = load i32, ptr %356, align 4, !tbaa !5
  %17729 = call ptr @__errno_location() #11
  store i32 %17728, ptr %17729, align 4, !tbaa !5
  %17730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17731 = load i32, ptr @test_count, align 4, !tbaa !5
  %17732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17733 = load i32, ptr %17732, align 4, !tbaa !5
  %17734 = call ptr @s2n_strerror(i32 noundef %17733, ptr noundef @.str.4)
  %17735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17736 = load i32, ptr %17735, align 4, !tbaa !5
  %17737 = call ptr @s2n_strerror_debug(i32 noundef %17736, ptr noundef @.str.4)
  %17738 = call ptr @__errno_location() #11
  %17739 = load i32, ptr %17738, align 4, !tbaa !5
  %17740 = call ptr @strerror(i32 noundef %17739) #10
  %17741 = call ptr @__errno_location() #11
  %17742 = load i32, ptr %17741, align 4, !tbaa !5
  %17743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17730, ptr noundef @.str.2, i32 noundef %17731, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 680, ptr noundef %17734, ptr noundef %17737, ptr noundef %17740, i32 noundef %17742) #10
  br label %17761

17744:                                            ; preds = %17722, %17715
  %17745 = load i32, ptr %356, align 4, !tbaa !5
  %17746 = call ptr @__errno_location() #11
  store i32 %17745, ptr %17746, align 4, !tbaa !5
  %17747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17748 = load i32, ptr @test_count, align 4, !tbaa !5
  %17749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17750 = load i32, ptr %17749, align 4, !tbaa !5
  %17751 = call ptr @s2n_strerror(i32 noundef %17750, ptr noundef @.str.4)
  %17752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17753 = load i32, ptr %17752, align 4, !tbaa !5
  %17754 = call ptr @s2n_strerror_debug(i32 noundef %17753, ptr noundef @.str.4)
  %17755 = call ptr @__errno_location() #11
  %17756 = load i32, ptr %17755, align 4, !tbaa !5
  %17757 = call ptr @strerror(i32 noundef %17756) #10
  %17758 = call ptr @__errno_location() #11
  %17759 = load i32, ptr %17758, align 4, !tbaa !5
  %17760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17747, ptr noundef @.str.5, i32 noundef %17748, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 680, ptr noundef %17751, ptr noundef %17754, ptr noundef %17757, i32 noundef %17759) #10
  br label %17761

17761:                                            ; preds = %17744, %17727
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  br label %17762

17762:                                            ; preds = %17761
  br label %17763

17763:                                            ; preds = %17762
  call void @exit(i32 noundef 1) #12
  unreachable

17764:                                            ; No predecessors!
  br label %17765

17765:                                            ; preds = %17764
  br label %17766

17766:                                            ; preds = %17765, %17710
  br label %17767

17767:                                            ; preds = %17766
  br label %17768

17768:                                            ; preds = %17767
  %17769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17770 = trunc i8 %17769 to i1
  br i1 %17770, label %17771, label %17787

17771:                                            ; preds = %17768
  %17772 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17773 = call i32 @fileno(ptr noundef %17772) #10
  %17774 = call i32 @isatty(i32 noundef %17773) #10
  %17775 = icmp ne i32 %17774, 0
  br i1 %17775, label %17776, label %17787

17776:                                            ; preds = %17771
  %17777 = load i32, ptr @test_count, align 4, !tbaa !5
  %17778 = icmp ne i32 %17777, 0
  br i1 %17778, label %17779, label %17783

17779:                                            ; preds = %17776
  %17780 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17781 = load i32, ptr @test_count, align 4, !tbaa !5
  %17782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17780, ptr noundef @.str.99, i32 noundef %17781) #10
  br label %17786

17783:                                            ; preds = %17776
  %17784 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17784, ptr noundef @.str.100) #10
  br label %17786

17786:                                            ; preds = %17783, %17779
  br label %17798

17787:                                            ; preds = %17771, %17768
  %17788 = load i32, ptr @test_count, align 4, !tbaa !5
  %17789 = icmp ne i32 %17788, 0
  br i1 %17789, label %17790, label %17794

17790:                                            ; preds = %17787
  %17791 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17792 = load i32, ptr @test_count, align 4, !tbaa !5
  %17793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17791, ptr noundef @.str.101, i32 noundef %17792) #10
  br label %17797

17794:                                            ; preds = %17787
  %17795 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17795, ptr noundef @.str.102) #10
  br label %17797

17797:                                            ; preds = %17794, %17790
  br label %17798

17798:                                            ; preds = %17797, %17786
  store i32 0, ptr %3, align 4
  store i32 1, ptr %334, align 4
  br label %17803

17799:                                            ; No predecessors!
  br label %17800

17800:                                            ; preds = %17799
  br label %17801

17801:                                            ; preds = %17800
  br label %17802

17802:                                            ; preds = %17801
  store i32 0, ptr %334, align 4
  br label %17803

17803:                                            ; preds = %17802, %17798
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  %17804 = load i32, ptr %334, align 4
  switch i32 %17804, label %17807 [
    i32 0, label %17805
    i32 1, label %17805
  ]

17805:                                            ; preds = %17803, %17803
  %17806 = load i32, ptr %3, align 4
  ret i32 %17806

17807:                                            ; preds = %17803
  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

declare i32 @s2n_disable_tls13_in_test(...) #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #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_server_extensions_send(ptr noundef, ptr noundef) #2

declare i32 @s2n_server_extensions_recv(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) #2

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

declare i32 @s2n_enable_tls13_in_test(...) #2

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

; Function Attrs: nounwind
declare ptr @strcpy(ptr noundef, ptr noundef) #1

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #7

; 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_blob_init(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_allow_response_extension(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_connection_get_ecc_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_extensions_server_key_share_send_size(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef) #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_set_cipher_as_tls_server(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_connection_allow_all_response_extensions(ptr noundef) #2

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

declare i32 @s2n_conn_choose_state_machine(ptr noundef, i8 noundef zeroext) #2

declare i32 @s2n_set_connection_hello_retry_flags(ptr noundef) #2

declare i32 @s2n_extension_list_parse(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_reserve_uint16(ptr noundef, ptr noundef) #2

declare i32 @s2n_extension_send(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) #2

declare i32 @s2n_connection_mark_extension_received(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_array_pushback(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_reread(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_free(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 = { 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 #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { 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 #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 28}
!16 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !6, i64 24}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !7, i64 2232}
!21 = !{!"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, !22, i64 160, !23, i64 168, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !30, i64 1144, !33, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !16, i64 1776, !16, i64 1816, !16, i64 1856, !16, i64 1896, !6, i64 1936, !23, i64 1944, !7, i64 1952, !16, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !36, i64 2004, !36, i64 2008, !37, i64 2016, !35, i64 2208, !6, i64 2212, !35, i64 2216, !23, i64 2224, !7, i64 2232, !23, i64 2240, !23, i64 2248, !23, i64 2256, !36, i64 2264, !36, 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, !39, i64 2896, !41, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !43, i64 3816, !7, i64 3848, !16, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !35, i64 4084, !35, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !44, i64 4128, !36, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !17, i64 448, !17, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!30 = !{!"s2n_handshake_parameters", !31, i64 0, !31, i64 48, !17, i64 96, !6, i64 120, !32, 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}
!31 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!32 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!33 = !{!"s2n_psk_parameters", !6, i64 0, !34, i64 8, !35, i64 40, !35, i64 42, !10, i64 48, !6, i64 56}
!34 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!35 = !{!"short", !7, i64 0}
!36 = !{!"", !6, i64 0}
!37 = !{!"s2n_handshake", !16, 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, !38, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!38 = !{!"s2n_offered_early_data", !10, i64 0}
!39 = !{!"s2n_client_hello", !17, i64 0, !40, 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}
!40 = !{!"", !7, i64 0, !17, i64 672, !35, i64 696}
!41 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !35, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !42, i64 48, !12, i64 52}
!42 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!43 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!44 = !{!"s2n_post_handshake", !16, i64 0, !7, i64 40}
!45 = !{!21, !6, i64 2816}
!46 = !{!21, !10, i64 1544}
!47 = !{!21, !6, i64 2784}
!48 = !{!21, !10, i64 8}
!49 = !{!21, !6, i64 3780}
!50 = !{!51, !35, i64 0}
!51 = !{!"", !35, i64 0, !6, i64 2, !35, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!52 = !{!53, !10, i64 8}
!53 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!54 = !{!21, !10, i64 656}
!55 = !{!21, !7, i64 220}
!56 = !{!21, !10, i64 704}
!57 = !{!58, !10, i64 8}
!58 = !{!"s2n_cipher_preferences", !35, i64 0, !10, i64 8, !12, i64 16}
!59 = !{!58, !35, i64 0}
!60 = !{!21, !7, i64 218}
!61 = !{!23, !23, i64 0}
!62 = !{!21, !10, i64 1736}
!63 = !{!51, !10, i64 24}
!64 = !{!21, !10, i64 232}
!65 = !{!66, !10, i64 0}
!66 = !{!"s2n_crypto_parameters", !10, i64 0, !67, i64 8, !67, i64 16, !68, i64 24, !68, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!67 = !{!"s2n_session_key", !10, i64 0}
!68 = !{!"s2n_hmac_state", !6, i64 0, !35, i64 4, !6, i64 8, !35, i64 12, !7, i64 14, !69, i64 16, !69, i64 72, !69, i64 128, !69, i64 184, !7, i64 240, !7, i64 368}
!69 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !23, i64 16, !7, i64 24}
!70 = !{!71, !35, i64 24}
!71 = !{!"", !17, i64 0, !35, i64 24, !35, i64 26, !6, i64 28}
!72 = distinct !{!72, !73}
!73 = !{!"llvm.loop.mustprogress"}
!74 = !{!21, !7, i64 219}
!75 = !{!21, !35, i64 1730}
!76 = distinct !{!76, !73}
!77 = distinct !{!77, !73}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_cipher_preferences = type { i16, ptr, i8 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_ecc_named_curve = type { i16, i32, ptr, i8, ptr }
%struct.s2n_cert_chain_and_key = type { ptr, ptr, %struct.s2n_blob, %struct.s2n_blob, ptr, ptr, ptr }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%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_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 [85 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
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@main.sct_list = external hidden global [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [87 x i8], align 1
@main.fake_ocsp = external hidden global [3 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [106 x i8], align 1
@s2n_server_key_share_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.39 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [94 x i8], align 1
@cipher_preferences_20170210 = external local_unnamed_addr constant %struct.s2n_cipher_preferences, align 8
@.str.51 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [108 x i8], align 1
@s2n_server_psk_extension = external constant %struct.s2n_extension_type, align 8
@.str.54 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [56 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@s2n_ecc_curve_secp256r1 = external constant %struct.s2n_ecc_named_curve, align 8
@.str.59 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.65 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [86 x i8], align 1
@main.fake_ocsp.73 = external hidden global [3 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [87 x i8], align 1
@s2n_cert_status_response_extension = external constant %struct.s2n_extension_type, align 8
@.str.77 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_server_supported_versions_extension = external constant %struct.s2n_extension_type, align 8
@.str.84 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca i8, align 1
  %5 = alloca i8, align 1
  %6 = alloca i8, align 1
  %7 = alloca i8, align 1
  %8 = alloca %struct.s2n_cert_chain_and_key, align 8
  %9 = alloca i8, align 1
  %10 = alloca %struct.s2n_cert_chain_and_key, align 8
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca i8, align 1
  %15 = alloca ptr, align 8
  %16 = alloca [8 x i8], align 4
  %17 = alloca ptr, align 8
  %18 = alloca i8, align 1
  %19 = alloca %struct.s2n_psk, align 8
  %20 = alloca %struct.s2n_parsed_extensions_list, align 8
  %21 = alloca %struct.s2n_stuffer, align 8
  %22 = alloca %struct.s2n_cert_chain_and_key, align 8
  %23 = alloca %struct.s2n_stuffer, align 8
  %24 = alloca %struct.s2n_stuffer_reservation, align 8
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca %struct.s2n_stuffer_reservation, align 8
  %27 = alloca %struct.s2n_psk, align 8
  %28 = alloca %struct.s2n_stuffer, align 8
  %29 = alloca %struct.s2n_stuffer_reservation, align 8
  %30 = alloca ptr, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %31 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %33 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34 = tail call i32 @fflush(ptr noundef %33)
  %35 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %36 = icmp eq i32 %35, -1
  br i1 %36, label %37, label %61

37:                                               ; preds = %2
  %38 = tail call ptr @__errno_location() #13
  %39 = load i32, ptr %38, align 4, !tbaa !5
  %40 = load ptr, ptr @stderr, align 8, !tbaa !9
  %41 = tail call i32 @s2n_print_stacktrace(ptr noundef %40) #12
  %42 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %43 = trunc nuw i8 %42 to i1
  br i1 %43, label %44, label %48

44:                                               ; preds = %37
  %45 = load ptr, ptr @stderr, align 8, !tbaa !9
  %46 = tail call i32 @fileno(ptr noundef %45) #12
  %47 = tail call i32 @isatty(i32 noundef %46) #12
  %.not1203 = icmp eq i32 %47, 0
  br i1 %.not1203, label %48, label %49

48:                                               ; preds = %44, %37
  br label %49

49:                                               ; preds = %44, %48
  %.str.5.sink = phi ptr [ @.str.5, %48 ], [ @.str.2, %44 ]
  store i32 %39, ptr %38, align 4, !tbaa !5
  %50 = load ptr, ptr @stderr, align 8, !tbaa !9
  %51 = load i32, ptr @test_count, align 4, !tbaa !5
  %52 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %53 = load i32, ptr %52, align 4, !tbaa !5
  %54 = tail call ptr @s2n_strerror(i32 noundef %53, ptr noundef nonnull @.str.4) #12
  %55 = load i32, ptr %52, align 4, !tbaa !5
  %56 = tail call ptr @s2n_strerror_debug(i32 noundef %55, ptr noundef nonnull @.str.4) #12
  %57 = load i32, ptr %38, align 4, !tbaa !5
  %58 = tail call ptr @strerror(i32 noundef %57) #12
  %59 = load i32, ptr %38, align 4, !tbaa !5
  %60 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %50, ptr noundef nonnull %.str.5.sink, i32 noundef %51, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %54, ptr noundef %56, ptr noundef %58, i32 noundef %59) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

61:                                               ; preds = %2
  %62 = load i32, ptr @test_count, align 4, !tbaa !5
  %63 = add nsw i32 %62, 1
  store i32 %63, ptr @test_count, align 4, !tbaa !5
  %64 = tail call i32 @s2n_enable_atexit() #12
  %65 = icmp eq i32 %64, -1
  br i1 %65, label %66, label %90

66:                                               ; preds = %61
  %67 = tail call ptr @__errno_location() #13
  %68 = load i32, ptr %67, align 4, !tbaa !5
  %69 = load ptr, ptr @stderr, align 8, !tbaa !9
  %70 = tail call i32 @s2n_print_stacktrace(ptr noundef %69) #12
  %71 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %72 = trunc nuw i8 %71 to i1
  br i1 %72, label %73, label %77

73:                                               ; preds = %66
  %74 = load ptr, ptr @stderr, align 8, !tbaa !9
  %75 = tail call i32 @fileno(ptr noundef %74) #12
  %76 = tail call i32 @isatty(i32 noundef %75) #12
  %.not1202 = icmp eq i32 %76, 0
  br i1 %.not1202, label %77, label %78

77:                                               ; preds = %73, %66
  br label %78

78:                                               ; preds = %73, %77
  %.str.5.sink1245 = phi ptr [ @.str.5, %77 ], [ @.str.2, %73 ]
  store i32 %68, ptr %67, align 4, !tbaa !5
  %79 = load ptr, ptr @stderr, align 8, !tbaa !9
  %80 = load i32, ptr @test_count, align 4, !tbaa !5
  %81 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %82 = load i32, ptr %81, align 4, !tbaa !5
  %83 = tail call ptr @s2n_strerror(i32 noundef %82, ptr noundef nonnull @.str.4) #12
  %84 = load i32, ptr %81, align 4, !tbaa !5
  %85 = tail call ptr @s2n_strerror_debug(i32 noundef %84, ptr noundef nonnull @.str.4) #12
  %86 = load i32, ptr %67, align 4, !tbaa !5
  %87 = tail call ptr @strerror(i32 noundef %86) #12
  %88 = load i32, ptr %67, align 4, !tbaa !5
  %89 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %79, ptr noundef nonnull %.str.5.sink1245, i32 noundef %80, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %83, ptr noundef %85, ptr noundef %87, i32 noundef %88) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

90:                                               ; preds = %61
  %91 = tail call i32 @s2n_init() #12
  %92 = icmp eq i32 %91, -1
  br i1 %92, label %93, label %117

93:                                               ; preds = %90
  %94 = tail call ptr @__errno_location() #13
  %95 = load i32, ptr %94, align 4, !tbaa !5
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = tail call i32 @s2n_print_stacktrace(ptr noundef %96) #12
  %98 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %99 = trunc nuw i8 %98 to i1
  br i1 %99, label %100, label %104

100:                                              ; preds = %93
  %101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %102 = tail call i32 @fileno(ptr noundef %101) #12
  %103 = tail call i32 @isatty(i32 noundef %102) #12
  %.not1201 = icmp eq i32 %103, 0
  br i1 %.not1201, label %104, label %105

104:                                              ; preds = %100, %93
  br label %105

105:                                              ; preds = %100, %104
  %.str.5.sink1256 = phi ptr [ @.str.5, %104 ], [ @.str.2, %100 ]
  store i32 %95, ptr %94, align 4, !tbaa !5
  %106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %107 = load i32, ptr @test_count, align 4, !tbaa !5
  %108 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %109 = load i32, ptr %108, align 4, !tbaa !5
  %110 = tail call ptr @s2n_strerror(i32 noundef %109, ptr noundef nonnull @.str.4) #12
  %111 = load i32, ptr %108, align 4, !tbaa !5
  %112 = tail call ptr @s2n_strerror_debug(i32 noundef %111, ptr noundef nonnull @.str.4) #12
  %113 = load i32, ptr %94, align 4, !tbaa !5
  %114 = tail call ptr @strerror(i32 noundef %113) #12
  %115 = load i32, ptr %94, align 4, !tbaa !5
  %116 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %106, ptr noundef nonnull %.str.5.sink1256, i32 noundef %107, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %110, ptr noundef %112, ptr noundef %114, i32 noundef %115) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

117:                                              ; preds = %90
  %118 = load i32, ptr @test_count, align 4, !tbaa !5
  %119 = add nsw i32 %118, 1
  store i32 %119, ptr @test_count, align 4, !tbaa !5
  %120 = tail call i32 (...) @s2n_disable_tls13_in_test() #12
  %121 = icmp eq i32 %120, -1
  br i1 %121, label %122, label %146

122:                                              ; preds = %117
  %123 = tail call ptr @__errno_location() #13
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = tail call i32 @s2n_print_stacktrace(ptr noundef %125) #12
  %127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %133

129:                                              ; preds = %122
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = tail call i32 @fileno(ptr noundef %130) #12
  %132 = tail call i32 @isatty(i32 noundef %131) #12
  %.not1200 = icmp eq i32 %132, 0
  br i1 %.not1200, label %133, label %134

133:                                              ; preds = %129, %122
  br label %134

134:                                              ; preds = %129, %133
  %.str.5.sink1267 = phi ptr [ @.str.5, %133 ], [ @.str.2, %129 ]
  store i32 %124, ptr %123, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = tail call ptr @s2n_strerror(i32 noundef %138, ptr noundef nonnull @.str.4) #12
  %140 = load i32, ptr %137, align 4, !tbaa !5
  %141 = tail call ptr @s2n_strerror_debug(i32 noundef %140, ptr noundef nonnull @.str.4) #12
  %142 = load i32, ptr %123, align 4, !tbaa !5
  %143 = tail call ptr @strerror(i32 noundef %142) #12
  %144 = load i32, ptr %123, align 4, !tbaa !5
  %145 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef nonnull %.str.5.sink1267, i32 noundef %136, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %139, ptr noundef %141, ptr noundef %143, i32 noundef %144) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

146:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = add nsw i32 %147, 1
  store i32 %148, ptr @test_count, align 4, !tbaa !5
  %149 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10) #12
  %150 = icmp eq i32 %149, -1
  br i1 %150, label %151, label %175

151:                                              ; preds = %146
  %152 = tail call ptr @__errno_location() #13
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = call i32 @s2n_print_stacktrace(ptr noundef %154) #12
  %156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %158, label %162

158:                                              ; preds = %151
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = call i32 @fileno(ptr noundef %159) #12
  %161 = call i32 @isatty(i32 noundef %160) #12
  %.not1199 = icmp eq i32 %161, 0
  br i1 %.not1199, label %162, label %163

162:                                              ; preds = %158, %151
  br label %163

163:                                              ; preds = %158, %162
  %.str.5.sink1278 = phi ptr [ @.str.5, %162 ], [ @.str.2, %158 ]
  store i32 %153, ptr %152, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = call ptr @s2n_strerror(i32 noundef %167, ptr noundef nonnull @.str.4) #12
  %169 = load i32, ptr %166, align 4, !tbaa !5
  %170 = call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef nonnull @.str.4) #12
  %171 = load i32, ptr %152, align 4, !tbaa !5
  %172 = call ptr @strerror(i32 noundef %171) #12
  %173 = load i32, ptr %152, align 4, !tbaa !5
  %174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %164, ptr noundef nonnull %.str.5.sink1278, i32 noundef %165, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %168, ptr noundef %170, ptr noundef %172, i32 noundef %173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

175:                                              ; preds = %146
  %176 = load i32, ptr @test_count, align 4, !tbaa !5
  %177 = add nsw i32 %176, 1
  store i32 %177, ptr @test_count, align 4, !tbaa !5
  %178 = call ptr @s2n_config_new() #12
  %179 = icmp eq ptr %178, null
  br i1 %179, label %180, label %204

180:                                              ; preds = %175
  %181 = tail call ptr @__errno_location() #13
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = call i32 @s2n_print_stacktrace(ptr noundef %183) #12
  %185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %186 = trunc nuw i8 %185 to i1
  br i1 %186, label %187, label %191

187:                                              ; preds = %180
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = call i32 @fileno(ptr noundef %188) #12
  %190 = call i32 @isatty(i32 noundef %189) #12
  %.not1198 = icmp eq i32 %190, 0
  br i1 %.not1198, label %191, label %192

191:                                              ; preds = %187, %180
  br label %192

192:                                              ; preds = %187, %191
  %.str.5.sink1289 = phi ptr [ @.str.5, %191 ], [ @.str.2, %187 ]
  store i32 %182, ptr %181, align 4, !tbaa !5
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = load i32, ptr @test_count, align 4, !tbaa !5
  %195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = call ptr @s2n_strerror(i32 noundef %196, ptr noundef nonnull @.str.4) #12
  %198 = load i32, ptr %195, align 4, !tbaa !5
  %199 = call ptr @s2n_strerror_debug(i32 noundef %198, ptr noundef nonnull @.str.4) #12
  %200 = load i32, ptr %181, align 4, !tbaa !5
  %201 = call ptr @strerror(i32 noundef %200) #12
  %202 = load i32, ptr %181, align 4, !tbaa !5
  %203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %193, ptr noundef nonnull %.str.5.sink1289, i32 noundef %194, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %197, ptr noundef %199, ptr noundef %201, i32 noundef %202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

204:                                              ; preds = %175
  %205 = load i32, ptr @test_count, align 4, !tbaa !5
  %206 = add nsw i32 %205, 1
  store i32 %206, ptr @test_count, align 4, !tbaa !5
  %207 = load ptr, ptr %3, align 8, !tbaa !9
  %208 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %178, ptr noundef %207) #12
  %209 = icmp eq i32 %208, -1
  br i1 %209, label %210, label %234

210:                                              ; preds = %204
  %211 = tail call ptr @__errno_location() #13
  %212 = load i32, ptr %211, align 4, !tbaa !5
  %213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %214 = call i32 @s2n_print_stacktrace(ptr noundef %213) #12
  %215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %216 = trunc nuw i8 %215 to i1
  br i1 %216, label %217, label %221

217:                                              ; preds = %210
  %218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %219 = call i32 @fileno(ptr noundef %218) #12
  %220 = call i32 @isatty(i32 noundef %219) #12
  %.not1197 = icmp eq i32 %220, 0
  br i1 %.not1197, label %221, label %222

221:                                              ; preds = %217, %210
  br label %222

222:                                              ; preds = %217, %221
  %.str.5.sink1300 = phi ptr [ @.str.5, %221 ], [ @.str.2, %217 ]
  store i32 %212, ptr %211, align 4, !tbaa !5
  %223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %224 = load i32, ptr @test_count, align 4, !tbaa !5
  %225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %226 = load i32, ptr %225, align 4, !tbaa !5
  %227 = call ptr @s2n_strerror(i32 noundef %226, ptr noundef nonnull @.str.4) #12
  %228 = load i32, ptr %225, align 4, !tbaa !5
  %229 = call ptr @s2n_strerror_debug(i32 noundef %228, ptr noundef nonnull @.str.4) #12
  %230 = load i32, ptr %211, align 4, !tbaa !5
  %231 = call ptr @strerror(i32 noundef %230) #12
  %232 = load i32, ptr %211, align 4, !tbaa !5
  %233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %223, ptr noundef nonnull %.str.5.sink1300, i32 noundef %224, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %227, ptr noundef %229, ptr noundef %231, i32 noundef %232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

234:                                              ; preds = %204
  %235 = load i32, ptr @test_count, align 4, !tbaa !5
  %236 = add nsw i32 %235, 1
  store i32 %236, ptr @test_count, align 4, !tbaa !5
  %237 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %238 = icmp eq ptr %237, null
  br i1 %238, label %239, label %263

239:                                              ; preds = %234
  %240 = tail call ptr @__errno_location() #13
  %241 = load i32, ptr %240, align 4, !tbaa !5
  %242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %243 = call i32 @s2n_print_stacktrace(ptr noundef %242) #12
  %244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %245 = trunc nuw i8 %244 to i1
  br i1 %245, label %246, label %250

246:                                              ; preds = %239
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = call i32 @fileno(ptr noundef %247) #12
  %249 = call i32 @isatty(i32 noundef %248) #12
  %.not1196 = icmp eq i32 %249, 0
  br i1 %.not1196, label %250, label %251

250:                                              ; preds = %246, %239
  br label %251

251:                                              ; preds = %246, %250
  %.str.5.sink1311 = phi ptr [ @.str.5, %250 ], [ @.str.2, %246 ]
  store i32 %241, ptr %240, align 4, !tbaa !5
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = load i32, ptr @test_count, align 4, !tbaa !5
  %254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %255 = load i32, ptr %254, align 4, !tbaa !5
  %256 = call ptr @s2n_strerror(i32 noundef %255, ptr noundef nonnull @.str.4) #12
  %257 = load i32, ptr %254, align 4, !tbaa !5
  %258 = call ptr @s2n_strerror_debug(i32 noundef %257, ptr noundef nonnull @.str.4) #12
  %259 = load i32, ptr %240, align 4, !tbaa !5
  %260 = call ptr @strerror(i32 noundef %259) #12
  %261 = load i32, ptr %240, align 4, !tbaa !5
  %262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %252, ptr noundef nonnull %.str.5.sink1311, i32 noundef %253, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %256, ptr noundef %258, ptr noundef %260, i32 noundef %261) #14
  call void @exit(i32 noundef 1) #15
  unreachable

263:                                              ; preds = %234
  %264 = load i32, ptr @test_count, align 4, !tbaa !5
  %265 = add nsw i32 %264, 1
  store i32 %265, ptr @test_count, align 4, !tbaa !5
  %266 = call i32 @s2n_connection_set_config(ptr noundef nonnull %237, ptr noundef nonnull %178) #12
  %267 = icmp eq i32 %266, -1
  br i1 %267, label %268, label %292

268:                                              ; preds = %263
  %269 = tail call ptr @__errno_location() #13
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %272 = call i32 @s2n_print_stacktrace(ptr noundef %271) #12
  %273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %274 = trunc nuw i8 %273 to i1
  br i1 %274, label %275, label %279

275:                                              ; preds = %268
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = call i32 @fileno(ptr noundef %276) #12
  %278 = call i32 @isatty(i32 noundef %277) #12
  %.not1195 = icmp eq i32 %278, 0
  br i1 %.not1195, label %279, label %280

279:                                              ; preds = %275, %268
  br label %280

280:                                              ; preds = %275, %279
  %.str.5.sink1322 = phi ptr [ @.str.5, %279 ], [ @.str.2, %275 ]
  store i32 %270, ptr %269, align 4, !tbaa !5
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = call ptr @s2n_strerror(i32 noundef %284, ptr noundef nonnull @.str.4) #12
  %286 = load i32, ptr %283, align 4, !tbaa !5
  %287 = call ptr @s2n_strerror_debug(i32 noundef %286, ptr noundef nonnull @.str.4) #12
  %288 = load i32, ptr %269, align 4, !tbaa !5
  %289 = call ptr @strerror(i32 noundef %288) #12
  %290 = load i32, ptr %269, align 4, !tbaa !5
  %291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %281, ptr noundef nonnull %.str.5.sink1322, i32 noundef %282, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %285, ptr noundef %287, ptr noundef %289, i32 noundef %290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

292:                                              ; preds = %263
  %293 = getelementptr inbounds i8, ptr %237, i64 2016
  %294 = load i32, ptr @test_count, align 4, !tbaa !5
  %295 = add nsw i32 %294, 1
  store i32 %295, ptr @test_count, align 4, !tbaa !5
  %296 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %237, ptr noundef nonnull %293) #12
  %297 = icmp eq i32 %296, -1
  br i1 %297, label %298, label %322

298:                                              ; preds = %292
  %299 = tail call ptr @__errno_location() #13
  %300 = load i32, ptr %299, align 4, !tbaa !5
  %301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %302 = call i32 @s2n_print_stacktrace(ptr noundef %301) #12
  %303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %304 = trunc nuw i8 %303 to i1
  br i1 %304, label %305, label %309

305:                                              ; preds = %298
  %306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %307 = call i32 @fileno(ptr noundef %306) #12
  %308 = call i32 @isatty(i32 noundef %307) #12
  %.not1194 = icmp eq i32 %308, 0
  br i1 %.not1194, label %309, label %310

309:                                              ; preds = %305, %298
  br label %310

310:                                              ; preds = %305, %309
  %.str.5.sink1333 = phi ptr [ @.str.5, %309 ], [ @.str.2, %305 ]
  store i32 %300, ptr %299, align 4, !tbaa !5
  %311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %312 = load i32, ptr @test_count, align 4, !tbaa !5
  %313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %314 = load i32, ptr %313, align 4, !tbaa !5
  %315 = call ptr @s2n_strerror(i32 noundef %314, ptr noundef nonnull @.str.4) #12
  %316 = load i32, ptr %313, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror_debug(i32 noundef %316, ptr noundef nonnull @.str.4) #12
  %318 = load i32, ptr %299, align 4, !tbaa !5
  %319 = call ptr @strerror(i32 noundef %318) #12
  %320 = load i32, ptr %299, align 4, !tbaa !5
  %321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %311, ptr noundef nonnull %.str.5.sink1333, i32 noundef %312, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %315, ptr noundef %317, ptr noundef %319, i32 noundef %320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

322:                                              ; preds = %292
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = add nsw i32 %323, 1
  store i32 %324, ptr @test_count, align 4, !tbaa !5
  %325 = getelementptr inbounds i8, ptr %237, i64 2044
  %326 = load i32, ptr %325, align 4, !tbaa !15
  %327 = getelementptr inbounds i8, ptr %237, i64 2040
  %328 = load i32, ptr %327, align 8, !tbaa !18
  %329 = icmp eq i32 %326, %328
  br i1 %329, label %354, label %330

330:                                              ; preds = %322
  %331 = tail call ptr @__errno_location() #13
  %332 = load i32, ptr %331, align 4, !tbaa !5
  %333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %334 = call i32 @s2n_print_stacktrace(ptr noundef %333) #12
  %335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %336 = trunc nuw i8 %335 to i1
  br i1 %336, label %337, label %341

337:                                              ; preds = %330
  %338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %339 = call i32 @fileno(ptr noundef %338) #12
  %340 = call i32 @isatty(i32 noundef %339) #12
  %.not = icmp eq i32 %340, 0
  br i1 %.not, label %341, label %342

341:                                              ; preds = %337, %330
  br label %342

342:                                              ; preds = %337, %341
  %.str.5.sink1344 = phi ptr [ @.str.5, %341 ], [ @.str.2, %337 ]
  store i32 %332, ptr %331, align 4, !tbaa !5
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = load i32, ptr @test_count, align 4, !tbaa !5
  %345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %346 = load i32, ptr %345, align 4, !tbaa !5
  %347 = call ptr @s2n_strerror(i32 noundef %346, ptr noundef nonnull @.str.4) #12
  %348 = load i32, ptr %345, align 4, !tbaa !5
  %349 = call ptr @s2n_strerror_debug(i32 noundef %348, ptr noundef nonnull @.str.4) #12
  %350 = load i32, ptr %331, align 4, !tbaa !5
  %351 = call ptr @strerror(i32 noundef %350) #12
  %352 = load i32, ptr %331, align 4, !tbaa !5
  %353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %343, ptr noundef nonnull %.str.5.sink1344, i32 noundef %344, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %347, ptr noundef %349, ptr noundef %351, i32 noundef %352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

354:                                              ; preds = %322
  %355 = add nsw i32 %323, 2
  store i32 %355, ptr @test_count, align 4, !tbaa !5
  %356 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %237, ptr noundef nonnull %293) #12
  %357 = icmp eq i32 %356, -1
  br i1 %357, label %358, label %382

358:                                              ; preds = %354
  %359 = tail call ptr @__errno_location() #13
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = call i32 @s2n_print_stacktrace(ptr noundef %361) #12
  %363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %364 = trunc nuw i8 %363 to i1
  br i1 %364, label %365, label %369

365:                                              ; preds = %358
  %366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %367 = call i32 @fileno(ptr noundef %366) #12
  %368 = call i32 @isatty(i32 noundef %367) #12
  %.not1193 = icmp eq i32 %368, 0
  br i1 %.not1193, label %369, label %370

369:                                              ; preds = %365, %358
  br label %370

370:                                              ; preds = %365, %369
  %.str.5.sink1355 = phi ptr [ @.str.5, %369 ], [ @.str.2, %365 ]
  store i32 %360, ptr %359, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = load i32, ptr @test_count, align 4, !tbaa !5
  %373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror(i32 noundef %374, ptr noundef nonnull @.str.4) #12
  %376 = load i32, ptr %373, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror_debug(i32 noundef %376, ptr noundef nonnull @.str.4) #12
  %378 = load i32, ptr %359, align 4, !tbaa !5
  %379 = call ptr @strerror(i32 noundef %378) #12
  %380 = load i32, ptr %359, align 4, !tbaa !5
  %381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef nonnull %.str.5.sink1355, i32 noundef %372, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %375, ptr noundef %377, ptr noundef %379, i32 noundef %380) #14
  call void @exit(i32 noundef 1) #15
  unreachable

382:                                              ; preds = %354
  %383 = load i32, ptr @test_count, align 4, !tbaa !5
  %384 = add nsw i32 %383, 1
  store i32 %384, ptr @test_count, align 4, !tbaa !5
  %385 = load i32, ptr %325, align 4, !tbaa !15
  %386 = load i32, ptr %327, align 8, !tbaa !18
  %387 = icmp eq i32 %385, %386
  br i1 %387, label %412, label %388

388:                                              ; preds = %382
  %389 = tail call ptr @__errno_location() #13
  %390 = load i32, ptr %389, align 4, !tbaa !5
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @s2n_print_stacktrace(ptr noundef %391) #12
  %393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %394 = trunc nuw i8 %393 to i1
  br i1 %394, label %395, label %399

395:                                              ; preds = %388
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = call i32 @fileno(ptr noundef %396) #12
  %398 = call i32 @isatty(i32 noundef %397) #12
  %.not932 = icmp eq i32 %398, 0
  br i1 %.not932, label %399, label %400

399:                                              ; preds = %395, %388
  br label %400

400:                                              ; preds = %395, %399
  %.str.5.sink1366 = phi ptr [ @.str.5, %399 ], [ @.str.2, %395 ]
  store i32 %390, ptr %389, align 4, !tbaa !5
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = load i32, ptr @test_count, align 4, !tbaa !5
  %403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = call ptr @s2n_strerror(i32 noundef %404, ptr noundef nonnull @.str.4) #12
  %406 = load i32, ptr %403, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef nonnull @.str.4) #12
  %408 = load i32, ptr %389, align 4, !tbaa !5
  %409 = call ptr @strerror(i32 noundef %408) #12
  %410 = load i32, ptr %389, align 4, !tbaa !5
  %411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %401, ptr noundef nonnull %.str.5.sink1366, i32 noundef %402, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %405, ptr noundef %407, ptr noundef %409, i32 noundef %410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

412:                                              ; preds = %382
  %413 = add nsw i32 %383, 2
  store i32 %413, ptr @test_count, align 4, !tbaa !5
  %414 = call i32 @s2n_connection_free(ptr noundef nonnull %237) #12
  %415 = icmp eq i32 %414, -1
  br i1 %415, label %416, label %440

416:                                              ; preds = %412
  %417 = tail call ptr @__errno_location() #13
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %420 = call i32 @s2n_print_stacktrace(ptr noundef %419) #12
  %421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %422 = trunc nuw i8 %421 to i1
  br i1 %422, label %423, label %427

423:                                              ; preds = %416
  %424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %425 = call i32 @fileno(ptr noundef %424) #12
  %426 = call i32 @isatty(i32 noundef %425) #12
  %.not1192 = icmp eq i32 %426, 0
  br i1 %.not1192, label %427, label %428

427:                                              ; preds = %423, %416
  br label %428

428:                                              ; preds = %423, %427
  %.str.5.sink1377 = phi ptr [ @.str.5, %427 ], [ @.str.2, %423 ]
  store i32 %418, ptr %417, align 4, !tbaa !5
  %429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %430 = load i32, ptr @test_count, align 4, !tbaa !5
  %431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %432 = load i32, ptr %431, align 4, !tbaa !5
  %433 = call ptr @s2n_strerror(i32 noundef %432, ptr noundef nonnull @.str.4) #12
  %434 = load i32, ptr %431, align 4, !tbaa !5
  %435 = call ptr @s2n_strerror_debug(i32 noundef %434, ptr noundef nonnull @.str.4) #12
  %436 = load i32, ptr %417, align 4, !tbaa !5
  %437 = call ptr @strerror(i32 noundef %436) #12
  %438 = load i32, ptr %417, align 4, !tbaa !5
  %439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull %.str.5.sink1377, i32 noundef %430, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %433, ptr noundef %435, ptr noundef %437, i32 noundef %438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

440:                                              ; preds = %412
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = add nsw i32 %441, 1
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %444 = icmp eq ptr %443, null
  br i1 %444, label %445, label %469

445:                                              ; preds = %440
  %446 = tail call ptr @__errno_location() #13
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = call i32 @s2n_print_stacktrace(ptr noundef %448) #12
  %450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %451 = trunc nuw i8 %450 to i1
  br i1 %451, label %452, label %456

452:                                              ; preds = %445
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @fileno(ptr noundef %453) #12
  %455 = call i32 @isatty(i32 noundef %454) #12
  %.not1191 = icmp eq i32 %455, 0
  br i1 %.not1191, label %456, label %457

456:                                              ; preds = %452, %445
  br label %457

457:                                              ; preds = %452, %456
  %.str.5.sink1388 = phi ptr [ @.str.5, %456 ], [ @.str.2, %452 ]
  store i32 %447, ptr %446, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef nonnull @.str.4) #12
  %463 = load i32, ptr %460, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror_debug(i32 noundef %463, ptr noundef nonnull @.str.4) #12
  %465 = load i32, ptr %446, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #12
  %467 = load i32, ptr %446, align 4, !tbaa !5
  %468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef nonnull %.str.5.sink1388, i32 noundef %459, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %462, ptr noundef %464, ptr noundef %466, i32 noundef %467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

469:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #12
  store i8 0, ptr %4, align 1, !tbaa !19
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 0, ptr noundef nonnull %4) #12
  %473 = icmp eq i32 %472, -1
  br i1 %473, label %474, label %498

474:                                              ; preds = %469
  %475 = tail call ptr @__errno_location() #13
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = call i32 @s2n_print_stacktrace(ptr noundef %477) #12
  %479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %480 = trunc nuw i8 %479 to i1
  br i1 %480, label %481, label %485

481:                                              ; preds = %474
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = call i32 @fileno(ptr noundef %482) #12
  %484 = call i32 @isatty(i32 noundef %483) #12
  %.not1190 = icmp eq i32 %484, 0
  br i1 %.not1190, label %485, label %486

485:                                              ; preds = %481, %474
  br label %486

486:                                              ; preds = %481, %485
  %.str.5.sink1399 = phi ptr [ @.str.5, %485 ], [ @.str.2, %481 ]
  store i32 %476, ptr %475, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = load i32, ptr @test_count, align 4, !tbaa !5
  %489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %490 = load i32, ptr %489, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror(i32 noundef %490, ptr noundef nonnull @.str.4) #12
  %492 = load i32, ptr %489, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef nonnull @.str.4) #12
  %494 = load i32, ptr %475, align 4, !tbaa !5
  %495 = call ptr @strerror(i32 noundef %494) #12
  %496 = load i32, ptr %475, align 4, !tbaa !5
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef nonnull %.str.5.sink1399, i32 noundef %488, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 93, ptr noundef %491, ptr noundef %493, ptr noundef %495, i32 noundef %496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

498:                                              ; preds = %469
  %499 = load i8, ptr %4, align 1, !tbaa !19
  %500 = and i8 %499, 7
  %501 = shl nuw i8 1, %500
  %502 = getelementptr inbounds i8, ptr %443, i64 102
  %503 = lshr i8 %499, 3
  %504 = zext nneg i8 %503 to i64
  %505 = getelementptr inbounds [22 x i8], ptr %502, i64 0, i64 %504
  %506 = load i8, ptr %505, align 1, !tbaa !19
  %507 = or i8 %501, %506
  store i8 %507, ptr %505, align 1, !tbaa !19
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = call i32 @s2n_connection_set_config(ptr noundef nonnull %443, ptr noundef nonnull %178) #12
  %511 = icmp eq i32 %510, -1
  br i1 %511, label %512, label %536

512:                                              ; preds = %498
  %513 = tail call ptr @__errno_location() #13
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = call i32 @s2n_print_stacktrace(ptr noundef %515) #12
  %517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %518 = trunc nuw i8 %517 to i1
  br i1 %518, label %519, label %523

519:                                              ; preds = %512
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = call i32 @fileno(ptr noundef %520) #12
  %522 = call i32 @isatty(i32 noundef %521) #12
  %.not1189 = icmp eq i32 %522, 0
  br i1 %.not1189, label %523, label %524

523:                                              ; preds = %519, %512
  br label %524

524:                                              ; preds = %519, %523
  %.str.5.sink1410 = phi ptr [ @.str.5, %523 ], [ @.str.2, %519 ]
  store i32 %514, ptr %513, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror(i32 noundef %528, ptr noundef nonnull @.str.4) #12
  %530 = load i32, ptr %527, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror_debug(i32 noundef %530, ptr noundef nonnull @.str.4) #12
  %532 = load i32, ptr %513, align 4, !tbaa !5
  %533 = call ptr @strerror(i32 noundef %532) #12
  %534 = load i32, ptr %513, align 4, !tbaa !5
  %535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef nonnull %.str.5.sink1410, i32 noundef %526, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %529, ptr noundef %531, ptr noundef %533, i32 noundef %534) #14
  call void @exit(i32 noundef 1) #15
  unreachable

536:                                              ; preds = %498
  %537 = getelementptr inbounds i8, ptr %443, i64 2016
  %538 = load i32, ptr %443, align 8
  %539 = or i32 %538, 64
  store i32 %539, ptr %443, align 8
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr @test_count, align 4, !tbaa !5
  %542 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %443, ptr noundef nonnull %537) #12
  %543 = icmp eq i32 %542, -1
  br i1 %543, label %544, label %568

544:                                              ; preds = %536
  %545 = tail call ptr @__errno_location() #13
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = call i32 @s2n_print_stacktrace(ptr noundef %547) #12
  %549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %550 = trunc nuw i8 %549 to i1
  br i1 %550, label %551, label %555

551:                                              ; preds = %544
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = call i32 @fileno(ptr noundef %552) #12
  %554 = call i32 @isatty(i32 noundef %553) #12
  %.not1188 = icmp eq i32 %554, 0
  br i1 %.not1188, label %555, label %556

555:                                              ; preds = %551, %544
  br label %556

556:                                              ; preds = %551, %555
  %.str.5.sink1421 = phi ptr [ @.str.5, %555 ], [ @.str.2, %551 ]
  store i32 %546, ptr %545, align 4, !tbaa !5
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror(i32 noundef %560, ptr noundef nonnull @.str.4) #12
  %562 = load i32, ptr %559, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror_debug(i32 noundef %562, ptr noundef nonnull @.str.4) #12
  %564 = load i32, ptr %545, align 4, !tbaa !5
  %565 = call ptr @strerror(i32 noundef %564) #12
  %566 = load i32, ptr %545, align 4, !tbaa !5
  %567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %557, ptr noundef nonnull %.str.5.sink1421, i32 noundef %558, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %561, ptr noundef %563, ptr noundef %565, i32 noundef %566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

568:                                              ; preds = %536
  %569 = load i32, ptr @test_count, align 4, !tbaa !5
  %570 = add nsw i32 %569, 1
  store i32 %570, ptr @test_count, align 4, !tbaa !5
  %571 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %537, i32 noundef 6) #12
  %572 = icmp eq i32 %571, -1
  br i1 %572, label %573, label %597

573:                                              ; preds = %568
  %574 = tail call ptr @__errno_location() #13
  %575 = load i32, ptr %574, align 4, !tbaa !5
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = call i32 @s2n_print_stacktrace(ptr noundef %576) #12
  %578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %579 = trunc nuw i8 %578 to i1
  br i1 %579, label %580, label %584

580:                                              ; preds = %573
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = call i32 @fileno(ptr noundef %581) #12
  %583 = call i32 @isatty(i32 noundef %582) #12
  %.not1187 = icmp eq i32 %583, 0
  br i1 %.not1187, label %584, label %585

584:                                              ; preds = %580, %573
  br label %585

585:                                              ; preds = %580, %584
  %.str.5.sink1432 = phi ptr [ @.str.5, %584 ], [ @.str.2, %580 ]
  store i32 %575, ptr %574, align 4, !tbaa !5
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = load i32, ptr @test_count, align 4, !tbaa !5
  %588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = call ptr @s2n_strerror(i32 noundef %589, ptr noundef nonnull @.str.4) #12
  %591 = load i32, ptr %588, align 4, !tbaa !5
  %592 = call ptr @s2n_strerror_debug(i32 noundef %591, ptr noundef nonnull @.str.4) #12
  %593 = load i32, ptr %574, align 4, !tbaa !5
  %594 = call ptr @strerror(i32 noundef %593) #12
  %595 = load i32, ptr %574, align 4, !tbaa !5
  %596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %586, ptr noundef nonnull %.str.5.sink1432, i32 noundef %587, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %590, ptr noundef %592, ptr noundef %594, i32 noundef %595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

597:                                              ; preds = %568
  %598 = load i32, ptr @test_count, align 4, !tbaa !5
  %599 = add nsw i32 %598, 1
  store i32 %599, ptr @test_count, align 4, !tbaa !5
  %600 = getelementptr inbounds i8, ptr %443, i64 2044
  %601 = load i32, ptr %600, align 4, !tbaa !15
  %602 = getelementptr inbounds i8, ptr %443, i64 2040
  %603 = load i32, ptr %602, align 8, !tbaa !18
  %604 = icmp eq i32 %601, %603
  br i1 %604, label %629, label %605

605:                                              ; preds = %597
  %606 = tail call ptr @__errno_location() #13
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = call i32 @s2n_print_stacktrace(ptr noundef %608) #12
  %610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %611 = trunc nuw i8 %610 to i1
  br i1 %611, label %612, label %616

612:                                              ; preds = %605
  %613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %614 = call i32 @fileno(ptr noundef %613) #12
  %615 = call i32 @isatty(i32 noundef %614) #12
  %.not933 = icmp eq i32 %615, 0
  br i1 %.not933, label %616, label %617

616:                                              ; preds = %612, %605
  br label %617

617:                                              ; preds = %612, %616
  %.str.5.sink1443 = phi ptr [ @.str.5, %616 ], [ @.str.2, %612 ]
  store i32 %607, ptr %606, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = load i32, ptr @test_count, align 4, !tbaa !5
  %620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror(i32 noundef %621, ptr noundef nonnull @.str.4) #12
  %623 = load i32, ptr %620, align 4, !tbaa !5
  %624 = call ptr @s2n_strerror_debug(i32 noundef %623, ptr noundef nonnull @.str.4) #12
  %625 = load i32, ptr %606, align 4, !tbaa !5
  %626 = call ptr @strerror(i32 noundef %625) #12
  %627 = load i32, ptr %606, align 4, !tbaa !5
  %628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %618, ptr noundef nonnull %.str.5.sink1443, i32 noundef %619, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %622, ptr noundef %624, ptr noundef %626, i32 noundef %627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

629:                                              ; preds = %597
  %630 = load i32, ptr %443, align 8
  %631 = and i32 %630, -65
  store i32 %631, ptr %443, align 8
  %632 = load i32, ptr @test_count, align 4, !tbaa !5
  %633 = add nsw i32 %632, 1
  store i32 %633, ptr @test_count, align 4, !tbaa !5
  %634 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %443, ptr noundef nonnull %537) #12
  %635 = icmp eq i32 %634, -1
  br i1 %635, label %636, label %660

636:                                              ; preds = %629
  %637 = tail call ptr @__errno_location() #13
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %640 = call i32 @s2n_print_stacktrace(ptr noundef %639) #12
  %641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %642 = trunc nuw i8 %641 to i1
  br i1 %642, label %643, label %647

643:                                              ; preds = %636
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = call i32 @fileno(ptr noundef %644) #12
  %646 = call i32 @isatty(i32 noundef %645) #12
  %.not1186 = icmp eq i32 %646, 0
  br i1 %.not1186, label %647, label %648

647:                                              ; preds = %643, %636
  br label %648

648:                                              ; preds = %643, %647
  %.str.5.sink1454 = phi ptr [ @.str.5, %647 ], [ @.str.2, %643 ]
  store i32 %638, ptr %637, align 4, !tbaa !5
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = load i32, ptr @test_count, align 4, !tbaa !5
  %651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %652 = load i32, ptr %651, align 4, !tbaa !5
  %653 = call ptr @s2n_strerror(i32 noundef %652, ptr noundef nonnull @.str.4) #12
  %654 = load i32, ptr %651, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror_debug(i32 noundef %654, ptr noundef nonnull @.str.4) #12
  %656 = load i32, ptr %637, align 4, !tbaa !5
  %657 = call ptr @strerror(i32 noundef %656) #12
  %658 = load i32, ptr %637, align 4, !tbaa !5
  %659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %649, ptr noundef nonnull %.str.5.sink1454, i32 noundef %650, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %653, ptr noundef %655, ptr noundef %657, i32 noundef %658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

660:                                              ; preds = %629
  %661 = load i32, ptr @test_count, align 4, !tbaa !5
  %662 = add nsw i32 %661, 1
  store i32 %662, ptr @test_count, align 4, !tbaa !5
  %663 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %537, i32 noundef 0) #12
  %664 = icmp eq i32 %663, -1
  br i1 %664, label %665, label %689

665:                                              ; preds = %660
  %666 = tail call ptr @__errno_location() #13
  %667 = load i32, ptr %666, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = call i32 @s2n_print_stacktrace(ptr noundef %668) #12
  %670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %671 = trunc nuw i8 %670 to i1
  br i1 %671, label %672, label %676

672:                                              ; preds = %665
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @fileno(ptr noundef %673) #12
  %675 = call i32 @isatty(i32 noundef %674) #12
  %.not1185 = icmp eq i32 %675, 0
  br i1 %.not1185, label %676, label %677

676:                                              ; preds = %672, %665
  br label %677

677:                                              ; preds = %672, %676
  %.str.5.sink1465 = phi ptr [ @.str.5, %676 ], [ @.str.2, %672 ]
  store i32 %667, ptr %666, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = call ptr @s2n_strerror(i32 noundef %681, ptr noundef nonnull @.str.4) #12
  %683 = load i32, ptr %680, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror_debug(i32 noundef %683, ptr noundef nonnull @.str.4) #12
  %685 = load i32, ptr %666, align 4, !tbaa !5
  %686 = call ptr @strerror(i32 noundef %685) #12
  %687 = load i32, ptr %666, align 4, !tbaa !5
  %688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef nonnull %.str.5.sink1465, i32 noundef %679, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %682, ptr noundef %684, ptr noundef %686, i32 noundef %687) #14
  call void @exit(i32 noundef 1) #15
  unreachable

689:                                              ; preds = %660
  %690 = load i32, ptr @test_count, align 4, !tbaa !5
  %691 = add nsw i32 %690, 1
  store i32 %691, ptr @test_count, align 4, !tbaa !5
  %692 = load i32, ptr %600, align 4, !tbaa !15
  %693 = load i32, ptr %602, align 8, !tbaa !18
  %694 = icmp eq i32 %692, %693
  br i1 %694, label %719, label %695

695:                                              ; preds = %689
  %696 = tail call ptr @__errno_location() #13
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @s2n_print_stacktrace(ptr noundef %698) #12
  %700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %701 = trunc nuw i8 %700 to i1
  br i1 %701, label %702, label %706

702:                                              ; preds = %695
  %703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %704 = call i32 @fileno(ptr noundef %703) #12
  %705 = call i32 @isatty(i32 noundef %704) #12
  %.not934 = icmp eq i32 %705, 0
  br i1 %.not934, label %706, label %707

706:                                              ; preds = %702, %695
  br label %707

707:                                              ; preds = %702, %706
  %.str.5.sink1476 = phi ptr [ @.str.5, %706 ], [ @.str.2, %702 ]
  store i32 %697, ptr %696, align 4, !tbaa !5
  %708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %709 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %711, ptr noundef nonnull @.str.4) #12
  %713 = load i32, ptr %710, align 4, !tbaa !5
  %714 = call ptr @s2n_strerror_debug(i32 noundef %713, ptr noundef nonnull @.str.4) #12
  %715 = load i32, ptr %696, align 4, !tbaa !5
  %716 = call ptr @strerror(i32 noundef %715) #12
  %717 = load i32, ptr %696, align 4, !tbaa !5
  %718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %708, ptr noundef nonnull %.str.5.sink1476, i32 noundef %709, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %712, ptr noundef %714, ptr noundef %716, i32 noundef %717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

719:                                              ; preds = %689
  %720 = add nsw i32 %690, 2
  store i32 %720, ptr @test_count, align 4, !tbaa !5
  %721 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %722 = icmp eq i32 %721, -1
  br i1 %722, label %723, label %747

723:                                              ; preds = %719
  %724 = tail call ptr @__errno_location() #13
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @s2n_print_stacktrace(ptr noundef %726) #12
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %729 = trunc nuw i8 %728 to i1
  br i1 %729, label %730, label %734

730:                                              ; preds = %723
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @fileno(ptr noundef %731) #12
  %733 = call i32 @isatty(i32 noundef %732) #12
  %.not1184 = icmp eq i32 %733, 0
  br i1 %.not1184, label %734, label %735

734:                                              ; preds = %730, %723
  br label %735

735:                                              ; preds = %730, %734
  %.str.5.sink1487 = phi ptr [ @.str.5, %734 ], [ @.str.2, %730 ]
  store i32 %725, ptr %724, align 4, !tbaa !5
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror(i32 noundef %739, ptr noundef nonnull @.str.4) #12
  %741 = load i32, ptr %738, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef nonnull @.str.4) #12
  %743 = load i32, ptr %724, align 4, !tbaa !5
  %744 = call ptr @strerror(i32 noundef %743) #12
  %745 = load i32, ptr %724, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.5.sink1487, i32 noundef %737, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %740, ptr noundef %742, ptr noundef %744, i32 noundef %745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

747:                                              ; preds = %719
  %748 = load i32, ptr @test_count, align 4, !tbaa !5
  %749 = add nsw i32 %748, 1
  store i32 %749, ptr @test_count, align 4, !tbaa !5
  %750 = call i32 @configure_tls13_connection(ptr noundef nonnull %443)
  %751 = icmp eq i32 %750, -1
  br i1 %751, label %752, label %776

752:                                              ; preds = %747
  %753 = tail call ptr @__errno_location() #13
  %754 = load i32, ptr %753, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = call i32 @s2n_print_stacktrace(ptr noundef %755) #12
  %757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %758 = trunc nuw i8 %757 to i1
  br i1 %758, label %759, label %763

759:                                              ; preds = %752
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = call i32 @fileno(ptr noundef %760) #12
  %762 = call i32 @isatty(i32 noundef %761) #12
  %.not1183 = icmp eq i32 %762, 0
  br i1 %.not1183, label %763, label %764

763:                                              ; preds = %759, %752
  br label %764

764:                                              ; preds = %759, %763
  %.str.5.sink1498 = phi ptr [ @.str.5, %763 ], [ @.str.2, %759 ]
  store i32 %754, ptr %753, align 4, !tbaa !5
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = load i32, ptr @test_count, align 4, !tbaa !5
  %767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror(i32 noundef %768, ptr noundef nonnull @.str.4) #12
  %770 = load i32, ptr %767, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror_debug(i32 noundef %770, ptr noundef nonnull @.str.4) #12
  %772 = load i32, ptr %753, align 4, !tbaa !5
  %773 = call ptr @strerror(i32 noundef %772) #12
  %774 = load i32, ptr %753, align 4, !tbaa !5
  %775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %765, ptr noundef nonnull %.str.5.sink1498, i32 noundef %766, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %769, ptr noundef %771, ptr noundef %773, i32 noundef %774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

776:                                              ; preds = %747
  %777 = load i32, ptr %443, align 8
  %778 = or i32 %777, 64
  store i32 %778, ptr %443, align 8
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = add nsw i32 %779, 1
  store i32 %780, ptr @test_count, align 4, !tbaa !5
  %781 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %443, ptr noundef nonnull %537) #12
  %782 = icmp eq i32 %781, -1
  br i1 %782, label %783, label %807

783:                                              ; preds = %776
  %784 = tail call ptr @__errno_location() #13
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = call i32 @s2n_print_stacktrace(ptr noundef %786) #12
  %788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %789 = trunc nuw i8 %788 to i1
  br i1 %789, label %790, label %794

790:                                              ; preds = %783
  %791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %792 = call i32 @fileno(ptr noundef %791) #12
  %793 = call i32 @isatty(i32 noundef %792) #12
  %.not1182 = icmp eq i32 %793, 0
  br i1 %.not1182, label %794, label %795

794:                                              ; preds = %790, %783
  br label %795

795:                                              ; preds = %790, %794
  %.str.5.sink1509 = phi ptr [ @.str.5, %794 ], [ @.str.2, %790 ]
  store i32 %785, ptr %784, align 4, !tbaa !5
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call ptr @s2n_strerror(i32 noundef %799, ptr noundef nonnull @.str.4) #12
  %801 = load i32, ptr %798, align 4, !tbaa !5
  %802 = call ptr @s2n_strerror_debug(i32 noundef %801, ptr noundef nonnull @.str.4) #12
  %803 = load i32, ptr %784, align 4, !tbaa !5
  %804 = call ptr @strerror(i32 noundef %803) #12
  %805 = load i32, ptr %784, align 4, !tbaa !5
  %806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %796, ptr noundef nonnull %.str.5.sink1509, i32 noundef %797, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %800, ptr noundef %802, ptr noundef %804, i32 noundef %805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

807:                                              ; preds = %776
  %808 = load i32, ptr @test_count, align 4, !tbaa !5
  %809 = add nsw i32 %808, 1
  store i32 %809, ptr @test_count, align 4, !tbaa !5
  %810 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %537, i32 noundef 81) #12
  %811 = icmp eq i32 %810, -1
  br i1 %811, label %812, label %836

812:                                              ; preds = %807
  %813 = tail call ptr @__errno_location() #13
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %816 = call i32 @s2n_print_stacktrace(ptr noundef %815) #12
  %817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %818 = trunc nuw i8 %817 to i1
  br i1 %818, label %819, label %823

819:                                              ; preds = %812
  %820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %821 = call i32 @fileno(ptr noundef %820) #12
  %822 = call i32 @isatty(i32 noundef %821) #12
  %.not1181 = icmp eq i32 %822, 0
  br i1 %.not1181, label %823, label %824

823:                                              ; preds = %819, %812
  br label %824

824:                                              ; preds = %819, %823
  %.str.5.sink1520 = phi ptr [ @.str.5, %823 ], [ @.str.2, %819 ]
  store i32 %814, ptr %813, 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 nonnull @.str.4) #12
  %830 = load i32, ptr %827, align 4, !tbaa !5
  %831 = call ptr @s2n_strerror_debug(i32 noundef %830, ptr noundef nonnull @.str.4) #12
  %832 = load i32, ptr %813, align 4, !tbaa !5
  %833 = call ptr @strerror(i32 noundef %832) #12
  %834 = load i32, ptr %813, align 4, !tbaa !5
  %835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %825, ptr noundef nonnull %.str.5.sink1520, i32 noundef %826, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %829, ptr noundef %831, ptr noundef %833, i32 noundef %834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

836:                                              ; preds = %807
  %837 = load i32, ptr @test_count, align 4, !tbaa !5
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr @test_count, align 4, !tbaa !5
  %839 = load i32, ptr %600, align 4, !tbaa !15
  %840 = load i32, ptr %602, align 8, !tbaa !18
  %841 = icmp eq i32 %839, %840
  br i1 %841, label %866, label %842

842:                                              ; preds = %836
  %843 = tail call ptr @__errno_location() #13
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %846 = call i32 @s2n_print_stacktrace(ptr noundef %845) #12
  %847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %848 = trunc nuw i8 %847 to i1
  br i1 %848, label %849, label %853

849:                                              ; preds = %842
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = call i32 @fileno(ptr noundef %850) #12
  %852 = call i32 @isatty(i32 noundef %851) #12
  %.not935 = icmp eq i32 %852, 0
  br i1 %.not935, label %853, label %854

853:                                              ; preds = %849, %842
  br label %854

854:                                              ; preds = %849, %853
  %.str.5.sink1531 = phi ptr [ @.str.5, %853 ], [ @.str.2, %849 ]
  store i32 %844, ptr %843, align 4, !tbaa !5
  %855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %856 = load i32, ptr @test_count, align 4, !tbaa !5
  %857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %858 = load i32, ptr %857, align 4, !tbaa !5
  %859 = call ptr @s2n_strerror(i32 noundef %858, ptr noundef nonnull @.str.4) #12
  %860 = load i32, ptr %857, align 4, !tbaa !5
  %861 = call ptr @s2n_strerror_debug(i32 noundef %860, ptr noundef nonnull @.str.4) #12
  %862 = load i32, ptr %843, align 4, !tbaa !5
  %863 = call ptr @strerror(i32 noundef %862) #12
  %864 = load i32, ptr %843, align 4, !tbaa !5
  %865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %855, ptr noundef nonnull %.str.5.sink1531, i32 noundef %856, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %859, ptr noundef %861, ptr noundef %863, i32 noundef %864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

866:                                              ; preds = %836
  %867 = add nsw i32 %837, 2
  store i32 %867, ptr @test_count, align 4, !tbaa !5
  %868 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %869 = icmp eq i32 %868, -1
  br i1 %869, label %870, label %894

870:                                              ; preds = %866
  %871 = tail call ptr @__errno_location() #13
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %874 = call i32 @s2n_print_stacktrace(ptr noundef %873) #12
  %875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %876 = trunc nuw i8 %875 to i1
  br i1 %876, label %877, label %881

877:                                              ; preds = %870
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = call i32 @fileno(ptr noundef %878) #12
  %880 = call i32 @isatty(i32 noundef %879) #12
  %.not1180 = icmp eq i32 %880, 0
  br i1 %.not1180, label %881, label %882

881:                                              ; preds = %877, %870
  br label %882

882:                                              ; preds = %877, %881
  %.str.5.sink1542 = phi ptr [ @.str.5, %881 ], [ @.str.2, %877 ]
  store i32 %872, ptr %871, align 4, !tbaa !5
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = load i32, ptr @test_count, align 4, !tbaa !5
  %885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror(i32 noundef %886, ptr noundef nonnull @.str.4) #12
  %888 = load i32, ptr %885, align 4, !tbaa !5
  %889 = call ptr @s2n_strerror_debug(i32 noundef %888, ptr noundef nonnull @.str.4) #12
  %890 = load i32, ptr %871, align 4, !tbaa !5
  %891 = call ptr @strerror(i32 noundef %890) #12
  %892 = load i32, ptr %871, align 4, !tbaa !5
  %893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %883, ptr noundef nonnull %.str.5.sink1542, i32 noundef %884, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %887, ptr noundef %889, ptr noundef %891, i32 noundef %892) #14
  call void @exit(i32 noundef 1) #15
  unreachable

894:                                              ; preds = %866
  %895 = load i32, ptr @test_count, align 4, !tbaa !5
  %896 = add nsw i32 %895, 1
  store i32 %896, ptr @test_count, align 4, !tbaa !5
  %897 = call i32 @s2n_connection_free(ptr noundef nonnull %443) #12
  %898 = icmp eq i32 %897, -1
  br i1 %898, label %899, label %923

899:                                              ; preds = %894
  %900 = tail call ptr @__errno_location() #13
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @s2n_print_stacktrace(ptr noundef %902) #12
  %904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %905 = trunc nuw i8 %904 to i1
  br i1 %905, label %906, label %910

906:                                              ; preds = %899
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @fileno(ptr noundef %907) #12
  %909 = call i32 @isatty(i32 noundef %908) #12
  %.not1179 = icmp eq i32 %909, 0
  br i1 %.not1179, label %910, label %911

910:                                              ; preds = %906, %899
  br label %911

911:                                              ; preds = %906, %910
  %.str.5.sink1553 = phi ptr [ @.str.5, %910 ], [ @.str.2, %906 ]
  store i32 %901, ptr %900, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror(i32 noundef %915, ptr noundef nonnull @.str.4) #12
  %917 = load i32, ptr %914, align 4, !tbaa !5
  %918 = call ptr @s2n_strerror_debug(i32 noundef %917, ptr noundef nonnull @.str.4) #12
  %919 = load i32, ptr %900, align 4, !tbaa !5
  %920 = call ptr @strerror(i32 noundef %919) #12
  %921 = load i32, ptr %900, align 4, !tbaa !5
  %922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef nonnull %.str.5.sink1553, i32 noundef %913, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %916, ptr noundef %918, ptr noundef %920, i32 noundef %921) #14
  call void @exit(i32 noundef 1) #15
  unreachable

923:                                              ; preds = %894
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #12
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = add nsw i32 %924, 1
  store i32 %925, ptr @test_count, align 4, !tbaa !5
  %926 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %927 = icmp eq ptr %926, null
  br i1 %927, label %928, label %952

928:                                              ; preds = %923
  %929 = tail call ptr @__errno_location() #13
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %932 = call i32 @s2n_print_stacktrace(ptr noundef %931) #12
  %933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %934 = trunc nuw i8 %933 to i1
  br i1 %934, label %935, label %939

935:                                              ; preds = %928
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = call i32 @fileno(ptr noundef %936) #12
  %938 = call i32 @isatty(i32 noundef %937) #12
  %.not1178 = icmp eq i32 %938, 0
  br i1 %.not1178, label %939, label %940

939:                                              ; preds = %935, %928
  br label %940

940:                                              ; preds = %935, %939
  %.str.5.sink1564 = phi ptr [ @.str.5, %939 ], [ @.str.2, %935 ]
  store i32 %930, ptr %929, align 4, !tbaa !5
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = load i32, ptr @test_count, align 4, !tbaa !5
  %943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror(i32 noundef %944, ptr noundef nonnull @.str.4) #12
  %946 = load i32, ptr %943, align 4, !tbaa !5
  %947 = call ptr @s2n_strerror_debug(i32 noundef %946, ptr noundef nonnull @.str.4) #12
  %948 = load i32, ptr %929, align 4, !tbaa !5
  %949 = call ptr @strerror(i32 noundef %948) #12
  %950 = load i32, ptr %929, align 4, !tbaa !5
  %951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %941, ptr noundef nonnull %.str.5.sink1564, i32 noundef %942, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %945, ptr noundef %947, ptr noundef %949, i32 noundef %950) #14
  call void @exit(i32 noundef 1) #15
  unreachable

952:                                              ; preds = %923
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #12
  store i8 0, ptr %5, align 1, !tbaa !19
  %953 = load i32, ptr @test_count, align 4, !tbaa !5
  %954 = add nsw i32 %953, 1
  store i32 %954, ptr @test_count, align 4, !tbaa !5
  %955 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 16, ptr noundef nonnull %5) #12
  %956 = icmp eq i32 %955, -1
  br i1 %956, label %957, label %981

957:                                              ; preds = %952
  %958 = tail call ptr @__errno_location() #13
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = call i32 @s2n_print_stacktrace(ptr noundef %960) #12
  %962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %963 = trunc nuw i8 %962 to i1
  br i1 %963, label %964, label %968

964:                                              ; preds = %957
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @fileno(ptr noundef %965) #12
  %967 = call i32 @isatty(i32 noundef %966) #12
  %.not1177 = icmp eq i32 %967, 0
  br i1 %.not1177, label %968, label %969

968:                                              ; preds = %964, %957
  br label %969

969:                                              ; preds = %964, %968
  %.str.5.sink1575 = phi ptr [ @.str.5, %968 ], [ @.str.2, %964 ]
  store i32 %959, ptr %958, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %973, ptr noundef nonnull @.str.4) #12
  %975 = load i32, ptr %972, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror_debug(i32 noundef %975, ptr noundef nonnull @.str.4) #12
  %977 = load i32, ptr %958, align 4, !tbaa !5
  %978 = call ptr @strerror(i32 noundef %977) #12
  %979 = load i32, ptr %958, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %970, ptr noundef nonnull %.str.5.sink1575, i32 noundef %971, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %974, ptr noundef %976, ptr noundef %978, i32 noundef %979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

981:                                              ; preds = %952
  %982 = load i8, ptr %5, align 1, !tbaa !19
  %983 = and i8 %982, 7
  %984 = shl nuw i8 1, %983
  %985 = getelementptr inbounds i8, ptr %926, i64 102
  %986 = lshr i8 %982, 3
  %987 = zext nneg i8 %986 to i64
  %988 = getelementptr inbounds [22 x i8], ptr %985, i64 0, i64 %987
  %989 = load i8, ptr %988, align 1, !tbaa !19
  %990 = or i8 %984, %989
  store i8 %990, ptr %988, align 1, !tbaa !19
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @test_count, align 4, !tbaa !5
  %993 = call i32 @s2n_connection_set_config(ptr noundef nonnull %926, ptr noundef nonnull %178) #12
  %994 = icmp eq i32 %993, -1
  br i1 %994, label %995, label %1019

995:                                              ; preds = %981
  %996 = tail call ptr @__errno_location() #13
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = call i32 @s2n_print_stacktrace(ptr noundef %998) #12
  %1000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1001 = trunc nuw i8 %1000 to i1
  br i1 %1001, label %1002, label %1006

1002:                                             ; preds = %995
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @fileno(ptr noundef %1003) #12
  %1005 = call i32 @isatty(i32 noundef %1004) #12
  %.not1176 = icmp eq i32 %1005, 0
  br i1 %.not1176, label %1006, label %1007

1006:                                             ; preds = %1002, %995
  br label %1007

1007:                                             ; preds = %1002, %1006
  %.str.5.sink1586 = phi ptr [ @.str.5, %1006 ], [ @.str.2, %1002 ]
  store i32 %997, ptr %996, align 4, !tbaa !5
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1011 = load i32, ptr %1010, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror(i32 noundef %1011, ptr noundef nonnull @.str.4) #12
  %1013 = load i32, ptr %1010, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef %1013, ptr noundef nonnull @.str.4) #12
  %1015 = load i32, ptr %996, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #12
  %1017 = load i32, ptr %996, align 4, !tbaa !5
  %1018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1008, ptr noundef nonnull %.str.5.sink1586, i32 noundef %1009, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1012, ptr noundef %1014, ptr noundef %1016, i32 noundef %1017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1019:                                             ; preds = %981
  %1020 = getelementptr inbounds i8, ptr %926, i64 2016
  %1021 = getelementptr inbounds i8, ptr %926, i64 2528
  %1022 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %1021, ptr noundef nonnull dereferenceable(1) @.str.27) #12
  %1023 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1021) #16
  %1024 = load i32, ptr @test_count, align 4, !tbaa !5
  %1025 = add nsw i32 %1024, 1
  store i32 %1025, ptr @test_count, align 4, !tbaa !5
  %1026 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %926, ptr noundef nonnull %1020) #12
  %1027 = icmp eq i32 %1026, -1
  br i1 %1027, label %1028, label %1052

1028:                                             ; preds = %1019
  %1029 = tail call ptr @__errno_location() #13
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @s2n_print_stacktrace(ptr noundef %1031) #12
  %1033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1034 = trunc nuw i8 %1033 to i1
  br i1 %1034, label %1035, label %1039

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

1039:                                             ; preds = %1035, %1028
  br label %1040

1040:                                             ; preds = %1035, %1039
  %.str.5.sink1597 = phi ptr [ @.str.5, %1039 ], [ @.str.2, %1035 ]
  store i32 %1030, ptr %1029, align 4, !tbaa !5
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1042 = load i32, ptr @test_count, align 4, !tbaa !5
  %1043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror(i32 noundef %1044, ptr noundef nonnull @.str.4) #12
  %1046 = load i32, ptr %1043, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror_debug(i32 noundef %1046, ptr noundef nonnull @.str.4) #12
  %1048 = load i32, ptr %1029, align 4, !tbaa !5
  %1049 = call ptr @strerror(i32 noundef %1048) #12
  %1050 = load i32, ptr %1029, align 4, !tbaa !5
  %1051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1041, ptr noundef nonnull %.str.5.sink1597, i32 noundef %1042, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1045, ptr noundef %1047, ptr noundef %1049, i32 noundef %1050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1052:                                             ; preds = %1019
  %1053 = trunc i64 %1023 to i32
  %1054 = add i32 %1053, 7
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = add nsw i32 %1055, 1
  store i32 %1056, ptr @test_count, align 4, !tbaa !5
  %1057 = and i32 %1054, 255
  %1058 = add nuw nsw i32 %1057, 2
  %1059 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1020, i32 noundef %1058) #12
  %1060 = icmp eq i32 %1059, -1
  br i1 %1060, label %1061, label %1085

1061:                                             ; preds = %1052
  %1062 = tail call ptr @__errno_location() #13
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = call i32 @s2n_print_stacktrace(ptr noundef %1064) #12
  %1066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1067 = trunc nuw i8 %1066 to i1
  br i1 %1067, label %1068, label %1072

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

1072:                                             ; preds = %1068, %1061
  br label %1073

1073:                                             ; preds = %1068, %1072
  %.str.5.sink1608 = phi ptr [ @.str.5, %1072 ], [ @.str.2, %1068 ]
  store i32 %1063, ptr %1062, align 4, !tbaa !5
  %1074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1075 = load i32, ptr @test_count, align 4, !tbaa !5
  %1076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = call ptr @s2n_strerror(i32 noundef %1077, ptr noundef nonnull @.str.4) #12
  %1079 = load i32, ptr %1076, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror_debug(i32 noundef %1079, ptr noundef nonnull @.str.4) #12
  %1081 = load i32, ptr %1062, align 4, !tbaa !5
  %1082 = call ptr @strerror(i32 noundef %1081) #12
  %1083 = load i32, ptr %1062, align 4, !tbaa !5
  %1084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1074, ptr noundef nonnull %.str.5.sink1608, i32 noundef %1075, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1078, ptr noundef %1080, ptr noundef %1082, i32 noundef %1083) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1085:                                             ; preds = %1052
  %1086 = load i32, ptr @test_count, align 4, !tbaa !5
  %1087 = add nsw i32 %1086, 1
  store i32 %1087, ptr @test_count, align 4, !tbaa !5
  %1088 = getelementptr inbounds i8, ptr %926, i64 2044
  %1089 = load i32, ptr %1088, align 4, !tbaa !15
  %1090 = getelementptr inbounds i8, ptr %926, i64 2040
  %1091 = load i32, ptr %1090, align 8, !tbaa !18
  %1092 = icmp eq i32 %1089, %1091
  br i1 %1092, label %1117, label %1093

1093:                                             ; preds = %1085
  %1094 = tail call ptr @__errno_location() #13
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @s2n_print_stacktrace(ptr noundef %1096) #12
  %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 = %1093
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @fileno(ptr noundef %1101) #12
  %1103 = call i32 @isatty(i32 noundef %1102) #12
  %.not936 = icmp eq i32 %1103, 0
  br i1 %.not936, label %1104, label %1105

1104:                                             ; preds = %1100, %1093
  br label %1105

1105:                                             ; preds = %1100, %1104
  %.str.5.sink1619 = phi ptr [ @.str.5, %1104 ], [ @.str.2, %1100 ]
  store i32 %1095, ptr %1094, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef nonnull @.str.4) #12
  %1111 = load i32, ptr %1108, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror_debug(i32 noundef %1111, ptr noundef nonnull @.str.4) #12
  %1113 = load i32, ptr %1094, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #12
  %1115 = load i32, ptr %1094, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef nonnull %.str.5.sink1619, i32 noundef %1107, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1110, ptr noundef %1112, ptr noundef %1114, i32 noundef %1115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1117:                                             ; preds = %1085
  %1118 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %1021, ptr noundef nonnull dereferenceable(1) @.str.29) #12
  %1119 = add nsw i32 %1086, 2
  store i32 %1119, ptr @test_count, align 4, !tbaa !5
  %1120 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %926, ptr noundef nonnull %1020) #12
  %1121 = icmp eq i32 %1120, -1
  br i1 %1121, label %1122, label %1146

1122:                                             ; preds = %1117
  %1123 = tail call ptr @__errno_location() #13
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = call i32 @s2n_print_stacktrace(ptr noundef %1125) #12
  %1127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1128 = trunc nuw i8 %1127 to i1
  br i1 %1128, label %1129, label %1133

1129:                                             ; preds = %1122
  %1130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1131 = call i32 @fileno(ptr noundef %1130) #12
  %1132 = call i32 @isatty(i32 noundef %1131) #12
  %.not1173 = icmp eq i32 %1132, 0
  br i1 %.not1173, label %1133, label %1134

1133:                                             ; preds = %1129, %1122
  br label %1134

1134:                                             ; preds = %1129, %1133
  %.str.5.sink1630 = phi ptr [ @.str.5, %1133 ], [ @.str.2, %1129 ]
  store i32 %1124, ptr %1123, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = load i32, ptr @test_count, align 4, !tbaa !5
  %1137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror(i32 noundef %1138, ptr noundef nonnull @.str.4) #12
  %1140 = load i32, ptr %1137, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror_debug(i32 noundef %1140, ptr noundef nonnull @.str.4) #12
  %1142 = load i32, ptr %1123, align 4, !tbaa !5
  %1143 = call ptr @strerror(i32 noundef %1142) #12
  %1144 = load i32, ptr %1123, align 4, !tbaa !5
  %1145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1135, ptr noundef nonnull %.str.5.sink1630, i32 noundef %1136, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1139, ptr noundef %1141, ptr noundef %1143, i32 noundef %1144) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1146:                                             ; preds = %1117
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = add nsw i32 %1147, 1
  store i32 %1148, ptr @test_count, align 4, !tbaa !5
  %1149 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1020, i32 noundef 0) #12
  %1150 = icmp eq i32 %1149, -1
  br i1 %1150, label %1151, label %1175

1151:                                             ; preds = %1146
  %1152 = tail call ptr @__errno_location() #13
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 @s2n_print_stacktrace(ptr noundef %1154) #12
  %1156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1157 = trunc nuw i8 %1156 to i1
  br i1 %1157, label %1158, label %1162

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

1162:                                             ; preds = %1158, %1151
  br label %1163

1163:                                             ; preds = %1158, %1162
  %.str.5.sink1641 = phi ptr [ @.str.5, %1162 ], [ @.str.2, %1158 ]
  store i32 %1153, ptr %1152, align 4, !tbaa !5
  %1164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1167 = load i32, ptr %1166, align 4, !tbaa !5
  %1168 = call ptr @s2n_strerror(i32 noundef %1167, ptr noundef nonnull @.str.4) #12
  %1169 = load i32, ptr %1166, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef nonnull @.str.4) #12
  %1171 = load i32, ptr %1152, align 4, !tbaa !5
  %1172 = call ptr @strerror(i32 noundef %1171) #12
  %1173 = load i32, ptr %1152, align 4, !tbaa !5
  %1174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1164, ptr noundef nonnull %.str.5.sink1641, i32 noundef %1165, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1168, ptr noundef %1170, ptr noundef %1172, i32 noundef %1173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1175:                                             ; preds = %1146
  %1176 = load i32, ptr @test_count, align 4, !tbaa !5
  %1177 = add nsw i32 %1176, 1
  store i32 %1177, ptr @test_count, align 4, !tbaa !5
  %1178 = load i32, ptr %1088, align 4, !tbaa !15
  %1179 = load i32, ptr %1090, align 8, !tbaa !18
  %1180 = icmp eq i32 %1178, %1179
  br i1 %1180, label %1205, label %1181

1181:                                             ; preds = %1175
  %1182 = tail call ptr @__errno_location() #13
  %1183 = load i32, ptr %1182, align 4, !tbaa !5
  %1184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1185 = call i32 @s2n_print_stacktrace(ptr noundef %1184) #12
  %1186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1187 = trunc nuw i8 %1186 to i1
  br i1 %1187, label %1188, label %1192

1188:                                             ; preds = %1181
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = call i32 @fileno(ptr noundef %1189) #12
  %1191 = call i32 @isatty(i32 noundef %1190) #12
  %.not937 = icmp eq i32 %1191, 0
  br i1 %.not937, label %1192, label %1193

1192:                                             ; preds = %1188, %1181
  br label %1193

1193:                                             ; preds = %1188, %1192
  %.str.5.sink1652 = phi ptr [ @.str.5, %1192 ], [ @.str.2, %1188 ]
  store i32 %1183, ptr %1182, align 4, !tbaa !5
  %1194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1195 = load i32, ptr @test_count, align 4, !tbaa !5
  %1196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  %1198 = call ptr @s2n_strerror(i32 noundef %1197, ptr noundef nonnull @.str.4) #12
  %1199 = load i32, ptr %1196, align 4, !tbaa !5
  %1200 = call ptr @s2n_strerror_debug(i32 noundef %1199, ptr noundef nonnull @.str.4) #12
  %1201 = load i32, ptr %1182, align 4, !tbaa !5
  %1202 = call ptr @strerror(i32 noundef %1201) #12
  %1203 = load i32, ptr %1182, align 4, !tbaa !5
  %1204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1194, ptr noundef nonnull %.str.5.sink1652, i32 noundef %1195, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1198, ptr noundef %1200, ptr noundef %1202, i32 noundef %1203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1205:                                             ; preds = %1175
  %1206 = add nsw i32 %1176, 2
  store i32 %1206, ptr @test_count, align 4, !tbaa !5
  %1207 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %1208 = icmp eq i32 %1207, -1
  br i1 %1208, label %1209, label %1233

1209:                                             ; preds = %1205
  %1210 = tail call ptr @__errno_location() #13
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @s2n_print_stacktrace(ptr noundef %1212) #12
  %1214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1215 = trunc nuw i8 %1214 to i1
  br i1 %1215, label %1216, label %1220

1216:                                             ; preds = %1209
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = call i32 @fileno(ptr noundef %1217) #12
  %1219 = call i32 @isatty(i32 noundef %1218) #12
  %.not1171 = icmp eq i32 %1219, 0
  br i1 %.not1171, label %1220, label %1221

1220:                                             ; preds = %1216, %1209
  br label %1221

1221:                                             ; preds = %1216, %1220
  %.str.5.sink1663 = phi ptr [ @.str.5, %1220 ], [ @.str.2, %1216 ]
  store i32 %1211, ptr %1210, align 4, !tbaa !5
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = load i32, ptr @test_count, align 4, !tbaa !5
  %1224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1225 = load i32, ptr %1224, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror(i32 noundef %1225, ptr noundef nonnull @.str.4) #12
  %1227 = load i32, ptr %1224, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror_debug(i32 noundef %1227, ptr noundef nonnull @.str.4) #12
  %1229 = load i32, ptr %1210, align 4, !tbaa !5
  %1230 = call ptr @strerror(i32 noundef %1229) #12
  %1231 = load i32, ptr %1210, align 4, !tbaa !5
  %1232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1222, ptr noundef nonnull %.str.5.sink1663, i32 noundef %1223, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1226, ptr noundef %1228, ptr noundef %1230, i32 noundef %1231) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1233:                                             ; preds = %1205
  %1234 = load i32, ptr @test_count, align 4, !tbaa !5
  %1235 = add nsw i32 %1234, 1
  store i32 %1235, ptr @test_count, align 4, !tbaa !5
  %1236 = call i32 @configure_tls13_connection(ptr noundef nonnull %926)
  %1237 = icmp eq i32 %1236, -1
  br i1 %1237, label %1238, label %1262

1238:                                             ; preds = %1233
  %1239 = tail call ptr @__errno_location() #13
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = call i32 @s2n_print_stacktrace(ptr noundef %1241) #12
  %1243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1244 = trunc nuw i8 %1243 to i1
  br i1 %1244, label %1245, label %1249

1245:                                             ; preds = %1238
  %1246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1247 = call i32 @fileno(ptr noundef %1246) #12
  %1248 = call i32 @isatty(i32 noundef %1247) #12
  %.not1170 = icmp eq i32 %1248, 0
  br i1 %.not1170, label %1249, label %1250

1249:                                             ; preds = %1245, %1238
  br label %1250

1250:                                             ; preds = %1245, %1249
  %.str.5.sink1674 = phi ptr [ @.str.5, %1249 ], [ @.str.2, %1245 ]
  store i32 %1240, ptr %1239, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror(i32 noundef %1254, ptr noundef nonnull @.str.4) #12
  %1256 = load i32, ptr %1253, align 4, !tbaa !5
  %1257 = call ptr @s2n_strerror_debug(i32 noundef %1256, ptr noundef nonnull @.str.4) #12
  %1258 = load i32, ptr %1239, align 4, !tbaa !5
  %1259 = call ptr @strerror(i32 noundef %1258) #12
  %1260 = load i32, ptr %1239, align 4, !tbaa !5
  %1261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef nonnull %.str.5.sink1674, i32 noundef %1252, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1255, ptr noundef %1257, ptr noundef %1259, i32 noundef %1260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1262:                                             ; preds = %1233
  %1263 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %1021, ptr noundef nonnull dereferenceable(1) @.str.27) #12
  %1264 = load i32, ptr @test_count, align 4, !tbaa !5
  %1265 = add nsw i32 %1264, 1
  store i32 %1265, ptr @test_count, align 4, !tbaa !5
  %1266 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %926, ptr noundef nonnull %1020) #12
  %1267 = icmp eq i32 %1266, -1
  br i1 %1267, label %1268, label %1292

1268:                                             ; preds = %1262
  %1269 = tail call ptr @__errno_location() #13
  %1270 = load i32, ptr %1269, align 4, !tbaa !5
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = call i32 @s2n_print_stacktrace(ptr noundef %1271) #12
  %1273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1274 = trunc nuw i8 %1273 to i1
  br i1 %1274, label %1275, label %1279

1275:                                             ; preds = %1268
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1277 = call i32 @fileno(ptr noundef %1276) #12
  %1278 = call i32 @isatty(i32 noundef %1277) #12
  %.not1169 = icmp eq i32 %1278, 0
  br i1 %.not1169, label %1279, label %1280

1279:                                             ; preds = %1275, %1268
  br label %1280

1280:                                             ; preds = %1275, %1279
  %.str.5.sink1685 = phi ptr [ @.str.5, %1279 ], [ @.str.2, %1275 ]
  store i32 %1270, ptr %1269, align 4, !tbaa !5
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call ptr @s2n_strerror(i32 noundef %1284, ptr noundef nonnull @.str.4) #12
  %1286 = load i32, ptr %1283, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror_debug(i32 noundef %1286, ptr noundef nonnull @.str.4) #12
  %1288 = load i32, ptr %1269, align 4, !tbaa !5
  %1289 = call ptr @strerror(i32 noundef %1288) #12
  %1290 = load i32, ptr %1269, align 4, !tbaa !5
  %1291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1281, ptr noundef nonnull %.str.5.sink1685, i32 noundef %1282, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1285, ptr noundef %1287, ptr noundef %1289, i32 noundef %1290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1292:                                             ; preds = %1262
  %1293 = load i32, ptr @test_count, align 4, !tbaa !5
  %1294 = add nsw i32 %1293, 1
  store i32 %1294, ptr @test_count, align 4, !tbaa !5
  %1295 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1020, i32 noundef 81) #12
  %1296 = icmp eq i32 %1295, -1
  br i1 %1296, label %1297, label %1321

1297:                                             ; preds = %1292
  %1298 = tail call ptr @__errno_location() #13
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @s2n_print_stacktrace(ptr noundef %1300) #12
  %1302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1303 = trunc nuw i8 %1302 to i1
  br i1 %1303, label %1304, label %1308

1304:                                             ; preds = %1297
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = call i32 @fileno(ptr noundef %1305) #12
  %1307 = call i32 @isatty(i32 noundef %1306) #12
  %.not1168 = icmp eq i32 %1307, 0
  br i1 %.not1168, label %1308, label %1309

1308:                                             ; preds = %1304, %1297
  br label %1309

1309:                                             ; preds = %1304, %1308
  %.str.5.sink1696 = phi ptr [ @.str.5, %1308 ], [ @.str.2, %1304 ]
  store i32 %1299, ptr %1298, align 4, !tbaa !5
  %1310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1311 = load i32, ptr @test_count, align 4, !tbaa !5
  %1312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1313 = load i32, ptr %1312, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef nonnull @.str.4) #12
  %1315 = load i32, ptr %1312, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef nonnull @.str.4) #12
  %1317 = load i32, ptr %1298, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #12
  %1319 = load i32, ptr %1298, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1310, ptr noundef nonnull %.str.5.sink1696, i32 noundef %1311, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1314, ptr noundef %1316, ptr noundef %1318, i32 noundef %1319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1321:                                             ; preds = %1292
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = add nsw i32 %1322, 1
  store i32 %1323, ptr @test_count, align 4, !tbaa !5
  %1324 = load i32, ptr %1088, align 4, !tbaa !15
  %1325 = load i32, ptr %1090, align 8, !tbaa !18
  %1326 = icmp eq i32 %1324, %1325
  br i1 %1326, label %1351, label %1327

1327:                                             ; preds = %1321
  %1328 = tail call ptr @__errno_location() #13
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @s2n_print_stacktrace(ptr noundef %1330) #12
  %1332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1333 = trunc nuw i8 %1332 to i1
  br i1 %1333, label %1334, label %1338

1334:                                             ; preds = %1327
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = call i32 @fileno(ptr noundef %1335) #12
  %1337 = call i32 @isatty(i32 noundef %1336) #12
  %.not938 = icmp eq i32 %1337, 0
  br i1 %.not938, label %1338, label %1339

1338:                                             ; preds = %1334, %1327
  br label %1339

1339:                                             ; preds = %1334, %1338
  %.str.5.sink1707 = phi ptr [ @.str.5, %1338 ], [ @.str.2, %1334 ]
  store i32 %1329, ptr %1328, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror(i32 noundef %1343, ptr noundef nonnull @.str.4) #12
  %1345 = load i32, ptr %1342, align 4, !tbaa !5
  %1346 = call ptr @s2n_strerror_debug(i32 noundef %1345, ptr noundef nonnull @.str.4) #12
  %1347 = load i32, ptr %1328, align 4, !tbaa !5
  %1348 = call ptr @strerror(i32 noundef %1347) #12
  %1349 = load i32, ptr %1328, align 4, !tbaa !5
  %1350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef nonnull %.str.5.sink1707, i32 noundef %1341, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1344, ptr noundef %1346, ptr noundef %1348, i32 noundef %1349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1351:                                             ; preds = %1321
  %1352 = add nsw i32 %1322, 2
  store i32 %1352, ptr @test_count, align 4, !tbaa !5
  %1353 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %1354 = icmp eq i32 %1353, -1
  br i1 %1354, label %1355, label %1379

1355:                                             ; preds = %1351
  %1356 = tail call ptr @__errno_location() #13
  %1357 = load i32, ptr %1356, align 4, !tbaa !5
  %1358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1359 = call i32 @s2n_print_stacktrace(ptr noundef %1358) #12
  %1360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1361 = trunc nuw i8 %1360 to i1
  br i1 %1361, label %1362, label %1366

1362:                                             ; preds = %1355
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = call i32 @fileno(ptr noundef %1363) #12
  %1365 = call i32 @isatty(i32 noundef %1364) #12
  %.not1167 = icmp eq i32 %1365, 0
  br i1 %.not1167, label %1366, label %1367

1366:                                             ; preds = %1362, %1355
  br label %1367

1367:                                             ; preds = %1362, %1366
  %.str.5.sink1718 = phi ptr [ @.str.5, %1366 ], [ @.str.2, %1362 ]
  store i32 %1357, ptr %1356, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = load i32, ptr @test_count, align 4, !tbaa !5
  %1370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1371 = load i32, ptr %1370, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror(i32 noundef %1371, ptr noundef nonnull @.str.4) #12
  %1373 = load i32, ptr %1370, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror_debug(i32 noundef %1373, ptr noundef nonnull @.str.4) #12
  %1375 = load i32, ptr %1356, align 4, !tbaa !5
  %1376 = call ptr @strerror(i32 noundef %1375) #12
  %1377 = load i32, ptr %1356, align 4, !tbaa !5
  %1378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1368, ptr noundef nonnull %.str.5.sink1718, i32 noundef %1369, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1372, ptr noundef %1374, ptr noundef %1376, i32 noundef %1377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1379:                                             ; preds = %1351
  %1380 = load i32, ptr @test_count, align 4, !tbaa !5
  %1381 = add nsw i32 %1380, 1
  store i32 %1381, ptr @test_count, align 4, !tbaa !5
  %1382 = call i32 @s2n_connection_free(ptr noundef nonnull %926) #12
  %1383 = icmp eq i32 %1382, -1
  br i1 %1383, label %1384, label %1408

1384:                                             ; preds = %1379
  %1385 = tail call ptr @__errno_location() #13
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @s2n_print_stacktrace(ptr noundef %1387) #12
  %1389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1390 = trunc nuw i8 %1389 to i1
  br i1 %1390, label %1391, label %1395

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

1395:                                             ; preds = %1391, %1384
  br label %1396

1396:                                             ; preds = %1391, %1395
  %.str.5.sink1729 = phi ptr [ @.str.5, %1395 ], [ @.str.2, %1391 ]
  store i32 %1386, ptr %1385, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = load i32, ptr @test_count, align 4, !tbaa !5
  %1399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call ptr @s2n_strerror(i32 noundef %1400, ptr noundef nonnull @.str.4) #12
  %1402 = load i32, ptr %1399, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror_debug(i32 noundef %1402, ptr noundef nonnull @.str.4) #12
  %1404 = load i32, ptr %1385, align 4, !tbaa !5
  %1405 = call ptr @strerror(i32 noundef %1404) #12
  %1406 = load i32, ptr %1385, align 4, !tbaa !5
  %1407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1397, ptr noundef nonnull %.str.5.sink1729, i32 noundef %1398, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1401, ptr noundef %1403, ptr noundef %1405, i32 noundef %1406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1408:                                             ; preds = %1379
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #12
  %1409 = load i32, ptr @test_count, align 4, !tbaa !5
  %1410 = add nsw i32 %1409, 1
  store i32 %1410, ptr @test_count, align 4, !tbaa !5
  %1411 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1412 = icmp eq ptr %1411, null
  br i1 %1412, label %1413, label %1437

1413:                                             ; preds = %1408
  %1414 = tail call ptr @__errno_location() #13
  %1415 = load i32, ptr %1414, align 4, !tbaa !5
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = call i32 @s2n_print_stacktrace(ptr noundef %1416) #12
  %1418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1419 = trunc nuw i8 %1418 to i1
  br i1 %1419, label %1420, label %1424

1420:                                             ; preds = %1413
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = call i32 @fileno(ptr noundef %1421) #12
  %1423 = call i32 @isatty(i32 noundef %1422) #12
  %.not1165 = icmp eq i32 %1423, 0
  br i1 %.not1165, label %1424, label %1425

1424:                                             ; preds = %1420, %1413
  br label %1425

1425:                                             ; preds = %1420, %1424
  %.str.5.sink1740 = phi ptr [ @.str.5, %1424 ], [ @.str.2, %1420 ]
  store i32 %1415, ptr %1414, align 4, !tbaa !5
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = load i32, ptr @test_count, align 4, !tbaa !5
  %1428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call ptr @s2n_strerror(i32 noundef %1429, ptr noundef nonnull @.str.4) #12
  %1431 = load i32, ptr %1428, align 4, !tbaa !5
  %1432 = call ptr @s2n_strerror_debug(i32 noundef %1431, ptr noundef nonnull @.str.4) #12
  %1433 = load i32, ptr %1414, align 4, !tbaa !5
  %1434 = call ptr @strerror(i32 noundef %1433) #12
  %1435 = load i32, ptr %1414, align 4, !tbaa !5
  %1436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1426, ptr noundef nonnull %.str.5.sink1740, i32 noundef %1427, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1430, ptr noundef %1432, ptr noundef %1434, i32 noundef %1435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1437:                                             ; preds = %1408
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #12
  store i8 0, ptr %6, align 1, !tbaa !19
  %1438 = load i32, ptr @test_count, align 4, !tbaa !5
  %1439 = add nsw i32 %1438, 1
  store i32 %1439, ptr @test_count, align 4, !tbaa !5
  %1440 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 1, ptr noundef nonnull %6) #12
  %1441 = icmp eq i32 %1440, -1
  br i1 %1441, label %1442, label %1466

1442:                                             ; preds = %1437
  %1443 = tail call ptr @__errno_location() #13
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @s2n_print_stacktrace(ptr noundef %1445) #12
  %1447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1448 = trunc nuw i8 %1447 to i1
  br i1 %1448, label %1449, label %1453

1449:                                             ; preds = %1442
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = call i32 @fileno(ptr noundef %1450) #12
  %1452 = call i32 @isatty(i32 noundef %1451) #12
  %.not1164 = icmp eq i32 %1452, 0
  br i1 %.not1164, label %1453, label %1454

1453:                                             ; preds = %1449, %1442
  br label %1454

1454:                                             ; preds = %1449, %1453
  %.str.5.sink1751 = phi ptr [ @.str.5, %1453 ], [ @.str.2, %1449 ]
  store i32 %1444, ptr %1443, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef nonnull @.str.4) #12
  %1460 = load i32, ptr %1457, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror_debug(i32 noundef %1460, ptr noundef nonnull @.str.4) #12
  %1462 = load i32, ptr %1443, align 4, !tbaa !5
  %1463 = call ptr @strerror(i32 noundef %1462) #12
  %1464 = load i32, ptr %1443, align 4, !tbaa !5
  %1465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef nonnull %.str.5.sink1751, i32 noundef %1456, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1459, ptr noundef %1461, ptr noundef %1463, i32 noundef %1464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1466:                                             ; preds = %1437
  %1467 = load i8, ptr %6, align 1, !tbaa !19
  %1468 = and i8 %1467, 7
  %1469 = shl nuw i8 1, %1468
  %1470 = getelementptr inbounds i8, ptr %1411, i64 102
  %1471 = lshr i8 %1467, 3
  %1472 = zext nneg i8 %1471 to i64
  %1473 = getelementptr inbounds [22 x i8], ptr %1470, i64 0, i64 %1472
  %1474 = load i8, ptr %1473, align 1, !tbaa !19
  %1475 = or i8 %1469, %1474
  store i8 %1475, ptr %1473, align 1, !tbaa !19
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = add nsw i32 %1476, 1
  store i32 %1477, ptr @test_count, align 4, !tbaa !5
  %1478 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1411, ptr noundef nonnull %178) #12
  %1479 = icmp eq i32 %1478, -1
  br i1 %1479, label %1480, label %1504

1480:                                             ; preds = %1466
  %1481 = tail call ptr @__errno_location() #13
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1484 = call i32 @s2n_print_stacktrace(ptr noundef %1483) #12
  %1485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1486 = trunc nuw i8 %1485 to i1
  br i1 %1486, label %1487, label %1491

1487:                                             ; preds = %1480
  %1488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1489 = call i32 @fileno(ptr noundef %1488) #12
  %1490 = call i32 @isatty(i32 noundef %1489) #12
  %.not1163 = icmp eq i32 %1490, 0
  br i1 %.not1163, label %1491, label %1492

1491:                                             ; preds = %1487, %1480
  br label %1492

1492:                                             ; preds = %1487, %1491
  %.str.5.sink1762 = phi ptr [ @.str.5, %1491 ], [ @.str.2, %1487 ]
  store i32 %1482, ptr %1481, align 4, !tbaa !5
  %1493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = call ptr @s2n_strerror(i32 noundef %1496, ptr noundef nonnull @.str.4) #12
  %1498 = load i32, ptr %1495, align 4, !tbaa !5
  %1499 = call ptr @s2n_strerror_debug(i32 noundef %1498, ptr noundef nonnull @.str.4) #12
  %1500 = load i32, ptr %1481, align 4, !tbaa !5
  %1501 = call ptr @strerror(i32 noundef %1500) #12
  %1502 = load i32, ptr %1481, align 4, !tbaa !5
  %1503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1493, ptr noundef nonnull %.str.5.sink1762, i32 noundef %1494, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1497, ptr noundef %1499, ptr noundef %1501, i32 noundef %1502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1504:                                             ; preds = %1466
  %1505 = getelementptr inbounds i8, ptr %1411, i64 2016
  %1506 = getelementptr inbounds i8, ptr %1411, i64 2232
  store i8 0, ptr %1506, align 8, !tbaa !20
  %1507 = load i32, ptr @test_count, align 4, !tbaa !5
  %1508 = add nsw i32 %1507, 1
  store i32 %1508, ptr @test_count, align 4, !tbaa !5
  %1509 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %1411, ptr noundef nonnull %1505) #12
  %1510 = icmp eq i32 %1509, -1
  br i1 %1510, label %1511, label %1535

1511:                                             ; preds = %1504
  %1512 = tail call ptr @__errno_location() #13
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = call i32 @s2n_print_stacktrace(ptr noundef %1514) #12
  %1516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1517 = trunc nuw i8 %1516 to i1
  br i1 %1517, label %1518, label %1522

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

1522:                                             ; preds = %1518, %1511
  br label %1523

1523:                                             ; preds = %1518, %1522
  %.str.5.sink1773 = phi ptr [ @.str.5, %1522 ], [ @.str.2, %1518 ]
  store i32 %1513, ptr %1512, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror(i32 noundef %1527, ptr noundef nonnull @.str.4) #12
  %1529 = load i32, ptr %1526, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror_debug(i32 noundef %1529, ptr noundef nonnull @.str.4) #12
  %1531 = load i32, ptr %1512, align 4, !tbaa !5
  %1532 = call ptr @strerror(i32 noundef %1531) #12
  %1533 = load i32, ptr %1512, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1524, ptr noundef nonnull %.str.5.sink1773, i32 noundef %1525, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %1528, ptr noundef %1530, ptr noundef %1532, i32 noundef %1533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1535:                                             ; preds = %1504
  %1536 = load i32, ptr @test_count, align 4, !tbaa !5
  %1537 = add nsw i32 %1536, 1
  store i32 %1537, ptr @test_count, align 4, !tbaa !5
  %1538 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1505, i32 noundef 0) #12
  %1539 = icmp eq i32 %1538, -1
  br i1 %1539, label %1540, label %1564

1540:                                             ; preds = %1535
  %1541 = tail call ptr @__errno_location() #13
  %1542 = load i32, ptr %1541, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @s2n_print_stacktrace(ptr noundef %1543) #12
  %1545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1546 = trunc nuw i8 %1545 to i1
  br i1 %1546, label %1547, label %1551

1547:                                             ; preds = %1540
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @fileno(ptr noundef %1548) #12
  %1550 = call i32 @isatty(i32 noundef %1549) #12
  %.not1161 = icmp eq i32 %1550, 0
  br i1 %.not1161, label %1551, label %1552

1551:                                             ; preds = %1547, %1540
  br label %1552

1552:                                             ; preds = %1547, %1551
  %.str.5.sink1784 = phi ptr [ @.str.5, %1551 ], [ @.str.2, %1547 ]
  store i32 %1542, ptr %1541, align 4, !tbaa !5
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1556 = load i32, ptr %1555, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror(i32 noundef %1556, ptr noundef nonnull @.str.4) #12
  %1558 = load i32, ptr %1555, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef nonnull @.str.4) #12
  %1560 = load i32, ptr %1541, align 4, !tbaa !5
  %1561 = call ptr @strerror(i32 noundef %1560) #12
  %1562 = load i32, ptr %1541, align 4, !tbaa !5
  %1563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1553, ptr noundef nonnull %.str.5.sink1784, i32 noundef %1554, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1557, ptr noundef %1559, ptr noundef %1561, i32 noundef %1562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1564:                                             ; preds = %1535
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = add nsw i32 %1565, 1
  store i32 %1566, ptr @test_count, align 4, !tbaa !5
  %1567 = getelementptr inbounds i8, ptr %1411, i64 2044
  %1568 = load i32, ptr %1567, align 4, !tbaa !15
  %1569 = getelementptr inbounds i8, ptr %1411, i64 2040
  %1570 = load i32, ptr %1569, align 8, !tbaa !18
  %1571 = icmp eq i32 %1568, %1570
  br i1 %1571, label %1596, label %1572

1572:                                             ; preds = %1564
  %1573 = tail call ptr @__errno_location() #13
  %1574 = load i32, ptr %1573, align 4, !tbaa !5
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = call i32 @s2n_print_stacktrace(ptr noundef %1575) #12
  %1577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1578 = trunc nuw i8 %1577 to i1
  br i1 %1578, label %1579, label %1583

1579:                                             ; preds = %1572
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = call i32 @fileno(ptr noundef %1580) #12
  %1582 = call i32 @isatty(i32 noundef %1581) #12
  %.not939 = icmp eq i32 %1582, 0
  br i1 %.not939, label %1583, label %1584

1583:                                             ; preds = %1579, %1572
  br label %1584

1584:                                             ; preds = %1579, %1583
  %.str.5.sink1795 = phi ptr [ @.str.5, %1583 ], [ @.str.2, %1579 ]
  store i32 %1574, ptr %1573, align 4, !tbaa !5
  %1585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1586 = load i32, ptr @test_count, align 4, !tbaa !5
  %1587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror(i32 noundef %1588, ptr noundef nonnull @.str.4) #12
  %1590 = load i32, ptr %1587, align 4, !tbaa !5
  %1591 = call ptr @s2n_strerror_debug(i32 noundef %1590, ptr noundef nonnull @.str.4) #12
  %1592 = load i32, ptr %1573, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #12
  %1594 = load i32, ptr %1573, align 4, !tbaa !5
  %1595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1585, ptr noundef nonnull %.str.5.sink1795, i32 noundef %1586, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1589, ptr noundef %1591, ptr noundef %1593, i32 noundef %1594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1596:                                             ; preds = %1564
  store i8 2, ptr %1506, align 8, !tbaa !20
  %1597 = add nsw i32 %1565, 2
  store i32 %1597, ptr @test_count, align 4, !tbaa !5
  %1598 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %1411, ptr noundef nonnull %1505) #12
  %1599 = icmp eq i32 %1598, -1
  br i1 %1599, label %1600, label %1624

1600:                                             ; preds = %1596
  %1601 = tail call ptr @__errno_location() #13
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = call i32 @s2n_print_stacktrace(ptr noundef %1603) #12
  %1605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1606 = trunc nuw i8 %1605 to i1
  br i1 %1606, label %1607, label %1611

1607:                                             ; preds = %1600
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = call i32 @fileno(ptr noundef %1608) #12
  %1610 = call i32 @isatty(i32 noundef %1609) #12
  %.not1160 = icmp eq i32 %1610, 0
  br i1 %.not1160, label %1611, label %1612

1611:                                             ; preds = %1607, %1600
  br label %1612

1612:                                             ; preds = %1607, %1611
  %.str.5.sink1806 = phi ptr [ @.str.5, %1611 ], [ @.str.2, %1607 ]
  store i32 %1602, ptr %1601, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = load i32, ptr @test_count, align 4, !tbaa !5
  %1615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror(i32 noundef %1616, ptr noundef nonnull @.str.4) #12
  %1618 = load i32, ptr %1615, align 4, !tbaa !5
  %1619 = call ptr @s2n_strerror_debug(i32 noundef %1618, ptr noundef nonnull @.str.4) #12
  %1620 = load i32, ptr %1601, align 4, !tbaa !5
  %1621 = call ptr @strerror(i32 noundef %1620) #12
  %1622 = load i32, ptr %1601, align 4, !tbaa !5
  %1623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1613, ptr noundef nonnull %.str.5.sink1806, i32 noundef %1614, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1617, ptr noundef %1619, ptr noundef %1621, i32 noundef %1622) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1624:                                             ; preds = %1596
  %1625 = load i32, ptr @test_count, align 4, !tbaa !5
  %1626 = add nsw i32 %1625, 1
  store i32 %1626, ptr @test_count, align 4, !tbaa !5
  %1627 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1505, i32 noundef 7) #12
  %1628 = icmp eq i32 %1627, -1
  br i1 %1628, label %1629, label %1653

1629:                                             ; preds = %1624
  %1630 = tail call ptr @__errno_location() #13
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @s2n_print_stacktrace(ptr noundef %1632) #12
  %1634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1635 = trunc nuw i8 %1634 to i1
  br i1 %1635, label %1636, label %1640

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

1640:                                             ; preds = %1636, %1629
  br label %1641

1641:                                             ; preds = %1636, %1640
  %.str.5.sink1817 = phi ptr [ @.str.5, %1640 ], [ @.str.2, %1636 ]
  store i32 %1631, ptr %1630, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror(i32 noundef %1645, ptr noundef nonnull @.str.4) #12
  %1647 = load i32, ptr %1644, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror_debug(i32 noundef %1647, ptr noundef nonnull @.str.4) #12
  %1649 = load i32, ptr %1630, align 4, !tbaa !5
  %1650 = call ptr @strerror(i32 noundef %1649) #12
  %1651 = load i32, ptr %1630, align 4, !tbaa !5
  %1652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1642, ptr noundef nonnull %.str.5.sink1817, i32 noundef %1643, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1646, ptr noundef %1648, ptr noundef %1650, i32 noundef %1651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1653:                                             ; preds = %1624
  %1654 = load i32, ptr @test_count, align 4, !tbaa !5
  %1655 = add nsw i32 %1654, 1
  store i32 %1655, ptr @test_count, align 4, !tbaa !5
  %1656 = load i32, ptr %1567, align 4, !tbaa !15
  %1657 = load i32, ptr %1569, align 8, !tbaa !18
  %1658 = icmp eq i32 %1656, %1657
  br i1 %1658, label %1683, label %1659

1659:                                             ; preds = %1653
  %1660 = tail call ptr @__errno_location() #13
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = call i32 @s2n_print_stacktrace(ptr noundef %1662) #12
  %1664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1665 = trunc nuw i8 %1664 to i1
  br i1 %1665, label %1666, label %1670

1666:                                             ; preds = %1659
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @fileno(ptr noundef %1667) #12
  %1669 = call i32 @isatty(i32 noundef %1668) #12
  %.not940 = icmp eq i32 %1669, 0
  br i1 %.not940, label %1670, label %1671

1670:                                             ; preds = %1666, %1659
  br label %1671

1671:                                             ; preds = %1666, %1670
  %.str.5.sink1828 = phi ptr [ @.str.5, %1670 ], [ @.str.2, %1666 ]
  store i32 %1661, ptr %1660, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = load i32, ptr @test_count, align 4, !tbaa !5
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror(i32 noundef %1675, ptr noundef nonnull @.str.4) #12
  %1677 = load i32, ptr %1674, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror_debug(i32 noundef %1677, ptr noundef nonnull @.str.4) #12
  %1679 = load i32, ptr %1660, align 4, !tbaa !5
  %1680 = call ptr @strerror(i32 noundef %1679) #12
  %1681 = load i32, ptr %1660, align 4, !tbaa !5
  %1682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1672, ptr noundef nonnull %.str.5.sink1828, i32 noundef %1673, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1676, ptr noundef %1678, ptr noundef %1680, i32 noundef %1681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1683:                                             ; preds = %1653
  %1684 = add nsw i32 %1654, 2
  store i32 %1684, ptr @test_count, align 4, !tbaa !5
  %1685 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %1686 = icmp eq i32 %1685, -1
  br i1 %1686, label %1687, label %1711

1687:                                             ; preds = %1683
  %1688 = tail call ptr @__errno_location() #13
  %1689 = load i32, ptr %1688, align 4, !tbaa !5
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = call i32 @s2n_print_stacktrace(ptr noundef %1690) #12
  %1692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1693 = trunc nuw i8 %1692 to i1
  br i1 %1693, label %1694, label %1698

1694:                                             ; preds = %1687
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @fileno(ptr noundef %1695) #12
  %1697 = call i32 @isatty(i32 noundef %1696) #12
  %.not1158 = icmp eq i32 %1697, 0
  br i1 %.not1158, label %1698, label %1699

1698:                                             ; preds = %1694, %1687
  br label %1699

1699:                                             ; preds = %1694, %1698
  %.str.5.sink1839 = phi ptr [ @.str.5, %1698 ], [ @.str.2, %1694 ]
  store i32 %1689, ptr %1688, align 4, !tbaa !5
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = load i32, ptr @test_count, align 4, !tbaa !5
  %1702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1703 = load i32, ptr %1702, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror(i32 noundef %1703, ptr noundef nonnull @.str.4) #12
  %1705 = load i32, ptr %1702, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror_debug(i32 noundef %1705, ptr noundef nonnull @.str.4) #12
  %1707 = load i32, ptr %1688, align 4, !tbaa !5
  %1708 = call ptr @strerror(i32 noundef %1707) #12
  %1709 = load i32, ptr %1688, align 4, !tbaa !5
  %1710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1700, ptr noundef nonnull %.str.5.sink1839, i32 noundef %1701, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1704, ptr noundef %1706, ptr noundef %1708, i32 noundef %1709) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1711:                                             ; preds = %1683
  %1712 = load i32, ptr @test_count, align 4, !tbaa !5
  %1713 = add nsw i32 %1712, 1
  store i32 %1713, ptr @test_count, align 4, !tbaa !5
  %1714 = call i32 @configure_tls13_connection(ptr noundef nonnull %1411)
  %1715 = icmp eq i32 %1714, -1
  br i1 %1715, label %1716, label %1740

1716:                                             ; preds = %1711
  %1717 = tail call ptr @__errno_location() #13
  %1718 = load i32, ptr %1717, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = call i32 @s2n_print_stacktrace(ptr noundef %1719) #12
  %1721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1722 = trunc nuw i8 %1721 to i1
  br i1 %1722, label %1723, label %1727

1723:                                             ; preds = %1716
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = call i32 @fileno(ptr noundef %1724) #12
  %1726 = call i32 @isatty(i32 noundef %1725) #12
  %.not1157 = icmp eq i32 %1726, 0
  br i1 %.not1157, label %1727, label %1728

1727:                                             ; preds = %1723, %1716
  br label %1728

1728:                                             ; preds = %1723, %1727
  %.str.5.sink1850 = phi ptr [ @.str.5, %1727 ], [ @.str.2, %1723 ]
  store i32 %1718, ptr %1717, align 4, !tbaa !5
  %1729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1732 = load i32, ptr %1731, align 4, !tbaa !5
  %1733 = call ptr @s2n_strerror(i32 noundef %1732, ptr noundef nonnull @.str.4) #12
  %1734 = load i32, ptr %1731, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror_debug(i32 noundef %1734, ptr noundef nonnull @.str.4) #12
  %1736 = load i32, ptr %1717, align 4, !tbaa !5
  %1737 = call ptr @strerror(i32 noundef %1736) #12
  %1738 = load i32, ptr %1717, align 4, !tbaa !5
  %1739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1729, ptr noundef nonnull %.str.5.sink1850, i32 noundef %1730, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1733, ptr noundef %1735, ptr noundef %1737, i32 noundef %1738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1740:                                             ; preds = %1711
  %1741 = load i32, ptr @test_count, align 4, !tbaa !5
  %1742 = add nsw i32 %1741, 1
  store i32 %1742, ptr @test_count, align 4, !tbaa !5
  %1743 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %1411, ptr noundef nonnull %1505) #12
  %1744 = icmp eq i32 %1743, -1
  br i1 %1744, label %1745, label %1769

1745:                                             ; preds = %1740
  %1746 = tail call ptr @__errno_location() #13
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @s2n_print_stacktrace(ptr noundef %1748) #12
  %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 = %1745
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = call i32 @fileno(ptr noundef %1753) #12
  %1755 = call i32 @isatty(i32 noundef %1754) #12
  %.not1156 = icmp eq i32 %1755, 0
  br i1 %.not1156, label %1756, label %1757

1756:                                             ; preds = %1752, %1745
  br label %1757

1757:                                             ; preds = %1752, %1756
  %.str.5.sink1861 = phi ptr [ @.str.5, %1756 ], [ @.str.2, %1752 ]
  store i32 %1747, ptr %1746, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror(i32 noundef %1761, ptr noundef nonnull @.str.4) #12
  %1763 = load i32, ptr %1760, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror_debug(i32 noundef %1763, ptr noundef nonnull @.str.4) #12
  %1765 = load i32, ptr %1746, align 4, !tbaa !5
  %1766 = call ptr @strerror(i32 noundef %1765) #12
  %1767 = load i32, ptr %1746, align 4, !tbaa !5
  %1768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1758, ptr noundef nonnull %.str.5.sink1861, i32 noundef %1759, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %1762, ptr noundef %1764, ptr noundef %1766, i32 noundef %1767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1769:                                             ; preds = %1740
  %1770 = load i32, ptr @test_count, align 4, !tbaa !5
  %1771 = add nsw i32 %1770, 1
  store i32 %1771, ptr @test_count, align 4, !tbaa !5
  %1772 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1505, i32 noundef 81) #12
  %1773 = icmp eq i32 %1772, -1
  br i1 %1773, label %1774, label %1798

1774:                                             ; preds = %1769
  %1775 = tail call ptr @__errno_location() #13
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = call i32 @s2n_print_stacktrace(ptr noundef %1777) #12
  %1779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1780 = trunc nuw i8 %1779 to i1
  br i1 %1780, label %1781, label %1785

1781:                                             ; preds = %1774
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = call i32 @fileno(ptr noundef %1782) #12
  %1784 = call i32 @isatty(i32 noundef %1783) #12
  %.not1155 = icmp eq i32 %1784, 0
  br i1 %.not1155, label %1785, label %1786

1785:                                             ; preds = %1781, %1774
  br label %1786

1786:                                             ; preds = %1781, %1785
  %.str.5.sink1872 = phi ptr [ @.str.5, %1785 ], [ @.str.2, %1781 ]
  store i32 %1776, ptr %1775, align 4, !tbaa !5
  %1787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1788 = load i32, ptr @test_count, align 4, !tbaa !5
  %1789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror(i32 noundef %1790, ptr noundef nonnull @.str.4) #12
  %1792 = load i32, ptr %1789, align 4, !tbaa !5
  %1793 = call ptr @s2n_strerror_debug(i32 noundef %1792, ptr noundef nonnull @.str.4) #12
  %1794 = load i32, ptr %1775, align 4, !tbaa !5
  %1795 = call ptr @strerror(i32 noundef %1794) #12
  %1796 = load i32, ptr %1775, align 4, !tbaa !5
  %1797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1787, ptr noundef nonnull %.str.5.sink1872, i32 noundef %1788, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1791, ptr noundef %1793, ptr noundef %1795, i32 noundef %1796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1798:                                             ; preds = %1769
  %1799 = load i32, ptr @test_count, align 4, !tbaa !5
  %1800 = add nsw i32 %1799, 1
  store i32 %1800, ptr @test_count, align 4, !tbaa !5
  %1801 = load i32, ptr %1567, align 4, !tbaa !15
  %1802 = load i32, ptr %1569, align 8, !tbaa !18
  %1803 = icmp eq i32 %1801, %1802
  br i1 %1803, label %1828, label %1804

1804:                                             ; preds = %1798
  %1805 = tail call ptr @__errno_location() #13
  %1806 = load i32, ptr %1805, align 4, !tbaa !5
  %1807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1808 = call i32 @s2n_print_stacktrace(ptr noundef %1807) #12
  %1809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1810 = trunc nuw i8 %1809 to i1
  br i1 %1810, label %1811, label %1815

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

1815:                                             ; preds = %1811, %1804
  br label %1816

1816:                                             ; preds = %1811, %1815
  %.str.5.sink1883 = phi ptr [ @.str.5, %1815 ], [ @.str.2, %1811 ]
  store i32 %1806, ptr %1805, align 4, !tbaa !5
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = load i32, ptr @test_count, align 4, !tbaa !5
  %1819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1820 = load i32, ptr %1819, align 4, !tbaa !5
  %1821 = call ptr @s2n_strerror(i32 noundef %1820, ptr noundef nonnull @.str.4) #12
  %1822 = load i32, ptr %1819, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror_debug(i32 noundef %1822, ptr noundef nonnull @.str.4) #12
  %1824 = load i32, ptr %1805, align 4, !tbaa !5
  %1825 = call ptr @strerror(i32 noundef %1824) #12
  %1826 = load i32, ptr %1805, align 4, !tbaa !5
  %1827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1817, ptr noundef nonnull %.str.5.sink1883, i32 noundef %1818, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1821, ptr noundef %1823, ptr noundef %1825, i32 noundef %1826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1828:                                             ; preds = %1798
  %1829 = add nsw i32 %1799, 2
  store i32 %1829, ptr @test_count, align 4, !tbaa !5
  %1830 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %1831 = icmp eq i32 %1830, -1
  br i1 %1831, label %1832, label %1856

1832:                                             ; preds = %1828
  %1833 = tail call ptr @__errno_location() #13
  %1834 = load i32, ptr %1833, align 4, !tbaa !5
  %1835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1836 = call i32 @s2n_print_stacktrace(ptr noundef %1835) #12
  %1837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1838 = trunc nuw i8 %1837 to i1
  br i1 %1838, label %1839, label %1843

1839:                                             ; preds = %1832
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = call i32 @fileno(ptr noundef %1840) #12
  %1842 = call i32 @isatty(i32 noundef %1841) #12
  %.not1154 = icmp eq i32 %1842, 0
  br i1 %.not1154, label %1843, label %1844

1843:                                             ; preds = %1839, %1832
  br label %1844

1844:                                             ; preds = %1839, %1843
  %.str.5.sink1894 = phi ptr [ @.str.5, %1843 ], [ @.str.2, %1839 ]
  store i32 %1834, ptr %1833, align 4, !tbaa !5
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1848, ptr noundef nonnull @.str.4) #12
  %1850 = load i32, ptr %1847, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror_debug(i32 noundef %1850, ptr noundef nonnull @.str.4) #12
  %1852 = load i32, ptr %1833, align 4, !tbaa !5
  %1853 = call ptr @strerror(i32 noundef %1852) #12
  %1854 = load i32, ptr %1833, align 4, !tbaa !5
  %1855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1845, ptr noundef nonnull %.str.5.sink1894, i32 noundef %1846, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1849, ptr noundef %1851, ptr noundef %1853, i32 noundef %1854) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1856:                                             ; preds = %1828
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = add nsw i32 %1857, 1
  store i32 %1858, ptr @test_count, align 4, !tbaa !5
  %1859 = call i32 @s2n_connection_free(ptr noundef nonnull %1411) #12
  %1860 = icmp eq i32 %1859, -1
  br i1 %1860, label %1861, label %1885

1861:                                             ; preds = %1856
  %1862 = tail call ptr @__errno_location() #13
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = call i32 @s2n_print_stacktrace(ptr noundef %1864) #12
  %1866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1867 = trunc nuw i8 %1866 to i1
  br i1 %1867, label %1868, label %1872

1868:                                             ; preds = %1861
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @fileno(ptr noundef %1869) #12
  %1871 = call i32 @isatty(i32 noundef %1870) #12
  %.not1153 = icmp eq i32 %1871, 0
  br i1 %.not1153, label %1872, label %1873

1872:                                             ; preds = %1868, %1861
  br label %1873

1873:                                             ; preds = %1868, %1872
  %.str.5.sink1905 = phi ptr [ @.str.5, %1872 ], [ @.str.2, %1868 ]
  store i32 %1863, ptr %1862, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call ptr @s2n_strerror(i32 noundef %1877, ptr noundef nonnull @.str.4) #12
  %1879 = load i32, ptr %1876, align 4, !tbaa !5
  %1880 = call ptr @s2n_strerror_debug(i32 noundef %1879, ptr noundef nonnull @.str.4) #12
  %1881 = load i32, ptr %1862, align 4, !tbaa !5
  %1882 = call ptr @strerror(i32 noundef %1881) #12
  %1883 = load i32, ptr %1862, align 4, !tbaa !5
  %1884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1874, ptr noundef nonnull %.str.5.sink1905, i32 noundef %1875, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1878, ptr noundef %1880, ptr noundef %1882, i32 noundef %1883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1885:                                             ; preds = %1856
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #12
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = add nsw i32 %1886, 1
  store i32 %1887, ptr @test_count, align 4, !tbaa !5
  %1888 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1889 = icmp eq ptr %1888, null
  br i1 %1889, label %1890, label %1914

1890:                                             ; preds = %1885
  %1891 = tail call ptr @__errno_location() #13
  %1892 = load i32, ptr %1891, align 4, !tbaa !5
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = call i32 @s2n_print_stacktrace(ptr noundef %1893) #12
  %1895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1896 = trunc nuw i8 %1895 to i1
  br i1 %1896, label %1897, label %1901

1897:                                             ; preds = %1890
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = call i32 @fileno(ptr noundef %1898) #12
  %1900 = call i32 @isatty(i32 noundef %1899) #12
  %.not1152 = icmp eq i32 %1900, 0
  br i1 %.not1152, label %1901, label %1902

1901:                                             ; preds = %1897, %1890
  br label %1902

1902:                                             ; preds = %1897, %1901
  %.str.5.sink1916 = phi ptr [ @.str.5, %1901 ], [ @.str.2, %1897 ]
  store i32 %1892, ptr %1891, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror(i32 noundef %1906, ptr noundef nonnull @.str.4) #12
  %1908 = load i32, ptr %1905, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror_debug(i32 noundef %1908, ptr noundef nonnull @.str.4) #12
  %1910 = load i32, ptr %1891, align 4, !tbaa !5
  %1911 = call ptr @strerror(i32 noundef %1910) #12
  %1912 = load i32, ptr %1891, align 4, !tbaa !5
  %1913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef nonnull %.str.5.sink1916, i32 noundef %1904, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %1907, ptr noundef %1909, ptr noundef %1911, i32 noundef %1912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1914:                                             ; preds = %1885
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #12
  store i8 0, ptr %7, align 1, !tbaa !19
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = add nsw i32 %1915, 1
  store i32 %1916, ptr @test_count, align 4, !tbaa !5
  %1917 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 18, ptr noundef nonnull %7) #12
  %1918 = icmp eq i32 %1917, -1
  br i1 %1918, label %1919, label %1943

1919:                                             ; preds = %1914
  %1920 = tail call ptr @__errno_location() #13
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = call i32 @s2n_print_stacktrace(ptr noundef %1922) #12
  %1924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1925 = trunc nuw i8 %1924 to i1
  br i1 %1925, label %1926, label %1930

1926:                                             ; preds = %1919
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = call i32 @fileno(ptr noundef %1927) #12
  %1929 = call i32 @isatty(i32 noundef %1928) #12
  %.not1151 = icmp eq i32 %1929, 0
  br i1 %.not1151, label %1930, label %1931

1930:                                             ; preds = %1926, %1919
  br label %1931

1931:                                             ; preds = %1926, %1930
  %.str.5.sink1927 = phi ptr [ @.str.5, %1930 ], [ @.str.2, %1926 ]
  store i32 %1921, ptr %1920, align 4, !tbaa !5
  %1932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1933 = load i32, ptr @test_count, align 4, !tbaa !5
  %1934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call ptr @s2n_strerror(i32 noundef %1935, ptr noundef nonnull @.str.4) #12
  %1937 = load i32, ptr %1934, align 4, !tbaa !5
  %1938 = call ptr @s2n_strerror_debug(i32 noundef %1937, ptr noundef nonnull @.str.4) #12
  %1939 = load i32, ptr %1920, align 4, !tbaa !5
  %1940 = call ptr @strerror(i32 noundef %1939) #12
  %1941 = load i32, ptr %1920, align 4, !tbaa !5
  %1942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1932, ptr noundef nonnull %.str.5.sink1927, i32 noundef %1933, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1936, ptr noundef %1938, ptr noundef %1940, i32 noundef %1941) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1943:                                             ; preds = %1914
  %1944 = load i8, ptr %7, align 1, !tbaa !19
  %1945 = and i8 %1944, 7
  %1946 = shl nuw i8 1, %1945
  %1947 = getelementptr inbounds i8, ptr %1888, i64 102
  %1948 = lshr i8 %1944, 3
  %1949 = zext nneg i8 %1948 to i64
  %1950 = getelementptr inbounds [22 x i8], ptr %1947, i64 0, i64 %1949
  %1951 = load i8, ptr %1950, align 1, !tbaa !19
  %1952 = or i8 %1946, %1951
  store i8 %1952, ptr %1950, align 1, !tbaa !19
  %1953 = load i32, ptr @test_count, align 4, !tbaa !5
  %1954 = add nsw i32 %1953, 1
  store i32 %1954, ptr @test_count, align 4, !tbaa !5
  %1955 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1888, ptr noundef nonnull %178) #12
  %1956 = icmp eq i32 %1955, -1
  br i1 %1956, label %1957, label %1981

1957:                                             ; preds = %1943
  %1958 = tail call ptr @__errno_location() #13
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1961 = call i32 @s2n_print_stacktrace(ptr noundef %1960) #12
  %1962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1963 = trunc nuw i8 %1962 to i1
  br i1 %1963, label %1964, label %1968

1964:                                             ; preds = %1957
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @fileno(ptr noundef %1965) #12
  %1967 = call i32 @isatty(i32 noundef %1966) #12
  %.not1150 = icmp eq i32 %1967, 0
  br i1 %.not1150, label %1968, label %1969

1968:                                             ; preds = %1964, %1957
  br label %1969

1969:                                             ; preds = %1964, %1968
  %.str.5.sink1938 = phi ptr [ @.str.5, %1968 ], [ @.str.2, %1964 ]
  store i32 %1959, ptr %1958, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef nonnull @.str.4) #12
  %1975 = load i32, ptr %1972, align 4, !tbaa !5
  %1976 = call ptr @s2n_strerror_debug(i32 noundef %1975, ptr noundef nonnull @.str.4) #12
  %1977 = load i32, ptr %1958, align 4, !tbaa !5
  %1978 = call ptr @strerror(i32 noundef %1977) #12
  %1979 = load i32, ptr %1958, align 4, !tbaa !5
  %1980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef nonnull %.str.5.sink1938, i32 noundef %1971, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1974, ptr noundef %1976, ptr noundef %1978, i32 noundef %1979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1981:                                             ; preds = %1943
  %1982 = getelementptr inbounds i8, ptr %1888, i64 2016
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %8, i8 0, i64 88, i1 false)
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = add nsw i32 %1983, 1
  store i32 %1984, ptr @test_count, align 4, !tbaa !5
  %1985 = getelementptr inbounds i8, ptr %8, i64 40
  %1986 = call i32 @s2n_blob_init(ptr noundef nonnull %1985, ptr noundef nonnull @main.sct_list, i32 noundef 3) #12
  %1987 = icmp eq i32 %1986, -1
  br i1 %1987, label %1988, label %2012

1988:                                             ; preds = %1981
  %1989 = tail call ptr @__errno_location() #13
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @s2n_print_stacktrace(ptr noundef %1991) #12
  %1993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1994 = trunc nuw i8 %1993 to i1
  br i1 %1994, label %1995, label %1999

1995:                                             ; preds = %1988
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = call i32 @fileno(ptr noundef %1996) #12
  %1998 = call i32 @isatty(i32 noundef %1997) #12
  %.not1149 = icmp eq i32 %1998, 0
  br i1 %.not1149, label %1999, label %2000

1999:                                             ; preds = %1995, %1988
  br label %2000

2000:                                             ; preds = %1995, %1999
  %.str.5.sink1949 = phi ptr [ @.str.5, %1999 ], [ @.str.2, %1995 ]
  store i32 %1990, ptr %1989, align 4, !tbaa !5
  %2001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2002 = load i32, ptr @test_count, align 4, !tbaa !5
  %2003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call ptr @s2n_strerror(i32 noundef %2004, ptr noundef nonnull @.str.4) #12
  %2006 = load i32, ptr %2003, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror_debug(i32 noundef %2006, ptr noundef nonnull @.str.4) #12
  %2008 = load i32, ptr %1989, align 4, !tbaa !5
  %2009 = call ptr @strerror(i32 noundef %2008) #12
  %2010 = load i32, ptr %1989, align 4, !tbaa !5
  %2011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2001, ptr noundef nonnull %.str.5.sink1949, i32 noundef %2002, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2005, ptr noundef %2007, ptr noundef %2009, i32 noundef %2010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2012:                                             ; preds = %1981
  %2013 = getelementptr inbounds i8, ptr %1888, i64 2816
  store i32 1, ptr %2013, align 8, !tbaa !45
  %2014 = getelementptr inbounds i8, ptr %1888, i64 1544
  store ptr %8, ptr %2014, align 8, !tbaa !46
  %2015 = load i32, ptr @test_count, align 4, !tbaa !5
  %2016 = add nsw i32 %2015, 1
  store i32 %2016, ptr @test_count, align 4, !tbaa !5
  %2017 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %1888, ptr noundef nonnull %1982) #12
  %2018 = icmp eq i32 %2017, -1
  br i1 %2018, label %2019, label %2043

2019:                                             ; preds = %2012
  %2020 = tail call ptr @__errno_location() #13
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2023 = call i32 @s2n_print_stacktrace(ptr noundef %2022) #12
  %2024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2025 = trunc nuw i8 %2024 to i1
  br i1 %2025, label %2026, label %2030

2026:                                             ; preds = %2019
  %2027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2028 = call i32 @fileno(ptr noundef %2027) #12
  %2029 = call i32 @isatty(i32 noundef %2028) #12
  %.not1148 = icmp eq i32 %2029, 0
  br i1 %.not1148, label %2030, label %2031

2030:                                             ; preds = %2026, %2019
  br label %2031

2031:                                             ; preds = %2026, %2030
  %.str.5.sink1960 = phi ptr [ @.str.5, %2030 ], [ @.str.2, %2026 ]
  store i32 %2021, ptr %2020, align 4, !tbaa !5
  %2032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2033 = load i32, ptr @test_count, align 4, !tbaa !5
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror(i32 noundef %2035, ptr noundef nonnull @.str.4) #12
  %2037 = load i32, ptr %2034, align 4, !tbaa !5
  %2038 = call ptr @s2n_strerror_debug(i32 noundef %2037, ptr noundef nonnull @.str.4) #12
  %2039 = load i32, ptr %2020, align 4, !tbaa !5
  %2040 = call ptr @strerror(i32 noundef %2039) #12
  %2041 = load i32, ptr %2020, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2032, ptr noundef nonnull %.str.5.sink1960, i32 noundef %2033, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2036, ptr noundef %2038, ptr noundef %2040, i32 noundef %2041) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2043:                                             ; preds = %2012
  %2044 = load i32, ptr @test_count, align 4, !tbaa !5
  %2045 = add nsw i32 %2044, 1
  store i32 %2045, ptr @test_count, align 4, !tbaa !5
  %2046 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1982, i32 noundef 9) #12
  %2047 = icmp eq i32 %2046, -1
  br i1 %2047, label %2048, label %2072

2048:                                             ; preds = %2043
  %2049 = tail call ptr @__errno_location() #13
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = call i32 @s2n_print_stacktrace(ptr noundef %2051) #12
  %2053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2054 = trunc nuw i8 %2053 to i1
  br i1 %2054, label %2055, label %2059

2055:                                             ; preds = %2048
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = call i32 @fileno(ptr noundef %2056) #12
  %2058 = call i32 @isatty(i32 noundef %2057) #12
  %.not1147 = icmp eq i32 %2058, 0
  br i1 %.not1147, label %2059, label %2060

2059:                                             ; preds = %2055, %2048
  br label %2060

2060:                                             ; preds = %2055, %2059
  %.str.5.sink1971 = phi ptr [ @.str.5, %2059 ], [ @.str.2, %2055 ]
  store i32 %2050, ptr %2049, align 4, !tbaa !5
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2064, ptr noundef nonnull @.str.4) #12
  %2066 = load i32, ptr %2063, align 4, !tbaa !5
  %2067 = call ptr @s2n_strerror_debug(i32 noundef %2066, ptr noundef nonnull @.str.4) #12
  %2068 = load i32, ptr %2049, align 4, !tbaa !5
  %2069 = call ptr @strerror(i32 noundef %2068) #12
  %2070 = load i32, ptr %2049, align 4, !tbaa !5
  %2071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2061, ptr noundef nonnull %.str.5.sink1971, i32 noundef %2062, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2065, ptr noundef %2067, ptr noundef %2069, i32 noundef %2070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2072:                                             ; preds = %2043
  %2073 = load i32, ptr @test_count, align 4, !tbaa !5
  %2074 = add nsw i32 %2073, 1
  store i32 %2074, ptr @test_count, align 4, !tbaa !5
  %2075 = getelementptr inbounds i8, ptr %1888, i64 2044
  %2076 = load i32, ptr %2075, align 4, !tbaa !15
  %2077 = getelementptr inbounds i8, ptr %1888, i64 2040
  %2078 = load i32, ptr %2077, align 8, !tbaa !18
  %2079 = icmp eq i32 %2076, %2078
  br i1 %2079, label %2104, label %2080

2080:                                             ; preds = %2072
  %2081 = tail call ptr @__errno_location() #13
  %2082 = load i32, ptr %2081, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = call i32 @s2n_print_stacktrace(ptr noundef %2083) #12
  %2085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2086 = trunc nuw i8 %2085 to i1
  br i1 %2086, label %2087, label %2091

2087:                                             ; preds = %2080
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = call i32 @fileno(ptr noundef %2088) #12
  %2090 = call i32 @isatty(i32 noundef %2089) #12
  %.not942 = icmp eq i32 %2090, 0
  br i1 %.not942, label %2091, label %2092

2091:                                             ; preds = %2087, %2080
  br label %2092

2092:                                             ; preds = %2087, %2091
  %.str.5.sink1982 = phi ptr [ @.str.5, %2091 ], [ @.str.2, %2087 ]
  store i32 %2082, ptr %2081, align 4, !tbaa !5
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2096 = load i32, ptr %2095, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror(i32 noundef %2096, ptr noundef nonnull @.str.4) #12
  %2098 = load i32, ptr %2095, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef nonnull @.str.4) #12
  %2100 = load i32, ptr %2081, align 4, !tbaa !5
  %2101 = call ptr @strerror(i32 noundef %2100) #12
  %2102 = load i32, ptr %2081, align 4, !tbaa !5
  %2103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2093, ptr noundef nonnull %.str.5.sink1982, i32 noundef %2094, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2097, ptr noundef %2099, ptr noundef %2101, i32 noundef %2102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2104:                                             ; preds = %2072
  %2105 = add nsw i32 %2073, 2
  store i32 %2105, ptr @test_count, align 4, !tbaa !5
  %2106 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %2107 = icmp eq i32 %2106, -1
  br i1 %2107, label %2108, label %2132

2108:                                             ; preds = %2104
  %2109 = tail call ptr @__errno_location() #13
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = call i32 @s2n_print_stacktrace(ptr noundef %2111) #12
  %2113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2114 = trunc nuw i8 %2113 to i1
  br i1 %2114, label %2115, label %2119

2115:                                             ; preds = %2108
  %2116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2117 = call i32 @fileno(ptr noundef %2116) #12
  %2118 = call i32 @isatty(i32 noundef %2117) #12
  %.not1146 = icmp eq i32 %2118, 0
  br i1 %.not1146, label %2119, label %2120

2119:                                             ; preds = %2115, %2108
  br label %2120

2120:                                             ; preds = %2115, %2119
  %.str.5.sink1993 = phi ptr [ @.str.5, %2119 ], [ @.str.2, %2115 ]
  store i32 %2110, ptr %2109, align 4, !tbaa !5
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = load i32, ptr @test_count, align 4, !tbaa !5
  %2123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror(i32 noundef %2124, ptr noundef nonnull @.str.4) #12
  %2126 = load i32, ptr %2123, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror_debug(i32 noundef %2126, ptr noundef nonnull @.str.4) #12
  %2128 = load i32, ptr %2109, align 4, !tbaa !5
  %2129 = call ptr @strerror(i32 noundef %2128) #12
  %2130 = load i32, ptr %2109, align 4, !tbaa !5
  %2131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2121, ptr noundef nonnull %.str.5.sink1993, i32 noundef %2122, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2125, ptr noundef %2127, ptr noundef %2129, i32 noundef %2130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2132:                                             ; preds = %2104
  %2133 = load i32, ptr @test_count, align 4, !tbaa !5
  %2134 = add nsw i32 %2133, 1
  store i32 %2134, ptr @test_count, align 4, !tbaa !5
  %2135 = call i32 @configure_tls13_connection(ptr noundef nonnull %1888)
  %2136 = icmp eq i32 %2135, -1
  br i1 %2136, label %2137, label %2161

2137:                                             ; preds = %2132
  %2138 = tail call ptr @__errno_location() #13
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @s2n_print_stacktrace(ptr noundef %2140) #12
  %2142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2143 = trunc nuw i8 %2142 to i1
  br i1 %2143, label %2144, label %2148

2144:                                             ; preds = %2137
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @fileno(ptr noundef %2145) #12
  %2147 = call i32 @isatty(i32 noundef %2146) #12
  %.not1145 = icmp eq i32 %2147, 0
  br i1 %.not1145, label %2148, label %2149

2148:                                             ; preds = %2144, %2137
  br label %2149

2149:                                             ; preds = %2144, %2148
  %.str.5.sink2004 = phi ptr [ @.str.5, %2148 ], [ @.str.2, %2144 ]
  store i32 %2139, ptr %2138, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror(i32 noundef %2153, ptr noundef nonnull @.str.4) #12
  %2155 = load i32, ptr %2152, align 4, !tbaa !5
  %2156 = call ptr @s2n_strerror_debug(i32 noundef %2155, ptr noundef nonnull @.str.4) #12
  %2157 = load i32, ptr %2138, align 4, !tbaa !5
  %2158 = call ptr @strerror(i32 noundef %2157) #12
  %2159 = load i32, ptr %2138, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2150, ptr noundef nonnull %.str.5.sink2004, i32 noundef %2151, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %2154, ptr noundef %2156, ptr noundef %2158, i32 noundef %2159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2161:                                             ; preds = %2132
  %2162 = load i32, ptr @test_count, align 4, !tbaa !5
  %2163 = add nsw i32 %2162, 1
  store i32 %2163, ptr @test_count, align 4, !tbaa !5
  %2164 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %1888, ptr noundef nonnull %1982) #12
  %2165 = icmp eq i32 %2164, -1
  br i1 %2165, label %2166, label %2190

2166:                                             ; preds = %2161
  %2167 = tail call ptr @__errno_location() #13
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = call i32 @s2n_print_stacktrace(ptr noundef %2169) #12
  %2171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2172 = trunc nuw i8 %2171 to i1
  br i1 %2172, label %2173, label %2177

2173:                                             ; preds = %2166
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = call i32 @fileno(ptr noundef %2174) #12
  %2176 = call i32 @isatty(i32 noundef %2175) #12
  %.not1144 = icmp eq i32 %2176, 0
  br i1 %.not1144, label %2177, label %2178

2177:                                             ; preds = %2173, %2166
  br label %2178

2178:                                             ; preds = %2173, %2177
  %.str.5.sink2015 = phi ptr [ @.str.5, %2177 ], [ @.str.2, %2173 ]
  store i32 %2168, ptr %2167, align 4, !tbaa !5
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call ptr @s2n_strerror(i32 noundef %2182, ptr noundef nonnull @.str.4) #12
  %2184 = load i32, ptr %2181, align 4, !tbaa !5
  %2185 = call ptr @s2n_strerror_debug(i32 noundef %2184, ptr noundef nonnull @.str.4) #12
  %2186 = load i32, ptr %2167, align 4, !tbaa !5
  %2187 = call ptr @strerror(i32 noundef %2186) #12
  %2188 = load i32, ptr %2167, align 4, !tbaa !5
  %2189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2179, ptr noundef nonnull %.str.5.sink2015, i32 noundef %2180, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %2183, ptr noundef %2185, ptr noundef %2187, i32 noundef %2188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2190:                                             ; preds = %2161
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = add nsw i32 %2191, 1
  store i32 %2192, ptr @test_count, align 4, !tbaa !5
  %2193 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %1982, i32 noundef 81) #12
  %2194 = icmp eq i32 %2193, -1
  br i1 %2194, label %2195, label %2219

2195:                                             ; preds = %2190
  %2196 = tail call ptr @__errno_location() #13
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2199 = call i32 @s2n_print_stacktrace(ptr noundef %2198) #12
  %2200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2201 = trunc nuw i8 %2200 to i1
  br i1 %2201, label %2202, label %2206

2202:                                             ; preds = %2195
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @fileno(ptr noundef %2203) #12
  %2205 = call i32 @isatty(i32 noundef %2204) #12
  %.not1143 = icmp eq i32 %2205, 0
  br i1 %.not1143, label %2206, label %2207

2206:                                             ; preds = %2202, %2195
  br label %2207

2207:                                             ; preds = %2202, %2206
  %.str.5.sink2026 = phi ptr [ @.str.5, %2206 ], [ @.str.2, %2202 ]
  store i32 %2197, ptr %2196, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2211 = load i32, ptr %2210, align 4, !tbaa !5
  %2212 = call ptr @s2n_strerror(i32 noundef %2211, ptr noundef nonnull @.str.4) #12
  %2213 = load i32, ptr %2210, align 4, !tbaa !5
  %2214 = call ptr @s2n_strerror_debug(i32 noundef %2213, ptr noundef nonnull @.str.4) #12
  %2215 = load i32, ptr %2196, align 4, !tbaa !5
  %2216 = call ptr @strerror(i32 noundef %2215) #12
  %2217 = load i32, ptr %2196, align 4, !tbaa !5
  %2218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2208, ptr noundef nonnull %.str.5.sink2026, i32 noundef %2209, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %2212, ptr noundef %2214, ptr noundef %2216, i32 noundef %2217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2219:                                             ; preds = %2190
  %2220 = load i32, ptr @test_count, align 4, !tbaa !5
  %2221 = add nsw i32 %2220, 1
  store i32 %2221, ptr @test_count, align 4, !tbaa !5
  %2222 = load i32, ptr %2075, align 4, !tbaa !15
  %2223 = load i32, ptr %2077, align 8, !tbaa !18
  %2224 = icmp eq i32 %2222, %2223
  br i1 %2224, label %2249, label %2225

2225:                                             ; preds = %2219
  %2226 = tail call ptr @__errno_location() #13
  %2227 = load i32, ptr %2226, align 4, !tbaa !5
  %2228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2229 = call i32 @s2n_print_stacktrace(ptr noundef %2228) #12
  %2230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2231 = trunc nuw i8 %2230 to i1
  br i1 %2231, label %2232, label %2236

2232:                                             ; preds = %2225
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = call i32 @fileno(ptr noundef %2233) #12
  %2235 = call i32 @isatty(i32 noundef %2234) #12
  %.not943 = icmp eq i32 %2235, 0
  br i1 %.not943, label %2236, label %2237

2236:                                             ; preds = %2232, %2225
  br label %2237

2237:                                             ; preds = %2232, %2236
  %.str.5.sink2037 = phi ptr [ @.str.5, %2236 ], [ @.str.2, %2232 ]
  store i32 %2227, ptr %2226, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = load i32, ptr @test_count, align 4, !tbaa !5
  %2240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror(i32 noundef %2241, ptr noundef nonnull @.str.4) #12
  %2243 = load i32, ptr %2240, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror_debug(i32 noundef %2243, ptr noundef nonnull @.str.4) #12
  %2245 = load i32, ptr %2226, align 4, !tbaa !5
  %2246 = call ptr @strerror(i32 noundef %2245) #12
  %2247 = load i32, ptr %2226, align 4, !tbaa !5
  %2248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2238, ptr noundef nonnull %.str.5.sink2037, i32 noundef %2239, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %2242, ptr noundef %2244, ptr noundef %2246, i32 noundef %2247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2249:                                             ; preds = %2219
  %2250 = add nsw i32 %2220, 2
  store i32 %2250, ptr @test_count, align 4, !tbaa !5
  %2251 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %2252 = icmp eq i32 %2251, -1
  br i1 %2252, label %2253, label %2277

2253:                                             ; preds = %2249
  %2254 = tail call ptr @__errno_location() #13
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @s2n_print_stacktrace(ptr noundef %2256) #12
  %2258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2259 = trunc nuw i8 %2258 to i1
  br i1 %2259, label %2260, label %2264

2260:                                             ; preds = %2253
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = call i32 @fileno(ptr noundef %2261) #12
  %2263 = call i32 @isatty(i32 noundef %2262) #12
  %.not1142 = icmp eq i32 %2263, 0
  br i1 %.not1142, label %2264, label %2265

2264:                                             ; preds = %2260, %2253
  br label %2265

2265:                                             ; preds = %2260, %2264
  %.str.5.sink2048 = phi ptr [ @.str.5, %2264 ], [ @.str.2, %2260 ]
  store i32 %2255, ptr %2254, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = load i32, ptr @test_count, align 4, !tbaa !5
  %2268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2269 = load i32, ptr %2268, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror(i32 noundef %2269, ptr noundef nonnull @.str.4) #12
  %2271 = load i32, ptr %2268, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef nonnull @.str.4) #12
  %2273 = load i32, ptr %2254, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #12
  %2275 = load i32, ptr %2254, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2266, ptr noundef nonnull %.str.5.sink2048, i32 noundef %2267, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2270, ptr noundef %2272, ptr noundef %2274, i32 noundef %2275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2277:                                             ; preds = %2249
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = add nsw i32 %2278, 1
  store i32 %2279, ptr @test_count, align 4, !tbaa !5
  %2280 = call i32 @s2n_connection_free(ptr noundef nonnull %1888) #12
  %2281 = icmp eq i32 %2280, -1
  br i1 %2281, label %2282, label %2306

2282:                                             ; preds = %2277
  %2283 = tail call ptr @__errno_location() #13
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @s2n_print_stacktrace(ptr noundef %2285) #12
  %2287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2288 = trunc nuw i8 %2287 to i1
  br i1 %2288, label %2289, label %2293

2289:                                             ; preds = %2282
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2291 = call i32 @fileno(ptr noundef %2290) #12
  %2292 = call i32 @isatty(i32 noundef %2291) #12
  %.not1141 = icmp eq i32 %2292, 0
  br i1 %.not1141, label %2293, label %2294

2293:                                             ; preds = %2289, %2282
  br label %2294

2294:                                             ; preds = %2289, %2293
  %.str.5.sink2059 = phi ptr [ @.str.5, %2293 ], [ @.str.2, %2289 ]
  store i32 %2284, ptr %2283, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef nonnull @.str.4) #12
  %2300 = load i32, ptr %2297, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef nonnull @.str.4) #12
  %2302 = load i32, ptr %2283, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #12
  %2304 = load i32, ptr %2283, align 4, !tbaa !5
  %2305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef nonnull %.str.5.sink2059, i32 noundef %2296, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2299, ptr noundef %2301, ptr noundef %2303, i32 noundef %2304) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2306:                                             ; preds = %2277
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = add nsw i32 %2307, 1
  store i32 %2308, ptr @test_count, align 4, !tbaa !5
  %2309 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2310 = icmp eq ptr %2309, null
  br i1 %2310, label %2311, label %2335

2311:                                             ; preds = %2306
  %2312 = tail call ptr @__errno_location() #13
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @s2n_print_stacktrace(ptr noundef %2314) #12
  %2316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2317 = trunc nuw i8 %2316 to i1
  br i1 %2317, label %2318, label %2322

2318:                                             ; preds = %2311
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @fileno(ptr noundef %2319) #12
  %2321 = call i32 @isatty(i32 noundef %2320) #12
  %.not1140 = icmp eq i32 %2321, 0
  br i1 %.not1140, label %2322, label %2323

2322:                                             ; preds = %2318, %2311
  br label %2323

2323:                                             ; preds = %2318, %2322
  %.str.5.sink2070 = phi ptr [ @.str.5, %2322 ], [ @.str.2, %2318 ]
  store i32 %2313, ptr %2312, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror(i32 noundef %2327, ptr noundef nonnull @.str.4) #12
  %2329 = load i32, ptr %2326, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror_debug(i32 noundef %2329, ptr noundef nonnull @.str.4) #12
  %2331 = load i32, ptr %2312, align 4, !tbaa !5
  %2332 = call ptr @strerror(i32 noundef %2331) #12
  %2333 = load i32, ptr %2312, align 4, !tbaa !5
  %2334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2324, ptr noundef nonnull %.str.5.sink2070, i32 noundef %2325, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2328, ptr noundef %2330, ptr noundef %2332, i32 noundef %2333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2335:                                             ; preds = %2306
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #12
  store i8 0, ptr %9, align 1, !tbaa !19
  %2336 = load i32, ptr @test_count, align 4, !tbaa !5
  %2337 = add nsw i32 %2336, 1
  store i32 %2337, ptr @test_count, align 4, !tbaa !5
  %2338 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 5, ptr noundef nonnull %9) #12
  %2339 = icmp eq i32 %2338, -1
  br i1 %2339, label %2340, label %2364

2340:                                             ; preds = %2335
  %2341 = tail call ptr @__errno_location() #13
  %2342 = load i32, ptr %2341, align 4, !tbaa !5
  %2343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2344 = call i32 @s2n_print_stacktrace(ptr noundef %2343) #12
  %2345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2346 = trunc nuw i8 %2345 to i1
  br i1 %2346, label %2347, label %2351

2347:                                             ; preds = %2340
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = call i32 @fileno(ptr noundef %2348) #12
  %2350 = call i32 @isatty(i32 noundef %2349) #12
  %.not1139 = icmp eq i32 %2350, 0
  br i1 %.not1139, label %2351, label %2352

2351:                                             ; preds = %2347, %2340
  br label %2352

2352:                                             ; preds = %2347, %2351
  %.str.5.sink2081 = phi ptr [ @.str.5, %2351 ], [ @.str.2, %2347 ]
  store i32 %2342, ptr %2341, align 4, !tbaa !5
  %2353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2354 = load i32, ptr @test_count, align 4, !tbaa !5
  %2355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror(i32 noundef %2356, ptr noundef nonnull @.str.4) #12
  %2358 = load i32, ptr %2355, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror_debug(i32 noundef %2358, ptr noundef nonnull @.str.4) #12
  %2360 = load i32, ptr %2341, align 4, !tbaa !5
  %2361 = call ptr @strerror(i32 noundef %2360) #12
  %2362 = load i32, ptr %2341, align 4, !tbaa !5
  %2363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2353, ptr noundef nonnull %.str.5.sink2081, i32 noundef %2354, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %2357, ptr noundef %2359, ptr noundef %2361, i32 noundef %2362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2364:                                             ; preds = %2335
  %2365 = load i8, ptr %9, align 1, !tbaa !19
  %2366 = and i8 %2365, 7
  %2367 = shl nuw i8 1, %2366
  %2368 = getelementptr inbounds i8, ptr %2309, i64 102
  %2369 = lshr i8 %2365, 3
  %2370 = zext nneg i8 %2369 to i64
  %2371 = getelementptr inbounds [22 x i8], ptr %2368, i64 0, i64 %2370
  %2372 = load i8, ptr %2371, align 1, !tbaa !19
  %2373 = or i8 %2367, %2372
  store i8 %2373, ptr %2371, align 1, !tbaa !19
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = add nsw i32 %2374, 1
  store i32 %2375, ptr @test_count, align 4, !tbaa !5
  %2376 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2309, ptr noundef nonnull %178) #12
  %2377 = icmp eq i32 %2376, -1
  br i1 %2377, label %2378, label %2402

2378:                                             ; preds = %2364
  %2379 = tail call ptr @__errno_location() #13
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = call i32 @s2n_print_stacktrace(ptr noundef %2381) #12
  %2383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2384 = trunc nuw i8 %2383 to i1
  br i1 %2384, label %2385, label %2389

2385:                                             ; preds = %2378
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = call i32 @fileno(ptr noundef %2386) #12
  %2388 = call i32 @isatty(i32 noundef %2387) #12
  %.not1138 = icmp eq i32 %2388, 0
  br i1 %.not1138, label %2389, label %2390

2389:                                             ; preds = %2385, %2378
  br label %2390

2390:                                             ; preds = %2385, %2389
  %.str.5.sink2092 = phi ptr [ @.str.5, %2389 ], [ @.str.2, %2385 ]
  store i32 %2380, ptr %2379, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = load i32, ptr @test_count, align 4, !tbaa !5
  %2393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call ptr @s2n_strerror(i32 noundef %2394, ptr noundef nonnull @.str.4) #12
  %2396 = load i32, ptr %2393, align 4, !tbaa !5
  %2397 = call ptr @s2n_strerror_debug(i32 noundef %2396, ptr noundef nonnull @.str.4) #12
  %2398 = load i32, ptr %2379, align 4, !tbaa !5
  %2399 = call ptr @strerror(i32 noundef %2398) #12
  %2400 = load i32, ptr %2379, align 4, !tbaa !5
  %2401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2391, ptr noundef nonnull %.str.5.sink2092, i32 noundef %2392, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %2395, ptr noundef %2397, ptr noundef %2399, i32 noundef %2400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2402:                                             ; preds = %2364
  %2403 = getelementptr inbounds i8, ptr %2309, i64 2016
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %10) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %10, i8 0, i64 88, i1 false)
  %2404 = load i32, ptr @test_count, align 4, !tbaa !5
  %2405 = add nsw i32 %2404, 1
  store i32 %2405, ptr @test_count, align 4, !tbaa !5
  %2406 = getelementptr inbounds i8, ptr %10, i64 16
  %2407 = call i32 @s2n_blob_init(ptr noundef nonnull %2406, ptr noundef nonnull @main.fake_ocsp, i32 noundef 3) #12
  %2408 = icmp eq i32 %2407, -1
  br i1 %2408, label %2409, label %2433

2409:                                             ; preds = %2402
  %2410 = tail call ptr @__errno_location() #13
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = call i32 @s2n_print_stacktrace(ptr noundef %2412) #12
  %2414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2415 = trunc nuw i8 %2414 to i1
  br i1 %2415, label %2416, label %2420

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

2420:                                             ; preds = %2416, %2409
  br label %2421

2421:                                             ; preds = %2416, %2420
  %.str.5.sink2103 = phi ptr [ @.str.5, %2420 ], [ @.str.2, %2416 ]
  store i32 %2411, ptr %2410, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2425 = load i32, ptr %2424, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror(i32 noundef %2425, ptr noundef nonnull @.str.4) #12
  %2427 = load i32, ptr %2424, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror_debug(i32 noundef %2427, ptr noundef nonnull @.str.4) #12
  %2429 = load i32, ptr %2410, align 4, !tbaa !5
  %2430 = call ptr @strerror(i32 noundef %2429) #12
  %2431 = load i32, ptr %2410, align 4, !tbaa !5
  %2432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2422, ptr noundef nonnull %.str.5.sink2103, i32 noundef %2423, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2426, ptr noundef %2428, ptr noundef %2430, i32 noundef %2431) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2433:                                             ; preds = %2402
  %2434 = getelementptr inbounds i8, ptr %2309, i64 2784
  store i32 1, ptr %2434, align 8, !tbaa !47
  %2435 = getelementptr inbounds i8, ptr %2309, i64 1544
  store ptr %10, ptr %2435, align 8, !tbaa !46
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = add nsw i32 %2436, 1
  store i32 %2437, ptr @test_count, align 4, !tbaa !5
  %2438 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2309, ptr noundef nonnull %2403) #12
  %2439 = icmp eq i32 %2438, -1
  br i1 %2439, label %2440, label %2464

2440:                                             ; preds = %2433
  %2441 = tail call ptr @__errno_location() #13
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @s2n_print_stacktrace(ptr noundef %2443) #12
  %2445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2446 = trunc nuw i8 %2445 to i1
  br i1 %2446, label %2447, label %2451

2447:                                             ; preds = %2440
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = call i32 @fileno(ptr noundef %2448) #12
  %2450 = call i32 @isatty(i32 noundef %2449) #12
  %.not1136 = icmp eq i32 %2450, 0
  br i1 %.not1136, label %2451, label %2452

2451:                                             ; preds = %2447, %2440
  br label %2452

2452:                                             ; preds = %2447, %2451
  %.str.5.sink2114 = phi ptr [ @.str.5, %2451 ], [ @.str.2, %2447 ]
  store i32 %2442, ptr %2441, align 4, !tbaa !5
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = load i32, ptr @test_count, align 4, !tbaa !5
  %2455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror(i32 noundef %2456, ptr noundef nonnull @.str.4) #12
  %2458 = load i32, ptr %2455, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef nonnull @.str.4) #12
  %2460 = load i32, ptr %2441, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #12
  %2462 = load i32, ptr %2441, align 4, !tbaa !5
  %2463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2453, ptr noundef nonnull %.str.5.sink2114, i32 noundef %2454, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2457, ptr noundef %2459, ptr noundef %2461, i32 noundef %2462) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2464:                                             ; preds = %2433
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = add nsw i32 %2465, 1
  store i32 %2466, ptr @test_count, align 4, !tbaa !5
  %2467 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %2403, i32 noundef 6) #12
  %2468 = icmp eq i32 %2467, -1
  br i1 %2468, label %2469, label %2493

2469:                                             ; preds = %2464
  %2470 = tail call ptr @__errno_location() #13
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = call i32 @s2n_print_stacktrace(ptr noundef %2472) #12
  %2474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2475 = trunc nuw i8 %2474 to i1
  br i1 %2475, label %2476, label %2480

2476:                                             ; preds = %2469
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @fileno(ptr noundef %2477) #12
  %2479 = call i32 @isatty(i32 noundef %2478) #12
  %.not1135 = icmp eq i32 %2479, 0
  br i1 %.not1135, label %2480, label %2481

2480:                                             ; preds = %2476, %2469
  br label %2481

2481:                                             ; preds = %2476, %2480
  %.str.5.sink2125 = phi ptr [ @.str.5, %2480 ], [ @.str.2, %2476 ]
  store i32 %2471, ptr %2470, align 4, !tbaa !5
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = load i32, ptr @test_count, align 4, !tbaa !5
  %2484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2485 = load i32, ptr %2484, align 4, !tbaa !5
  %2486 = call ptr @s2n_strerror(i32 noundef %2485, ptr noundef nonnull @.str.4) #12
  %2487 = load i32, ptr %2484, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror_debug(i32 noundef %2487, ptr noundef nonnull @.str.4) #12
  %2489 = load i32, ptr %2470, align 4, !tbaa !5
  %2490 = call ptr @strerror(i32 noundef %2489) #12
  %2491 = load i32, ptr %2470, align 4, !tbaa !5
  %2492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2482, ptr noundef nonnull %.str.5.sink2125, i32 noundef %2483, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %2486, ptr noundef %2488, ptr noundef %2490, i32 noundef %2491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2493:                                             ; preds = %2464
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = add nsw i32 %2494, 1
  store i32 %2495, ptr @test_count, align 4, !tbaa !5
  %2496 = getelementptr inbounds i8, ptr %2309, i64 2044
  %2497 = load i32, ptr %2496, align 4, !tbaa !15
  %2498 = getelementptr inbounds i8, ptr %2309, i64 2040
  %2499 = load i32, ptr %2498, align 8, !tbaa !18
  %2500 = icmp eq i32 %2497, %2499
  br i1 %2500, label %2525, label %2501

2501:                                             ; preds = %2493
  %2502 = tail call ptr @__errno_location() #13
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = call i32 @s2n_print_stacktrace(ptr noundef %2504) #12
  %2506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2507 = trunc nuw i8 %2506 to i1
  br i1 %2507, label %2508, label %2512

2508:                                             ; preds = %2501
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = call i32 @fileno(ptr noundef %2509) #12
  %2511 = call i32 @isatty(i32 noundef %2510) #12
  %.not944 = icmp eq i32 %2511, 0
  br i1 %.not944, label %2512, label %2513

2512:                                             ; preds = %2508, %2501
  br label %2513

2513:                                             ; preds = %2508, %2512
  %.str.5.sink2136 = phi ptr [ @.str.5, %2512 ], [ @.str.2, %2508 ]
  store i32 %2503, ptr %2502, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef nonnull @.str.4) #12
  %2519 = load i32, ptr %2516, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror_debug(i32 noundef %2519, ptr noundef nonnull @.str.4) #12
  %2521 = load i32, ptr %2502, align 4, !tbaa !5
  %2522 = call ptr @strerror(i32 noundef %2521) #12
  %2523 = load i32, ptr %2502, align 4, !tbaa !5
  %2524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2514, ptr noundef nonnull %.str.5.sink2136, i32 noundef %2515, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %2518, ptr noundef %2520, ptr noundef %2522, i32 noundef %2523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2525:                                             ; preds = %2493
  %2526 = add nsw i32 %2494, 2
  store i32 %2526, ptr @test_count, align 4, !tbaa !5
  %2527 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %2528 = icmp eq i32 %2527, -1
  br i1 %2528, label %2529, label %2553

2529:                                             ; preds = %2525
  %2530 = tail call ptr @__errno_location() #13
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @s2n_print_stacktrace(ptr noundef %2532) #12
  %2534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2535 = trunc nuw i8 %2534 to i1
  br i1 %2535, label %2536, label %2540

2536:                                             ; preds = %2529
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @fileno(ptr noundef %2537) #12
  %2539 = call i32 @isatty(i32 noundef %2538) #12
  %.not1134 = icmp eq i32 %2539, 0
  br i1 %.not1134, label %2540, label %2541

2540:                                             ; preds = %2536, %2529
  br label %2541

2541:                                             ; preds = %2536, %2540
  %.str.5.sink2147 = phi ptr [ @.str.5, %2540 ], [ @.str.2, %2536 ]
  store i32 %2531, ptr %2530, align 4, !tbaa !5
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = load i32, ptr @test_count, align 4, !tbaa !5
  %2544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror(i32 noundef %2545, ptr noundef nonnull @.str.4) #12
  %2547 = load i32, ptr %2544, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror_debug(i32 noundef %2547, ptr noundef nonnull @.str.4) #12
  %2549 = load i32, ptr %2530, align 4, !tbaa !5
  %2550 = call ptr @strerror(i32 noundef %2549) #12
  %2551 = load i32, ptr %2530, align 4, !tbaa !5
  %2552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2542, ptr noundef nonnull %.str.5.sink2147, i32 noundef %2543, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2546, ptr noundef %2548, ptr noundef %2550, i32 noundef %2551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2553:                                             ; preds = %2525
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = add nsw i32 %2554, 1
  store i32 %2555, ptr @test_count, align 4, !tbaa !5
  %2556 = call i32 @configure_tls13_connection(ptr noundef nonnull %2309)
  %2557 = icmp eq i32 %2556, -1
  br i1 %2557, label %2558, label %2582

2558:                                             ; preds = %2553
  %2559 = tail call ptr @__errno_location() #13
  %2560 = load i32, ptr %2559, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @s2n_print_stacktrace(ptr noundef %2561) #12
  %2563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2564 = trunc nuw i8 %2563 to i1
  br i1 %2564, label %2565, label %2569

2565:                                             ; preds = %2558
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = call i32 @fileno(ptr noundef %2566) #12
  %2568 = call i32 @isatty(i32 noundef %2567) #12
  %.not1133 = icmp eq i32 %2568, 0
  br i1 %.not1133, label %2569, label %2570

2569:                                             ; preds = %2565, %2558
  br label %2570

2570:                                             ; preds = %2565, %2569
  %.str.5.sink2158 = phi ptr [ @.str.5, %2569 ], [ @.str.2, %2565 ]
  store i32 %2560, ptr %2559, align 4, !tbaa !5
  %2571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror(i32 noundef %2574, ptr noundef nonnull @.str.4) #12
  %2576 = load i32, ptr %2573, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef %2576, ptr noundef nonnull @.str.4) #12
  %2578 = load i32, ptr %2559, align 4, !tbaa !5
  %2579 = call ptr @strerror(i32 noundef %2578) #12
  %2580 = load i32, ptr %2559, align 4, !tbaa !5
  %2581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2571, ptr noundef nonnull %.str.5.sink2158, i32 noundef %2572, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2575, ptr noundef %2577, ptr noundef %2579, i32 noundef %2580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2582:                                             ; preds = %2553
  %2583 = load i32, ptr @test_count, align 4, !tbaa !5
  %2584 = add nsw i32 %2583, 1
  store i32 %2584, ptr @test_count, align 4, !tbaa !5
  %2585 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2309, ptr noundef nonnull %2403) #12
  %2586 = icmp eq i32 %2585, -1
  br i1 %2586, label %2587, label %2611

2587:                                             ; preds = %2582
  %2588 = tail call ptr @__errno_location() #13
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2591 = call i32 @s2n_print_stacktrace(ptr noundef %2590) #12
  %2592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2593 = trunc nuw i8 %2592 to i1
  br i1 %2593, label %2594, label %2598

2594:                                             ; preds = %2587
  %2595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2596 = call i32 @fileno(ptr noundef %2595) #12
  %2597 = call i32 @isatty(i32 noundef %2596) #12
  %.not1132 = icmp eq i32 %2597, 0
  br i1 %.not1132, label %2598, label %2599

2598:                                             ; preds = %2594, %2587
  br label %2599

2599:                                             ; preds = %2594, %2598
  %.str.5.sink2169 = phi ptr [ @.str.5, %2598 ], [ @.str.2, %2594 ]
  store i32 %2589, ptr %2588, align 4, !tbaa !5
  %2600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2601 = load i32, ptr @test_count, align 4, !tbaa !5
  %2602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2603 = load i32, ptr %2602, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.4) #12
  %2605 = load i32, ptr %2602, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.4) #12
  %2607 = load i32, ptr %2588, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #12
  %2609 = load i32, ptr %2588, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2600, ptr noundef nonnull %.str.5.sink2169, i32 noundef %2601, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2611:                                             ; preds = %2582
  %2612 = load i32, ptr @test_count, align 4, !tbaa !5
  %2613 = add nsw i32 %2612, 1
  store i32 %2613, ptr @test_count, align 4, !tbaa !5
  %2614 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %2403, i32 noundef 81) #12
  %2615 = icmp eq i32 %2614, -1
  br i1 %2615, label %2616, label %2640

2616:                                             ; preds = %2611
  %2617 = tail call ptr @__errno_location() #13
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @s2n_print_stacktrace(ptr noundef %2619) #12
  %2621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2622 = trunc nuw i8 %2621 to i1
  br i1 %2622, label %2623, label %2627

2623:                                             ; preds = %2616
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #12
  %2626 = call i32 @isatty(i32 noundef %2625) #12
  %.not1131 = icmp eq i32 %2626, 0
  br i1 %.not1131, label %2627, label %2628

2627:                                             ; preds = %2623, %2616
  br label %2628

2628:                                             ; preds = %2623, %2627
  %.str.5.sink2180 = phi ptr [ @.str.5, %2627 ], [ @.str.2, %2623 ]
  store i32 %2618, ptr %2617, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2632 = load i32, ptr %2631, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror(i32 noundef %2632, ptr noundef nonnull @.str.4) #12
  %2634 = load i32, ptr %2631, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror_debug(i32 noundef %2634, ptr noundef nonnull @.str.4) #12
  %2636 = load i32, ptr %2617, align 4, !tbaa !5
  %2637 = call ptr @strerror(i32 noundef %2636) #12
  %2638 = load i32, ptr %2617, align 4, !tbaa !5
  %2639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef nonnull %.str.5.sink2180, i32 noundef %2630, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2633, ptr noundef %2635, ptr noundef %2637, i32 noundef %2638) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2640:                                             ; preds = %2611
  %2641 = load i32, ptr @test_count, align 4, !tbaa !5
  %2642 = add nsw i32 %2641, 1
  store i32 %2642, ptr @test_count, align 4, !tbaa !5
  %2643 = load i32, ptr %2496, align 4, !tbaa !15
  %2644 = load i32, ptr %2498, align 8, !tbaa !18
  %2645 = icmp eq i32 %2643, %2644
  br i1 %2645, label %2670, label %2646

2646:                                             ; preds = %2640
  %2647 = tail call ptr @__errno_location() #13
  %2648 = load i32, ptr %2647, align 4, !tbaa !5
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = call i32 @s2n_print_stacktrace(ptr noundef %2649) #12
  %2651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2652 = trunc nuw i8 %2651 to i1
  br i1 %2652, label %2653, label %2657

2653:                                             ; preds = %2646
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = call i32 @fileno(ptr noundef %2654) #12
  %2656 = call i32 @isatty(i32 noundef %2655) #12
  %.not945 = icmp eq i32 %2656, 0
  br i1 %.not945, label %2657, label %2658

2657:                                             ; preds = %2653, %2646
  br label %2658

2658:                                             ; preds = %2653, %2657
  %.str.5.sink2191 = phi ptr [ @.str.5, %2657 ], [ @.str.2, %2653 ]
  store i32 %2648, ptr %2647, align 4, !tbaa !5
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2660 = load i32, ptr @test_count, align 4, !tbaa !5
  %2661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2662 = load i32, ptr %2661, align 4, !tbaa !5
  %2663 = call ptr @s2n_strerror(i32 noundef %2662, ptr noundef nonnull @.str.4) #12
  %2664 = load i32, ptr %2661, align 4, !tbaa !5
  %2665 = call ptr @s2n_strerror_debug(i32 noundef %2664, ptr noundef nonnull @.str.4) #12
  %2666 = load i32, ptr %2647, align 4, !tbaa !5
  %2667 = call ptr @strerror(i32 noundef %2666) #12
  %2668 = load i32, ptr %2647, align 4, !tbaa !5
  %2669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2659, ptr noundef nonnull %.str.5.sink2191, i32 noundef %2660, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2663, ptr noundef %2665, ptr noundef %2667, i32 noundef %2668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2670:                                             ; preds = %2640
  %2671 = add nsw i32 %2641, 2
  store i32 %2671, ptr @test_count, align 4, !tbaa !5
  %2672 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %2673 = icmp eq i32 %2672, -1
  br i1 %2673, label %2674, label %2698

2674:                                             ; preds = %2670
  %2675 = tail call ptr @__errno_location() #13
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @s2n_print_stacktrace(ptr noundef %2677) #12
  %2679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2680 = trunc nuw i8 %2679 to i1
  br i1 %2680, label %2681, label %2685

2681:                                             ; preds = %2674
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = call i32 @fileno(ptr noundef %2682) #12
  %2684 = call i32 @isatty(i32 noundef %2683) #12
  %.not1130 = icmp eq i32 %2684, 0
  br i1 %.not1130, label %2685, label %2686

2685:                                             ; preds = %2681, %2674
  br label %2686

2686:                                             ; preds = %2681, %2685
  %.str.5.sink2202 = phi ptr [ @.str.5, %2685 ], [ @.str.2, %2681 ]
  store i32 %2676, ptr %2675, align 4, !tbaa !5
  %2687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2688 = load i32, ptr @test_count, align 4, !tbaa !5
  %2689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2690 = load i32, ptr %2689, align 4, !tbaa !5
  %2691 = call ptr @s2n_strerror(i32 noundef %2690, ptr noundef nonnull @.str.4) #12
  %2692 = load i32, ptr %2689, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef %2692, ptr noundef nonnull @.str.4) #12
  %2694 = load i32, ptr %2675, align 4, !tbaa !5
  %2695 = call ptr @strerror(i32 noundef %2694) #12
  %2696 = load i32, ptr %2675, align 4, !tbaa !5
  %2697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2687, ptr noundef nonnull %.str.5.sink2202, i32 noundef %2688, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %2691, ptr noundef %2693, ptr noundef %2695, i32 noundef %2696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2698:                                             ; preds = %2670
  %2699 = load i32, ptr @test_count, align 4, !tbaa !5
  %2700 = add nsw i32 %2699, 1
  store i32 %2700, ptr @test_count, align 4, !tbaa !5
  %2701 = call i32 @s2n_connection_free(ptr noundef nonnull %2309) #12
  %2702 = icmp eq i32 %2701, -1
  br i1 %2702, label %2703, label %2727

2703:                                             ; preds = %2698
  %2704 = tail call ptr @__errno_location() #13
  %2705 = load i32, ptr %2704, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = call i32 @s2n_print_stacktrace(ptr noundef %2706) #12
  %2708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2709 = trunc nuw i8 %2708 to i1
  br i1 %2709, label %2710, label %2714

2710:                                             ; preds = %2703
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = call i32 @fileno(ptr noundef %2711) #12
  %2713 = call i32 @isatty(i32 noundef %2712) #12
  %.not1129 = icmp eq i32 %2713, 0
  br i1 %.not1129, label %2714, label %2715

2714:                                             ; preds = %2710, %2703
  br label %2715

2715:                                             ; preds = %2710, %2714
  %.str.5.sink2213 = phi ptr [ @.str.5, %2714 ], [ @.str.2, %2710 ]
  store i32 %2705, ptr %2704, align 4, !tbaa !5
  %2716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2719 = load i32, ptr %2718, align 4, !tbaa !5
  %2720 = call ptr @s2n_strerror(i32 noundef %2719, ptr noundef nonnull @.str.4) #12
  %2721 = load i32, ptr %2718, align 4, !tbaa !5
  %2722 = call ptr @s2n_strerror_debug(i32 noundef %2721, ptr noundef nonnull @.str.4) #12
  %2723 = load i32, ptr %2704, align 4, !tbaa !5
  %2724 = call ptr @strerror(i32 noundef %2723) #12
  %2725 = load i32, ptr %2704, align 4, !tbaa !5
  %2726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2716, ptr noundef nonnull %.str.5.sink2213, i32 noundef %2717, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2720, ptr noundef %2722, ptr noundef %2724, i32 noundef %2725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2727:                                             ; preds = %2698
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = add nsw i32 %2728, 1
  store i32 %2729, ptr @test_count, align 4, !tbaa !5
  %2730 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2731 = icmp eq ptr %2730, null
  br i1 %2731, label %2732, label %2756

2732:                                             ; preds = %2727
  %2733 = tail call ptr @__errno_location() #13
  %2734 = load i32, ptr %2733, align 4, !tbaa !5
  %2735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2736 = call i32 @s2n_print_stacktrace(ptr noundef %2735) #12
  %2737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2738 = trunc nuw i8 %2737 to i1
  br i1 %2738, label %2739, label %2743

2739:                                             ; preds = %2732
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = call i32 @fileno(ptr noundef %2740) #12
  %2742 = call i32 @isatty(i32 noundef %2741) #12
  %.not1128 = icmp eq i32 %2742, 0
  br i1 %.not1128, label %2743, label %2744

2743:                                             ; preds = %2739, %2732
  br label %2744

2744:                                             ; preds = %2739, %2743
  %.str.5.sink2224 = phi ptr [ @.str.5, %2743 ], [ @.str.2, %2739 ]
  store i32 %2734, ptr %2733, align 4, !tbaa !5
  %2745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror(i32 noundef %2748, ptr noundef nonnull @.str.4) #12
  %2750 = load i32, ptr %2747, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror_debug(i32 noundef %2750, ptr noundef nonnull @.str.4) #12
  %2752 = load i32, ptr %2733, align 4, !tbaa !5
  %2753 = call ptr @strerror(i32 noundef %2752) #12
  %2754 = load i32, ptr %2733, align 4, !tbaa !5
  %2755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2745, ptr noundef nonnull %.str.5.sink2224, i32 noundef %2746, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2749, ptr noundef %2751, ptr noundef %2753, i32 noundef %2754) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2756:                                             ; preds = %2727
  %2757 = load i32, ptr @test_count, align 4, !tbaa !5
  %2758 = add nsw i32 %2757, 1
  store i32 %2758, ptr @test_count, align 4, !tbaa !5
  %2759 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2730, ptr noundef nonnull %178) #12
  %2760 = icmp eq i32 %2759, -1
  br i1 %2760, label %2761, label %2785

2761:                                             ; preds = %2756
  %2762 = tail call ptr @__errno_location() #13
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = call i32 @s2n_print_stacktrace(ptr noundef %2764) #12
  %2766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2767 = trunc nuw i8 %2766 to i1
  br i1 %2767, label %2768, label %2772

2768:                                             ; preds = %2761
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = call i32 @fileno(ptr noundef %2769) #12
  %2771 = call i32 @isatty(i32 noundef %2770) #12
  %.not1127 = icmp eq i32 %2771, 0
  br i1 %.not1127, label %2772, label %2773

2772:                                             ; preds = %2768, %2761
  br label %2773

2773:                                             ; preds = %2768, %2772
  %.str.5.sink2235 = phi ptr [ @.str.5, %2772 ], [ @.str.2, %2768 ]
  store i32 %2763, ptr %2762, align 4, !tbaa !5
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = load i32, ptr @test_count, align 4, !tbaa !5
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @s2n_strerror(i32 noundef %2777, ptr noundef nonnull @.str.4) #12
  %2779 = load i32, ptr %2776, align 4, !tbaa !5
  %2780 = call ptr @s2n_strerror_debug(i32 noundef %2779, ptr noundef nonnull @.str.4) #12
  %2781 = load i32, ptr %2762, align 4, !tbaa !5
  %2782 = call ptr @strerror(i32 noundef %2781) #12
  %2783 = load i32, ptr %2762, align 4, !tbaa !5
  %2784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2774, ptr noundef nonnull %.str.5.sink2235, i32 noundef %2775, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2778, ptr noundef %2780, ptr noundef %2782, i32 noundef %2783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2785:                                             ; preds = %2756
  %2786 = getelementptr inbounds i8, ptr %2730, i64 2016
  %2787 = load i32, ptr %2730, align 8
  %2788 = or i32 %2787, 8
  store i32 %2788, ptr %2730, align 8
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = add nsw i32 %2789, 1
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2730, ptr noundef nonnull %2786) #12
  %2792 = icmp eq i32 %2791, -1
  br i1 %2792, label %2793, label %2817

2793:                                             ; preds = %2785
  %2794 = tail call ptr @__errno_location() #13
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @s2n_print_stacktrace(ptr noundef %2796) #12
  %2798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2799 = trunc nuw i8 %2798 to i1
  br i1 %2799, label %2800, label %2804

2800:                                             ; preds = %2793
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = call i32 @fileno(ptr noundef %2801) #12
  %2803 = call i32 @isatty(i32 noundef %2802) #12
  %.not1126 = icmp eq i32 %2803, 0
  br i1 %.not1126, label %2804, label %2805

2804:                                             ; preds = %2800, %2793
  br label %2805

2805:                                             ; preds = %2800, %2804
  %.str.5.sink2246 = phi ptr [ @.str.5, %2804 ], [ @.str.2, %2800 ]
  store i32 %2795, ptr %2794, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2809 = load i32, ptr %2808, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror(i32 noundef %2809, ptr noundef nonnull @.str.4) #12
  %2811 = load i32, ptr %2808, align 4, !tbaa !5
  %2812 = call ptr @s2n_strerror_debug(i32 noundef %2811, ptr noundef nonnull @.str.4) #12
  %2813 = load i32, ptr %2794, align 4, !tbaa !5
  %2814 = call ptr @strerror(i32 noundef %2813) #12
  %2815 = load i32, ptr %2794, align 4, !tbaa !5
  %2816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2806, ptr noundef nonnull %.str.5.sink2246, i32 noundef %2807, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2810, ptr noundef %2812, ptr noundef %2814, i32 noundef %2815) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2817:                                             ; preds = %2785
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = add nsw i32 %2818, 1
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %2820 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %2786, i32 noundef 7) #12
  %2821 = icmp eq i32 %2820, -1
  br i1 %2821, label %2822, label %2846

2822:                                             ; preds = %2817
  %2823 = tail call ptr @__errno_location() #13
  %2824 = load i32, ptr %2823, align 4, !tbaa !5
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = call i32 @s2n_print_stacktrace(ptr noundef %2825) #12
  %2827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2828 = trunc nuw i8 %2827 to i1
  br i1 %2828, label %2829, label %2833

2829:                                             ; preds = %2822
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = call i32 @fileno(ptr noundef %2830) #12
  %2832 = call i32 @isatty(i32 noundef %2831) #12
  %.not1125 = icmp eq i32 %2832, 0
  br i1 %.not1125, label %2833, label %2834

2833:                                             ; preds = %2829, %2822
  br label %2834

2834:                                             ; preds = %2829, %2833
  %.str.5.sink2257 = phi ptr [ @.str.5, %2833 ], [ @.str.2, %2829 ]
  store i32 %2824, ptr %2823, align 4, !tbaa !5
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2838 = load i32, ptr %2837, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror(i32 noundef %2838, ptr noundef nonnull @.str.4) #12
  %2840 = load i32, ptr %2837, align 4, !tbaa !5
  %2841 = call ptr @s2n_strerror_debug(i32 noundef %2840, ptr noundef nonnull @.str.4) #12
  %2842 = load i32, ptr %2823, align 4, !tbaa !5
  %2843 = call ptr @strerror(i32 noundef %2842) #12
  %2844 = load i32, ptr %2823, align 4, !tbaa !5
  %2845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2835, ptr noundef nonnull %.str.5.sink2257, i32 noundef %2836, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2839, ptr noundef %2841, ptr noundef %2843, i32 noundef %2844) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2846:                                             ; preds = %2817
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = add nsw i32 %2847, 1
  store i32 %2848, ptr @test_count, align 4, !tbaa !5
  %2849 = getelementptr inbounds i8, ptr %2730, i64 2044
  %2850 = load i32, ptr %2849, align 4, !tbaa !15
  %2851 = getelementptr inbounds i8, ptr %2730, i64 2040
  %2852 = load i32, ptr %2851, align 8, !tbaa !18
  %2853 = icmp eq i32 %2850, %2852
  br i1 %2853, label %2878, label %2854

2854:                                             ; preds = %2846
  %2855 = tail call ptr @__errno_location() #13
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = call i32 @s2n_print_stacktrace(ptr noundef %2857) #12
  %2859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2860 = trunc nuw i8 %2859 to i1
  br i1 %2860, label %2861, label %2865

2861:                                             ; preds = %2854
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = call i32 @fileno(ptr noundef %2862) #12
  %2864 = call i32 @isatty(i32 noundef %2863) #12
  %.not946 = icmp eq i32 %2864, 0
  br i1 %.not946, label %2865, label %2866

2865:                                             ; preds = %2861, %2854
  br label %2866

2866:                                             ; preds = %2861, %2865
  %.str.5.sink2268 = phi ptr [ @.str.5, %2865 ], [ @.str.2, %2861 ]
  store i32 %2856, ptr %2855, align 4, !tbaa !5
  %2867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2868 = load i32, ptr @test_count, align 4, !tbaa !5
  %2869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2870 = load i32, ptr %2869, align 4, !tbaa !5
  %2871 = call ptr @s2n_strerror(i32 noundef %2870, ptr noundef nonnull @.str.4) #12
  %2872 = load i32, ptr %2869, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror_debug(i32 noundef %2872, ptr noundef nonnull @.str.4) #12
  %2874 = load i32, ptr %2855, align 4, !tbaa !5
  %2875 = call ptr @strerror(i32 noundef %2874) #12
  %2876 = load i32, ptr %2855, align 4, !tbaa !5
  %2877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2867, ptr noundef nonnull %.str.5.sink2268, i32 noundef %2868, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2871, ptr noundef %2873, ptr noundef %2875, i32 noundef %2876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2878:                                             ; preds = %2846
  %2879 = load i32, ptr %2730, align 8
  %2880 = and i32 %2879, -9
  store i32 %2880, ptr %2730, align 8
  %2881 = load i32, ptr @test_count, align 4, !tbaa !5
  %2882 = add nsw i32 %2881, 1
  store i32 %2882, ptr @test_count, align 4, !tbaa !5
  %2883 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2730, ptr noundef nonnull %2786) #12
  %2884 = icmp eq i32 %2883, -1
  br i1 %2884, label %2885, label %2909

2885:                                             ; preds = %2878
  %2886 = tail call ptr @__errno_location() #13
  %2887 = load i32, ptr %2886, align 4, !tbaa !5
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = call i32 @s2n_print_stacktrace(ptr noundef %2888) #12
  %2890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2891 = trunc nuw i8 %2890 to i1
  br i1 %2891, label %2892, label %2896

2892:                                             ; preds = %2885
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = call i32 @fileno(ptr noundef %2893) #12
  %2895 = call i32 @isatty(i32 noundef %2894) #12
  %.not1124 = icmp eq i32 %2895, 0
  br i1 %.not1124, label %2896, label %2897

2896:                                             ; preds = %2892, %2885
  br label %2897

2897:                                             ; preds = %2892, %2896
  %.str.5.sink2279 = phi ptr [ @.str.5, %2896 ], [ @.str.2, %2892 ]
  store i32 %2887, ptr %2886, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror(i32 noundef %2901, ptr noundef nonnull @.str.4) #12
  %2903 = load i32, ptr %2900, align 4, !tbaa !5
  %2904 = call ptr @s2n_strerror_debug(i32 noundef %2903, ptr noundef nonnull @.str.4) #12
  %2905 = load i32, ptr %2886, align 4, !tbaa !5
  %2906 = call ptr @strerror(i32 noundef %2905) #12
  %2907 = load i32, ptr %2886, align 4, !tbaa !5
  %2908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2898, ptr noundef nonnull %.str.5.sink2279, i32 noundef %2899, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2902, ptr noundef %2904, ptr noundef %2906, i32 noundef %2907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2909:                                             ; preds = %2878
  %2910 = load i32, ptr @test_count, align 4, !tbaa !5
  %2911 = add nsw i32 %2910, 1
  store i32 %2911, ptr @test_count, align 4, !tbaa !5
  %2912 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %2786, i32 noundef 0) #12
  %2913 = icmp eq i32 %2912, -1
  br i1 %2913, label %2914, label %2938

2914:                                             ; preds = %2909
  %2915 = tail call ptr @__errno_location() #13
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = call i32 @s2n_print_stacktrace(ptr noundef %2917) #12
  %2919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2920 = trunc nuw i8 %2919 to i1
  br i1 %2920, label %2921, label %2925

2921:                                             ; preds = %2914
  %2922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2923 = call i32 @fileno(ptr noundef %2922) #12
  %2924 = call i32 @isatty(i32 noundef %2923) #12
  %.not1123 = icmp eq i32 %2924, 0
  br i1 %.not1123, label %2925, label %2926

2925:                                             ; preds = %2921, %2914
  br label %2926

2926:                                             ; preds = %2921, %2925
  %.str.5.sink2290 = phi ptr [ @.str.5, %2925 ], [ @.str.2, %2921 ]
  store i32 %2916, ptr %2915, align 4, !tbaa !5
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = load i32, ptr @test_count, align 4, !tbaa !5
  %2929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2930 = load i32, ptr %2929, align 4, !tbaa !5
  %2931 = call ptr @s2n_strerror(i32 noundef %2930, ptr noundef nonnull @.str.4) #12
  %2932 = load i32, ptr %2929, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror_debug(i32 noundef %2932, ptr noundef nonnull @.str.4) #12
  %2934 = load i32, ptr %2915, align 4, !tbaa !5
  %2935 = call ptr @strerror(i32 noundef %2934) #12
  %2936 = load i32, ptr %2915, align 4, !tbaa !5
  %2937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2927, ptr noundef nonnull %.str.5.sink2290, i32 noundef %2928, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2931, ptr noundef %2933, ptr noundef %2935, i32 noundef %2936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2938:                                             ; preds = %2909
  %2939 = load i32, ptr @test_count, align 4, !tbaa !5
  %2940 = add nsw i32 %2939, 1
  store i32 %2940, ptr @test_count, align 4, !tbaa !5
  %2941 = load i32, ptr %2849, align 4, !tbaa !15
  %2942 = load i32, ptr %2851, align 8, !tbaa !18
  %2943 = icmp eq i32 %2941, %2942
  br i1 %2943, label %2968, label %2944

2944:                                             ; preds = %2938
  %2945 = tail call ptr @__errno_location() #13
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @s2n_print_stacktrace(ptr noundef %2947) #12
  %2949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2950 = trunc nuw i8 %2949 to i1
  br i1 %2950, label %2951, label %2955

2951:                                             ; preds = %2944
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = call i32 @fileno(ptr noundef %2952) #12
  %2954 = call i32 @isatty(i32 noundef %2953) #12
  %.not947 = icmp eq i32 %2954, 0
  br i1 %.not947, label %2955, label %2956

2955:                                             ; preds = %2951, %2944
  br label %2956

2956:                                             ; preds = %2951, %2955
  %.str.5.sink2301 = phi ptr [ @.str.5, %2955 ], [ @.str.2, %2951 ]
  store i32 %2946, ptr %2945, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror(i32 noundef %2960, ptr noundef nonnull @.str.4) #12
  %2962 = load i32, ptr %2959, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror_debug(i32 noundef %2962, ptr noundef nonnull @.str.4) #12
  %2964 = load i32, ptr %2945, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #12
  %2966 = load i32, ptr %2945, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2957, ptr noundef nonnull %.str.5.sink2301, i32 noundef %2958, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2961, ptr noundef %2963, ptr noundef %2965, i32 noundef %2966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2968:                                             ; preds = %2938
  %2969 = add nsw i32 %2939, 2
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = call i32 @s2n_connection_free(ptr noundef nonnull %2730) #12
  %2971 = icmp eq i32 %2970, -1
  br i1 %2971, label %2972, label %2996

2972:                                             ; preds = %2968
  %2973 = tail call ptr @__errno_location() #13
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2976 = call i32 @s2n_print_stacktrace(ptr noundef %2975) #12
  %2977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2978 = trunc nuw i8 %2977 to i1
  br i1 %2978, label %2979, label %2983

2979:                                             ; preds = %2972
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = call i32 @fileno(ptr noundef %2980) #12
  %2982 = call i32 @isatty(i32 noundef %2981) #12
  %.not1122 = icmp eq i32 %2982, 0
  br i1 %.not1122, label %2983, label %2984

2983:                                             ; preds = %2979, %2972
  br label %2984

2984:                                             ; preds = %2979, %2983
  %.str.5.sink2312 = phi ptr [ @.str.5, %2983 ], [ @.str.2, %2979 ]
  store i32 %2974, ptr %2973, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror(i32 noundef %2988, ptr noundef nonnull @.str.4) #12
  %2990 = load i32, ptr %2987, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror_debug(i32 noundef %2990, ptr noundef nonnull @.str.4) #12
  %2992 = load i32, ptr %2973, align 4, !tbaa !5
  %2993 = call ptr @strerror(i32 noundef %2992) #12
  %2994 = load i32, ptr %2973, align 4, !tbaa !5
  %2995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2985, ptr noundef nonnull %.str.5.sink2312, i32 noundef %2986, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2989, ptr noundef %2991, ptr noundef %2993, i32 noundef %2994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2996:                                             ; preds = %2968
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = add nsw i32 %2997, 1
  store i32 %2998, ptr @test_count, align 4, !tbaa !5
  %2999 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3000 = icmp eq ptr %2999, null
  br i1 %3000, label %3001, label %3025

3001:                                             ; preds = %2996
  %3002 = tail call ptr @__errno_location() #13
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3005 = call i32 @s2n_print_stacktrace(ptr noundef %3004) #12
  %3006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3007 = trunc nuw i8 %3006 to i1
  br i1 %3007, label %3008, label %3012

3008:                                             ; preds = %3001
  %3009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3010 = call i32 @fileno(ptr noundef %3009) #12
  %3011 = call i32 @isatty(i32 noundef %3010) #12
  %.not1121 = icmp eq i32 %3011, 0
  br i1 %.not1121, label %3012, label %3013

3012:                                             ; preds = %3008, %3001
  br label %3013

3013:                                             ; preds = %3008, %3012
  %.str.5.sink2323 = phi ptr [ @.str.5, %3012 ], [ @.str.2, %3008 ]
  store i32 %3003, ptr %3002, align 4, !tbaa !5
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = load i32, ptr @test_count, align 4, !tbaa !5
  %3016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef nonnull @.str.4) #12
  %3019 = load i32, ptr %3016, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef nonnull @.str.4) #12
  %3021 = load i32, ptr %3002, align 4, !tbaa !5
  %3022 = call ptr @strerror(i32 noundef %3021) #12
  %3023 = load i32, ptr %3002, align 4, !tbaa !5
  %3024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3014, ptr noundef nonnull %.str.5.sink2323, i32 noundef %3015, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %3018, ptr noundef %3020, ptr noundef %3022, i32 noundef %3023) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3025:                                             ; preds = %2996
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #12
  store i8 0, ptr %11, align 1, !tbaa !19
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = add nsw i32 %3026, 1
  store i32 %3027, ptr @test_count, align 4, !tbaa !5
  %3028 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 35, ptr noundef nonnull %11) #12
  %3029 = icmp eq i32 %3028, -1
  br i1 %3029, label %3030, label %3054

3030:                                             ; preds = %3025
  %3031 = tail call ptr @__errno_location() #13
  %3032 = load i32, ptr %3031, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = call i32 @s2n_print_stacktrace(ptr noundef %3033) #12
  %3035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3036 = trunc nuw i8 %3035 to i1
  br i1 %3036, label %3037, label %3041

3037:                                             ; preds = %3030
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @fileno(ptr noundef %3038) #12
  %3040 = call i32 @isatty(i32 noundef %3039) #12
  %.not1120 = icmp eq i32 %3040, 0
  br i1 %.not1120, label %3041, label %3042

3041:                                             ; preds = %3037, %3030
  br label %3042

3042:                                             ; preds = %3037, %3041
  %.str.5.sink2334 = phi ptr [ @.str.5, %3041 ], [ @.str.2, %3037 ]
  store i32 %3032, ptr %3031, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = load i32, ptr @test_count, align 4, !tbaa !5
  %3045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3046 = load i32, ptr %3045, align 4, !tbaa !5
  %3047 = call ptr @s2n_strerror(i32 noundef %3046, ptr noundef nonnull @.str.4) #12
  %3048 = load i32, ptr %3045, align 4, !tbaa !5
  %3049 = call ptr @s2n_strerror_debug(i32 noundef %3048, ptr noundef nonnull @.str.4) #12
  %3050 = load i32, ptr %3031, align 4, !tbaa !5
  %3051 = call ptr @strerror(i32 noundef %3050) #12
  %3052 = load i32, ptr %3031, align 4, !tbaa !5
  %3053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3043, ptr noundef nonnull %.str.5.sink2334, i32 noundef %3044, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %3047, ptr noundef %3049, ptr noundef %3051, i32 noundef %3052) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3054:                                             ; preds = %3025
  %3055 = load i8, ptr %11, align 1, !tbaa !19
  %3056 = and i8 %3055, 7
  %3057 = shl nuw i8 1, %3056
  %3058 = getelementptr inbounds i8, ptr %2999, i64 102
  %3059 = lshr i8 %3055, 3
  %3060 = zext nneg i8 %3059 to i64
  %3061 = getelementptr inbounds [22 x i8], ptr %3058, i64 0, i64 %3060
  %3062 = load i8, ptr %3061, align 1, !tbaa !19
  %3063 = or i8 %3057, %3062
  store i8 %3063, ptr %3061, align 1, !tbaa !19
  %3064 = load i32, ptr @test_count, align 4, !tbaa !5
  %3065 = add nsw i32 %3064, 1
  store i32 %3065, ptr @test_count, align 4, !tbaa !5
  %3066 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2999, ptr noundef nonnull %178) #12
  %3067 = icmp eq i32 %3066, -1
  br i1 %3067, label %3068, label %3092

3068:                                             ; preds = %3054
  %3069 = tail call ptr @__errno_location() #13
  %3070 = load i32, ptr %3069, align 4, !tbaa !5
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = call i32 @s2n_print_stacktrace(ptr noundef %3071) #12
  %3073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3074 = trunc nuw i8 %3073 to i1
  br i1 %3074, label %3075, label %3079

3075:                                             ; preds = %3068
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = call i32 @fileno(ptr noundef %3076) #12
  %3078 = call i32 @isatty(i32 noundef %3077) #12
  %.not1119 = icmp eq i32 %3078, 0
  br i1 %.not1119, label %3079, label %3080

3079:                                             ; preds = %3075, %3068
  br label %3080

3080:                                             ; preds = %3075, %3079
  %.str.5.sink2345 = phi ptr [ @.str.5, %3079 ], [ @.str.2, %3075 ]
  store i32 %3070, ptr %3069, align 4, !tbaa !5
  %3081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror(i32 noundef %3084, ptr noundef nonnull @.str.4) #12
  %3086 = load i32, ptr %3083, align 4, !tbaa !5
  %3087 = call ptr @s2n_strerror_debug(i32 noundef %3086, ptr noundef nonnull @.str.4) #12
  %3088 = load i32, ptr %3069, align 4, !tbaa !5
  %3089 = call ptr @strerror(i32 noundef %3088) #12
  %3090 = load i32, ptr %3069, align 4, !tbaa !5
  %3091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3081, ptr noundef nonnull %.str.5.sink2345, i32 noundef %3082, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %3085, ptr noundef %3087, ptr noundef %3089, i32 noundef %3090) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3092:                                             ; preds = %3054
  %3093 = getelementptr inbounds i8, ptr %2999, i64 2016
  %3094 = load i32, ptr @test_count, align 4, !tbaa !5
  %3095 = add nsw i32 %3094, 1
  store i32 %3095, ptr @test_count, align 4, !tbaa !5
  %3096 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2999, ptr noundef nonnull %3093) #12
  %3097 = icmp eq i32 %3096, -1
  br i1 %3097, label %3098, label %3122

3098:                                             ; preds = %3092
  %3099 = tail call ptr @__errno_location() #13
  %3100 = load i32, ptr %3099, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = call i32 @s2n_print_stacktrace(ptr noundef %3101) #12
  %3103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3104 = trunc nuw i8 %3103 to i1
  br i1 %3104, label %3105, label %3109

3105:                                             ; preds = %3098
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @fileno(ptr noundef %3106) #12
  %3108 = call i32 @isatty(i32 noundef %3107) #12
  %.not1118 = icmp eq i32 %3108, 0
  br i1 %.not1118, label %3109, label %3110

3109:                                             ; preds = %3105, %3098
  br label %3110

3110:                                             ; preds = %3105, %3109
  %.str.5.sink2356 = phi ptr [ @.str.5, %3109 ], [ @.str.2, %3105 ]
  store i32 %3100, ptr %3099, align 4, !tbaa !5
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3114 = load i32, ptr %3113, align 4, !tbaa !5
  %3115 = call ptr @s2n_strerror(i32 noundef %3114, ptr noundef nonnull @.str.4) #12
  %3116 = load i32, ptr %3113, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror_debug(i32 noundef %3116, ptr noundef nonnull @.str.4) #12
  %3118 = load i32, ptr %3099, align 4, !tbaa !5
  %3119 = call ptr @strerror(i32 noundef %3118) #12
  %3120 = load i32, ptr %3099, align 4, !tbaa !5
  %3121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3111, ptr noundef nonnull %.str.5.sink2356, i32 noundef %3112, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %3115, ptr noundef %3117, ptr noundef %3119, i32 noundef %3120) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3122:                                             ; preds = %3092
  %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_stuffer_skip_read(ptr noundef nonnull %3093, i32 noundef 0) #12
  %3126 = icmp eq i32 %3125, -1
  br i1 %3126, label %3127, label %3151

3127:                                             ; preds = %3122
  %3128 = tail call ptr @__errno_location() #13
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @s2n_print_stacktrace(ptr noundef %3130) #12
  %3132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3133 = trunc nuw i8 %3132 to i1
  br i1 %3133, label %3134, label %3138

3134:                                             ; preds = %3127
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @fileno(ptr noundef %3135) #12
  %3137 = call i32 @isatty(i32 noundef %3136) #12
  %.not1117 = icmp eq i32 %3137, 0
  br i1 %.not1117, label %3138, label %3139

3138:                                             ; preds = %3134, %3127
  br label %3139

3139:                                             ; preds = %3134, %3138
  %.str.5.sink2367 = phi ptr [ @.str.5, %3138 ], [ @.str.2, %3134 ]
  store i32 %3129, ptr %3128, align 4, !tbaa !5
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = load i32, ptr @test_count, align 4, !tbaa !5
  %3142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror(i32 noundef %3143, ptr noundef nonnull @.str.4) #12
  %3145 = load i32, ptr %3142, align 4, !tbaa !5
  %3146 = call ptr @s2n_strerror_debug(i32 noundef %3145, ptr noundef nonnull @.str.4) #12
  %3147 = load i32, ptr %3128, align 4, !tbaa !5
  %3148 = call ptr @strerror(i32 noundef %3147) #12
  %3149 = load i32, ptr %3128, align 4, !tbaa !5
  %3150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3140, ptr noundef nonnull %.str.5.sink2367, i32 noundef %3141, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %3144, ptr noundef %3146, ptr noundef %3148, i32 noundef %3149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3151:                                             ; preds = %3122
  %3152 = load i32, ptr @test_count, align 4, !tbaa !5
  %3153 = add nsw i32 %3152, 1
  store i32 %3153, ptr @test_count, align 4, !tbaa !5
  %3154 = getelementptr inbounds i8, ptr %2999, i64 2044
  %3155 = load i32, ptr %3154, align 4, !tbaa !15
  %3156 = getelementptr inbounds i8, ptr %2999, i64 2040
  %3157 = load i32, ptr %3156, align 8, !tbaa !18
  %3158 = icmp eq i32 %3155, %3157
  br i1 %3158, label %3183, label %3159

3159:                                             ; preds = %3151
  %3160 = tail call ptr @__errno_location() #13
  %3161 = load i32, ptr %3160, align 4, !tbaa !5
  %3162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3163 = call i32 @s2n_print_stacktrace(ptr noundef %3162) #12
  %3164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3165 = trunc nuw i8 %3164 to i1
  br i1 %3165, label %3166, label %3170

3166:                                             ; preds = %3159
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = call i32 @fileno(ptr noundef %3167) #12
  %3169 = call i32 @isatty(i32 noundef %3168) #12
  %.not948 = icmp eq i32 %3169, 0
  br i1 %.not948, label %3170, label %3171

3170:                                             ; preds = %3166, %3159
  br label %3171

3171:                                             ; preds = %3166, %3170
  %.str.5.sink2378 = phi ptr [ @.str.5, %3170 ], [ @.str.2, %3166 ]
  store i32 %3161, ptr %3160, align 4, !tbaa !5
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = load i32, ptr @test_count, align 4, !tbaa !5
  %3174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call ptr @s2n_strerror(i32 noundef %3175, ptr noundef nonnull @.str.4) #12
  %3177 = load i32, ptr %3174, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror_debug(i32 noundef %3177, ptr noundef nonnull @.str.4) #12
  %3179 = load i32, ptr %3160, align 4, !tbaa !5
  %3180 = call ptr @strerror(i32 noundef %3179) #12
  %3181 = load i32, ptr %3160, align 4, !tbaa !5
  %3182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3172, ptr noundef nonnull %.str.5.sink2378, i32 noundef %3173, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %3176, ptr noundef %3178, ptr noundef %3180, i32 noundef %3181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3183:                                             ; preds = %3151
  %3184 = getelementptr inbounds i8, ptr %2999, i64 8
  %3185 = load ptr, ptr %3184, align 8, !tbaa !48
  %3186 = load i32, ptr %3185, align 8
  %3187 = or i32 %3186, 1
  store i32 %3187, ptr %3185, align 8
  %3188 = getelementptr inbounds i8, ptr %2999, i64 3780
  store i32 2, ptr %3188, align 4, !tbaa !49
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = add nsw i32 %3189, 1
  store i32 %3190, ptr @test_count, align 4, !tbaa !5
  %3191 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %2999, ptr noundef nonnull %3093) #12
  %3192 = icmp eq i32 %3191, -1
  br i1 %3192, label %3193, label %3217

3193:                                             ; preds = %3183
  %3194 = tail call ptr @__errno_location() #13
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @s2n_print_stacktrace(ptr noundef %3196) #12
  %3198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3199 = trunc nuw i8 %3198 to i1
  br i1 %3199, label %3200, label %3204

3200:                                             ; preds = %3193
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = call i32 @fileno(ptr noundef %3201) #12
  %3203 = call i32 @isatty(i32 noundef %3202) #12
  %.not1116 = icmp eq i32 %3203, 0
  br i1 %.not1116, label %3204, label %3205

3204:                                             ; preds = %3200, %3193
  br label %3205

3205:                                             ; preds = %3200, %3204
  %.str.5.sink2389 = phi ptr [ @.str.5, %3204 ], [ @.str.2, %3200 ]
  store i32 %3195, ptr %3194, align 4, !tbaa !5
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = load i32, ptr @test_count, align 4, !tbaa !5
  %3208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror(i32 noundef %3209, ptr noundef nonnull @.str.4) #12
  %3211 = load i32, ptr %3208, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef nonnull @.str.4) #12
  %3213 = load i32, ptr %3194, align 4, !tbaa !5
  %3214 = call ptr @strerror(i32 noundef %3213) #12
  %3215 = load i32, ptr %3194, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3206, ptr noundef nonnull %.str.5.sink2389, i32 noundef %3207, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3210, ptr noundef %3212, ptr noundef %3214, i32 noundef %3215) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3217:                                             ; preds = %3183
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = add nsw i32 %3218, 1
  store i32 %3219, ptr @test_count, align 4, !tbaa !5
  %3220 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3093, i32 noundef 6) #12
  %3221 = icmp eq i32 %3220, -1
  br i1 %3221, label %3222, label %3246

3222:                                             ; preds = %3217
  %3223 = tail call ptr @__errno_location() #13
  %3224 = load i32, ptr %3223, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @s2n_print_stacktrace(ptr noundef %3225) #12
  %3227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3228 = trunc nuw i8 %3227 to i1
  br i1 %3228, label %3229, label %3233

3229:                                             ; preds = %3222
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @fileno(ptr noundef %3230) #12
  %3232 = call i32 @isatty(i32 noundef %3231) #12
  %.not1115 = icmp eq i32 %3232, 0
  br i1 %.not1115, label %3233, label %3234

3233:                                             ; preds = %3229, %3222
  br label %3234

3234:                                             ; preds = %3229, %3233
  %.str.5.sink2400 = phi ptr [ @.str.5, %3233 ], [ @.str.2, %3229 ]
  store i32 %3224, ptr %3223, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = load i32, ptr @test_count, align 4, !tbaa !5
  %3237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3238 = load i32, ptr %3237, align 4, !tbaa !5
  %3239 = call ptr @s2n_strerror(i32 noundef %3238, ptr noundef nonnull @.str.4) #12
  %3240 = load i32, ptr %3237, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror_debug(i32 noundef %3240, ptr noundef nonnull @.str.4) #12
  %3242 = load i32, ptr %3223, align 4, !tbaa !5
  %3243 = call ptr @strerror(i32 noundef %3242) #12
  %3244 = load i32, ptr %3223, align 4, !tbaa !5
  %3245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3235, ptr noundef nonnull %.str.5.sink2400, i32 noundef %3236, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3239, ptr noundef %3241, ptr noundef %3243, i32 noundef %3244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3246:                                             ; preds = %3217
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %3249 = load i32, ptr %3154, align 4, !tbaa !15
  %3250 = load i32, ptr %3156, align 8, !tbaa !18
  %3251 = icmp eq i32 %3249, %3250
  br i1 %3251, label %3276, label %3252

3252:                                             ; preds = %3246
  %3253 = tail call ptr @__errno_location() #13
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @s2n_print_stacktrace(ptr noundef %3255) #12
  %3257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3258 = trunc nuw i8 %3257 to i1
  br i1 %3258, label %3259, label %3263

3259:                                             ; preds = %3252
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = call i32 @fileno(ptr noundef %3260) #12
  %3262 = call i32 @isatty(i32 noundef %3261) #12
  %.not949 = icmp eq i32 %3262, 0
  br i1 %.not949, label %3263, label %3264

3263:                                             ; preds = %3259, %3252
  br label %3264

3264:                                             ; preds = %3259, %3263
  %.str.5.sink2411 = phi ptr [ @.str.5, %3263 ], [ @.str.2, %3259 ]
  store i32 %3254, ptr %3253, align 4, !tbaa !5
  %3265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror(i32 noundef %3268, ptr noundef nonnull @.str.4) #12
  %3270 = load i32, ptr %3267, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror_debug(i32 noundef %3270, ptr noundef nonnull @.str.4) #12
  %3272 = load i32, ptr %3253, align 4, !tbaa !5
  %3273 = call ptr @strerror(i32 noundef %3272) #12
  %3274 = load i32, ptr %3253, align 4, !tbaa !5
  %3275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3265, ptr noundef nonnull %.str.5.sink2411, i32 noundef %3266, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3269, ptr noundef %3271, ptr noundef %3273, i32 noundef %3274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3276:                                             ; preds = %3246
  %3277 = add nsw i32 %3247, 2
  store i32 %3277, ptr @test_count, align 4, !tbaa !5
  %3278 = call i32 @s2n_connection_free(ptr noundef nonnull %2999) #12
  %3279 = icmp eq i32 %3278, -1
  br i1 %3279, label %3280, label %3304

3280:                                             ; preds = %3276
  %3281 = tail call ptr @__errno_location() #13
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = call i32 @s2n_print_stacktrace(ptr noundef %3283) #12
  %3285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3286 = trunc nuw i8 %3285 to i1
  br i1 %3286, label %3287, label %3291

3287:                                             ; preds = %3280
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = call i32 @fileno(ptr noundef %3288) #12
  %3290 = call i32 @isatty(i32 noundef %3289) #12
  %.not1114 = icmp eq i32 %3290, 0
  br i1 %.not1114, label %3291, label %3292

3291:                                             ; preds = %3287, %3280
  br label %3292

3292:                                             ; preds = %3287, %3291
  %.str.5.sink2422 = phi ptr [ @.str.5, %3291 ], [ @.str.2, %3287 ]
  store i32 %3282, ptr %3281, align 4, !tbaa !5
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = load i32, ptr @test_count, align 4, !tbaa !5
  %3295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call ptr @s2n_strerror(i32 noundef %3296, ptr noundef nonnull @.str.4) #12
  %3298 = load i32, ptr %3295, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror_debug(i32 noundef %3298, ptr noundef nonnull @.str.4) #12
  %3300 = load i32, ptr %3281, align 4, !tbaa !5
  %3301 = call ptr @strerror(i32 noundef %3300) #12
  %3302 = load i32, ptr %3281, align 4, !tbaa !5
  %3303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3293, ptr noundef nonnull %.str.5.sink2422, i32 noundef %3294, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3297, ptr noundef %3299, ptr noundef %3301, i32 noundef %3302) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3304:                                             ; preds = %3276
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #12
  %3305 = load i32, ptr @test_count, align 4, !tbaa !5
  %3306 = add nsw i32 %3305, 1
  store i32 %3306, ptr @test_count, align 4, !tbaa !5
  %3307 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %3308 = icmp eq i32 %3307, -1
  br i1 %3308, label %3309, label %3333

3309:                                             ; preds = %3304
  %3310 = tail call ptr @__errno_location() #13
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @s2n_print_stacktrace(ptr noundef %3312) #12
  %3314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3315 = trunc nuw i8 %3314 to i1
  br i1 %3315, label %3316, label %3320

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

3320:                                             ; preds = %3316, %3309
  br label %3321

3321:                                             ; preds = %3316, %3320
  %.str.5.sink2433 = phi ptr [ @.str.5, %3320 ], [ @.str.2, %3316 ]
  store i32 %3311, ptr %3310, align 4, !tbaa !5
  %3322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3323 = load i32, ptr @test_count, align 4, !tbaa !5
  %3324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3325 = load i32, ptr %3324, align 4, !tbaa !5
  %3326 = call ptr @s2n_strerror(i32 noundef %3325, ptr noundef nonnull @.str.4) #12
  %3327 = load i32, ptr %3324, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror_debug(i32 noundef %3327, ptr noundef nonnull @.str.4) #12
  %3329 = load i32, ptr %3310, align 4, !tbaa !5
  %3330 = call ptr @strerror(i32 noundef %3329) #12
  %3331 = load i32, ptr %3310, align 4, !tbaa !5
  %3332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3322, ptr noundef nonnull %.str.5.sink2433, i32 noundef %3323, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %3326, ptr noundef %3328, ptr noundef %3330, i32 noundef %3331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3333:                                             ; preds = %3304
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = add nsw i32 %3334, 1
  store i32 %3335, ptr @test_count, align 4, !tbaa !5
  %3336 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3337 = icmp eq ptr %3336, null
  br i1 %3337, label %3338, label %3362

3338:                                             ; preds = %3333
  %3339 = tail call ptr @__errno_location() #13
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @s2n_print_stacktrace(ptr noundef %3341) #12
  %3343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3344 = trunc nuw i8 %3343 to i1
  br i1 %3344, label %3345, label %3349

3345:                                             ; preds = %3338
  %3346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3347 = call i32 @fileno(ptr noundef %3346) #12
  %3348 = call i32 @isatty(i32 noundef %3347) #12
  %.not1112 = icmp eq i32 %3348, 0
  br i1 %.not1112, label %3349, label %3350

3349:                                             ; preds = %3345, %3338
  br label %3350

3350:                                             ; preds = %3345, %3349
  %.str.5.sink2444 = phi ptr [ @.str.5, %3349 ], [ @.str.2, %3345 ]
  store i32 %3340, ptr %3339, align 4, !tbaa !5
  %3351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror(i32 noundef %3354, ptr noundef nonnull @.str.4) #12
  %3356 = load i32, ptr %3353, align 4, !tbaa !5
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3356, ptr noundef nonnull @.str.4) #12
  %3358 = load i32, ptr %3339, align 4, !tbaa !5
  %3359 = call ptr @strerror(i32 noundef %3358) #12
  %3360 = load i32, ptr %3339, align 4, !tbaa !5
  %3361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3351, ptr noundef nonnull %.str.5.sink2444, i32 noundef %3352, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3355, ptr noundef %3357, ptr noundef %3359, i32 noundef %3360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3362:                                             ; preds = %3333
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = add nsw i32 %3363, 1
  store i32 %3364, ptr @test_count, align 4, !tbaa !5
  %3365 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3336, ptr noundef nonnull %178) #12
  %3366 = icmp eq i32 %3365, -1
  br i1 %3366, label %3367, label %3391

3367:                                             ; preds = %3362
  %3368 = tail call ptr @__errno_location() #13
  %3369 = load i32, ptr %3368, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = call i32 @s2n_print_stacktrace(ptr noundef %3370) #12
  %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 = %3367
  %3375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3376 = call i32 @fileno(ptr noundef %3375) #12
  %3377 = call i32 @isatty(i32 noundef %3376) #12
  %.not1111 = icmp eq i32 %3377, 0
  br i1 %.not1111, label %3378, label %3379

3378:                                             ; preds = %3374, %3367
  br label %3379

3379:                                             ; preds = %3374, %3378
  %.str.5.sink2455 = phi ptr [ @.str.5, %3378 ], [ @.str.2, %3374 ]
  store i32 %3369, ptr %3368, align 4, !tbaa !5
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call ptr @s2n_strerror(i32 noundef %3383, ptr noundef nonnull @.str.4) #12
  %3385 = load i32, ptr %3382, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef nonnull @.str.4) #12
  %3387 = load i32, ptr %3368, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #12
  %3389 = load i32, ptr %3368, align 4, !tbaa !5
  %3390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3380, ptr noundef nonnull %.str.5.sink2455, i32 noundef %3381, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %3384, ptr noundef %3386, ptr noundef %3388, i32 noundef %3389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3391:                                             ; preds = %3362
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = add nsw i32 %3392, 1
  store i32 %3393, ptr @test_count, align 4, !tbaa !5
  %3394 = load i16, ptr @s2n_server_key_share_extension, align 8, !tbaa !50
  %3395 = call i32 @s2n_connection_allow_response_extension(ptr noundef nonnull %3336, i16 noundef zeroext %3394) #12
  %3396 = icmp eq i32 %3395, -1
  br i1 %3396, label %3397, label %3421

3397:                                             ; preds = %3391
  %3398 = tail call ptr @__errno_location() #13
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = call i32 @s2n_print_stacktrace(ptr noundef %3400) #12
  %3402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3403 = trunc nuw i8 %3402 to i1
  br i1 %3403, label %3404, label %3408

3404:                                             ; preds = %3397
  %3405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3406 = call i32 @fileno(ptr noundef %3405) #12
  %3407 = call i32 @isatty(i32 noundef %3406) #12
  %.not1110 = icmp eq i32 %3407, 0
  br i1 %.not1110, label %3408, label %3409

3408:                                             ; preds = %3404, %3397
  br label %3409

3409:                                             ; preds = %3404, %3408
  %.str.5.sink2466 = phi ptr [ @.str.5, %3408 ], [ @.str.2, %3404 ]
  store i32 %3399, ptr %3398, align 4, !tbaa !5
  %3410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3411 = load i32, ptr @test_count, align 4, !tbaa !5
  %3412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3413 = load i32, ptr %3412, align 4, !tbaa !5
  %3414 = call ptr @s2n_strerror(i32 noundef %3413, ptr noundef nonnull @.str.4) #12
  %3415 = load i32, ptr %3412, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror_debug(i32 noundef %3415, ptr noundef nonnull @.str.4) #12
  %3417 = load i32, ptr %3398, align 4, !tbaa !5
  %3418 = call ptr @strerror(i32 noundef %3417) #12
  %3419 = load i32, ptr %3398, align 4, !tbaa !5
  %3420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3410, ptr noundef nonnull %.str.5.sink2466, i32 noundef %3411, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %3414, ptr noundef %3416, ptr noundef %3418, i32 noundef %3419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3421:                                             ; preds = %3391
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  store ptr null, ptr %12, align 8, !tbaa !9
  %3422 = load i32, ptr @test_count, align 4, !tbaa !5
  %3423 = add nsw i32 %3422, 1
  store i32 %3423, ptr @test_count, align 4, !tbaa !5
  %3424 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef nonnull %3336, ptr noundef nonnull %12) #12
  %3425 = icmp eq i32 %3424, -1
  br i1 %3425, label %3426, label %3450

3426:                                             ; preds = %3421
  %3427 = tail call ptr @__errno_location() #13
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = call i32 @s2n_print_stacktrace(ptr noundef %3429) #12
  %3431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3432 = trunc nuw i8 %3431 to i1
  br i1 %3432, label %3433, label %3437

3433:                                             ; preds = %3426
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @fileno(ptr noundef %3434) #12
  %3436 = call i32 @isatty(i32 noundef %3435) #12
  %.not1109 = icmp eq i32 %3436, 0
  br i1 %.not1109, label %3437, label %3438

3437:                                             ; preds = %3433, %3426
  br label %3438

3438:                                             ; preds = %3433, %3437
  %.str.5.sink2477 = phi ptr [ @.str.5, %3437 ], [ @.str.2, %3433 ]
  store i32 %3428, ptr %3427, align 4, !tbaa !5
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @s2n_strerror(i32 noundef %3442, ptr noundef nonnull @.str.4) #12
  %3444 = load i32, ptr %3441, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror_debug(i32 noundef %3444, ptr noundef nonnull @.str.4) #12
  %3446 = load i32, ptr %3427, align 4, !tbaa !5
  %3447 = call ptr @strerror(i32 noundef %3446) #12
  %3448 = load i32, ptr %3427, align 4, !tbaa !5
  %3449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3439, ptr noundef nonnull %.str.5.sink2477, i32 noundef %3440, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %3443, ptr noundef %3445, ptr noundef %3447, i32 noundef %3448) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3450:                                             ; preds = %3421
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = add nsw i32 %3451, 1
  store i32 %3452, ptr @test_count, align 4, !tbaa !5
  %3453 = load ptr, ptr %12, align 8, !tbaa !9
  %3454 = icmp eq ptr %3453, null
  br i1 %3454, label %3455, label %3479

3455:                                             ; preds = %3450
  %3456 = tail call ptr @__errno_location() #13
  %3457 = load i32, ptr %3456, align 4, !tbaa !5
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = call i32 @s2n_print_stacktrace(ptr noundef %3458) #12
  %3460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3461 = trunc nuw i8 %3460 to i1
  br i1 %3461, label %3462, label %3466

3462:                                             ; preds = %3455
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = call i32 @fileno(ptr noundef %3463) #12
  %3465 = call i32 @isatty(i32 noundef %3464) #12
  %.not1108 = icmp eq i32 %3465, 0
  br i1 %.not1108, label %3466, label %3467

3466:                                             ; preds = %3462, %3455
  br label %3467

3467:                                             ; preds = %3462, %3466
  %.str.5.sink2488 = phi ptr [ @.str.5, %3466 ], [ @.str.2, %3462 ]
  store i32 %3457, ptr %3456, align 4, !tbaa !5
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  %3472 = call ptr @s2n_strerror(i32 noundef %3471, ptr noundef nonnull @.str.4) #12
  %3473 = load i32, ptr %3470, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror_debug(i32 noundef %3473, ptr noundef nonnull @.str.4) #12
  %3475 = load i32, ptr %3456, align 4, !tbaa !5
  %3476 = call ptr @strerror(i32 noundef %3475) #12
  %3477 = load i32, ptr %3456, align 4, !tbaa !5
  %3478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3468, ptr noundef nonnull %.str.5.sink2488, i32 noundef %3469, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %3472, ptr noundef %3474, ptr noundef %3476, i32 noundef %3477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3479:                                             ; preds = %3450
  %3480 = getelementptr inbounds i8, ptr %3336, i64 2016
  %3481 = getelementptr inbounds i8, ptr %3453, i64 8
  %3482 = load ptr, ptr %3481, align 8, !tbaa !52
  %3483 = load ptr, ptr %3482, align 8, !tbaa !9
  %3484 = getelementptr inbounds i8, ptr %3336, i64 656
  store ptr %3483, ptr %3484, align 8, !tbaa !54
  %3485 = getelementptr inbounds i8, ptr %3336, i64 220
  store i8 34, ptr %3485, align 4, !tbaa !55
  %3486 = getelementptr inbounds i8, ptr %3336, i64 704
  store ptr %3483, ptr %3486, align 8, !tbaa !56
  %3487 = add nsw i32 %3451, 2
  store i32 %3487, ptr @test_count, align 4, !tbaa !5
  %3488 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef nonnull %3336) #12
  %3489 = icmp eq i32 %3488, 73
  br i1 %3489, label %3514, label %3490

3490:                                             ; preds = %3479
  %3491 = tail call ptr @__errno_location() #13
  %3492 = load i32, ptr %3491, align 4, !tbaa !5
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @s2n_print_stacktrace(ptr noundef %3493) #12
  %3495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3496 = trunc nuw i8 %3495 to i1
  br i1 %3496, label %3497, label %3501

3497:                                             ; preds = %3490
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @fileno(ptr noundef %3498) #12
  %3500 = call i32 @isatty(i32 noundef %3499) #12
  %.not950 = icmp eq i32 %3500, 0
  br i1 %.not950, label %3501, label %3502

3501:                                             ; preds = %3497, %3490
  br label %3502

3502:                                             ; preds = %3497, %3501
  %.str.5.sink2499 = phi ptr [ @.str.5, %3501 ], [ @.str.2, %3497 ]
  store i32 %3492, ptr %3491, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = load i32, ptr @test_count, align 4, !tbaa !5
  %3505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3506 = load i32, ptr %3505, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror(i32 noundef %3506, ptr noundef nonnull @.str.4) #12
  %3508 = load i32, ptr %3505, align 4, !tbaa !5
  %3509 = call ptr @s2n_strerror_debug(i32 noundef %3508, ptr noundef nonnull @.str.4) #12
  %3510 = load i32, ptr %3491, align 4, !tbaa !5
  %3511 = call ptr @strerror(i32 noundef %3510) #12
  %3512 = load i32, ptr %3491, align 4, !tbaa !5
  %3513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3503, ptr noundef nonnull %.str.5.sink2499, i32 noundef %3504, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %3507, ptr noundef %3509, ptr noundef %3511, i32 noundef %3512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3514:                                             ; preds = %3479
  %3515 = load i32, ptr @test_count, align 4, !tbaa !5
  %3516 = add nsw i32 %3515, 1
  store i32 %3516, ptr @test_count, align 4, !tbaa !5
  %3517 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3336, ptr noundef nonnull %3480) #12
  %3518 = icmp eq i32 %3517, -1
  br i1 %3518, label %3543, label %3519

3519:                                             ; preds = %3514
  %3520 = tail call ptr @__errno_location() #13
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = call i32 @s2n_print_stacktrace(ptr noundef %3522) #12
  %3524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3525 = trunc nuw i8 %3524 to i1
  br i1 %3525, label %3526, label %3530

3526:                                             ; preds = %3519
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @fileno(ptr noundef %3527) #12
  %3529 = call i32 @isatty(i32 noundef %3528) #12
  %.not951 = icmp eq i32 %3529, 0
  br i1 %.not951, label %3530, label %3531

3530:                                             ; preds = %3526, %3519
  br label %3531

3531:                                             ; preds = %3526, %3530
  %.str.5.sink2510 = phi ptr [ @.str.5, %3530 ], [ @.str.2, %3526 ]
  store i32 %3521, ptr %3520, align 4, !tbaa !5
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = load i32, ptr @test_count, align 4, !tbaa !5
  %3534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3535 = load i32, ptr %3534, align 4, !tbaa !5
  %3536 = call ptr @s2n_strerror(i32 noundef %3535, ptr noundef nonnull @.str.4) #12
  %3537 = load i32, ptr %3534, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror_debug(i32 noundef %3537, ptr noundef nonnull @.str.4) #12
  %3539 = load i32, ptr %3520, align 4, !tbaa !5
  %3540 = call ptr @strerror(i32 noundef %3539) #12
  %3541 = load i32, ptr %3520, align 4, !tbaa !5
  %3542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3532, ptr noundef nonnull %.str.5.sink2510, i32 noundef %3533, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3536, ptr noundef %3538, ptr noundef %3540, i32 noundef %3541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3543:                                             ; preds = %3514
  %3544 = load i32, ptr @test_count, align 4, !tbaa !5
  %3545 = add nsw i32 %3544, 1
  store i32 %3545, ptr @test_count, align 4, !tbaa !5
  %3546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  %3548 = icmp eq i32 %3547, 0
  br i1 %3548, label %3549, label %3572

3549:                                             ; preds = %3543
  %3550 = tail call ptr @__errno_location() #13
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @s2n_print_stacktrace(ptr noundef %3552) #12
  %3554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3555 = trunc nuw i8 %3554 to i1
  br i1 %3555, label %3556, label %3560

3556:                                             ; preds = %3549
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @fileno(ptr noundef %3557) #12
  %3559 = call i32 @isatty(i32 noundef %3558) #12
  %.not1107 = icmp eq i32 %3559, 0
  br i1 %.not1107, label %3560, label %3561

3560:                                             ; preds = %3556, %3549
  br label %3561

3561:                                             ; preds = %3556, %3560
  %.str.5.sink2521 = phi ptr [ @.str.5, %3560 ], [ @.str.2, %3556 ]
  store i32 %3551, ptr %3550, align 4, !tbaa !5
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = load i32, ptr %3546, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror(i32 noundef %3564, ptr noundef nonnull @.str.4) #12
  %3566 = load i32, ptr %3546, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror_debug(i32 noundef %3566, ptr noundef nonnull @.str.4) #12
  %3568 = load i32, ptr %3550, align 4, !tbaa !5
  %3569 = call ptr @strerror(i32 noundef %3568) #12
  %3570 = load i32, ptr %3550, align 4, !tbaa !5
  %3571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3562, ptr noundef nonnull %.str.5.sink2521, i32 noundef %3563, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3565, ptr noundef %3567, ptr noundef %3569, i32 noundef %3570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3572:                                             ; preds = %3543
  %3573 = add nsw i32 %3544, 2
  store i32 %3573, ptr @test_count, align 4, !tbaa !5
  %3574 = call ptr @s2n_strerror_debug(i32 noundef %3547, ptr noundef nonnull @.str.4) #12
  %3575 = icmp eq ptr %3574, null
  br i1 %3575, label %3576, label %3599

3576:                                             ; preds = %3572
  %3577 = tail call ptr @__errno_location() #13
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = call i32 @s2n_print_stacktrace(ptr noundef %3579) #12
  %3581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3582 = trunc nuw i8 %3581 to i1
  br i1 %3582, label %3583, label %3587

3583:                                             ; preds = %3576
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = call i32 @fileno(ptr noundef %3584) #12
  %3586 = call i32 @isatty(i32 noundef %3585) #12
  %.not1106 = icmp eq i32 %3586, 0
  br i1 %.not1106, label %3587, label %3588

3587:                                             ; preds = %3583, %3576
  br label %3588

3588:                                             ; preds = %3583, %3587
  %.str.5.sink2530 = phi ptr [ @.str.5, %3587 ], [ @.str.2, %3583 ]
  store i32 %3578, ptr %3577, align 4, !tbaa !5
  %3589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3590 = load i32, ptr @test_count, align 4, !tbaa !5
  %3591 = load i32, ptr %3546, align 4, !tbaa !5
  %3592 = call ptr @s2n_strerror(i32 noundef %3591, ptr noundef nonnull @.str.4) #12
  %3593 = load i32, ptr %3546, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror_debug(i32 noundef %3593, ptr noundef nonnull @.str.4) #12
  %3595 = load i32, ptr %3577, align 4, !tbaa !5
  %3596 = call ptr @strerror(i32 noundef %3595) #12
  %3597 = load i32, ptr %3577, align 4, !tbaa !5
  %3598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3589, ptr noundef nonnull %.str.5.sink2530, i32 noundef %3590, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3592, ptr noundef %3594, ptr noundef %3596, i32 noundef %3597) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3599:                                             ; preds = %3572
  store i32 0, ptr %3546, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %3600 = tail call ptr @__errno_location() #13
  store i32 0, ptr %3600, align 4, !tbaa !5
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %3480) #12
  %3604 = icmp eq i32 %3603, -1
  br i1 %3604, label %3605, label %3627

3605:                                             ; preds = %3599
  %3606 = load i32, ptr %3600, align 4, !tbaa !5
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = call i32 @s2n_print_stacktrace(ptr noundef %3607) #12
  %3609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3610 = trunc nuw i8 %3609 to i1
  br i1 %3610, label %3611, label %3615

3611:                                             ; preds = %3605
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = call i32 @fileno(ptr noundef %3612) #12
  %3614 = call i32 @isatty(i32 noundef %3613) #12
  %.not1105 = icmp eq i32 %3614, 0
  br i1 %.not1105, label %3615, label %3616

3615:                                             ; preds = %3611, %3605
  br label %3616

3616:                                             ; preds = %3611, %3615
  %.str.5.sink2539 = phi ptr [ @.str.5, %3615 ], [ @.str.2, %3611 ]
  store i32 %3606, ptr %3600, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = load i32, ptr %3546, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror(i32 noundef %3619, ptr noundef nonnull @.str.4) #12
  %3621 = load i32, ptr %3546, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror_debug(i32 noundef %3621, ptr noundef nonnull @.str.4) #12
  %3623 = load i32, ptr %3600, align 4, !tbaa !5
  %3624 = call ptr @strerror(i32 noundef %3623) #12
  %3625 = load i32, ptr %3600, align 4, !tbaa !5
  %3626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3617, ptr noundef nonnull %.str.5.sink2539, i32 noundef %3618, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3620, ptr noundef %3622, ptr noundef %3624, i32 noundef %3625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3627:                                             ; preds = %3599
  %3628 = load i32, ptr @test_count, align 4, !tbaa !5
  %3629 = add nsw i32 %3628, 1
  store i32 %3629, ptr @test_count, align 4, !tbaa !5
  %3630 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %3486) #12
  %3631 = icmp eq i32 %3630, -1
  br i1 %3631, label %3632, label %3654

3632:                                             ; preds = %3627
  %3633 = load i32, ptr %3600, align 4, !tbaa !5
  %3634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3635 = call i32 @s2n_print_stacktrace(ptr noundef %3634) #12
  %3636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3637 = trunc nuw i8 %3636 to i1
  br i1 %3637, label %3638, label %3642

3638:                                             ; preds = %3632
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = call i32 @fileno(ptr noundef %3639) #12
  %3641 = call i32 @isatty(i32 noundef %3640) #12
  %.not1104 = icmp eq i32 %3641, 0
  br i1 %.not1104, label %3642, label %3643

3642:                                             ; preds = %3638, %3632
  br label %3643

3643:                                             ; preds = %3638, %3642
  %.str.5.sink2548 = phi ptr [ @.str.5, %3642 ], [ @.str.2, %3638 ]
  store i32 %3633, ptr %3600, align 4, !tbaa !5
  %3644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3645 = load i32, ptr @test_count, align 4, !tbaa !5
  %3646 = load i32, ptr %3546, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror(i32 noundef %3646, ptr noundef nonnull @.str.4) #12
  %3648 = load i32, ptr %3546, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror_debug(i32 noundef %3648, ptr noundef nonnull @.str.4) #12
  %3650 = load i32, ptr %3600, align 4, !tbaa !5
  %3651 = call ptr @strerror(i32 noundef %3650) #12
  %3652 = load i32, ptr %3600, align 4, !tbaa !5
  %3653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3644, ptr noundef nonnull %.str.5.sink2548, i32 noundef %3645, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %3647, ptr noundef %3649, ptr noundef %3651, i32 noundef %3652) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3654:                                             ; preds = %3627
  %3655 = load i32, ptr @test_count, align 4, !tbaa !5
  %3656 = add nsw i32 %3655, 1
  store i32 %3656, ptr @test_count, align 4, !tbaa !5
  %3657 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3336, ptr noundef nonnull %3480) #12
  %3658 = icmp eq i32 %3657, -1
  br i1 %3658, label %3659, label %3681

3659:                                             ; preds = %3654
  %3660 = load i32, ptr %3600, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = call i32 @s2n_print_stacktrace(ptr noundef %3661) #12
  %3663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3664 = trunc nuw i8 %3663 to i1
  br i1 %3664, label %3665, label %3669

3665:                                             ; preds = %3659
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = call i32 @fileno(ptr noundef %3666) #12
  %3668 = call i32 @isatty(i32 noundef %3667) #12
  %.not1103 = icmp eq i32 %3668, 0
  br i1 %.not1103, label %3669, label %3670

3669:                                             ; preds = %3665, %3659
  br label %3670

3670:                                             ; preds = %3665, %3669
  %.str.5.sink2557 = phi ptr [ @.str.5, %3669 ], [ @.str.2, %3665 ]
  store i32 %3660, ptr %3600, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = load i32, ptr %3546, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror(i32 noundef %3673, ptr noundef nonnull @.str.4) #12
  %3675 = load i32, ptr %3546, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror_debug(i32 noundef %3675, ptr noundef nonnull @.str.4) #12
  %3677 = load i32, ptr %3600, align 4, !tbaa !5
  %3678 = call ptr @strerror(i32 noundef %3677) #12
  %3679 = load i32, ptr %3600, align 4, !tbaa !5
  %3680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef nonnull %.str.5.sink2557, i32 noundef %3672, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %3674, ptr noundef %3676, ptr noundef %3678, i32 noundef %3679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3681:                                             ; preds = %3654
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3480, i32 noundef 75) #12
  %3685 = icmp eq i32 %3684, -1
  br i1 %3685, label %3686, label %3708

3686:                                             ; preds = %3681
  %3687 = load i32, ptr %3600, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @s2n_print_stacktrace(ptr noundef %3688) #12
  %3690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3691 = trunc nuw i8 %3690 to i1
  br i1 %3691, label %3692, label %3696

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

3696:                                             ; preds = %3692, %3686
  br label %3697

3697:                                             ; preds = %3692, %3696
  %.str.5.sink2566 = phi ptr [ @.str.5, %3696 ], [ @.str.2, %3692 ]
  store i32 %3687, ptr %3600, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = load i32, ptr %3546, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror(i32 noundef %3700, ptr noundef nonnull @.str.4) #12
  %3702 = load i32, ptr %3546, align 4, !tbaa !5
  %3703 = call ptr @s2n_strerror_debug(i32 noundef %3702, ptr noundef nonnull @.str.4) #12
  %3704 = load i32, ptr %3600, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #12
  %3706 = load i32, ptr %3600, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3698, ptr noundef nonnull %.str.5.sink2566, i32 noundef %3699, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %3701, ptr noundef %3703, ptr noundef %3705, i32 noundef %3706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3708:                                             ; preds = %3681
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %3711 = getelementptr inbounds i8, ptr %3336, i64 2044
  %3712 = load i32, ptr %3711, align 4, !tbaa !15
  %3713 = getelementptr inbounds i8, ptr %3336, i64 2040
  %3714 = load i32, ptr %3713, align 8, !tbaa !18
  %3715 = icmp eq i32 %3712, %3714
  br i1 %3715, label %3738, label %3716

3716:                                             ; preds = %3708
  %3717 = load i32, ptr %3600, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = call i32 @s2n_print_stacktrace(ptr noundef %3718) #12
  %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) #12
  %3725 = call i32 @isatty(i32 noundef %3724) #12
  %.not952 = icmp eq i32 %3725, 0
  br i1 %.not952, label %3726, label %3727

3726:                                             ; preds = %3722, %3716
  br label %3727

3727:                                             ; preds = %3722, %3726
  %.str.5.sink2575 = phi ptr [ @.str.5, %3726 ], [ @.str.2, %3722 ]
  store i32 %3717, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3731 = call ptr @s2n_strerror(i32 noundef %3730, ptr noundef nonnull @.str.4) #12
  %3732 = load i32, ptr %3546, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef nonnull @.str.4) #12
  %3734 = load i32, ptr %3600, align 4, !tbaa !5
  %3735 = call ptr @strerror(i32 noundef %3734) #12
  %3736 = load i32, ptr %3600, align 4, !tbaa !5
  %3737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3728, ptr noundef nonnull %.str.5.sink2575, i32 noundef %3729, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %3731, ptr noundef %3733, ptr noundef %3735, i32 noundef %3736) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3738:                                             ; preds = %3708
  store i8 33, ptr %3485, align 4, !tbaa !55
  %3739 = add nsw i32 %3709, 2
  store i32 %3739, ptr @test_count, align 4, !tbaa !5
  %3740 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3480, i32 noundef 0) #12
  %3741 = icmp eq i32 %3740, -1
  br i1 %3741, label %3742, label %3764

3742:                                             ; preds = %3738
  %3743 = load i32, ptr %3600, align 4, !tbaa !5
  %3744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3745 = call i32 @s2n_print_stacktrace(ptr noundef %3744) #12
  %3746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3747 = trunc nuw i8 %3746 to i1
  br i1 %3747, label %3748, label %3752

3748:                                             ; preds = %3742
  %3749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3750 = call i32 @fileno(ptr noundef %3749) #12
  %3751 = call i32 @isatty(i32 noundef %3750) #12
  %.not1101 = icmp eq i32 %3751, 0
  br i1 %.not1101, label %3752, label %3753

3752:                                             ; preds = %3748, %3742
  br label %3753

3753:                                             ; preds = %3748, %3752
  %.str.5.sink2584 = phi ptr [ @.str.5, %3752 ], [ @.str.2, %3748 ]
  store i32 %3743, ptr %3600, align 4, !tbaa !5
  %3754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3755 = load i32, ptr @test_count, align 4, !tbaa !5
  %3756 = load i32, ptr %3546, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror(i32 noundef %3756, ptr noundef nonnull @.str.4) #12
  %3758 = load i32, ptr %3546, align 4, !tbaa !5
  %3759 = call ptr @s2n_strerror_debug(i32 noundef %3758, ptr noundef nonnull @.str.4) #12
  %3760 = load i32, ptr %3600, align 4, !tbaa !5
  %3761 = call ptr @strerror(i32 noundef %3760) #12
  %3762 = load i32, ptr %3600, align 4, !tbaa !5
  %3763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3754, ptr noundef nonnull %.str.5.sink2584, i32 noundef %3755, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %3757, ptr noundef %3759, ptr noundef %3761, i32 noundef %3762) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3764:                                             ; preds = %3738
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = add nsw i32 %3765, 1
  store i32 %3766, ptr @test_count, align 4, !tbaa !5
  %3767 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3336, ptr noundef nonnull %3480) #12
  %3768 = icmp eq i32 %3767, -1
  br i1 %3768, label %3769, label %3791

3769:                                             ; preds = %3764
  %3770 = load i32, ptr %3600, align 4, !tbaa !5
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @s2n_print_stacktrace(ptr noundef %3771) #12
  %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) #12
  %3778 = call i32 @isatty(i32 noundef %3777) #12
  %.not1100 = icmp eq i32 %3778, 0
  br i1 %.not1100, label %3779, label %3780

3779:                                             ; preds = %3775, %3769
  br label %3780

3780:                                             ; preds = %3775, %3779
  %.str.5.sink2593 = phi ptr [ @.str.5, %3779 ], [ @.str.2, %3775 ]
  store i32 %3770, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror(i32 noundef %3783, ptr noundef nonnull @.str.4) #12
  %3785 = load i32, ptr %3546, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror_debug(i32 noundef %3785, ptr noundef nonnull @.str.4) #12
  %3787 = load i32, ptr %3600, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #12
  %3789 = load i32, ptr %3600, align 4, !tbaa !5
  %3790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3781, ptr noundef nonnull %.str.5.sink2593, i32 noundef %3782, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %3784, ptr noundef %3786, ptr noundef %3788, i32 noundef %3789) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3791:                                             ; preds = %3764
  %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_stuffer_skip_read(ptr noundef nonnull %3480, i32 noundef 0) #12
  %3795 = icmp eq i32 %3794, -1
  br i1 %3795, label %3796, label %3818

3796:                                             ; preds = %3791
  %3797 = load i32, ptr %3600, align 4, !tbaa !5
  %3798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3799 = call i32 @s2n_print_stacktrace(ptr noundef %3798) #12
  %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) #12
  %3805 = call i32 @isatty(i32 noundef %3804) #12
  %.not1099 = icmp eq i32 %3805, 0
  br i1 %.not1099, label %3806, label %3807

3806:                                             ; preds = %3802, %3796
  br label %3807

3807:                                             ; preds = %3802, %3806
  %.str.5.sink2602 = phi ptr [ @.str.5, %3806 ], [ @.str.2, %3802 ]
  store i32 %3797, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror(i32 noundef %3810, ptr noundef nonnull @.str.4) #12
  %3812 = load i32, ptr %3546, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef nonnull @.str.4) #12
  %3814 = load i32, ptr %3600, align 4, !tbaa !5
  %3815 = call ptr @strerror(i32 noundef %3814) #12
  %3816 = load i32, ptr %3600, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3808, ptr noundef nonnull %.str.5.sink2602, i32 noundef %3809, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3811, ptr noundef %3813, ptr noundef %3815, i32 noundef %3816) #14
  call void @exit(i32 noundef 1) #15
  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 = load i32, ptr %3711, align 4, !tbaa !15
  %3822 = load i32, ptr %3713, align 8, !tbaa !18
  %3823 = icmp eq i32 %3821, %3822
  br i1 %3823, label %3846, label %3824

3824:                                             ; preds = %3818
  %3825 = load i32, ptr %3600, align 4, !tbaa !5
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = call i32 @s2n_print_stacktrace(ptr noundef %3826) #12
  %3828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3829 = trunc nuw i8 %3828 to i1
  br i1 %3829, label %3830, label %3834

3830:                                             ; preds = %3824
  %3831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3832 = call i32 @fileno(ptr noundef %3831) #12
  %3833 = call i32 @isatty(i32 noundef %3832) #12
  %.not953 = icmp eq i32 %3833, 0
  br i1 %.not953, label %3834, label %3835

3834:                                             ; preds = %3830, %3824
  br label %3835

3835:                                             ; preds = %3830, %3834
  %.str.5.sink2611 = phi ptr [ @.str.5, %3834 ], [ @.str.2, %3830 ]
  store i32 %3825, ptr %3600, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = load i32, ptr @test_count, align 4, !tbaa !5
  %3838 = load i32, ptr %3546, align 4, !tbaa !5
  %3839 = call ptr @s2n_strerror(i32 noundef %3838, ptr noundef nonnull @.str.4) #12
  %3840 = load i32, ptr %3546, align 4, !tbaa !5
  %3841 = call ptr @s2n_strerror_debug(i32 noundef %3840, ptr noundef nonnull @.str.4) #12
  %3842 = load i32, ptr %3600, align 4, !tbaa !5
  %3843 = call ptr @strerror(i32 noundef %3842) #12
  %3844 = load i32, ptr %3600, align 4, !tbaa !5
  %3845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3836, ptr noundef nonnull %.str.5.sink2611, i32 noundef %3837, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3839, ptr noundef %3841, ptr noundef %3843, i32 noundef %3844) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3846:                                             ; preds = %3818
  %3847 = add nsw i32 %3819, 2
  store i32 %3847, ptr @test_count, align 4, !tbaa !5
  %3848 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %3849 = icmp eq i32 %3848, -1
  br i1 %3849, label %3850, label %3872

3850:                                             ; preds = %3846
  %3851 = load i32, ptr %3600, align 4, !tbaa !5
  %3852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3853 = call i32 @s2n_print_stacktrace(ptr noundef %3852) #12
  %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) #12
  %3859 = call i32 @isatty(i32 noundef %3858) #12
  %.not1098 = icmp eq i32 %3859, 0
  br i1 %.not1098, label %3860, label %3861

3860:                                             ; preds = %3856, %3850
  br label %3861

3861:                                             ; preds = %3856, %3860
  %.str.5.sink2620 = phi ptr [ @.str.5, %3860 ], [ @.str.2, %3856 ]
  store i32 %3851, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef nonnull @.str.4) #12
  %3866 = load i32, ptr %3546, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef nonnull @.str.4) #12
  %3868 = load i32, ptr %3600, align 4, !tbaa !5
  %3869 = call ptr @strerror(i32 noundef %3868) #12
  %3870 = load i32, ptr %3600, align 4, !tbaa !5
  %3871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef nonnull %.str.5.sink2620, i32 noundef %3863, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %3865, ptr noundef %3867, ptr noundef %3869, i32 noundef %3870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3872:                                             ; preds = %3846
  %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_free(ptr noundef nonnull %3336) #12
  %3876 = icmp eq i32 %3875, -1
  br i1 %3876, label %3877, label %3899

3877:                                             ; preds = %3872
  %3878 = load i32, ptr %3600, align 4, !tbaa !5
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @s2n_print_stacktrace(ptr noundef %3879) #12
  %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) #12
  %3886 = call i32 @isatty(i32 noundef %3885) #12
  %.not1097 = icmp eq i32 %3886, 0
  br i1 %.not1097, label %3887, label %3888

3887:                                             ; preds = %3883, %3877
  br label %3888

3888:                                             ; preds = %3883, %3887
  %.str.5.sink2629 = phi ptr [ @.str.5, %3887 ], [ @.str.2, %3883 ]
  store i32 %3878, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror(i32 noundef %3891, ptr noundef nonnull @.str.4) #12
  %3893 = load i32, ptr %3546, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror_debug(i32 noundef %3893, ptr noundef nonnull @.str.4) #12
  %3895 = load i32, ptr %3600, align 4, !tbaa !5
  %3896 = call ptr @strerror(i32 noundef %3895) #12
  %3897 = load i32, ptr %3600, align 4, !tbaa !5
  %3898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3889, ptr noundef nonnull %.str.5.sink2629, i32 noundef %3890, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %3892, ptr noundef %3894, ptr noundef %3896, i32 noundef %3897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3899:                                             ; preds = %3872
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  %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_enable_tls13_in_test() #12
  %3903 = icmp eq i32 %3902, -1
  br i1 %3903, label %3904, label %3926

3904:                                             ; preds = %3899
  %3905 = load i32, ptr %3600, align 4, !tbaa !5
  %3906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3907 = call i32 @s2n_print_stacktrace(ptr noundef %3906) #12
  %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) #12
  %3913 = call i32 @isatty(i32 noundef %3912) #12
  %.not1096 = icmp eq i32 %3913, 0
  br i1 %.not1096, label %3914, label %3915

3914:                                             ; preds = %3910, %3904
  br label %3915

3915:                                             ; preds = %3910, %3914
  %.str.5.sink2638 = phi ptr [ @.str.5, %3914 ], [ @.str.2, %3910 ]
  store i32 %3905, ptr %3600, 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 %3546, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror(i32 noundef %3918, ptr noundef nonnull @.str.4) #12
  %3920 = load i32, ptr %3546, align 4, !tbaa !5
  %3921 = call ptr @s2n_strerror_debug(i32 noundef %3920, ptr noundef nonnull @.str.4) #12
  %3922 = load i32, ptr %3600, align 4, !tbaa !5
  %3923 = call ptr @strerror(i32 noundef %3922) #12
  %3924 = load i32, ptr %3600, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef nonnull %.str.5.sink2638, i32 noundef %3917, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3919, ptr noundef %3921, ptr noundef %3923, i32 noundef %3924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3926:                                             ; preds = %3899
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = add nsw i32 %3927, 1
  store i32 %3928, ptr @test_count, align 4, !tbaa !5
  %3929 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3930 = icmp eq ptr %3929, null
  br i1 %3930, label %3931, label %3953

3931:                                             ; preds = %3926
  %3932 = load i32, ptr %3600, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = call i32 @s2n_print_stacktrace(ptr noundef %3933) #12
  %3935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3936 = trunc nuw i8 %3935 to i1
  br i1 %3936, label %3937, label %3941

3937:                                             ; preds = %3931
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = call i32 @fileno(ptr noundef %3938) #12
  %3940 = call i32 @isatty(i32 noundef %3939) #12
  %.not1095 = icmp eq i32 %3940, 0
  br i1 %.not1095, label %3941, label %3942

3941:                                             ; preds = %3937, %3931
  br label %3942

3942:                                             ; preds = %3937, %3941
  %.str.5.sink2647 = phi ptr [ @.str.5, %3941 ], [ @.str.2, %3937 ]
  store i32 %3932, ptr %3600, align 4, !tbaa !5
  %3943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3944 = load i32, ptr @test_count, align 4, !tbaa !5
  %3945 = load i32, ptr %3546, align 4, !tbaa !5
  %3946 = call ptr @s2n_strerror(i32 noundef %3945, ptr noundef nonnull @.str.4) #12
  %3947 = load i32, ptr %3546, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror_debug(i32 noundef %3947, ptr noundef nonnull @.str.4) #12
  %3949 = load i32, ptr %3600, align 4, !tbaa !5
  %3950 = call ptr @strerror(i32 noundef %3949) #12
  %3951 = load i32, ptr %3600, align 4, !tbaa !5
  %3952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3943, ptr noundef nonnull %.str.5.sink2647, i32 noundef %3944, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %3946, ptr noundef %3948, ptr noundef %3950, i32 noundef %3951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3953:                                             ; preds = %3926
  %3954 = load i32, ptr @test_count, align 4, !tbaa !5
  %3955 = add nsw i32 %3954, 1
  store i32 %3955, ptr @test_count, align 4, !tbaa !5
  %3956 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3929, ptr noundef nonnull %178) #12
  %3957 = icmp eq i32 %3956, -1
  br i1 %3957, label %3958, label %3980

3958:                                             ; preds = %3953
  %3959 = load i32, ptr %3600, align 4, !tbaa !5
  %3960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3961 = call i32 @s2n_print_stacktrace(ptr noundef %3960) #12
  %3962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3963 = trunc nuw i8 %3962 to i1
  br i1 %3963, label %3964, label %3968

3964:                                             ; preds = %3958
  %3965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3966 = call i32 @fileno(ptr noundef %3965) #12
  %3967 = call i32 @isatty(i32 noundef %3966) #12
  %.not1094 = icmp eq i32 %3967, 0
  br i1 %.not1094, label %3968, label %3969

3968:                                             ; preds = %3964, %3958
  br label %3969

3969:                                             ; preds = %3964, %3968
  %.str.5.sink2656 = phi ptr [ @.str.5, %3968 ], [ @.str.2, %3964 ]
  store i32 %3959, ptr %3600, align 4, !tbaa !5
  %3970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3971 = load i32, ptr @test_count, align 4, !tbaa !5
  %3972 = load i32, ptr %3546, align 4, !tbaa !5
  %3973 = call ptr @s2n_strerror(i32 noundef %3972, ptr noundef nonnull @.str.4) #12
  %3974 = load i32, ptr %3546, align 4, !tbaa !5
  %3975 = call ptr @s2n_strerror_debug(i32 noundef %3974, ptr noundef nonnull @.str.4) #12
  %3976 = load i32, ptr %3600, align 4, !tbaa !5
  %3977 = call ptr @strerror(i32 noundef %3976) #12
  %3978 = load i32, ptr %3600, align 4, !tbaa !5
  %3979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3970, ptr noundef nonnull %.str.5.sink2656, i32 noundef %3971, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %3973, ptr noundef %3975, ptr noundef %3977, i32 noundef %3978) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3980:                                             ; preds = %3953
  %3981 = load i32, ptr @test_count, align 4, !tbaa !5
  %3982 = add nsw i32 %3981, 1
  store i32 %3982, ptr @test_count, align 4, !tbaa !5
  %3983 = call i32 @s2n_connection_allow_response_extension(ptr noundef nonnull %3929, i16 noundef zeroext %3394) #12
  %3984 = icmp eq i32 %3983, -1
  br i1 %3984, label %3985, label %4007

3985:                                             ; preds = %3980
  %3986 = load i32, ptr %3600, align 4, !tbaa !5
  %3987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3988 = call i32 @s2n_print_stacktrace(ptr noundef %3987) #12
  %3989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3990 = trunc nuw i8 %3989 to i1
  br i1 %3990, label %3991, label %3995

3991:                                             ; preds = %3985
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @fileno(ptr noundef %3992) #12
  %3994 = call i32 @isatty(i32 noundef %3993) #12
  %.not1093 = icmp eq i32 %3994, 0
  br i1 %.not1093, label %3995, label %3996

3995:                                             ; preds = %3991, %3985
  br label %3996

3996:                                             ; preds = %3991, %3995
  %.str.5.sink2665 = phi ptr [ @.str.5, %3995 ], [ @.str.2, %3991 ]
  store i32 %3986, ptr %3600, align 4, !tbaa !5
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = load i32, ptr @test_count, align 4, !tbaa !5
  %3999 = load i32, ptr %3546, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror(i32 noundef %3999, ptr noundef nonnull @.str.4) #12
  %4001 = load i32, ptr %3546, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef nonnull @.str.4) #12
  %4003 = load i32, ptr %3600, align 4, !tbaa !5
  %4004 = call ptr @strerror(i32 noundef %4003) #12
  %4005 = load i32, ptr %3600, align 4, !tbaa !5
  %4006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3997, ptr noundef nonnull %.str.5.sink2665, i32 noundef %3998, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %4000, ptr noundef %4002, ptr noundef %4004, i32 noundef %4005) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4007:                                             ; preds = %3980
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  store ptr null, ptr %13, align 8, !tbaa !9
  %4008 = load i32, ptr @test_count, align 4, !tbaa !5
  %4009 = add nsw i32 %4008, 1
  store i32 %4009, ptr @test_count, align 4, !tbaa !5
  %4010 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef nonnull %3929, ptr noundef nonnull %13) #12
  %4011 = icmp eq i32 %4010, -1
  br i1 %4011, label %4012, label %4034

4012:                                             ; preds = %4007
  %4013 = load i32, ptr %3600, align 4, !tbaa !5
  %4014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4015 = call i32 @s2n_print_stacktrace(ptr noundef %4014) #12
  %4016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4017 = trunc nuw i8 %4016 to i1
  br i1 %4017, label %4018, label %4022

4018:                                             ; preds = %4012
  %4019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4020 = call i32 @fileno(ptr noundef %4019) #12
  %4021 = call i32 @isatty(i32 noundef %4020) #12
  %.not1092 = icmp eq i32 %4021, 0
  br i1 %.not1092, label %4022, label %4023

4022:                                             ; preds = %4018, %4012
  br label %4023

4023:                                             ; preds = %4018, %4022
  %.str.5.sink2674 = phi ptr [ @.str.5, %4022 ], [ @.str.2, %4018 ]
  store i32 %4013, ptr %3600, align 4, !tbaa !5
  %4024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = load i32, ptr %3546, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror(i32 noundef %4026, ptr noundef nonnull @.str.4) #12
  %4028 = load i32, ptr %3546, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror_debug(i32 noundef %4028, ptr noundef nonnull @.str.4) #12
  %4030 = load i32, ptr %3600, align 4, !tbaa !5
  %4031 = call ptr @strerror(i32 noundef %4030) #12
  %4032 = load i32, ptr %3600, align 4, !tbaa !5
  %4033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4024, ptr noundef nonnull %.str.5.sink2674, i32 noundef %4025, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %4027, ptr noundef %4029, ptr noundef %4031, i32 noundef %4032) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4034:                                             ; preds = %4007
  %4035 = load i32, ptr @test_count, align 4, !tbaa !5
  %4036 = add nsw i32 %4035, 1
  store i32 %4036, ptr @test_count, align 4, !tbaa !5
  %4037 = load ptr, ptr %13, align 8, !tbaa !9
  %4038 = icmp eq ptr %4037, null
  br i1 %4038, label %4039, label %4061

4039:                                             ; preds = %4034
  %4040 = load i32, ptr %3600, align 4, !tbaa !5
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = call i32 @s2n_print_stacktrace(ptr noundef %4041) #12
  %4043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4044 = trunc nuw i8 %4043 to i1
  br i1 %4044, label %4045, label %4049

4045:                                             ; preds = %4039
  %4046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4047 = call i32 @fileno(ptr noundef %4046) #12
  %4048 = call i32 @isatty(i32 noundef %4047) #12
  %.not1091 = icmp eq i32 %4048, 0
  br i1 %.not1091, label %4049, label %4050

4049:                                             ; preds = %4045, %4039
  br label %4050

4050:                                             ; preds = %4045, %4049
  %.str.5.sink2683 = phi ptr [ @.str.5, %4049 ], [ @.str.2, %4045 ]
  store i32 %4040, ptr %3600, align 4, !tbaa !5
  %4051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = load i32, ptr %3546, align 4, !tbaa !5
  %4054 = call ptr @s2n_strerror(i32 noundef %4053, ptr noundef nonnull @.str.4) #12
  %4055 = load i32, ptr %3546, align 4, !tbaa !5
  %4056 = call ptr @s2n_strerror_debug(i32 noundef %4055, ptr noundef nonnull @.str.4) #12
  %4057 = load i32, ptr %3600, align 4, !tbaa !5
  %4058 = call ptr @strerror(i32 noundef %4057) #12
  %4059 = load i32, ptr %3600, align 4, !tbaa !5
  %4060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4051, ptr noundef nonnull %.str.5.sink2683, i32 noundef %4052, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %4054, ptr noundef %4056, ptr noundef %4058, i32 noundef %4059) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4061:                                             ; preds = %4034
  %4062 = getelementptr inbounds i8, ptr %3929, i64 2016
  %4063 = getelementptr inbounds i8, ptr %4037, i64 8
  %4064 = load ptr, ptr %4063, align 8, !tbaa !52
  %4065 = load ptr, ptr %4064, align 8, !tbaa !9
  %4066 = getelementptr inbounds i8, ptr %3929, i64 656
  store ptr %4065, ptr %4066, align 8, !tbaa !54
  %4067 = load i32, ptr %3929, align 8
  %4068 = or i32 %4067, 8
  store i32 %4068, ptr %3929, align 8
  %4069 = getelementptr inbounds i8, ptr %3929, i64 220
  store i8 34, ptr %4069, align 4, !tbaa !55
  %4070 = load ptr, ptr %13, align 8, !tbaa !9
  %4071 = getelementptr inbounds i8, ptr %4070, i64 8
  %4072 = load ptr, ptr %4071, align 8, !tbaa !52
  %4073 = load ptr, ptr %4072, align 8, !tbaa !9
  %4074 = getelementptr inbounds i8, ptr %3929, i64 704
  store ptr %4073, ptr %4074, align 8, !tbaa !56
  %4075 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef nonnull %3929) #12
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = add nsw i32 %4076, 1
  store i32 %4077, ptr @test_count, align 4, !tbaa !5
  %4078 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3929, ptr noundef nonnull %4062) #12
  %4079 = icmp eq i32 %4078, -1
  br i1 %4079, label %4102, label %4080

4080:                                             ; preds = %4061
  %4081 = load i32, ptr %3600, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = call i32 @s2n_print_stacktrace(ptr noundef %4082) #12
  %4084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4085 = trunc nuw i8 %4084 to i1
  br i1 %4085, label %4086, label %4090

4086:                                             ; preds = %4080
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = call i32 @fileno(ptr noundef %4087) #12
  %4089 = call i32 @isatty(i32 noundef %4088) #12
  %.not954 = icmp eq i32 %4089, 0
  br i1 %.not954, label %4090, label %4091

4090:                                             ; preds = %4086, %4080
  br label %4091

4091:                                             ; preds = %4086, %4090
  %.str.5.sink2692 = phi ptr [ @.str.5, %4090 ], [ @.str.2, %4086 ]
  store i32 %4081, ptr %3600, align 4, !tbaa !5
  %4092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = load i32, ptr %3546, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror(i32 noundef %4094, ptr noundef nonnull @.str.4) #12
  %4096 = load i32, ptr %3546, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror_debug(i32 noundef %4096, ptr noundef nonnull @.str.4) #12
  %4098 = load i32, ptr %3600, align 4, !tbaa !5
  %4099 = call ptr @strerror(i32 noundef %4098) #12
  %4100 = load i32, ptr %3600, align 4, !tbaa !5
  %4101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4092, ptr noundef nonnull %.str.5.sink2692, i32 noundef %4093, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %4095, ptr noundef %4097, ptr noundef %4099, i32 noundef %4100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4102:                                             ; preds = %4061
  %4103 = load i32, ptr @test_count, align 4, !tbaa !5
  %4104 = add nsw i32 %4103, 1
  store i32 %4104, ptr @test_count, align 4, !tbaa !5
  %4105 = load i32, ptr %3546, align 4, !tbaa !5
  %4106 = icmp eq i32 %4105, 0
  br i1 %4106, label %4107, label %4129

4107:                                             ; preds = %4102
  %4108 = load i32, ptr %3600, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = call i32 @s2n_print_stacktrace(ptr noundef %4109) #12
  %4111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4112 = trunc nuw i8 %4111 to i1
  br i1 %4112, label %4113, label %4117

4113:                                             ; preds = %4107
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = call i32 @fileno(ptr noundef %4114) #12
  %4116 = call i32 @isatty(i32 noundef %4115) #12
  %.not1090 = icmp eq i32 %4116, 0
  br i1 %.not1090, label %4117, label %4118

4117:                                             ; preds = %4113, %4107
  br label %4118

4118:                                             ; preds = %4113, %4117
  %.str.5.sink2701 = phi ptr [ @.str.5, %4117 ], [ @.str.2, %4113 ]
  store i32 %4108, ptr %3600, align 4, !tbaa !5
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = load i32, ptr %3546, align 4, !tbaa !5
  %4122 = call ptr @s2n_strerror(i32 noundef %4121, ptr noundef nonnull @.str.4) #12
  %4123 = load i32, ptr %3546, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror_debug(i32 noundef %4123, ptr noundef nonnull @.str.4) #12
  %4125 = load i32, ptr %3600, align 4, !tbaa !5
  %4126 = call ptr @strerror(i32 noundef %4125) #12
  %4127 = load i32, ptr %3600, align 4, !tbaa !5
  %4128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4119, ptr noundef nonnull %.str.5.sink2701, i32 noundef %4120, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %4122, ptr noundef %4124, ptr noundef %4126, i32 noundef %4127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4129:                                             ; preds = %4102
  %4130 = add nsw i32 %4103, 2
  store i32 %4130, ptr @test_count, align 4, !tbaa !5
  %4131 = call ptr @s2n_strerror_debug(i32 noundef %4105, ptr noundef nonnull @.str.4) #12
  %4132 = icmp eq ptr %4131, null
  br i1 %4132, label %4133, label %4155

4133:                                             ; preds = %4129
  %4134 = load i32, ptr %3600, align 4, !tbaa !5
  %4135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4136 = call i32 @s2n_print_stacktrace(ptr noundef %4135) #12
  %4137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4138 = trunc nuw i8 %4137 to i1
  br i1 %4138, label %4139, label %4143

4139:                                             ; preds = %4133
  %4140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4141 = call i32 @fileno(ptr noundef %4140) #12
  %4142 = call i32 @isatty(i32 noundef %4141) #12
  %.not1089 = icmp eq i32 %4142, 0
  br i1 %.not1089, label %4143, label %4144

4143:                                             ; preds = %4139, %4133
  br label %4144

4144:                                             ; preds = %4139, %4143
  %.str.5.sink2710 = phi ptr [ @.str.5, %4143 ], [ @.str.2, %4139 ]
  store i32 %4134, ptr %3600, align 4, !tbaa !5
  %4145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4146 = load i32, ptr @test_count, align 4, !tbaa !5
  %4147 = load i32, ptr %3546, align 4, !tbaa !5
  %4148 = call ptr @s2n_strerror(i32 noundef %4147, ptr noundef nonnull @.str.4) #12
  %4149 = load i32, ptr %3546, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror_debug(i32 noundef %4149, ptr noundef nonnull @.str.4) #12
  %4151 = load i32, ptr %3600, align 4, !tbaa !5
  %4152 = call ptr @strerror(i32 noundef %4151) #12
  %4153 = load i32, ptr %3600, align 4, !tbaa !5
  %4154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4145, ptr noundef nonnull %.str.5.sink2710, i32 noundef %4146, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %4148, ptr noundef %4150, ptr noundef %4152, i32 noundef %4153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4155:                                             ; preds = %4129
  store i32 0, ptr %3546, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3600, align 4, !tbaa !5
  %4156 = load i32, ptr @test_count, align 4, !tbaa !5
  %4157 = add nsw i32 %4156, 1
  store i32 %4157, ptr @test_count, align 4, !tbaa !5
  %4158 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %4074) #12
  %4159 = icmp eq i32 %4158, -1
  br i1 %4159, label %4160, label %4182

4160:                                             ; preds = %4155
  %4161 = load i32, ptr %3600, align 4, !tbaa !5
  %4162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4163 = call i32 @s2n_print_stacktrace(ptr noundef %4162) #12
  %4164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4165 = trunc nuw i8 %4164 to i1
  br i1 %4165, label %4166, label %4170

4166:                                             ; preds = %4160
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = call i32 @fileno(ptr noundef %4167) #12
  %4169 = call i32 @isatty(i32 noundef %4168) #12
  %.not1088 = icmp eq i32 %4169, 0
  br i1 %.not1088, label %4170, label %4171

4170:                                             ; preds = %4166, %4160
  br label %4171

4171:                                             ; preds = %4166, %4170
  %.str.5.sink2719 = phi ptr [ @.str.5, %4170 ], [ @.str.2, %4166 ]
  store i32 %4161, ptr %3600, align 4, !tbaa !5
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = load i32, ptr @test_count, align 4, !tbaa !5
  %4174 = load i32, ptr %3546, align 4, !tbaa !5
  %4175 = call ptr @s2n_strerror(i32 noundef %4174, ptr noundef nonnull @.str.4) #12
  %4176 = load i32, ptr %3546, align 4, !tbaa !5
  %4177 = call ptr @s2n_strerror_debug(i32 noundef %4176, ptr noundef nonnull @.str.4) #12
  %4178 = load i32, ptr %3600, align 4, !tbaa !5
  %4179 = call ptr @strerror(i32 noundef %4178) #12
  %4180 = load i32, ptr %3600, align 4, !tbaa !5
  %4181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4172, ptr noundef nonnull %.str.5.sink2719, i32 noundef %4173, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %4175, ptr noundef %4177, ptr noundef %4179, i32 noundef %4180) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4182:                                             ; preds = %4155
  %4183 = load i32, ptr @test_count, align 4, !tbaa !5
  %4184 = add nsw i32 %4183, 1
  store i32 %4184, ptr @test_count, align 4, !tbaa !5
  %4185 = getelementptr inbounds i8, ptr %3929, i64 2044
  %4186 = load i32, ptr %4185, align 4, !tbaa !15
  %4187 = getelementptr inbounds i8, ptr %3929, i64 2040
  %4188 = load i32, ptr %4187, align 8, !tbaa !18
  %4189 = sub i32 %4186, %4188
  %4190 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4062, i32 noundef %4189) #12
  %4191 = icmp eq i32 %4190, -1
  br i1 %4191, label %4192, label %4214

4192:                                             ; preds = %4182
  %4193 = load i32, ptr %3600, align 4, !tbaa !5
  %4194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4195 = call i32 @s2n_print_stacktrace(ptr noundef %4194) #12
  %4196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4197 = trunc nuw i8 %4196 to i1
  br i1 %4197, label %4198, label %4202

4198:                                             ; preds = %4192
  %4199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4200 = call i32 @fileno(ptr noundef %4199) #12
  %4201 = call i32 @isatty(i32 noundef %4200) #12
  %.not1087 = icmp eq i32 %4201, 0
  br i1 %.not1087, label %4202, label %4203

4202:                                             ; preds = %4198, %4192
  br label %4203

4203:                                             ; preds = %4198, %4202
  %.str.5.sink2728 = phi ptr [ @.str.5, %4202 ], [ @.str.2, %4198 ]
  store i32 %4193, ptr %3600, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = load i32, ptr %3546, align 4, !tbaa !5
  %4207 = call ptr @s2n_strerror(i32 noundef %4206, ptr noundef nonnull @.str.4) #12
  %4208 = load i32, ptr %3546, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef nonnull @.str.4) #12
  %4210 = load i32, ptr %3600, align 4, !tbaa !5
  %4211 = call ptr @strerror(i32 noundef %4210) #12
  %4212 = load i32, ptr %3600, align 4, !tbaa !5
  %4213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef nonnull %.str.5.sink2728, i32 noundef %4205, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 351, ptr noundef %4207, ptr noundef %4209, ptr noundef %4211, i32 noundef %4212) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4214:                                             ; preds = %4182
  %4215 = load i32, ptr @test_count, align 4, !tbaa !5
  %4216 = add nsw i32 %4215, 1
  store i32 %4216, ptr @test_count, align 4, !tbaa !5
  %4217 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3929, ptr noundef nonnull %4062) #12
  %4218 = icmp eq i32 %4217, -1
  br i1 %4218, label %4219, label %4241

4219:                                             ; preds = %4214
  %4220 = load i32, ptr %3600, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = call i32 @s2n_print_stacktrace(ptr noundef %4221) #12
  %4223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4224 = trunc nuw i8 %4223 to i1
  br i1 %4224, label %4225, label %4229

4225:                                             ; preds = %4219
  %4226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4227 = call i32 @fileno(ptr noundef %4226) #12
  %4228 = call i32 @isatty(i32 noundef %4227) #12
  %.not1086 = icmp eq i32 %4228, 0
  br i1 %.not1086, label %4229, label %4230

4229:                                             ; preds = %4225, %4219
  br label %4230

4230:                                             ; preds = %4225, %4229
  %.str.5.sink2737 = phi ptr [ @.str.5, %4229 ], [ @.str.2, %4225 ]
  store i32 %4220, ptr %3600, align 4, !tbaa !5
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = load i32, ptr @test_count, align 4, !tbaa !5
  %4233 = load i32, ptr %3546, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror(i32 noundef %4233, ptr noundef nonnull @.str.4) #12
  %4235 = load i32, ptr %3546, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror_debug(i32 noundef %4235, ptr noundef nonnull @.str.4) #12
  %4237 = load i32, ptr %3600, align 4, !tbaa !5
  %4238 = call ptr @strerror(i32 noundef %4237) #12
  %4239 = load i32, ptr %3600, align 4, !tbaa !5
  %4240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4231, ptr noundef nonnull %.str.5.sink2737, i32 noundef %4232, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %4234, ptr noundef %4236, ptr noundef %4238, i32 noundef %4239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4241:                                             ; preds = %4214
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr @test_count, align 4, !tbaa !5
  %4244 = and i32 %4075, 255
  %4245 = add nuw nsw i32 %4244, 2
  %4246 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4062, i32 noundef %4245) #12
  %4247 = icmp eq i32 %4246, -1
  br i1 %4247, label %4248, label %4270

4248:                                             ; preds = %4241
  %4249 = load i32, ptr %3600, align 4, !tbaa !5
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @s2n_print_stacktrace(ptr noundef %4250) #12
  %4252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4253 = trunc nuw i8 %4252 to i1
  br i1 %4253, label %4254, label %4258

4254:                                             ; preds = %4248
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = call i32 @fileno(ptr noundef %4255) #12
  %4257 = call i32 @isatty(i32 noundef %4256) #12
  %.not1085 = icmp eq i32 %4257, 0
  br i1 %.not1085, label %4258, label %4259

4258:                                             ; preds = %4254, %4248
  br label %4259

4259:                                             ; preds = %4254, %4258
  %.str.5.sink2746 = phi ptr [ @.str.5, %4258 ], [ @.str.2, %4254 ]
  store i32 %4249, ptr %3600, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = load i32, ptr %3546, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror(i32 noundef %4262, ptr noundef nonnull @.str.4) #12
  %4264 = load i32, ptr %3546, align 4, !tbaa !5
  %4265 = call ptr @s2n_strerror_debug(i32 noundef %4264, ptr noundef nonnull @.str.4) #12
  %4266 = load i32, ptr %3600, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #12
  %4268 = load i32, ptr %3600, align 4, !tbaa !5
  %4269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef nonnull %.str.5.sink2746, i32 noundef %4261, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %4263, ptr noundef %4265, ptr noundef %4267, i32 noundef %4268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4270:                                             ; preds = %4241
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = add nsw i32 %4271, 1
  store i32 %4272, ptr @test_count, align 4, !tbaa !5
  %4273 = load i32, ptr %4185, align 4, !tbaa !15
  %4274 = load i32, ptr %4187, align 8, !tbaa !18
  %4275 = icmp eq i32 %4273, %4274
  br i1 %4275, label %4298, label %4276

4276:                                             ; preds = %4270
  %4277 = load i32, ptr %3600, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = call i32 @s2n_print_stacktrace(ptr noundef %4278) #12
  %4280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4281 = trunc nuw i8 %4280 to i1
  br i1 %4281, label %4282, label %4286

4282:                                             ; preds = %4276
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @fileno(ptr noundef %4283) #12
  %4285 = call i32 @isatty(i32 noundef %4284) #12
  %.not955 = icmp eq i32 %4285, 0
  br i1 %.not955, label %4286, label %4287

4286:                                             ; preds = %4282, %4276
  br label %4287

4287:                                             ; preds = %4282, %4286
  %.str.5.sink2755 = phi ptr [ @.str.5, %4286 ], [ @.str.2, %4282 ]
  store i32 %4277, ptr %3600, align 4, !tbaa !5
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = load i32, ptr @test_count, align 4, !tbaa !5
  %4290 = load i32, ptr %3546, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror(i32 noundef %4290, ptr noundef nonnull @.str.4) #12
  %4292 = load i32, ptr %3546, align 4, !tbaa !5
  %4293 = call ptr @s2n_strerror_debug(i32 noundef %4292, ptr noundef nonnull @.str.4) #12
  %4294 = load i32, ptr %3600, align 4, !tbaa !5
  %4295 = call ptr @strerror(i32 noundef %4294) #12
  %4296 = load i32, ptr %3600, align 4, !tbaa !5
  %4297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4288, ptr noundef nonnull %.str.5.sink2755, i32 noundef %4289, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %4291, ptr noundef %4293, ptr noundef %4295, i32 noundef %4296) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4298:                                             ; preds = %4270
  store i8 33, ptr %4069, align 4, !tbaa !55
  %4299 = add nsw i32 %4271, 2
  store i32 %4299, ptr @test_count, align 4, !tbaa !5
  %4300 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4062, i32 noundef 0) #12
  %4301 = icmp eq i32 %4300, -1
  br i1 %4301, label %4302, label %4324

4302:                                             ; preds = %4298
  %4303 = load i32, ptr %3600, align 4, !tbaa !5
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @s2n_print_stacktrace(ptr noundef %4304) #12
  %4306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4307 = trunc nuw i8 %4306 to i1
  br i1 %4307, label %4308, label %4312

4308:                                             ; preds = %4302
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = call i32 @fileno(ptr noundef %4309) #12
  %4311 = call i32 @isatty(i32 noundef %4310) #12
  %.not1084 = icmp eq i32 %4311, 0
  br i1 %.not1084, label %4312, label %4313

4312:                                             ; preds = %4308, %4302
  br label %4313

4313:                                             ; preds = %4308, %4312
  %.str.5.sink2764 = phi ptr [ @.str.5, %4312 ], [ @.str.2, %4308 ]
  store i32 %4303, ptr %3600, align 4, !tbaa !5
  %4314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4315 = load i32, ptr @test_count, align 4, !tbaa !5
  %4316 = load i32, ptr %3546, align 4, !tbaa !5
  %4317 = call ptr @s2n_strerror(i32 noundef %4316, ptr noundef nonnull @.str.4) #12
  %4318 = load i32, ptr %3546, align 4, !tbaa !5
  %4319 = call ptr @s2n_strerror_debug(i32 noundef %4318, ptr noundef nonnull @.str.4) #12
  %4320 = load i32, ptr %3600, align 4, !tbaa !5
  %4321 = call ptr @strerror(i32 noundef %4320) #12
  %4322 = load i32, ptr %3600, align 4, !tbaa !5
  %4323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4314, ptr noundef nonnull %.str.5.sink2764, i32 noundef %4315, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %4317, ptr noundef %4319, ptr noundef %4321, i32 noundef %4322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4324:                                             ; preds = %4298
  %4325 = load i32, ptr @test_count, align 4, !tbaa !5
  %4326 = add nsw i32 %4325, 1
  store i32 %4326, ptr @test_count, align 4, !tbaa !5
  %4327 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %3929, ptr noundef nonnull %4062) #12
  %4328 = icmp eq i32 %4327, -1
  br i1 %4328, label %4329, label %4351

4329:                                             ; preds = %4324
  %4330 = load i32, ptr %3600, align 4, !tbaa !5
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @s2n_print_stacktrace(ptr noundef %4331) #12
  %4333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4334 = trunc nuw i8 %4333 to i1
  br i1 %4334, label %4335, label %4339

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

4339:                                             ; preds = %4335, %4329
  br label %4340

4340:                                             ; preds = %4335, %4339
  %.str.5.sink2773 = phi ptr [ @.str.5, %4339 ], [ @.str.2, %4335 ]
  store i32 %4330, ptr %3600, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = load i32, ptr %3546, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror(i32 noundef %4343, ptr noundef nonnull @.str.4) #12
  %4345 = load i32, ptr %3546, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef nonnull @.str.4) #12
  %4347 = load i32, ptr %3600, align 4, !tbaa !5
  %4348 = call ptr @strerror(i32 noundef %4347) #12
  %4349 = load i32, ptr %3600, align 4, !tbaa !5
  %4350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4341, ptr noundef nonnull %.str.5.sink2773, i32 noundef %4342, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %4344, ptr noundef %4346, ptr noundef %4348, i32 noundef %4349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4351:                                             ; preds = %4324
  %4352 = load i32, ptr @test_count, align 4, !tbaa !5
  %4353 = add nsw i32 %4352, 1
  store i32 %4353, ptr @test_count, align 4, !tbaa !5
  %4354 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4062, i32 noundef 7) #12
  %4355 = icmp eq i32 %4354, -1
  br i1 %4355, label %4356, label %4378

4356:                                             ; preds = %4351
  %4357 = load i32, ptr %3600, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = call i32 @s2n_print_stacktrace(ptr noundef %4358) #12
  %4360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4361 = trunc nuw i8 %4360 to i1
  br i1 %4361, label %4362, label %4366

4362:                                             ; preds = %4356
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = call i32 @fileno(ptr noundef %4363) #12
  %4365 = call i32 @isatty(i32 noundef %4364) #12
  %.not1082 = icmp eq i32 %4365, 0
  br i1 %.not1082, label %4366, label %4367

4366:                                             ; preds = %4362, %4356
  br label %4367

4367:                                             ; preds = %4362, %4366
  %.str.5.sink2782 = phi ptr [ @.str.5, %4366 ], [ @.str.2, %4362 ]
  store i32 %4357, ptr %3600, align 4, !tbaa !5
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = load i32, ptr %3546, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror(i32 noundef %4370, ptr noundef nonnull @.str.4) #12
  %4372 = load i32, ptr %3546, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror_debug(i32 noundef %4372, ptr noundef nonnull @.str.4) #12
  %4374 = load i32, ptr %3600, align 4, !tbaa !5
  %4375 = call ptr @strerror(i32 noundef %4374) #12
  %4376 = load i32, ptr %3600, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4368, ptr noundef nonnull %.str.5.sink2782, i32 noundef %4369, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %4371, ptr noundef %4373, ptr noundef %4375, i32 noundef %4376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4378:                                             ; preds = %4351
  %4379 = load i32, ptr @test_count, align 4, !tbaa !5
  %4380 = add nsw i32 %4379, 1
  store i32 %4380, ptr @test_count, align 4, !tbaa !5
  %4381 = load i32, ptr %4185, align 4, !tbaa !15
  %4382 = load i32, ptr %4187, align 8, !tbaa !18
  %4383 = icmp eq i32 %4381, %4382
  br i1 %4383, label %4406, label %4384

4384:                                             ; preds = %4378
  %4385 = load i32, ptr %3600, align 4, !tbaa !5
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = call i32 @s2n_print_stacktrace(ptr noundef %4386) #12
  %4388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4389 = trunc nuw i8 %4388 to i1
  br i1 %4389, label %4390, label %4394

4390:                                             ; preds = %4384
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = call i32 @fileno(ptr noundef %4391) #12
  %4393 = call i32 @isatty(i32 noundef %4392) #12
  %.not956 = icmp eq i32 %4393, 0
  br i1 %.not956, label %4394, label %4395

4394:                                             ; preds = %4390, %4384
  br label %4395

4395:                                             ; preds = %4390, %4394
  %.str.5.sink2791 = phi ptr [ @.str.5, %4394 ], [ @.str.2, %4390 ]
  store i32 %4385, ptr %3600, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = load i32, ptr %3546, align 4, !tbaa !5
  %4399 = call ptr @s2n_strerror(i32 noundef %4398, ptr noundef nonnull @.str.4) #12
  %4400 = load i32, ptr %3546, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror_debug(i32 noundef %4400, ptr noundef nonnull @.str.4) #12
  %4402 = load i32, ptr %3600, align 4, !tbaa !5
  %4403 = call ptr @strerror(i32 noundef %4402) #12
  %4404 = load i32, ptr %3600, align 4, !tbaa !5
  %4405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef nonnull %.str.5.sink2791, i32 noundef %4397, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %4399, ptr noundef %4401, ptr noundef %4403, i32 noundef %4404) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4406:                                             ; preds = %4378
  %4407 = add nsw i32 %4379, 2
  store i32 %4407, ptr @test_count, align 4, !tbaa !5
  %4408 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %4409 = icmp eq i32 %4408, -1
  br i1 %4409, label %4410, label %4432

4410:                                             ; preds = %4406
  %4411 = load i32, ptr %3600, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = call i32 @s2n_print_stacktrace(ptr noundef %4412) #12
  %4414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4415 = trunc nuw i8 %4414 to i1
  br i1 %4415, label %4416, label %4420

4416:                                             ; preds = %4410
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @fileno(ptr noundef %4417) #12
  %4419 = call i32 @isatty(i32 noundef %4418) #12
  %.not1081 = icmp eq i32 %4419, 0
  br i1 %.not1081, label %4420, label %4421

4420:                                             ; preds = %4416, %4410
  br label %4421

4421:                                             ; preds = %4416, %4420
  %.str.5.sink2800 = phi ptr [ @.str.5, %4420 ], [ @.str.2, %4416 ]
  store i32 %4411, ptr %3600, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = load i32, ptr %3546, align 4, !tbaa !5
  %4425 = call ptr @s2n_strerror(i32 noundef %4424, ptr noundef nonnull @.str.4) #12
  %4426 = load i32, ptr %3546, align 4, !tbaa !5
  %4427 = call ptr @s2n_strerror_debug(i32 noundef %4426, ptr noundef nonnull @.str.4) #12
  %4428 = load i32, ptr %3600, align 4, !tbaa !5
  %4429 = call ptr @strerror(i32 noundef %4428) #12
  %4430 = load i32, ptr %3600, align 4, !tbaa !5
  %4431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4422, ptr noundef nonnull %.str.5.sink2800, i32 noundef %4423, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %4425, ptr noundef %4427, ptr noundef %4429, i32 noundef %4430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4432:                                             ; preds = %4406
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = add nsw i32 %4433, 1
  store i32 %4434, ptr @test_count, align 4, !tbaa !5
  %4435 = call i32 @s2n_connection_free(ptr noundef nonnull %3929) #12
  %4436 = icmp eq i32 %4435, -1
  br i1 %4436, label %4437, label %4459

4437:                                             ; preds = %4432
  %4438 = load i32, ptr %3600, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = call i32 @s2n_print_stacktrace(ptr noundef %4439) #12
  %4441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4442 = trunc nuw i8 %4441 to i1
  br i1 %4442, label %4443, label %4447

4443:                                             ; preds = %4437
  %4444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4445 = call i32 @fileno(ptr noundef %4444) #12
  %4446 = call i32 @isatty(i32 noundef %4445) #12
  %.not1080 = icmp eq i32 %4446, 0
  br i1 %.not1080, label %4447, label %4448

4447:                                             ; preds = %4443, %4437
  br label %4448

4448:                                             ; preds = %4443, %4447
  %.str.5.sink2809 = phi ptr [ @.str.5, %4447 ], [ @.str.2, %4443 ]
  store i32 %4438, ptr %3600, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = load i32, ptr %3546, align 4, !tbaa !5
  %4452 = call ptr @s2n_strerror(i32 noundef %4451, ptr noundef nonnull @.str.4) #12
  %4453 = load i32, ptr %3546, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror_debug(i32 noundef %4453, ptr noundef nonnull @.str.4) #12
  %4455 = load i32, ptr %3600, align 4, !tbaa !5
  %4456 = call ptr @strerror(i32 noundef %4455) #12
  %4457 = load i32, ptr %3600, align 4, !tbaa !5
  %4458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4449, ptr noundef nonnull %.str.5.sink2809, i32 noundef %4450, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4452, ptr noundef %4454, ptr noundef %4456, i32 noundef %4457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4459:                                             ; preds = %4432
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  %4460 = load i32, ptr @test_count, align 4, !tbaa !5
  %4461 = add nsw i32 %4460, 1
  store i32 %4461, ptr @test_count, align 4, !tbaa !5
  %4462 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %4463 = icmp eq i32 %4462, -1
  br i1 %4463, label %4464, label %4486

4464:                                             ; preds = %4459
  %4465 = load i32, ptr %3600, align 4, !tbaa !5
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = call i32 @s2n_print_stacktrace(ptr noundef %4466) #12
  %4468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4469 = trunc nuw i8 %4468 to i1
  br i1 %4469, label %4470, label %4474

4470:                                             ; preds = %4464
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = call i32 @fileno(ptr noundef %4471) #12
  %4473 = call i32 @isatty(i32 noundef %4472) #12
  %.not1079 = icmp eq i32 %4473, 0
  br i1 %.not1079, label %4474, label %4475

4474:                                             ; preds = %4470, %4464
  br label %4475

4475:                                             ; preds = %4470, %4474
  %.str.5.sink2818 = phi ptr [ @.str.5, %4474 ], [ @.str.2, %4470 ]
  store i32 %4465, ptr %3600, align 4, !tbaa !5
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = load i32, ptr @test_count, align 4, !tbaa !5
  %4478 = load i32, ptr %3546, align 4, !tbaa !5
  %4479 = call ptr @s2n_strerror(i32 noundef %4478, ptr noundef nonnull @.str.4) #12
  %4480 = load i32, ptr %3546, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror_debug(i32 noundef %4480, ptr noundef nonnull @.str.4) #12
  %4482 = load i32, ptr %3600, align 4, !tbaa !5
  %4483 = call ptr @strerror(i32 noundef %4482) #12
  %4484 = load i32, ptr %3600, align 4, !tbaa !5
  %4485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4476, ptr noundef nonnull %.str.5.sink2818, i32 noundef %4477, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %4479, ptr noundef %4481, ptr noundef %4483, i32 noundef %4484) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4486:                                             ; preds = %4459
  %4487 = load i32, ptr @test_count, align 4, !tbaa !5
  %4488 = add nsw i32 %4487, 1
  store i32 %4488, ptr @test_count, align 4, !tbaa !5
  %4489 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %4490 = icmp eq ptr %4489, null
  br i1 %4490, label %4491, label %4513

4491:                                             ; preds = %4486
  %4492 = load i32, ptr %3600, align 4, !tbaa !5
  %4493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4494 = call i32 @s2n_print_stacktrace(ptr noundef %4493) #12
  %4495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4496 = trunc nuw i8 %4495 to i1
  br i1 %4496, label %4497, label %4501

4497:                                             ; preds = %4491
  %4498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4499 = call i32 @fileno(ptr noundef %4498) #12
  %4500 = call i32 @isatty(i32 noundef %4499) #12
  %.not1078 = icmp eq i32 %4500, 0
  br i1 %.not1078, label %4501, label %4502

4501:                                             ; preds = %4497, %4491
  br label %4502

4502:                                             ; preds = %4497, %4501
  %.str.5.sink2827 = phi ptr [ @.str.5, %4501 ], [ @.str.2, %4497 ]
  store i32 %4492, ptr %3600, align 4, !tbaa !5
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = load i32, ptr @test_count, align 4, !tbaa !5
  %4505 = load i32, ptr %3546, align 4, !tbaa !5
  %4506 = call ptr @s2n_strerror(i32 noundef %4505, ptr noundef nonnull @.str.4) #12
  %4507 = load i32, ptr %3546, align 4, !tbaa !5
  %4508 = call ptr @s2n_strerror_debug(i32 noundef %4507, ptr noundef nonnull @.str.4) #12
  %4509 = load i32, ptr %3600, align 4, !tbaa !5
  %4510 = call ptr @strerror(i32 noundef %4509) #12
  %4511 = load i32, ptr %3600, align 4, !tbaa !5
  %4512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4503, ptr noundef nonnull %.str.5.sink2827, i32 noundef %4504, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4506, ptr noundef %4508, ptr noundef %4510, i32 noundef %4511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4513:                                             ; preds = %4486
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #12
  store i8 0, ptr %14, align 1, !tbaa !19
  %4514 = load i32, ptr @test_count, align 4, !tbaa !5
  %4515 = add nsw i32 %4514, 1
  store i32 %4515, ptr @test_count, align 4, !tbaa !5
  %4516 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 35, ptr noundef nonnull %14) #12
  %4517 = icmp eq i32 %4516, -1
  br i1 %4517, label %4518, label %4540

4518:                                             ; preds = %4513
  %4519 = load i32, ptr %3600, align 4, !tbaa !5
  %4520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4521 = call i32 @s2n_print_stacktrace(ptr noundef %4520) #12
  %4522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4523 = trunc nuw i8 %4522 to i1
  br i1 %4523, label %4524, label %4528

4524:                                             ; preds = %4518
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = call i32 @fileno(ptr noundef %4525) #12
  %4527 = call i32 @isatty(i32 noundef %4526) #12
  %.not1077 = icmp eq i32 %4527, 0
  br i1 %.not1077, label %4528, label %4529

4528:                                             ; preds = %4524, %4518
  br label %4529

4529:                                             ; preds = %4524, %4528
  %.str.5.sink2836 = phi ptr [ @.str.5, %4528 ], [ @.str.2, %4524 ]
  store i32 %4519, ptr %3600, align 4, !tbaa !5
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = load i32, ptr @test_count, align 4, !tbaa !5
  %4532 = load i32, ptr %3546, align 4, !tbaa !5
  %4533 = call ptr @s2n_strerror(i32 noundef %4532, ptr noundef nonnull @.str.4) #12
  %4534 = load i32, ptr %3546, align 4, !tbaa !5
  %4535 = call ptr @s2n_strerror_debug(i32 noundef %4534, ptr noundef nonnull @.str.4) #12
  %4536 = load i32, ptr %3600, align 4, !tbaa !5
  %4537 = call ptr @strerror(i32 noundef %4536) #12
  %4538 = load i32, ptr %3600, align 4, !tbaa !5
  %4539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4530, ptr noundef nonnull %.str.5.sink2836, i32 noundef %4531, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4533, ptr noundef %4535, ptr noundef %4537, i32 noundef %4538) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4540:                                             ; preds = %4513
  %4541 = load i8, ptr %14, align 1, !tbaa !19
  %4542 = and i8 %4541, 7
  %4543 = shl nuw i8 1, %4542
  %4544 = getelementptr inbounds i8, ptr %4489, i64 102
  %4545 = lshr i8 %4541, 3
  %4546 = zext nneg i8 %4545 to i64
  %4547 = getelementptr inbounds [22 x i8], ptr %4544, i64 0, i64 %4546
  %4548 = load i8, ptr %4547, align 1, !tbaa !19
  %4549 = or i8 %4543, %4548
  store i8 %4549, ptr %4547, align 1, !tbaa !19
  %4550 = load i32, ptr @test_count, align 4, !tbaa !5
  %4551 = add nsw i32 %4550, 1
  store i32 %4551, ptr @test_count, align 4, !tbaa !5
  %4552 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4489, ptr noundef nonnull %178) #12
  %4553 = icmp eq i32 %4552, -1
  br i1 %4553, label %4554, label %4576

4554:                                             ; preds = %4540
  %4555 = load i32, ptr %3600, align 4, !tbaa !5
  %4556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4557 = call i32 @s2n_print_stacktrace(ptr noundef %4556) #12
  %4558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4559 = trunc nuw i8 %4558 to i1
  br i1 %4559, label %4560, label %4564

4560:                                             ; preds = %4554
  %4561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4562 = call i32 @fileno(ptr noundef %4561) #12
  %4563 = call i32 @isatty(i32 noundef %4562) #12
  %.not1076 = icmp eq i32 %4563, 0
  br i1 %.not1076, label %4564, label %4565

4564:                                             ; preds = %4560, %4554
  br label %4565

4565:                                             ; preds = %4560, %4564
  %.str.5.sink2845 = phi ptr [ @.str.5, %4564 ], [ @.str.2, %4560 ]
  store i32 %4555, ptr %3600, align 4, !tbaa !5
  %4566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4567 = load i32, ptr @test_count, align 4, !tbaa !5
  %4568 = load i32, ptr %3546, align 4, !tbaa !5
  %4569 = call ptr @s2n_strerror(i32 noundef %4568, ptr noundef nonnull @.str.4) #12
  %4570 = load i32, ptr %3546, align 4, !tbaa !5
  %4571 = call ptr @s2n_strerror_debug(i32 noundef %4570, ptr noundef nonnull @.str.4) #12
  %4572 = load i32, ptr %3600, align 4, !tbaa !5
  %4573 = call ptr @strerror(i32 noundef %4572) #12
  %4574 = load i32, ptr %3600, align 4, !tbaa !5
  %4575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4566, ptr noundef nonnull %.str.5.sink2845, i32 noundef %4567, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %4569, ptr noundef %4571, ptr noundef %4573, i32 noundef %4574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4576:                                             ; preds = %4540
  %4577 = load i32, ptr @test_count, align 4, !tbaa !5
  %4578 = add nsw i32 %4577, 1
  store i32 %4578, ptr @test_count, align 4, !tbaa !5
  %4579 = call i32 @s2n_connection_allow_response_extension(ptr noundef nonnull %4489, i16 noundef zeroext %3394) #12
  %4580 = icmp eq i32 %4579, -1
  br i1 %4580, label %4581, label %4603

4581:                                             ; preds = %4576
  %4582 = load i32, ptr %3600, align 4, !tbaa !5
  %4583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4584 = call i32 @s2n_print_stacktrace(ptr noundef %4583) #12
  %4585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4586 = trunc nuw i8 %4585 to i1
  br i1 %4586, label %4587, label %4591

4587:                                             ; preds = %4581
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = call i32 @fileno(ptr noundef %4588) #12
  %4590 = call i32 @isatty(i32 noundef %4589) #12
  %.not1075 = icmp eq i32 %4590, 0
  br i1 %.not1075, label %4591, label %4592

4591:                                             ; preds = %4587, %4581
  br label %4592

4592:                                             ; preds = %4587, %4591
  %.str.5.sink2854 = phi ptr [ @.str.5, %4591 ], [ @.str.2, %4587 ]
  store i32 %4582, ptr %3600, align 4, !tbaa !5
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %4595 = load i32, ptr %3546, align 4, !tbaa !5
  %4596 = call ptr @s2n_strerror(i32 noundef %4595, ptr noundef nonnull @.str.4) #12
  %4597 = load i32, ptr %3546, align 4, !tbaa !5
  %4598 = call ptr @s2n_strerror_debug(i32 noundef %4597, ptr noundef nonnull @.str.4) #12
  %4599 = load i32, ptr %3600, align 4, !tbaa !5
  %4600 = call ptr @strerror(i32 noundef %4599) #12
  %4601 = load i32, ptr %3600, align 4, !tbaa !5
  %4602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4593, ptr noundef nonnull %.str.5.sink2854, i32 noundef %4594, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4596, ptr noundef %4598, ptr noundef %4600, i32 noundef %4601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4603:                                             ; preds = %4576
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  store ptr null, ptr %15, align 8, !tbaa !9
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = add nsw i32 %4604, 1
  store i32 %4605, ptr @test_count, align 4, !tbaa !5
  %4606 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef nonnull %4489, ptr noundef nonnull %15) #12
  %4607 = icmp eq i32 %4606, -1
  br i1 %4607, label %4608, label %4630

4608:                                             ; preds = %4603
  %4609 = load i32, ptr %3600, align 4, !tbaa !5
  %4610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4611 = call i32 @s2n_print_stacktrace(ptr noundef %4610) #12
  %4612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4613 = trunc nuw i8 %4612 to i1
  br i1 %4613, label %4614, label %4618

4614:                                             ; preds = %4608
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = call i32 @fileno(ptr noundef %4615) #12
  %4617 = call i32 @isatty(i32 noundef %4616) #12
  %.not1074 = icmp eq i32 %4617, 0
  br i1 %.not1074, label %4618, label %4619

4618:                                             ; preds = %4614, %4608
  br label %4619

4619:                                             ; preds = %4614, %4618
  %.str.5.sink2863 = phi ptr [ @.str.5, %4618 ], [ @.str.2, %4614 ]
  store i32 %4609, ptr %3600, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = load i32, ptr @test_count, align 4, !tbaa !5
  %4622 = load i32, ptr %3546, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror(i32 noundef %4622, ptr noundef nonnull @.str.4) #12
  %4624 = load i32, ptr %3546, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror_debug(i32 noundef %4624, ptr noundef nonnull @.str.4) #12
  %4626 = load i32, ptr %3600, align 4, !tbaa !5
  %4627 = call ptr @strerror(i32 noundef %4626) #12
  %4628 = load i32, ptr %3600, align 4, !tbaa !5
  %4629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4620, ptr noundef nonnull %.str.5.sink2863, i32 noundef %4621, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %4623, ptr noundef %4625, ptr noundef %4627, i32 noundef %4628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4630:                                             ; preds = %4603
  %4631 = load i32, ptr @test_count, align 4, !tbaa !5
  %4632 = add nsw i32 %4631, 1
  store i32 %4632, ptr @test_count, align 4, !tbaa !5
  %4633 = load ptr, ptr %15, align 8, !tbaa !9
  %4634 = icmp eq ptr %4633, null
  br i1 %4634, label %4635, label %4657

4635:                                             ; preds = %4630
  %4636 = load i32, ptr %3600, align 4, !tbaa !5
  %4637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4638 = call i32 @s2n_print_stacktrace(ptr noundef %4637) #12
  %4639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4640 = trunc nuw i8 %4639 to i1
  br i1 %4640, label %4641, label %4645

4641:                                             ; preds = %4635
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = call i32 @fileno(ptr noundef %4642) #12
  %4644 = call i32 @isatty(i32 noundef %4643) #12
  %.not1073 = icmp eq i32 %4644, 0
  br i1 %.not1073, label %4645, label %4646

4645:                                             ; preds = %4641, %4635
  br label %4646

4646:                                             ; preds = %4641, %4645
  %.str.5.sink2872 = phi ptr [ @.str.5, %4645 ], [ @.str.2, %4641 ]
  store i32 %4636, ptr %3600, align 4, !tbaa !5
  %4647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4648 = load i32, ptr @test_count, align 4, !tbaa !5
  %4649 = load i32, ptr %3546, align 4, !tbaa !5
  %4650 = call ptr @s2n_strerror(i32 noundef %4649, ptr noundef nonnull @.str.4) #12
  %4651 = load i32, ptr %3546, align 4, !tbaa !5
  %4652 = call ptr @s2n_strerror_debug(i32 noundef %4651, ptr noundef nonnull @.str.4) #12
  %4653 = load i32, ptr %3600, align 4, !tbaa !5
  %4654 = call ptr @strerror(i32 noundef %4653) #12
  %4655 = load i32, ptr %3600, align 4, !tbaa !5
  %4656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4647, ptr noundef nonnull %.str.5.sink2872, i32 noundef %4648, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %4650, ptr noundef %4652, ptr noundef %4654, i32 noundef %4655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4657:                                             ; preds = %4630
  %4658 = getelementptr inbounds i8, ptr %4489, i64 2016
  %4659 = getelementptr inbounds i8, ptr %4633, i64 8
  %4660 = load ptr, ptr %4659, align 8, !tbaa !52
  %4661 = load ptr, ptr %4660, align 8, !tbaa !9
  %4662 = getelementptr inbounds i8, ptr %4489, i64 656
  store ptr %4661, ptr %4662, align 8, !tbaa !54
  %4663 = getelementptr inbounds i8, ptr %4489, i64 8
  %4664 = load ptr, ptr %4663, align 8, !tbaa !48
  %4665 = load i32, ptr %4664, align 8
  %4666 = or i32 %4665, 1
  store i32 %4666, ptr %4664, align 8
  %4667 = getelementptr inbounds i8, ptr %4489, i64 3780
  store i32 2, ptr %4667, align 4, !tbaa !49
  %4668 = getelementptr inbounds i8, ptr %4489, i64 220
  store i8 34, ptr %4668, align 4, !tbaa !55
  %4669 = load ptr, ptr %15, align 8, !tbaa !9
  %4670 = getelementptr inbounds i8, ptr %4669, i64 8
  %4671 = load ptr, ptr %4670, align 8, !tbaa !52
  %4672 = load ptr, ptr %4671, align 8, !tbaa !9
  %4673 = getelementptr inbounds i8, ptr %4489, i64 704
  store ptr %4672, ptr %4673, align 8, !tbaa !56
  %4674 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef nonnull %4489) #12
  %4675 = load i32, ptr @test_count, align 4, !tbaa !5
  %4676 = add nsw i32 %4675, 1
  store i32 %4676, ptr @test_count, align 4, !tbaa !5
  %4677 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %4489, ptr noundef nonnull %4658) #12
  %4678 = icmp eq i32 %4677, -1
  br i1 %4678, label %4701, label %4679

4679:                                             ; preds = %4657
  %4680 = load i32, ptr %3600, align 4, !tbaa !5
  %4681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4682 = call i32 @s2n_print_stacktrace(ptr noundef %4681) #12
  %4683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4684 = trunc nuw i8 %4683 to i1
  br i1 %4684, label %4685, label %4689

4685:                                             ; preds = %4679
  %4686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4687 = call i32 @fileno(ptr noundef %4686) #12
  %4688 = call i32 @isatty(i32 noundef %4687) #12
  %.not957 = icmp eq i32 %4688, 0
  br i1 %.not957, label %4689, label %4690

4689:                                             ; preds = %4685, %4679
  br label %4690

4690:                                             ; preds = %4685, %4689
  %.str.5.sink2881 = phi ptr [ @.str.5, %4689 ], [ @.str.2, %4685 ]
  store i32 %4680, ptr %3600, align 4, !tbaa !5
  %4691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4692 = load i32, ptr @test_count, align 4, !tbaa !5
  %4693 = load i32, ptr %3546, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror(i32 noundef %4693, ptr noundef nonnull @.str.4) #12
  %4695 = load i32, ptr %3546, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror_debug(i32 noundef %4695, ptr noundef nonnull @.str.4) #12
  %4697 = load i32, ptr %3600, align 4, !tbaa !5
  %4698 = call ptr @strerror(i32 noundef %4697) #12
  %4699 = load i32, ptr %3600, align 4, !tbaa !5
  %4700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4691, ptr noundef nonnull %.str.5.sink2881, i32 noundef %4692, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %4694, ptr noundef %4696, ptr noundef %4698, i32 noundef %4699) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4701:                                             ; preds = %4657
  %4702 = load i32, ptr @test_count, align 4, !tbaa !5
  %4703 = add nsw i32 %4702, 1
  store i32 %4703, ptr @test_count, align 4, !tbaa !5
  %4704 = load i32, ptr %3546, align 4, !tbaa !5
  %4705 = icmp eq i32 %4704, 0
  br i1 %4705, label %4706, label %4728

4706:                                             ; preds = %4701
  %4707 = load i32, ptr %3600, align 4, !tbaa !5
  %4708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4709 = call i32 @s2n_print_stacktrace(ptr noundef %4708) #12
  %4710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4711 = trunc nuw i8 %4710 to i1
  br i1 %4711, label %4712, label %4716

4712:                                             ; preds = %4706
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = call i32 @fileno(ptr noundef %4713) #12
  %4715 = call i32 @isatty(i32 noundef %4714) #12
  %.not1072 = icmp eq i32 %4715, 0
  br i1 %.not1072, label %4716, label %4717

4716:                                             ; preds = %4712, %4706
  br label %4717

4717:                                             ; preds = %4712, %4716
  %.str.5.sink2890 = phi ptr [ @.str.5, %4716 ], [ @.str.2, %4712 ]
  store i32 %4707, ptr %3600, align 4, !tbaa !5
  %4718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4719 = load i32, ptr @test_count, align 4, !tbaa !5
  %4720 = load i32, ptr %3546, align 4, !tbaa !5
  %4721 = call ptr @s2n_strerror(i32 noundef %4720, ptr noundef nonnull @.str.4) #12
  %4722 = load i32, ptr %3546, align 4, !tbaa !5
  %4723 = call ptr @s2n_strerror_debug(i32 noundef %4722, ptr noundef nonnull @.str.4) #12
  %4724 = load i32, ptr %3600, align 4, !tbaa !5
  %4725 = call ptr @strerror(i32 noundef %4724) #12
  %4726 = load i32, ptr %3600, align 4, !tbaa !5
  %4727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4718, ptr noundef nonnull %.str.5.sink2890, i32 noundef %4719, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %4721, ptr noundef %4723, ptr noundef %4725, i32 noundef %4726) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4728:                                             ; preds = %4701
  %4729 = add nsw i32 %4702, 2
  store i32 %4729, ptr @test_count, align 4, !tbaa !5
  %4730 = call ptr @s2n_strerror_debug(i32 noundef %4704, ptr noundef nonnull @.str.4) #12
  %4731 = icmp eq ptr %4730, null
  br i1 %4731, label %4732, label %4754

4732:                                             ; preds = %4728
  %4733 = load i32, ptr %3600, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = call i32 @s2n_print_stacktrace(ptr noundef %4734) #12
  %4736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4737 = trunc nuw i8 %4736 to i1
  br i1 %4737, label %4738, label %4742

4738:                                             ; preds = %4732
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = call i32 @fileno(ptr noundef %4739) #12
  %4741 = call i32 @isatty(i32 noundef %4740) #12
  %.not1071 = icmp eq i32 %4741, 0
  br i1 %.not1071, label %4742, label %4743

4742:                                             ; preds = %4738, %4732
  br label %4743

4743:                                             ; preds = %4738, %4742
  %.str.5.sink2899 = phi ptr [ @.str.5, %4742 ], [ @.str.2, %4738 ]
  store i32 %4733, ptr %3600, align 4, !tbaa !5
  %4744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4745 = load i32, ptr @test_count, align 4, !tbaa !5
  %4746 = load i32, ptr %3546, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror(i32 noundef %4746, ptr noundef nonnull @.str.4) #12
  %4748 = load i32, ptr %3546, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror_debug(i32 noundef %4748, ptr noundef nonnull @.str.4) #12
  %4750 = load i32, ptr %3600, align 4, !tbaa !5
  %4751 = call ptr @strerror(i32 noundef %4750) #12
  %4752 = load i32, ptr %3600, align 4, !tbaa !5
  %4753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4744, ptr noundef nonnull %.str.5.sink2899, i32 noundef %4745, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %4747, ptr noundef %4749, ptr noundef %4751, i32 noundef %4752) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4754:                                             ; preds = %4728
  store i32 0, ptr %3546, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3600, align 4, !tbaa !5
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = add nsw i32 %4755, 1
  store i32 %4756, ptr @test_count, align 4, !tbaa !5
  %4757 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %4673) #12
  %4758 = icmp eq i32 %4757, -1
  br i1 %4758, label %4759, label %4781

4759:                                             ; preds = %4754
  %4760 = load i32, ptr %3600, align 4, !tbaa !5
  %4761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4762 = call i32 @s2n_print_stacktrace(ptr noundef %4761) #12
  %4763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4764 = trunc nuw i8 %4763 to i1
  br i1 %4764, label %4765, label %4769

4765:                                             ; preds = %4759
  %4766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4767 = call i32 @fileno(ptr noundef %4766) #12
  %4768 = call i32 @isatty(i32 noundef %4767) #12
  %.not1070 = icmp eq i32 %4768, 0
  br i1 %.not1070, label %4769, label %4770

4769:                                             ; preds = %4765, %4759
  br label %4770

4770:                                             ; preds = %4765, %4769
  %.str.5.sink2908 = phi ptr [ @.str.5, %4769 ], [ @.str.2, %4765 ]
  store i32 %4760, ptr %3600, align 4, !tbaa !5
  %4771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4772 = load i32, ptr @test_count, align 4, !tbaa !5
  %4773 = load i32, ptr %3546, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror(i32 noundef %4773, ptr noundef nonnull @.str.4) #12
  %4775 = load i32, ptr %3546, align 4, !tbaa !5
  %4776 = call ptr @s2n_strerror_debug(i32 noundef %4775, ptr noundef nonnull @.str.4) #12
  %4777 = load i32, ptr %3600, align 4, !tbaa !5
  %4778 = call ptr @strerror(i32 noundef %4777) #12
  %4779 = load i32, ptr %3600, align 4, !tbaa !5
  %4780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4771, ptr noundef nonnull %.str.5.sink2908, i32 noundef %4772, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %4774, ptr noundef %4776, ptr noundef %4778, i32 noundef %4779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4781:                                             ; preds = %4754
  %4782 = load i32, ptr @test_count, align 4, !tbaa !5
  %4783 = add nsw i32 %4782, 1
  store i32 %4783, ptr @test_count, align 4, !tbaa !5
  %4784 = getelementptr inbounds i8, ptr %4489, i64 2044
  %4785 = load i32, ptr %4784, align 4, !tbaa !15
  %4786 = getelementptr inbounds i8, ptr %4489, i64 2040
  %4787 = load i32, ptr %4786, align 8, !tbaa !18
  %4788 = sub i32 %4785, %4787
  %4789 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4658, i32 noundef %4788) #12
  %4790 = icmp eq i32 %4789, -1
  br i1 %4790, label %4791, label %4813

4791:                                             ; preds = %4781
  %4792 = load i32, ptr %3600, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = call i32 @s2n_print_stacktrace(ptr noundef %4793) #12
  %4795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4796 = trunc nuw i8 %4795 to i1
  br i1 %4796, label %4797, label %4801

4797:                                             ; preds = %4791
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @fileno(ptr noundef %4798) #12
  %4800 = call i32 @isatty(i32 noundef %4799) #12
  %.not1069 = icmp eq i32 %4800, 0
  br i1 %.not1069, label %4801, label %4802

4801:                                             ; preds = %4797, %4791
  br label %4802

4802:                                             ; preds = %4797, %4801
  %.str.5.sink2917 = phi ptr [ @.str.5, %4801 ], [ @.str.2, %4797 ]
  store i32 %4792, ptr %3600, align 4, !tbaa !5
  %4803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4804 = load i32, ptr @test_count, align 4, !tbaa !5
  %4805 = load i32, ptr %3546, align 4, !tbaa !5
  %4806 = call ptr @s2n_strerror(i32 noundef %4805, ptr noundef nonnull @.str.4) #12
  %4807 = load i32, ptr %3546, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror_debug(i32 noundef %4807, ptr noundef nonnull @.str.4) #12
  %4809 = load i32, ptr %3600, align 4, !tbaa !5
  %4810 = call ptr @strerror(i32 noundef %4809) #12
  %4811 = load i32, ptr %3600, align 4, !tbaa !5
  %4812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4803, ptr noundef nonnull %.str.5.sink2917, i32 noundef %4804, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %4806, ptr noundef %4808, ptr noundef %4810, i32 noundef %4811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4813:                                             ; preds = %4781
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = add nsw i32 %4814, 1
  store i32 %4815, ptr @test_count, align 4, !tbaa !5
  %4816 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %4489, ptr noundef nonnull %4658) #12
  %4817 = icmp eq i32 %4816, -1
  br i1 %4817, label %4818, label %4840

4818:                                             ; preds = %4813
  %4819 = load i32, ptr %3600, align 4, !tbaa !5
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = call i32 @s2n_print_stacktrace(ptr noundef %4820) #12
  %4822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4823 = trunc nuw i8 %4822 to i1
  br i1 %4823, label %4824, label %4828

4824:                                             ; preds = %4818
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = call i32 @fileno(ptr noundef %4825) #12
  %4827 = call i32 @isatty(i32 noundef %4826) #12
  %.not1068 = icmp eq i32 %4827, 0
  br i1 %.not1068, label %4828, label %4829

4828:                                             ; preds = %4824, %4818
  br label %4829

4829:                                             ; preds = %4824, %4828
  %.str.5.sink2926 = phi ptr [ @.str.5, %4828 ], [ @.str.2, %4824 ]
  store i32 %4819, ptr %3600, align 4, !tbaa !5
  %4830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4831 = load i32, ptr @test_count, align 4, !tbaa !5
  %4832 = load i32, ptr %3546, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror(i32 noundef %4832, ptr noundef nonnull @.str.4) #12
  %4834 = load i32, ptr %3546, align 4, !tbaa !5
  %4835 = call ptr @s2n_strerror_debug(i32 noundef %4834, ptr noundef nonnull @.str.4) #12
  %4836 = load i32, ptr %3600, align 4, !tbaa !5
  %4837 = call ptr @strerror(i32 noundef %4836) #12
  %4838 = load i32, ptr %3600, align 4, !tbaa !5
  %4839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4830, ptr noundef nonnull %.str.5.sink2926, i32 noundef %4831, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %4833, ptr noundef %4835, ptr noundef %4837, i32 noundef %4838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4840:                                             ; preds = %4813
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = add nsw i32 %4841, 1
  store i32 %4842, ptr @test_count, align 4, !tbaa !5
  %4843 = and i32 %4674, 255
  %4844 = add nuw nsw i32 %4843, 2
  %4845 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4658, i32 noundef %4844) #12
  %4846 = icmp eq i32 %4845, -1
  br i1 %4846, label %4847, label %4869

4847:                                             ; preds = %4840
  %4848 = load i32, ptr %3600, align 4, !tbaa !5
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = call i32 @s2n_print_stacktrace(ptr noundef %4849) #12
  %4851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4852 = trunc nuw i8 %4851 to i1
  br i1 %4852, label %4853, label %4857

4853:                                             ; preds = %4847
  %4854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4855 = call i32 @fileno(ptr noundef %4854) #12
  %4856 = call i32 @isatty(i32 noundef %4855) #12
  %.not1067 = icmp eq i32 %4856, 0
  br i1 %.not1067, label %4857, label %4858

4857:                                             ; preds = %4853, %4847
  br label %4858

4858:                                             ; preds = %4853, %4857
  %.str.5.sink2935 = phi ptr [ @.str.5, %4857 ], [ @.str.2, %4853 ]
  store i32 %4848, ptr %3600, align 4, !tbaa !5
  %4859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4860 = load i32, ptr @test_count, align 4, !tbaa !5
  %4861 = load i32, ptr %3546, align 4, !tbaa !5
  %4862 = call ptr @s2n_strerror(i32 noundef %4861, ptr noundef nonnull @.str.4) #12
  %4863 = load i32, ptr %3546, align 4, !tbaa !5
  %4864 = call ptr @s2n_strerror_debug(i32 noundef %4863, ptr noundef nonnull @.str.4) #12
  %4865 = load i32, ptr %3600, align 4, !tbaa !5
  %4866 = call ptr @strerror(i32 noundef %4865) #12
  %4867 = load i32, ptr %3600, align 4, !tbaa !5
  %4868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4859, ptr noundef nonnull %.str.5.sink2935, i32 noundef %4860, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4862, ptr noundef %4864, ptr noundef %4866, i32 noundef %4867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4869:                                             ; preds = %4840
  %4870 = load i32, ptr @test_count, align 4, !tbaa !5
  %4871 = add nsw i32 %4870, 1
  store i32 %4871, ptr @test_count, align 4, !tbaa !5
  %4872 = load i32, ptr %4784, align 4, !tbaa !15
  %4873 = load i32, ptr %4786, align 8, !tbaa !18
  %4874 = icmp eq i32 %4872, %4873
  br i1 %4874, label %4897, label %4875

4875:                                             ; preds = %4869
  %4876 = load i32, ptr %3600, align 4, !tbaa !5
  %4877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4878 = call i32 @s2n_print_stacktrace(ptr noundef %4877) #12
  %4879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4880 = trunc nuw i8 %4879 to i1
  br i1 %4880, label %4881, label %4885

4881:                                             ; preds = %4875
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = call i32 @fileno(ptr noundef %4882) #12
  %4884 = call i32 @isatty(i32 noundef %4883) #12
  %.not958 = icmp eq i32 %4884, 0
  br i1 %.not958, label %4885, label %4886

4885:                                             ; preds = %4881, %4875
  br label %4886

4886:                                             ; preds = %4881, %4885
  %.str.5.sink2944 = phi ptr [ @.str.5, %4885 ], [ @.str.2, %4881 ]
  store i32 %4876, ptr %3600, align 4, !tbaa !5
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = load i32, ptr @test_count, align 4, !tbaa !5
  %4889 = load i32, ptr %3546, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror(i32 noundef %4889, ptr noundef nonnull @.str.4) #12
  %4891 = load i32, ptr %3546, align 4, !tbaa !5
  %4892 = call ptr @s2n_strerror_debug(i32 noundef %4891, ptr noundef nonnull @.str.4) #12
  %4893 = load i32, ptr %3600, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #12
  %4895 = load i32, ptr %3600, align 4, !tbaa !5
  %4896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4887, ptr noundef nonnull %.str.5.sink2944, i32 noundef %4888, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4890, ptr noundef %4892, ptr noundef %4894, i32 noundef %4895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4897:                                             ; preds = %4869
  store i8 33, ptr %4668, align 4, !tbaa !55
  %4898 = add nsw i32 %4870, 2
  store i32 %4898, ptr @test_count, align 4, !tbaa !5
  %4899 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4658, i32 noundef 0) #12
  %4900 = icmp eq i32 %4899, -1
  br i1 %4900, label %4901, label %4923

4901:                                             ; preds = %4897
  %4902 = load i32, ptr %3600, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = call i32 @s2n_print_stacktrace(ptr noundef %4903) #12
  %4905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4906 = trunc nuw i8 %4905 to i1
  br i1 %4906, label %4907, label %4911

4907:                                             ; preds = %4901
  %4908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4909 = call i32 @fileno(ptr noundef %4908) #12
  %4910 = call i32 @isatty(i32 noundef %4909) #12
  %.not1066 = icmp eq i32 %4910, 0
  br i1 %.not1066, label %4911, label %4912

4911:                                             ; preds = %4907, %4901
  br label %4912

4912:                                             ; preds = %4907, %4911
  %.str.5.sink2953 = phi ptr [ @.str.5, %4911 ], [ @.str.2, %4907 ]
  store i32 %4902, ptr %3600, align 4, !tbaa !5
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = load i32, ptr @test_count, align 4, !tbaa !5
  %4915 = load i32, ptr %3546, align 4, !tbaa !5
  %4916 = call ptr @s2n_strerror(i32 noundef %4915, ptr noundef nonnull @.str.4) #12
  %4917 = load i32, ptr %3546, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror_debug(i32 noundef %4917, ptr noundef nonnull @.str.4) #12
  %4919 = load i32, ptr %3600, align 4, !tbaa !5
  %4920 = call ptr @strerror(i32 noundef %4919) #12
  %4921 = load i32, ptr %3600, align 4, !tbaa !5
  %4922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4913, ptr noundef nonnull %.str.5.sink2953, i32 noundef %4914, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %4916, ptr noundef %4918, ptr noundef %4920, i32 noundef %4921) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4923:                                             ; preds = %4897
  %4924 = load i32, ptr @test_count, align 4, !tbaa !5
  %4925 = add nsw i32 %4924, 1
  store i32 %4925, ptr @test_count, align 4, !tbaa !5
  %4926 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %4489, ptr noundef nonnull %4658) #12
  %4927 = icmp eq i32 %4926, -1
  br i1 %4927, label %4928, label %4950

4928:                                             ; preds = %4923
  %4929 = load i32, ptr %3600, align 4, !tbaa !5
  %4930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4931 = call i32 @s2n_print_stacktrace(ptr noundef %4930) #12
  %4932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4933 = trunc nuw i8 %4932 to i1
  br i1 %4933, label %4934, label %4938

4934:                                             ; preds = %4928
  %4935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4936 = call i32 @fileno(ptr noundef %4935) #12
  %4937 = call i32 @isatty(i32 noundef %4936) #12
  %.not1065 = icmp eq i32 %4937, 0
  br i1 %.not1065, label %4938, label %4939

4938:                                             ; preds = %4934, %4928
  br label %4939

4939:                                             ; preds = %4934, %4938
  %.str.5.sink2962 = phi ptr [ @.str.5, %4938 ], [ @.str.2, %4934 ]
  store i32 %4929, ptr %3600, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = load i32, ptr @test_count, align 4, !tbaa !5
  %4942 = load i32, ptr %3546, align 4, !tbaa !5
  %4943 = call ptr @s2n_strerror(i32 noundef %4942, ptr noundef nonnull @.str.4) #12
  %4944 = load i32, ptr %3546, align 4, !tbaa !5
  %4945 = call ptr @s2n_strerror_debug(i32 noundef %4944, ptr noundef nonnull @.str.4) #12
  %4946 = load i32, ptr %3600, align 4, !tbaa !5
  %4947 = call ptr @strerror(i32 noundef %4946) #12
  %4948 = load i32, ptr %3600, align 4, !tbaa !5
  %4949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4940, ptr noundef nonnull %.str.5.sink2962, i32 noundef %4941, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %4943, ptr noundef %4945, ptr noundef %4947, i32 noundef %4948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4950:                                             ; preds = %4923
  %4951 = load i32, ptr @test_count, align 4, !tbaa !5
  %4952 = add nsw i32 %4951, 1
  store i32 %4952, ptr @test_count, align 4, !tbaa !5
  %4953 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4658, i32 noundef 6) #12
  %4954 = icmp eq i32 %4953, -1
  br i1 %4954, label %4955, label %4977

4955:                                             ; preds = %4950
  %4956 = load i32, ptr %3600, align 4, !tbaa !5
  %4957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4958 = call i32 @s2n_print_stacktrace(ptr noundef %4957) #12
  %4959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4960 = trunc nuw i8 %4959 to i1
  br i1 %4960, label %4961, label %4965

4961:                                             ; preds = %4955
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @fileno(ptr noundef %4962) #12
  %4964 = call i32 @isatty(i32 noundef %4963) #12
  %.not1064 = icmp eq i32 %4964, 0
  br i1 %.not1064, label %4965, label %4966

4965:                                             ; preds = %4961, %4955
  br label %4966

4966:                                             ; preds = %4961, %4965
  %.str.5.sink2971 = phi ptr [ @.str.5, %4965 ], [ @.str.2, %4961 ]
  store i32 %4956, ptr %3600, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = load i32, ptr @test_count, align 4, !tbaa !5
  %4969 = load i32, ptr %3546, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror(i32 noundef %4969, ptr noundef nonnull @.str.4) #12
  %4971 = load i32, ptr %3546, align 4, !tbaa !5
  %4972 = call ptr @s2n_strerror_debug(i32 noundef %4971, ptr noundef nonnull @.str.4) #12
  %4973 = load i32, ptr %3600, align 4, !tbaa !5
  %4974 = call ptr @strerror(i32 noundef %4973) #12
  %4975 = load i32, ptr %3600, align 4, !tbaa !5
  %4976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4967, ptr noundef nonnull %.str.5.sink2971, i32 noundef %4968, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %4970, ptr noundef %4972, ptr noundef %4974, i32 noundef %4975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4977:                                             ; preds = %4950
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = add nsw i32 %4978, 1
  store i32 %4979, ptr @test_count, align 4, !tbaa !5
  %4980 = load i32, ptr %4784, align 4, !tbaa !15
  %4981 = load i32, ptr %4786, align 8, !tbaa !18
  %4982 = icmp eq i32 %4980, %4981
  br i1 %4982, label %5005, label %4983

4983:                                             ; preds = %4977
  %4984 = load i32, ptr %3600, align 4, !tbaa !5
  %4985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4986 = call i32 @s2n_print_stacktrace(ptr noundef %4985) #12
  %4987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4988 = trunc nuw i8 %4987 to i1
  br i1 %4988, label %4989, label %4993

4989:                                             ; preds = %4983
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = call i32 @fileno(ptr noundef %4990) #12
  %4992 = call i32 @isatty(i32 noundef %4991) #12
  %.not959 = icmp eq i32 %4992, 0
  br i1 %.not959, label %4993, label %4994

4993:                                             ; preds = %4989, %4983
  br label %4994

4994:                                             ; preds = %4989, %4993
  %.str.5.sink2980 = phi ptr [ @.str.5, %4993 ], [ @.str.2, %4989 ]
  store i32 %4984, ptr %3600, align 4, !tbaa !5
  %4995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4996 = load i32, ptr @test_count, align 4, !tbaa !5
  %4997 = load i32, ptr %3546, align 4, !tbaa !5
  %4998 = call ptr @s2n_strerror(i32 noundef %4997, ptr noundef nonnull @.str.4) #12
  %4999 = load i32, ptr %3546, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror_debug(i32 noundef %4999, ptr noundef nonnull @.str.4) #12
  %5001 = load i32, ptr %3600, align 4, !tbaa !5
  %5002 = call ptr @strerror(i32 noundef %5001) #12
  %5003 = load i32, ptr %3600, align 4, !tbaa !5
  %5004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4995, ptr noundef nonnull %.str.5.sink2980, i32 noundef %4996, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %4998, ptr noundef %5000, ptr noundef %5002, i32 noundef %5003) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5005:                                             ; preds = %4977
  %5006 = add nsw i32 %4978, 2
  store i32 %5006, ptr @test_count, align 4, !tbaa !5
  %5007 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %5008 = icmp eq i32 %5007, -1
  br i1 %5008, label %5009, label %5031

5009:                                             ; preds = %5005
  %5010 = load i32, ptr %3600, align 4, !tbaa !5
  %5011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5012 = call i32 @s2n_print_stacktrace(ptr noundef %5011) #12
  %5013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5014 = trunc nuw i8 %5013 to i1
  br i1 %5014, label %5015, label %5019

5015:                                             ; preds = %5009
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @fileno(ptr noundef %5016) #12
  %5018 = call i32 @isatty(i32 noundef %5017) #12
  %.not1063 = icmp eq i32 %5018, 0
  br i1 %.not1063, label %5019, label %5020

5019:                                             ; preds = %5015, %5009
  br label %5020

5020:                                             ; preds = %5015, %5019
  %.str.5.sink2989 = phi ptr [ @.str.5, %5019 ], [ @.str.2, %5015 ]
  store i32 %5010, ptr %3600, align 4, !tbaa !5
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = load i32, ptr @test_count, align 4, !tbaa !5
  %5023 = load i32, ptr %3546, align 4, !tbaa !5
  %5024 = call ptr @s2n_strerror(i32 noundef %5023, ptr noundef nonnull @.str.4) #12
  %5025 = load i32, ptr %3546, align 4, !tbaa !5
  %5026 = call ptr @s2n_strerror_debug(i32 noundef %5025, ptr noundef nonnull @.str.4) #12
  %5027 = load i32, ptr %3600, align 4, !tbaa !5
  %5028 = call ptr @strerror(i32 noundef %5027) #12
  %5029 = load i32, ptr %3600, align 4, !tbaa !5
  %5030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5021, ptr noundef nonnull %.str.5.sink2989, i32 noundef %5022, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %5024, ptr noundef %5026, ptr noundef %5028, i32 noundef %5029) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5031:                                             ; preds = %5005
  %5032 = load i32, ptr @test_count, align 4, !tbaa !5
  %5033 = add nsw i32 %5032, 1
  store i32 %5033, ptr @test_count, align 4, !tbaa !5
  %5034 = call i32 @s2n_connection_free(ptr noundef nonnull %4489) #12
  %5035 = icmp eq i32 %5034, -1
  br i1 %5035, label %5036, label %5058

5036:                                             ; preds = %5031
  %5037 = load i32, ptr %3600, align 4, !tbaa !5
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = call i32 @s2n_print_stacktrace(ptr noundef %5038) #12
  %5040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5041 = trunc nuw i8 %5040 to i1
  br i1 %5041, label %5042, label %5046

5042:                                             ; preds = %5036
  %5043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5044 = call i32 @fileno(ptr noundef %5043) #12
  %5045 = call i32 @isatty(i32 noundef %5044) #12
  %.not1062 = icmp eq i32 %5045, 0
  br i1 %.not1062, label %5046, label %5047

5046:                                             ; preds = %5042, %5036
  br label %5047

5047:                                             ; preds = %5042, %5046
  %.str.5.sink2998 = phi ptr [ @.str.5, %5046 ], [ @.str.2, %5042 ]
  store i32 %5037, ptr %3600, align 4, !tbaa !5
  %5048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5049 = load i32, ptr @test_count, align 4, !tbaa !5
  %5050 = load i32, ptr %3546, align 4, !tbaa !5
  %5051 = call ptr @s2n_strerror(i32 noundef %5050, ptr noundef nonnull @.str.4) #12
  %5052 = load i32, ptr %3546, align 4, !tbaa !5
  %5053 = call ptr @s2n_strerror_debug(i32 noundef %5052, ptr noundef nonnull @.str.4) #12
  %5054 = load i32, ptr %3600, align 4, !tbaa !5
  %5055 = call ptr @strerror(i32 noundef %5054) #12
  %5056 = load i32, ptr %3600, align 4, !tbaa !5
  %5057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5048, ptr noundef nonnull %.str.5.sink2998, i32 noundef %5049, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %5051, ptr noundef %5053, ptr noundef %5055, i32 noundef %5056) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5058:                                             ; preds = %5031
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #12
  %5059 = load ptr, ptr getelementptr inbounds (i8, ptr @cipher_preferences_20170210, i64 8), align 8, !tbaa !57
  %5060 = load i16, ptr @cipher_preferences_20170210, align 8, !tbaa !59
  %5061 = zext i16 %5060 to i64
  %5062 = getelementptr ptr, ptr %5059, i64 %5061
  %5063 = getelementptr i8, ptr %5062, i64 -8
  %5064 = load ptr, ptr %5063, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  store <4 x i8> <i8 19, i8 1, i8 19, i8 2>, ptr %16, align 4, !tbaa !19
  %5065 = getelementptr inbounds i8, ptr %16, i64 4
  store i8 19, ptr %5065, align 4, !tbaa !19
  %5066 = getelementptr inbounds i8, ptr %16, i64 5
  store i8 3, ptr %5066, align 1, !tbaa !19
  %5067 = getelementptr inbounds i8, ptr %16, i64 6
  %5068 = getelementptr inbounds i8, ptr %5064, i64 24
  %5069 = load i8, ptr %5068, align 8, !tbaa !19
  store i8 %5069, ptr %5067, align 2, !tbaa !19
  %5070 = getelementptr inbounds i8, ptr %16, i64 7
  %5071 = getelementptr inbounds i8, ptr %5064, i64 25
  %5072 = load i8, ptr %5071, align 1, !tbaa !19
  store i8 %5072, ptr %5070, align 1, !tbaa !19
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = add nsw i32 %5073, 1
  store i32 %5074, ptr @test_count, align 4, !tbaa !5
  %5075 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %5076 = icmp eq i32 %5075, -1
  br i1 %5076, label %5077, label %5099

5077:                                             ; preds = %5058
  %5078 = load i32, ptr %3600, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @s2n_print_stacktrace(ptr noundef %5079) #12
  %5081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5082 = trunc nuw i8 %5081 to i1
  br i1 %5082, label %5083, label %5087

5083:                                             ; preds = %5077
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = call i32 @fileno(ptr noundef %5084) #12
  %5086 = call i32 @isatty(i32 noundef %5085) #12
  %.not1061 = icmp eq i32 %5086, 0
  br i1 %.not1061, label %5087, label %5088

5087:                                             ; preds = %5083, %5077
  br label %5088

5088:                                             ; preds = %5083, %5087
  %.str.5.sink3007 = phi ptr [ @.str.5, %5087 ], [ @.str.2, %5083 ]
  store i32 %5078, ptr %3600, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = load i32, ptr @test_count, align 4, !tbaa !5
  %5091 = load i32, ptr %3546, align 4, !tbaa !5
  %5092 = call ptr @s2n_strerror(i32 noundef %5091, ptr noundef nonnull @.str.4) #12
  %5093 = load i32, ptr %3546, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror_debug(i32 noundef %5093, ptr noundef nonnull @.str.4) #12
  %5095 = load i32, ptr %3600, align 4, !tbaa !5
  %5096 = call ptr @strerror(i32 noundef %5095) #12
  %5097 = load i32, ptr %3600, align 4, !tbaa !5
  %5098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5089, ptr noundef nonnull %.str.5.sink3007, i32 noundef %5090, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %5092, ptr noundef %5094, ptr noundef %5096, i32 noundef %5097) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5099:                                             ; preds = %5058
  %5100 = load i32, ptr @test_count, align 4, !tbaa !5
  %5101 = add nsw i32 %5100, 1
  store i32 %5101, ptr @test_count, align 4, !tbaa !5
  %5102 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5103 = icmp eq ptr %5102, null
  br i1 %5103, label %5104, label %5126

5104:                                             ; preds = %5099
  %5105 = load i32, ptr %3600, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @s2n_print_stacktrace(ptr noundef %5106) #12
  %5108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5109 = trunc nuw i8 %5108 to i1
  br i1 %5109, label %5110, label %5114

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

5114:                                             ; preds = %5110, %5104
  br label %5115

5115:                                             ; preds = %5110, %5114
  %.str.5.sink3016 = phi ptr [ @.str.5, %5114 ], [ @.str.2, %5110 ]
  store i32 %5105, ptr %3600, align 4, !tbaa !5
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = load i32, ptr @test_count, align 4, !tbaa !5
  %5118 = load i32, ptr %3546, align 4, !tbaa !5
  %5119 = call ptr @s2n_strerror(i32 noundef %5118, ptr noundef nonnull @.str.4) #12
  %5120 = load i32, ptr %3546, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror_debug(i32 noundef %5120, ptr noundef nonnull @.str.4) #12
  %5122 = load i32, ptr %3600, align 4, !tbaa !5
  %5123 = call ptr @strerror(i32 noundef %5122) #12
  %5124 = load i32, ptr %3600, align 4, !tbaa !5
  %5125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5116, ptr noundef nonnull %.str.5.sink3016, i32 noundef %5117, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 429, ptr noundef %5119, ptr noundef %5121, ptr noundef %5123, i32 noundef %5124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5126:                                             ; preds = %5099
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = add nsw i32 %5127, 1
  store i32 %5128, ptr @test_count, align 4, !tbaa !5
  %5129 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5102, ptr noundef nonnull %178) #12
  %5130 = icmp eq i32 %5129, -1
  br i1 %5130, label %5131, label %5153

5131:                                             ; preds = %5126
  %5132 = load i32, ptr %3600, align 4, !tbaa !5
  %5133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5134 = call i32 @s2n_print_stacktrace(ptr noundef %5133) #12
  %5135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5136 = trunc nuw i8 %5135 to i1
  br i1 %5136, label %5137, label %5141

5137:                                             ; preds = %5131
  %5138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5139 = call i32 @fileno(ptr noundef %5138) #12
  %5140 = call i32 @isatty(i32 noundef %5139) #12
  %.not1059 = icmp eq i32 %5140, 0
  br i1 %.not1059, label %5141, label %5142

5141:                                             ; preds = %5137, %5131
  br label %5142

5142:                                             ; preds = %5137, %5141
  %.str.5.sink3025 = phi ptr [ @.str.5, %5141 ], [ @.str.2, %5137 ]
  store i32 %5132, ptr %3600, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = load i32, ptr @test_count, align 4, !tbaa !5
  %5145 = load i32, ptr %3546, align 4, !tbaa !5
  %5146 = call ptr @s2n_strerror(i32 noundef %5145, ptr noundef nonnull @.str.4) #12
  %5147 = load i32, ptr %3546, align 4, !tbaa !5
  %5148 = call ptr @s2n_strerror_debug(i32 noundef %5147, ptr noundef nonnull @.str.4) #12
  %5149 = load i32, ptr %3600, align 4, !tbaa !5
  %5150 = call ptr @strerror(i32 noundef %5149) #12
  %5151 = load i32, ptr %3600, align 4, !tbaa !5
  %5152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5143, ptr noundef nonnull %.str.5.sink3025, i32 noundef %5144, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %5146, ptr noundef %5148, ptr noundef %5150, i32 noundef %5151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5153:                                             ; preds = %5126
  %5154 = load i32, ptr @test_count, align 4, !tbaa !5
  %5155 = add nsw i32 %5154, 1
  store i32 %5155, ptr @test_count, align 4, !tbaa !5
  %5156 = call i32 @s2n_connection_allow_response_extension(ptr noundef nonnull %5102, i16 noundef zeroext %3394) #12
  %5157 = icmp eq i32 %5156, -1
  br i1 %5157, label %5158, label %5180

5158:                                             ; preds = %5153
  %5159 = load i32, ptr %3600, align 4, !tbaa !5
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = call i32 @s2n_print_stacktrace(ptr noundef %5160) #12
  %5162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5163 = trunc nuw i8 %5162 to i1
  br i1 %5163, label %5164, label %5168

5164:                                             ; preds = %5158
  %5165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5166 = call i32 @fileno(ptr noundef %5165) #12
  %5167 = call i32 @isatty(i32 noundef %5166) #12
  %.not1058 = icmp eq i32 %5167, 0
  br i1 %.not1058, label %5168, label %5169

5168:                                             ; preds = %5164, %5158
  br label %5169

5169:                                             ; preds = %5164, %5168
  %.str.5.sink3034 = phi ptr [ @.str.5, %5168 ], [ @.str.2, %5164 ]
  store i32 %5159, ptr %3600, align 4, !tbaa !5
  %5170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5171 = load i32, ptr @test_count, align 4, !tbaa !5
  %5172 = load i32, ptr %3546, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror(i32 noundef %5172, ptr noundef nonnull @.str.4) #12
  %5174 = load i32, ptr %3546, align 4, !tbaa !5
  %5175 = call ptr @s2n_strerror_debug(i32 noundef %5174, ptr noundef nonnull @.str.4) #12
  %5176 = load i32, ptr %3600, align 4, !tbaa !5
  %5177 = call ptr @strerror(i32 noundef %5176) #12
  %5178 = load i32, ptr %3600, align 4, !tbaa !5
  %5179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5170, ptr noundef nonnull %.str.5.sink3034, i32 noundef %5171, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %5173, ptr noundef %5175, ptr noundef %5177, i32 noundef %5178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5180:                                             ; preds = %5153
  %5181 = load i32, ptr @test_count, align 4, !tbaa !5
  %5182 = add nsw i32 %5181, 1
  store i32 %5182, ptr @test_count, align 4, !tbaa !5
  %5183 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %5102, ptr noundef nonnull @.str.51) #12
  %5184 = icmp eq i32 %5183, -1
  br i1 %5184, label %5185, label %5207

5185:                                             ; preds = %5180
  %5186 = load i32, ptr %3600, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @s2n_print_stacktrace(ptr noundef %5187) #12
  %5189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5190 = trunc nuw i8 %5189 to i1
  br i1 %5190, label %5191, label %5195

5191:                                             ; preds = %5185
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = call i32 @fileno(ptr noundef %5192) #12
  %5194 = call i32 @isatty(i32 noundef %5193) #12
  %.not1057 = icmp eq i32 %5194, 0
  br i1 %.not1057, label %5195, label %5196

5195:                                             ; preds = %5191, %5185
  br label %5196

5196:                                             ; preds = %5191, %5195
  %.str.5.sink3043 = phi ptr [ @.str.5, %5195 ], [ @.str.2, %5191 ]
  store i32 %5186, ptr %3600, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = load i32, ptr %3546, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror(i32 noundef %5199, ptr noundef nonnull @.str.4) #12
  %5201 = load i32, ptr %3546, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror_debug(i32 noundef %5201, ptr noundef nonnull @.str.4) #12
  %5203 = load i32, ptr %3600, align 4, !tbaa !5
  %5204 = call ptr @strerror(i32 noundef %5203) #12
  %5205 = load i32, ptr %3600, align 4, !tbaa !5
  %5206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef nonnull %.str.5.sink3043, i32 noundef %5198, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %5200, ptr noundef %5202, ptr noundef %5204, i32 noundef %5205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5207:                                             ; preds = %5180
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store ptr null, ptr %17, align 8, !tbaa !9
  %5208 = load i32, ptr @test_count, align 4, !tbaa !5
  %5209 = add nsw i32 %5208, 1
  store i32 %5209, ptr @test_count, align 4, !tbaa !5
  %5210 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef nonnull %5102, ptr noundef nonnull %17) #12
  %5211 = icmp eq i32 %5210, -1
  br i1 %5211, label %5212, label %5234

5212:                                             ; preds = %5207
  %5213 = load i32, ptr %3600, align 4, !tbaa !5
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = call i32 @s2n_print_stacktrace(ptr noundef %5214) #12
  %5216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5217 = trunc nuw i8 %5216 to i1
  br i1 %5217, label %5218, label %5222

5218:                                             ; preds = %5212
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = call i32 @fileno(ptr noundef %5219) #12
  %5221 = call i32 @isatty(i32 noundef %5220) #12
  %.not1056 = icmp eq i32 %5221, 0
  br i1 %.not1056, label %5222, label %5223

5222:                                             ; preds = %5218, %5212
  br label %5223

5223:                                             ; preds = %5218, %5222
  %.str.5.sink3052 = phi ptr [ @.str.5, %5222 ], [ @.str.2, %5218 ]
  store i32 %5213, ptr %3600, align 4, !tbaa !5
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = load i32, ptr %3546, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror(i32 noundef %5226, ptr noundef nonnull @.str.4) #12
  %5228 = load i32, ptr %3546, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror_debug(i32 noundef %5228, ptr noundef nonnull @.str.4) #12
  %5230 = load i32, ptr %3600, align 4, !tbaa !5
  %5231 = call ptr @strerror(i32 noundef %5230) #12
  %5232 = load i32, ptr %3600, align 4, !tbaa !5
  %5233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5224, ptr noundef nonnull %.str.5.sink3052, i32 noundef %5225, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 437, ptr noundef %5227, ptr noundef %5229, ptr noundef %5231, i32 noundef %5232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5234:                                             ; preds = %5207
  %5235 = load i32, ptr @test_count, align 4, !tbaa !5
  %5236 = add nsw i32 %5235, 1
  store i32 %5236, ptr @test_count, align 4, !tbaa !5
  %5237 = load ptr, ptr %17, align 8, !tbaa !9
  %5238 = icmp eq ptr %5237, null
  br i1 %5238, label %5239, label %5261

5239:                                             ; preds = %5234
  %5240 = load i32, ptr %3600, align 4, !tbaa !5
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5242 = call i32 @s2n_print_stacktrace(ptr noundef %5241) #12
  %5243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5244 = trunc nuw i8 %5243 to i1
  br i1 %5244, label %5245, label %5249

5245:                                             ; preds = %5239
  %5246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5247 = call i32 @fileno(ptr noundef %5246) #12
  %5248 = call i32 @isatty(i32 noundef %5247) #12
  %.not1055 = icmp eq i32 %5248, 0
  br i1 %.not1055, label %5249, label %5250

5249:                                             ; preds = %5245, %5239
  br label %5250

5250:                                             ; preds = %5245, %5249
  %.str.5.sink3061 = phi ptr [ @.str.5, %5249 ], [ @.str.2, %5245 ]
  store i32 %5240, ptr %3600, align 4, !tbaa !5
  %5251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5252 = load i32, ptr @test_count, align 4, !tbaa !5
  %5253 = load i32, ptr %3546, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror(i32 noundef %5253, ptr noundef nonnull @.str.4) #12
  %5255 = load i32, ptr %3546, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror_debug(i32 noundef %5255, ptr noundef nonnull @.str.4) #12
  %5257 = load i32, ptr %3600, align 4, !tbaa !5
  %5258 = call ptr @strerror(i32 noundef %5257) #12
  %5259 = load i32, ptr %3600, align 4, !tbaa !5
  %5260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5251, ptr noundef nonnull %.str.5.sink3061, i32 noundef %5252, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %5254, ptr noundef %5256, ptr noundef %5258, i32 noundef %5259) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5261:                                             ; preds = %5234
  %5262 = getelementptr inbounds i8, ptr %5102, i64 2016
  %5263 = getelementptr inbounds i8, ptr %5237, i64 8
  %5264 = load ptr, ptr %5263, align 8, !tbaa !52
  %5265 = load ptr, ptr %5264, align 8, !tbaa !9
  %5266 = getelementptr inbounds i8, ptr %5102, i64 656
  store ptr %5265, ptr %5266, align 8, !tbaa !54
  %5267 = getelementptr inbounds i8, ptr %5102, i64 218
  store i8 34, ptr %5267, align 2, !tbaa !60
  %5268 = getelementptr inbounds i8, ptr %5102, i64 220
  store i8 34, ptr %5268, align 4, !tbaa !55
  %5269 = add nsw i32 %5235, 2
  store i32 %5269, ptr @test_count, align 4, !tbaa !5
  %5270 = call i32 @s2n_set_cipher_as_tls_server(ptr noundef nonnull %5102, ptr noundef nonnull %16, i16 noundef zeroext 4) #12
  %5271 = icmp eq i32 %5270, -1
  br i1 %5271, label %5272, label %5294

5272:                                             ; preds = %5261
  %5273 = load i32, ptr %3600, align 4, !tbaa !5
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @s2n_print_stacktrace(ptr noundef %5274) #12
  %5276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5277 = trunc nuw i8 %5276 to i1
  br i1 %5277, label %5278, label %5282

5278:                                             ; preds = %5272
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @fileno(ptr noundef %5279) #12
  %5281 = call i32 @isatty(i32 noundef %5280) #12
  %.not1054 = icmp eq i32 %5281, 0
  br i1 %.not1054, label %5282, label %5283

5282:                                             ; preds = %5278, %5272
  br label %5283

5283:                                             ; preds = %5278, %5282
  %.str.5.sink3070 = phi ptr [ @.str.5, %5282 ], [ @.str.2, %5278 ]
  store i32 %5273, ptr %3600, align 4, !tbaa !5
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = load i32, ptr %3546, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror(i32 noundef %5286, ptr noundef nonnull @.str.4) #12
  %5288 = load i32, ptr %3546, align 4, !tbaa !5
  %5289 = call ptr @s2n_strerror_debug(i32 noundef %5288, ptr noundef nonnull @.str.4) #12
  %5290 = load i32, ptr %3600, align 4, !tbaa !5
  %5291 = call ptr @strerror(i32 noundef %5290) #12
  %5292 = load i32, ptr %3600, align 4, !tbaa !5
  %5293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5284, ptr noundef nonnull %.str.5.sink3070, i32 noundef %5285, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %5287, ptr noundef %5289, ptr noundef %5291, i32 noundef %5292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5294:                                             ; preds = %5261
  %5295 = load ptr, ptr %17, align 8, !tbaa !9
  %5296 = getelementptr inbounds i8, ptr %5295, i64 8
  %5297 = load ptr, ptr %5296, align 8, !tbaa !52
  %5298 = load ptr, ptr %5297, align 8, !tbaa !9
  %5299 = getelementptr inbounds i8, ptr %5102, i64 704
  store ptr %5298, ptr %5299, align 8, !tbaa !56
  %5300 = call i32 @s2n_extensions_server_key_share_send_size(ptr noundef nonnull %5102) #12
  %5301 = load i32, ptr @test_count, align 4, !tbaa !5
  %5302 = add nsw i32 %5301, 1
  store i32 %5302, ptr @test_count, align 4, !tbaa !5
  %5303 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %5102, ptr noundef nonnull %5262) #12
  %5304 = icmp eq i32 %5303, -1
  br i1 %5304, label %5327, label %5305

5305:                                             ; preds = %5294
  %5306 = load i32, ptr %3600, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = call i32 @s2n_print_stacktrace(ptr noundef %5307) #12
  %5309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5310 = trunc nuw i8 %5309 to i1
  br i1 %5310, label %5311, label %5315

5311:                                             ; preds = %5305
  %5312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5313 = call i32 @fileno(ptr noundef %5312) #12
  %5314 = call i32 @isatty(i32 noundef %5313) #12
  %.not960 = icmp eq i32 %5314, 0
  br i1 %.not960, label %5315, label %5316

5315:                                             ; preds = %5311, %5305
  br label %5316

5316:                                             ; preds = %5311, %5315
  %.str.5.sink3079 = phi ptr [ @.str.5, %5315 ], [ @.str.2, %5311 ]
  store i32 %5306, ptr %3600, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = load i32, ptr %3546, align 4, !tbaa !5
  %5320 = call ptr @s2n_strerror(i32 noundef %5319, ptr noundef nonnull @.str.4) #12
  %5321 = load i32, ptr %3546, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror_debug(i32 noundef %5321, ptr noundef nonnull @.str.4) #12
  %5323 = load i32, ptr %3600, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #12
  %5325 = load i32, ptr %3600, align 4, !tbaa !5
  %5326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5317, ptr noundef nonnull %.str.5.sink3079, i32 noundef %5318, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5320, ptr noundef %5322, ptr noundef %5324, i32 noundef %5325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5327:                                             ; preds = %5294
  %5328 = load i32, ptr @test_count, align 4, !tbaa !5
  %5329 = add nsw i32 %5328, 1
  store i32 %5329, ptr @test_count, align 4, !tbaa !5
  %5330 = load i32, ptr %3546, align 4, !tbaa !5
  %5331 = icmp eq i32 %5330, 0
  br i1 %5331, label %5332, label %5354

5332:                                             ; preds = %5327
  %5333 = load i32, ptr %3600, align 4, !tbaa !5
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = call i32 @s2n_print_stacktrace(ptr noundef %5334) #12
  %5336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5337 = trunc nuw i8 %5336 to i1
  br i1 %5337, label %5338, label %5342

5338:                                             ; preds = %5332
  %5339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5340 = call i32 @fileno(ptr noundef %5339) #12
  %5341 = call i32 @isatty(i32 noundef %5340) #12
  %.not1053 = icmp eq i32 %5341, 0
  br i1 %.not1053, label %5342, label %5343

5342:                                             ; preds = %5338, %5332
  br label %5343

5343:                                             ; preds = %5338, %5342
  %.str.5.sink3088 = phi ptr [ @.str.5, %5342 ], [ @.str.2, %5338 ]
  store i32 %5333, ptr %3600, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = load i32, ptr @test_count, align 4, !tbaa !5
  %5346 = load i32, ptr %3546, align 4, !tbaa !5
  %5347 = call ptr @s2n_strerror(i32 noundef %5346, ptr noundef nonnull @.str.4) #12
  %5348 = load i32, ptr %3546, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror_debug(i32 noundef %5348, ptr noundef nonnull @.str.4) #12
  %5350 = load i32, ptr %3600, align 4, !tbaa !5
  %5351 = call ptr @strerror(i32 noundef %5350) #12
  %5352 = load i32, ptr %3600, align 4, !tbaa !5
  %5353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5344, ptr noundef nonnull %.str.5.sink3088, i32 noundef %5345, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5347, ptr noundef %5349, ptr noundef %5351, i32 noundef %5352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5354:                                             ; preds = %5327
  %5355 = add nsw i32 %5328, 2
  store i32 %5355, ptr @test_count, align 4, !tbaa !5
  %5356 = call ptr @s2n_strerror_debug(i32 noundef %5330, ptr noundef nonnull @.str.4) #12
  %5357 = icmp eq ptr %5356, null
  br i1 %5357, label %5358, label %5380

5358:                                             ; preds = %5354
  %5359 = load i32, ptr %3600, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = call i32 @s2n_print_stacktrace(ptr noundef %5360) #12
  %5362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5363 = trunc nuw i8 %5362 to i1
  br i1 %5363, label %5364, label %5368

5364:                                             ; preds = %5358
  %5365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5366 = call i32 @fileno(ptr noundef %5365) #12
  %5367 = call i32 @isatty(i32 noundef %5366) #12
  %.not1052 = icmp eq i32 %5367, 0
  br i1 %.not1052, label %5368, label %5369

5368:                                             ; preds = %5364, %5358
  br label %5369

5369:                                             ; preds = %5364, %5368
  %.str.5.sink3097 = phi ptr [ @.str.5, %5368 ], [ @.str.2, %5364 ]
  store i32 %5359, ptr %3600, align 4, !tbaa !5
  %5370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5371 = load i32, ptr @test_count, align 4, !tbaa !5
  %5372 = load i32, ptr %3546, align 4, !tbaa !5
  %5373 = call ptr @s2n_strerror(i32 noundef %5372, ptr noundef nonnull @.str.4) #12
  %5374 = load i32, ptr %3546, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef nonnull @.str.4) #12
  %5376 = load i32, ptr %3600, align 4, !tbaa !5
  %5377 = call ptr @strerror(i32 noundef %5376) #12
  %5378 = load i32, ptr %3600, align 4, !tbaa !5
  %5379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5370, ptr noundef nonnull %.str.5.sink3097, i32 noundef %5371, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5373, ptr noundef %5375, ptr noundef %5377, i32 noundef %5378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5380:                                             ; preds = %5354
  store i32 0, ptr %3546, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3600, align 4, !tbaa !5
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = add nsw i32 %5381, 1
  store i32 %5382, ptr @test_count, align 4, !tbaa !5
  %5383 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %5299) #12
  %5384 = icmp eq i32 %5383, -1
  br i1 %5384, label %5385, label %5407

5385:                                             ; preds = %5380
  %5386 = load i32, ptr %3600, align 4, !tbaa !5
  %5387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5388 = call i32 @s2n_print_stacktrace(ptr noundef %5387) #12
  %5389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5390 = trunc nuw i8 %5389 to i1
  br i1 %5390, label %5391, label %5395

5391:                                             ; preds = %5385
  %5392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5393 = call i32 @fileno(ptr noundef %5392) #12
  %5394 = call i32 @isatty(i32 noundef %5393) #12
  %.not1051 = icmp eq i32 %5394, 0
  br i1 %.not1051, label %5395, label %5396

5395:                                             ; preds = %5391, %5385
  br label %5396

5396:                                             ; preds = %5391, %5395
  %.str.5.sink3106 = phi ptr [ @.str.5, %5395 ], [ @.str.2, %5391 ]
  store i32 %5386, ptr %3600, align 4, !tbaa !5
  %5397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5398 = load i32, ptr @test_count, align 4, !tbaa !5
  %5399 = load i32, ptr %3546, align 4, !tbaa !5
  %5400 = call ptr @s2n_strerror(i32 noundef %5399, ptr noundef nonnull @.str.4) #12
  %5401 = load i32, ptr %3546, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror_debug(i32 noundef %5401, ptr noundef nonnull @.str.4) #12
  %5403 = load i32, ptr %3600, align 4, !tbaa !5
  %5404 = call ptr @strerror(i32 noundef %5403) #12
  %5405 = load i32, ptr %3600, align 4, !tbaa !5
  %5406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5397, ptr noundef nonnull %.str.5.sink3106, i32 noundef %5398, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %5400, ptr noundef %5402, ptr noundef %5404, i32 noundef %5405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5407:                                             ; preds = %5380
  %5408 = load i32, ptr @test_count, align 4, !tbaa !5
  %5409 = add nsw i32 %5408, 1
  store i32 %5409, ptr @test_count, align 4, !tbaa !5
  %5410 = getelementptr inbounds i8, ptr %5102, i64 2044
  %5411 = load i32, ptr %5410, align 4, !tbaa !15
  %5412 = getelementptr inbounds i8, ptr %5102, i64 2040
  %5413 = load i32, ptr %5412, align 8, !tbaa !18
  %5414 = sub i32 %5411, %5413
  %5415 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %5262, i32 noundef %5414) #12
  %5416 = icmp eq i32 %5415, -1
  br i1 %5416, label %5417, label %5439

5417:                                             ; preds = %5407
  %5418 = load i32, ptr %3600, align 4, !tbaa !5
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = call i32 @s2n_print_stacktrace(ptr noundef %5419) #12
  %5421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5422 = trunc nuw i8 %5421 to i1
  br i1 %5422, label %5423, label %5427

5423:                                             ; preds = %5417
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @fileno(ptr noundef %5424) #12
  %5426 = call i32 @isatty(i32 noundef %5425) #12
  %.not1050 = icmp eq i32 %5426, 0
  br i1 %.not1050, label %5427, label %5428

5427:                                             ; preds = %5423, %5417
  br label %5428

5428:                                             ; preds = %5423, %5427
  %.str.5.sink3115 = phi ptr [ @.str.5, %5427 ], [ @.str.2, %5423 ]
  store i32 %5418, ptr %3600, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = load i32, ptr %3546, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror(i32 noundef %5431, ptr noundef nonnull @.str.4) #12
  %5433 = load i32, ptr %3546, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror_debug(i32 noundef %5433, ptr noundef nonnull @.str.4) #12
  %5435 = load i32, ptr %3600, align 4, !tbaa !5
  %5436 = call ptr @strerror(i32 noundef %5435) #12
  %5437 = load i32, ptr %3600, align 4, !tbaa !5
  %5438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef nonnull %.str.5.sink3115, i32 noundef %5430, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 456, ptr noundef %5432, ptr noundef %5434, ptr noundef %5436, i32 noundef %5437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5439:                                             ; preds = %5407
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = add nsw i32 %5440, 1
  store i32 %5441, ptr @test_count, align 4, !tbaa !5
  %5442 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %5102, ptr noundef nonnull %5262) #12
  %5443 = icmp eq i32 %5442, -1
  br i1 %5443, label %5444, label %5466

5444:                                             ; preds = %5439
  %5445 = load i32, ptr %3600, align 4, !tbaa !5
  %5446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5447 = call i32 @s2n_print_stacktrace(ptr noundef %5446) #12
  %5448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5449 = trunc nuw i8 %5448 to i1
  br i1 %5449, label %5450, label %5454

5450:                                             ; preds = %5444
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = call i32 @fileno(ptr noundef %5451) #12
  %5453 = call i32 @isatty(i32 noundef %5452) #12
  %.not1049 = icmp eq i32 %5453, 0
  br i1 %.not1049, label %5454, label %5455

5454:                                             ; preds = %5450, %5444
  br label %5455

5455:                                             ; preds = %5450, %5454
  %.str.5.sink3124 = phi ptr [ @.str.5, %5454 ], [ @.str.2, %5450 ]
  store i32 %5445, ptr %3600, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = load i32, ptr @test_count, align 4, !tbaa !5
  %5458 = load i32, ptr %3546, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef nonnull @.str.4) #12
  %5460 = load i32, ptr %3546, align 4, !tbaa !5
  %5461 = call ptr @s2n_strerror_debug(i32 noundef %5460, ptr noundef nonnull @.str.4) #12
  %5462 = load i32, ptr %3600, align 4, !tbaa !5
  %5463 = call ptr @strerror(i32 noundef %5462) #12
  %5464 = load i32, ptr %3600, align 4, !tbaa !5
  %5465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5456, ptr noundef nonnull %.str.5.sink3124, i32 noundef %5457, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %5459, ptr noundef %5461, ptr noundef %5463, i32 noundef %5464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5466:                                             ; preds = %5439
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = add nsw i32 %5467, 1
  store i32 %5468, ptr @test_count, align 4, !tbaa !5
  %5469 = and i32 %5300, 255
  %5470 = add nuw nsw i32 %5469, 2
  %5471 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %5262, i32 noundef %5470) #12
  %5472 = icmp eq i32 %5471, -1
  br i1 %5472, label %5473, label %5495

5473:                                             ; preds = %5466
  %5474 = load i32, ptr %3600, align 4, !tbaa !5
  %5475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5476 = call i32 @s2n_print_stacktrace(ptr noundef %5475) #12
  %5477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5478 = trunc nuw i8 %5477 to i1
  br i1 %5478, label %5479, label %5483

5479:                                             ; preds = %5473
  %5480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5481 = call i32 @fileno(ptr noundef %5480) #12
  %5482 = call i32 @isatty(i32 noundef %5481) #12
  %.not1048 = icmp eq i32 %5482, 0
  br i1 %.not1048, label %5483, label %5484

5483:                                             ; preds = %5479, %5473
  br label %5484

5484:                                             ; preds = %5479, %5483
  %.str.5.sink3133 = phi ptr [ @.str.5, %5483 ], [ @.str.2, %5479 ]
  store i32 %5474, ptr %3600, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = load i32, ptr @test_count, align 4, !tbaa !5
  %5487 = load i32, ptr %3546, align 4, !tbaa !5
  %5488 = call ptr @s2n_strerror(i32 noundef %5487, ptr noundef nonnull @.str.4) #12
  %5489 = load i32, ptr %3546, align 4, !tbaa !5
  %5490 = call ptr @s2n_strerror_debug(i32 noundef %5489, ptr noundef nonnull @.str.4) #12
  %5491 = load i32, ptr %3600, align 4, !tbaa !5
  %5492 = call ptr @strerror(i32 noundef %5491) #12
  %5493 = load i32, ptr %3600, align 4, !tbaa !5
  %5494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5485, ptr noundef nonnull %.str.5.sink3133, i32 noundef %5486, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %5488, ptr noundef %5490, ptr noundef %5492, i32 noundef %5493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5495:                                             ; preds = %5466
  %5496 = load i32, ptr @test_count, align 4, !tbaa !5
  %5497 = add nsw i32 %5496, 1
  store i32 %5497, ptr @test_count, align 4, !tbaa !5
  %5498 = load i32, ptr %5410, align 4, !tbaa !15
  %5499 = load i32, ptr %5412, align 8, !tbaa !18
  %5500 = icmp eq i32 %5498, %5499
  br i1 %5500, label %5523, label %5501

5501:                                             ; preds = %5495
  %5502 = load i32, ptr %3600, align 4, !tbaa !5
  %5503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5504 = call i32 @s2n_print_stacktrace(ptr noundef %5503) #12
  %5505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5506 = trunc nuw i8 %5505 to i1
  br i1 %5506, label %5507, label %5511

5507:                                             ; preds = %5501
  %5508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5509 = call i32 @fileno(ptr noundef %5508) #12
  %5510 = call i32 @isatty(i32 noundef %5509) #12
  %.not961 = icmp eq i32 %5510, 0
  br i1 %.not961, label %5511, label %5512

5511:                                             ; preds = %5507, %5501
  br label %5512

5512:                                             ; preds = %5507, %5511
  %.str.5.sink3142 = phi ptr [ @.str.5, %5511 ], [ @.str.2, %5507 ]
  store i32 %5502, ptr %3600, align 4, !tbaa !5
  %5513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5514 = load i32, ptr @test_count, align 4, !tbaa !5
  %5515 = load i32, ptr %3546, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror(i32 noundef %5515, ptr noundef nonnull @.str.4) #12
  %5517 = load i32, ptr %3546, align 4, !tbaa !5
  %5518 = call ptr @s2n_strerror_debug(i32 noundef %5517, ptr noundef nonnull @.str.4) #12
  %5519 = load i32, ptr %3600, align 4, !tbaa !5
  %5520 = call ptr @strerror(i32 noundef %5519) #12
  %5521 = load i32, ptr %3600, align 4, !tbaa !5
  %5522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5513, ptr noundef nonnull %.str.5.sink3142, i32 noundef %5514, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %5516, ptr noundef %5518, ptr noundef %5520, i32 noundef %5521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5523:                                             ; preds = %5495
  store i8 33, ptr %5268, align 4, !tbaa !55
  %5524 = add nsw i32 %5496, 2
  store i32 %5524, ptr @test_count, align 4, !tbaa !5
  %5525 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %5262, i32 noundef 0) #12
  %5526 = icmp eq i32 %5525, -1
  br i1 %5526, label %5527, label %5549

5527:                                             ; preds = %5523
  %5528 = load i32, ptr %3600, align 4, !tbaa !5
  %5529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5530 = call i32 @s2n_print_stacktrace(ptr noundef %5529) #12
  %5531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5532 = trunc nuw i8 %5531 to i1
  br i1 %5532, label %5533, label %5537

5533:                                             ; preds = %5527
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @fileno(ptr noundef %5534) #12
  %5536 = call i32 @isatty(i32 noundef %5535) #12
  %.not1047 = icmp eq i32 %5536, 0
  br i1 %.not1047, label %5537, label %5538

5537:                                             ; preds = %5533, %5527
  br label %5538

5538:                                             ; preds = %5533, %5537
  %.str.5.sink3151 = phi ptr [ @.str.5, %5537 ], [ @.str.2, %5533 ]
  store i32 %5528, ptr %3600, align 4, !tbaa !5
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = load i32, ptr @test_count, align 4, !tbaa !5
  %5541 = load i32, ptr %3546, align 4, !tbaa !5
  %5542 = call ptr @s2n_strerror(i32 noundef %5541, ptr noundef nonnull @.str.4) #12
  %5543 = load i32, ptr %3546, align 4, !tbaa !5
  %5544 = call ptr @s2n_strerror_debug(i32 noundef %5543, ptr noundef nonnull @.str.4) #12
  %5545 = load i32, ptr %3600, align 4, !tbaa !5
  %5546 = call ptr @strerror(i32 noundef %5545) #12
  %5547 = load i32, ptr %3600, align 4, !tbaa !5
  %5548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5539, ptr noundef nonnull %.str.5.sink3151, i32 noundef %5540, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %5542, ptr noundef %5544, ptr noundef %5546, i32 noundef %5547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5549:                                             ; preds = %5523
  %5550 = load i32, ptr @test_count, align 4, !tbaa !5
  %5551 = add nsw i32 %5550, 1
  store i32 %5551, ptr @test_count, align 4, !tbaa !5
  %5552 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %5102, ptr noundef nonnull %5262) #12
  %5553 = icmp eq i32 %5552, -1
  br i1 %5553, label %5554, label %5576

5554:                                             ; preds = %5549
  %5555 = load i32, ptr %3600, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @s2n_print_stacktrace(ptr noundef %5556) #12
  %5558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5559 = trunc nuw i8 %5558 to i1
  br i1 %5559, label %5560, label %5564

5560:                                             ; preds = %5554
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = call i32 @fileno(ptr noundef %5561) #12
  %5563 = call i32 @isatty(i32 noundef %5562) #12
  %.not1046 = icmp eq i32 %5563, 0
  br i1 %.not1046, label %5564, label %5565

5564:                                             ; preds = %5560, %5554
  br label %5565

5565:                                             ; preds = %5560, %5564
  %.str.5.sink3160 = phi ptr [ @.str.5, %5564 ], [ @.str.2, %5560 ]
  store i32 %5555, ptr %3600, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = load i32, ptr @test_count, align 4, !tbaa !5
  %5568 = load i32, ptr %3546, align 4, !tbaa !5
  %5569 = call ptr @s2n_strerror(i32 noundef %5568, ptr noundef nonnull @.str.4) #12
  %5570 = load i32, ptr %3546, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror_debug(i32 noundef %5570, ptr noundef nonnull @.str.4) #12
  %5572 = load i32, ptr %3600, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #12
  %5574 = load i32, ptr %3600, align 4, !tbaa !5
  %5575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5566, ptr noundef nonnull %.str.5.sink3160, i32 noundef %5567, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %5569, ptr noundef %5571, ptr noundef %5573, i32 noundef %5574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5576:                                             ; preds = %5549
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = add nsw i32 %5577, 1
  store i32 %5578, ptr @test_count, align 4, !tbaa !5
  %5579 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %5262, i32 noundef 0) #12
  %5580 = icmp eq i32 %5579, -1
  br i1 %5580, label %5581, label %5603

5581:                                             ; preds = %5576
  %5582 = load i32, ptr %3600, align 4, !tbaa !5
  %5583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5584 = call i32 @s2n_print_stacktrace(ptr noundef %5583) #12
  %5585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5586 = trunc nuw i8 %5585 to i1
  br i1 %5586, label %5587, label %5591

5587:                                             ; preds = %5581
  %5588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5589 = call i32 @fileno(ptr noundef %5588) #12
  %5590 = call i32 @isatty(i32 noundef %5589) #12
  %.not1045 = icmp eq i32 %5590, 0
  br i1 %.not1045, label %5591, label %5592

5591:                                             ; preds = %5587, %5581
  br label %5592

5592:                                             ; preds = %5587, %5591
  %.str.5.sink3169 = phi ptr [ @.str.5, %5591 ], [ @.str.2, %5587 ]
  store i32 %5582, ptr %3600, align 4, !tbaa !5
  %5593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5594 = load i32, ptr @test_count, align 4, !tbaa !5
  %5595 = load i32, ptr %3546, align 4, !tbaa !5
  %5596 = call ptr @s2n_strerror(i32 noundef %5595, ptr noundef nonnull @.str.4) #12
  %5597 = load i32, ptr %3546, align 4, !tbaa !5
  %5598 = call ptr @s2n_strerror_debug(i32 noundef %5597, ptr noundef nonnull @.str.4) #12
  %5599 = load i32, ptr %3600, align 4, !tbaa !5
  %5600 = call ptr @strerror(i32 noundef %5599) #12
  %5601 = load i32, ptr %3600, align 4, !tbaa !5
  %5602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5593, ptr noundef nonnull %.str.5.sink3169, i32 noundef %5594, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %5596, ptr noundef %5598, ptr noundef %5600, i32 noundef %5601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5603:                                             ; preds = %5576
  %5604 = load i32, ptr @test_count, align 4, !tbaa !5
  %5605 = add nsw i32 %5604, 1
  store i32 %5605, ptr @test_count, align 4, !tbaa !5
  %5606 = load i32, ptr %5410, align 4, !tbaa !15
  %5607 = load i32, ptr %5412, align 8, !tbaa !18
  %5608 = icmp eq i32 %5606, %5607
  br i1 %5608, label %5631, label %5609

5609:                                             ; preds = %5603
  %5610 = load i32, ptr %3600, align 4, !tbaa !5
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = call i32 @s2n_print_stacktrace(ptr noundef %5611) #12
  %5613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5614 = trunc nuw i8 %5613 to i1
  br i1 %5614, label %5615, label %5619

5615:                                             ; preds = %5609
  %5616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5617 = call i32 @fileno(ptr noundef %5616) #12
  %5618 = call i32 @isatty(i32 noundef %5617) #12
  %.not962 = icmp eq i32 %5618, 0
  br i1 %.not962, label %5619, label %5620

5619:                                             ; preds = %5615, %5609
  br label %5620

5620:                                             ; preds = %5615, %5619
  %.str.5.sink3178 = phi ptr [ @.str.5, %5619 ], [ @.str.2, %5615 ]
  store i32 %5610, ptr %3600, align 4, !tbaa !5
  %5621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5622 = load i32, ptr @test_count, align 4, !tbaa !5
  %5623 = load i32, ptr %3546, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror(i32 noundef %5623, ptr noundef nonnull @.str.4) #12
  %5625 = load i32, ptr %3546, align 4, !tbaa !5
  %5626 = call ptr @s2n_strerror_debug(i32 noundef %5625, ptr noundef nonnull @.str.4) #12
  %5627 = load i32, ptr %3600, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #12
  %5629 = load i32, ptr %3600, align 4, !tbaa !5
  %5630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5621, ptr noundef nonnull %.str.5.sink3178, i32 noundef %5622, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %5624, ptr noundef %5626, ptr noundef %5628, i32 noundef %5629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5631:                                             ; preds = %5603
  %5632 = add nsw i32 %5604, 2
  store i32 %5632, ptr @test_count, align 4, !tbaa !5
  %5633 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %5634 = icmp eq i32 %5633, -1
  br i1 %5634, label %5635, label %5657

5635:                                             ; preds = %5631
  %5636 = load i32, ptr %3600, align 4, !tbaa !5
  %5637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5638 = call i32 @s2n_print_stacktrace(ptr noundef %5637) #12
  %5639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5640 = trunc nuw i8 %5639 to i1
  br i1 %5640, label %5641, label %5645

5641:                                             ; preds = %5635
  %5642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5643 = call i32 @fileno(ptr noundef %5642) #12
  %5644 = call i32 @isatty(i32 noundef %5643) #12
  %.not1044 = icmp eq i32 %5644, 0
  br i1 %.not1044, label %5645, label %5646

5645:                                             ; preds = %5641, %5635
  br label %5646

5646:                                             ; preds = %5641, %5645
  %.str.5.sink3187 = phi ptr [ @.str.5, %5645 ], [ @.str.2, %5641 ]
  store i32 %5636, ptr %3600, align 4, !tbaa !5
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = load i32, ptr @test_count, align 4, !tbaa !5
  %5649 = load i32, ptr %3546, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror(i32 noundef %5649, ptr noundef nonnull @.str.4) #12
  %5651 = load i32, ptr %3546, align 4, !tbaa !5
  %5652 = call ptr @s2n_strerror_debug(i32 noundef %5651, ptr noundef nonnull @.str.4) #12
  %5653 = load i32, ptr %3600, align 4, !tbaa !5
  %5654 = call ptr @strerror(i32 noundef %5653) #12
  %5655 = load i32, ptr %3600, align 4, !tbaa !5
  %5656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5647, ptr noundef nonnull %.str.5.sink3187, i32 noundef %5648, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %5650, ptr noundef %5652, ptr noundef %5654, i32 noundef %5655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5657:                                             ; preds = %5631
  %5658 = load i32, ptr @test_count, align 4, !tbaa !5
  %5659 = add nsw i32 %5658, 1
  store i32 %5659, ptr @test_count, align 4, !tbaa !5
  %5660 = call i32 @s2n_connection_free(ptr noundef nonnull %5102) #12
  %5661 = icmp eq i32 %5660, -1
  br i1 %5661, label %5662, label %5684

5662:                                             ; preds = %5657
  %5663 = load i32, ptr %3600, align 4, !tbaa !5
  %5664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5665 = call i32 @s2n_print_stacktrace(ptr noundef %5664) #12
  %5666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5667 = trunc nuw i8 %5666 to i1
  br i1 %5667, label %5668, label %5672

5668:                                             ; preds = %5662
  %5669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5670 = call i32 @fileno(ptr noundef %5669) #12
  %5671 = call i32 @isatty(i32 noundef %5670) #12
  %.not1043 = icmp eq i32 %5671, 0
  br i1 %.not1043, label %5672, label %5673

5672:                                             ; preds = %5668, %5662
  br label %5673

5673:                                             ; preds = %5668, %5672
  %.str.5.sink3196 = phi ptr [ @.str.5, %5672 ], [ @.str.2, %5668 ]
  store i32 %5663, ptr %3600, align 4, !tbaa !5
  %5674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5675 = load i32, ptr @test_count, align 4, !tbaa !5
  %5676 = load i32, ptr %3546, align 4, !tbaa !5
  %5677 = call ptr @s2n_strerror(i32 noundef %5676, ptr noundef nonnull @.str.4) #12
  %5678 = load i32, ptr %3546, align 4, !tbaa !5
  %5679 = call ptr @s2n_strerror_debug(i32 noundef %5678, ptr noundef nonnull @.str.4) #12
  %5680 = load i32, ptr %3600, align 4, !tbaa !5
  %5681 = call ptr @strerror(i32 noundef %5680) #12
  %5682 = load i32, ptr %3600, align 4, !tbaa !5
  %5683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5674, ptr noundef nonnull %.str.5.sink3196, i32 noundef %5675, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 467, ptr noundef %5677, ptr noundef %5679, ptr noundef %5681, i32 noundef %5682) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5684:                                             ; preds = %5657
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #12
  store i8 0, ptr %18, align 1, !tbaa !19
  %5685 = load i32, ptr @test_count, align 4, !tbaa !5
  %5686 = add nsw i32 %5685, 1
  store i32 %5686, ptr @test_count, align 4, !tbaa !5
  %5687 = load i16, ptr @s2n_server_psk_extension, align 8, !tbaa !50
  %5688 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %5687, ptr noundef nonnull %18) #12
  %5689 = icmp eq i32 %5688, -1
  br i1 %5689, label %5690, label %5712

5690:                                             ; preds = %5684
  %5691 = load i32, ptr %3600, align 4, !tbaa !5
  %5692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5693 = call i32 @s2n_print_stacktrace(ptr noundef %5692) #12
  %5694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5695 = trunc nuw i8 %5694 to i1
  br i1 %5695, label %5696, label %5700

5696:                                             ; preds = %5690
  %5697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5698 = call i32 @fileno(ptr noundef %5697) #12
  %5699 = call i32 @isatty(i32 noundef %5698) #12
  %.not1042 = icmp eq i32 %5699, 0
  br i1 %.not1042, label %5700, label %5701

5700:                                             ; preds = %5696, %5690
  br label %5701

5701:                                             ; preds = %5696, %5700
  %.str.5.sink3205 = phi ptr [ @.str.5, %5700 ], [ @.str.2, %5696 ]
  store i32 %5691, ptr %3600, align 4, !tbaa !5
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = load i32, ptr @test_count, align 4, !tbaa !5
  %5704 = load i32, ptr %3546, align 4, !tbaa !5
  %5705 = call ptr @s2n_strerror(i32 noundef %5704, ptr noundef nonnull @.str.4) #12
  %5706 = load i32, ptr %3546, align 4, !tbaa !5
  %5707 = call ptr @s2n_strerror_debug(i32 noundef %5706, ptr noundef nonnull @.str.4) #12
  %5708 = load i32, ptr %3600, align 4, !tbaa !5
  %5709 = call ptr @strerror(i32 noundef %5708) #12
  %5710 = load i32, ptr %3600, align 4, !tbaa !5
  %5711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5702, ptr noundef nonnull %.str.5.sink3205, i32 noundef %5703, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 473, ptr noundef %5705, ptr noundef %5707, ptr noundef %5709, i32 noundef %5710) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5712:                                             ; preds = %5684
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %19, i8 0, i64 168, i1 false)
  %5713 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_server_psk_extension, i64 24), align 8
  %5714 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %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 = icmp eq ptr %5714, null
  br i1 %5717, label %5718, label %5740

5718:                                             ; preds = %5989, %5712
  %5719 = load i32, ptr %3600, align 4, !tbaa !5
  %5720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5721 = call i32 @s2n_print_stacktrace(ptr noundef %5720) #12
  %5722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5723 = trunc nuw i8 %5722 to i1
  br i1 %5723, label %5724, label %5728

5724:                                             ; preds = %5718
  %5725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5726 = call i32 @fileno(ptr noundef %5725) #12
  %5727 = call i32 @isatty(i32 noundef %5726) #12
  %.not1041 = icmp eq i32 %5727, 0
  br i1 %.not1041, label %5728, label %5729

5728:                                             ; preds = %5724, %5718
  br label %5729

5729:                                             ; preds = %5724, %5728
  %.str.5.sink3214 = phi ptr [ @.str.5, %5728 ], [ @.str.2, %5724 ]
  store i32 %5719, ptr %3600, align 4, !tbaa !5
  %5730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5731 = load i32, ptr @test_count, align 4, !tbaa !5
  %5732 = load i32, ptr %3546, align 4, !tbaa !5
  %5733 = call ptr @s2n_strerror(i32 noundef %5732, ptr noundef nonnull @.str.4) #12
  %5734 = load i32, ptr %3546, align 4, !tbaa !5
  %5735 = call ptr @s2n_strerror_debug(i32 noundef %5734, ptr noundef nonnull @.str.4) #12
  %5736 = load i32, ptr %3600, align 4, !tbaa !5
  %5737 = call ptr @strerror(i32 noundef %5736) #12
  %5738 = load i32, ptr %3600, align 4, !tbaa !5
  %5739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5730, ptr noundef nonnull %.str.5.sink3214, i32 noundef %5731, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 479, ptr noundef %5733, ptr noundef %5735, ptr noundef %5737, i32 noundef %5738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5740:                                             ; preds = %5712
  %5741 = add nsw i32 %5715, 2
  store i32 %5741, ptr @test_count, align 4, !tbaa !5
  %5742 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %5714) #12
  %5743 = icmp eq i32 %5742, -1
  br i1 %5743, label %5744, label %5766

5744:                                             ; preds = %5994, %5740
  %5745 = load i32, ptr %3600, align 4, !tbaa !5
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = call i32 @s2n_print_stacktrace(ptr noundef %5746) #12
  %5748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5749 = trunc nuw i8 %5748 to i1
  br i1 %5749, label %5750, label %5754

5750:                                             ; preds = %5744
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = call i32 @fileno(ptr noundef %5751) #12
  %5753 = call i32 @isatty(i32 noundef %5752) #12
  %.not1040 = icmp eq i32 %5753, 0
  br i1 %.not1040, label %5754, label %5755

5754:                                             ; preds = %5750, %5744
  br label %5755

5755:                                             ; preds = %5750, %5754
  %.str.5.sink3223 = phi ptr [ @.str.5, %5754 ], [ @.str.2, %5750 ]
  store i32 %5745, ptr %3600, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = load i32, ptr @test_count, align 4, !tbaa !5
  %5758 = load i32, ptr %3546, align 4, !tbaa !5
  %5759 = call ptr @s2n_strerror(i32 noundef %5758, ptr noundef nonnull @.str.4) #12
  %5760 = load i32, ptr %3546, align 4, !tbaa !5
  %5761 = call ptr @s2n_strerror_debug(i32 noundef %5760, ptr noundef nonnull @.str.4) #12
  %5762 = load i32, ptr %3600, align 4, !tbaa !5
  %5763 = call ptr @strerror(i32 noundef %5762) #12
  %5764 = load i32, ptr %3600, align 4, !tbaa !5
  %5765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef nonnull %.str.5.sink3223, i32 noundef %5757, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %5759, ptr noundef %5761, ptr noundef %5763, i32 noundef %5764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5766:                                             ; preds = %5740
  %5767 = getelementptr inbounds i8, ptr %5714, i64 220
  store i8 34, ptr %5767, align 4, !tbaa !55
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = add nsw i32 %5768, 1
  store i32 %5769, ptr @test_count, align 4, !tbaa !5
  %5770 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %5714, i8 noundef zeroext 34) #12
  %5771 = call zeroext i1 @s2n_result_is_ok(i32 %5770)
  br i1 %5771, label %5794, label %5772

5772:                                             ; preds = %5998, %5766
  %5773 = load i32, ptr %3600, align 4, !tbaa !5
  %5774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5775 = call i32 @s2n_print_stacktrace(ptr noundef %5774) #12
  %5776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5777 = trunc nuw i8 %5776 to i1
  br i1 %5777, label %5778, label %5782

5778:                                             ; preds = %5772
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = call i32 @fileno(ptr noundef %5779) #12
  %5781 = call i32 @isatty(i32 noundef %5780) #12
  %.not1031 = icmp eq i32 %5781, 0
  br i1 %.not1031, label %5782, label %5783

5782:                                             ; preds = %5778, %5772
  br label %5783

5783:                                             ; preds = %5778, %5782
  %.str.5.sink3232 = phi ptr [ @.str.5, %5782 ], [ @.str.2, %5778 ]
  store i32 %5773, ptr %3600, align 4, !tbaa !5
  %5784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5785 = load i32, ptr @test_count, align 4, !tbaa !5
  %5786 = load i32, ptr %3546, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror(i32 noundef %5786, ptr noundef nonnull @.str.4) #12
  %5788 = load i32, ptr %3546, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror_debug(i32 noundef %5788, ptr noundef nonnull @.str.4) #12
  %5790 = load i32, ptr %3600, align 4, !tbaa !5
  %5791 = call ptr @strerror(i32 noundef %5790) #12
  %5792 = load i32, ptr %3600, align 4, !tbaa !5
  %5793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5784, ptr noundef nonnull %.str.5.sink3232, i32 noundef %5785, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %5787, ptr noundef %5789, ptr noundef %5791, i32 noundef %5792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5794:                                             ; preds = %5766
  %5795 = getelementptr inbounds i8, ptr %5714, i64 2016
  %5796 = getelementptr inbounds i8, ptr %5714, i64 1736
  store ptr %19, ptr %5796, align 8, !tbaa !61
  %5797 = load i8, ptr %18, align 1, !tbaa !19
  %5798 = and i8 %5797, 7
  %5799 = shl nuw i8 1, %5798
  %5800 = xor i8 %5799, -1
  %5801 = getelementptr inbounds i8, ptr %5714, i64 80
  %5802 = lshr i8 %5797, 3
  %5803 = zext nneg i8 %5802 to i64
  %5804 = getelementptr inbounds [22 x i8], ptr %5801, i64 0, i64 %5803
  %5805 = load i8, ptr %5804, align 1, !tbaa !19
  %5806 = and i8 %5805, %5800
  store i8 %5806, ptr %5804, align 1, !tbaa !19
  %5807 = load i32, ptr @test_count, align 4, !tbaa !5
  %5808 = add nsw i32 %5807, 1
  store i32 %5808, ptr @test_count, align 4, !tbaa !5
  %5809 = call zeroext i1 %5713(ptr noundef nonnull %5714) #12
  br i1 %5809, label %5832, label %5810

5810:                                             ; preds = %6004, %5794
  %5811 = load i32, ptr %3600, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = call i32 @s2n_print_stacktrace(ptr noundef %5812) #12
  %5814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5815 = trunc nuw i8 %5814 to i1
  br i1 %5815, label %5816, label %5820

5816:                                             ; preds = %5810
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = call i32 @fileno(ptr noundef %5817) #12
  %5819 = call i32 @isatty(i32 noundef %5818) #12
  %.not1032 = icmp eq i32 %5819, 0
  br i1 %.not1032, label %5820, label %5821

5820:                                             ; preds = %5816, %5810
  br label %5821

5821:                                             ; preds = %5816, %5820
  %.str.5.sink3241 = phi ptr [ @.str.5, %5820 ], [ @.str.2, %5816 ]
  store i32 %5811, ptr %3600, align 4, !tbaa !5
  %5822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5823 = load i32, ptr @test_count, align 4, !tbaa !5
  %5824 = load i32, ptr %3546, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror(i32 noundef %5824, ptr noundef nonnull @.str.4) #12
  %5826 = load i32, ptr %3546, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror_debug(i32 noundef %5826, ptr noundef nonnull @.str.4) #12
  %5828 = load i32, ptr %3600, align 4, !tbaa !5
  %5829 = call ptr @strerror(i32 noundef %5828) #12
  %5830 = load i32, ptr %3600, align 4, !tbaa !5
  %5831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5822, ptr noundef nonnull %.str.5.sink3241, i32 noundef %5823, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %5825, ptr noundef %5827, ptr noundef %5829, i32 noundef %5830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5832:                                             ; preds = %5794
  %5833 = getelementptr inbounds i8, ptr %5714, i64 232
  %5834 = load ptr, ptr %5833, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5834, align 8, !tbaa !63
  %5835 = getelementptr inbounds i8, ptr %5714, i64 656
  store ptr @s2n_ecc_curve_secp256r1, ptr %5835, align 8, !tbaa !54
  %5836 = getelementptr inbounds i8, ptr %5714, i64 704
  store ptr @s2n_ecc_curve_secp256r1, ptr %5836, align 8, !tbaa !56
  %5837 = load i32, ptr @test_count, align 4, !tbaa !5
  %5838 = add nsw i32 %5837, 1
  store i32 %5838, ptr @test_count, align 4, !tbaa !5
  %5839 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %5836) #12
  %5840 = icmp eq i32 %5839, -1
  br i1 %5840, label %5841, label %._crit_edge1231

5841:                                             ; preds = %6020, %5832
  %5842 = load i32, ptr %3600, align 4, !tbaa !5
  %5843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5844 = call i32 @s2n_print_stacktrace(ptr noundef %5843) #12
  %5845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5846 = trunc nuw i8 %5845 to i1
  br i1 %5846, label %5847, label %5851

5847:                                             ; preds = %5841
  %5848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5849 = call i32 @fileno(ptr noundef %5848) #12
  %5850 = call i32 @isatty(i32 noundef %5849) #12
  %.not1039 = icmp eq i32 %5850, 0
  br i1 %.not1039, label %5851, label %5852

5851:                                             ; preds = %5847, %5841
  br label %5852

5852:                                             ; preds = %5847, %5851
  %.str.5.sink3250 = phi ptr [ @.str.5, %5851 ], [ @.str.2, %5847 ]
  store i32 %5842, ptr %3600, align 4, !tbaa !5
  %5853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5854 = load i32, ptr @test_count, align 4, !tbaa !5
  %5855 = load i32, ptr %3546, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror(i32 noundef %5855, ptr noundef nonnull @.str.4) #12
  %5857 = load i32, ptr %3546, align 4, !tbaa !5
  %5858 = call ptr @s2n_strerror_debug(i32 noundef %5857, ptr noundef nonnull @.str.4) #12
  %5859 = load i32, ptr %3600, align 4, !tbaa !5
  %5860 = call ptr @strerror(i32 noundef %5859) #12
  %5861 = load i32, ptr %3600, align 4, !tbaa !5
  %5862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5853, ptr noundef nonnull %.str.5.sink3250, i32 noundef %5854, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %5856, ptr noundef %5858, ptr noundef %5860, i32 noundef %5861) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5863:                                             ; preds = %6029
  %.pre1211 = load i32, ptr %3600, align 4, !tbaa !5
  %.pre1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = call i32 @s2n_print_stacktrace(ptr noundef %.pre1212) #12
  %5865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5866 = trunc nuw i8 %5865 to i1
  br i1 %5866, label %5867, label %5871

5867:                                             ; preds = %5863
  %5868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5869 = call i32 @fileno(ptr noundef %5868) #12
  %5870 = call i32 @isatty(i32 noundef %5869) #12
  %.not1038 = icmp eq i32 %5870, 0
  br i1 %.not1038, label %5871, label %5872

5871:                                             ; preds = %5867, %5863
  br label %5872

5872:                                             ; preds = %5867, %5871
  %.str.5.sink3259 = phi ptr [ @.str.5, %5871 ], [ @.str.2, %5867 ]
  store i32 %.pre1211, ptr %3600, align 4, !tbaa !5
  %5873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5874 = load i32, ptr @test_count, align 4, !tbaa !5
  %5875 = load i32, ptr %3546, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror(i32 noundef %5875, ptr noundef nonnull @.str.4) #12
  %5877 = load i32, ptr %3546, align 4, !tbaa !5
  %5878 = call ptr @s2n_strerror_debug(i32 noundef %5877, ptr noundef nonnull @.str.4) #12
  %5879 = load i32, ptr %3600, align 4, !tbaa !5
  %5880 = call ptr @strerror(i32 noundef %5879) #12
  %5881 = load i32, ptr %3600, align 4, !tbaa !5
  %5882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5873, ptr noundef nonnull %.str.5.sink3259, i32 noundef %5874, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 498, ptr noundef %5876, ptr noundef %5878, ptr noundef %5880, i32 noundef %5881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

._crit_edge1231:                                  ; preds = %5832
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  %.pre1232 = add nsw i32 %.pre, 1
  store i32 %.pre1232, ptr @test_count, align 4, !tbaa !5
  %5883 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %5714, ptr noundef nonnull %5795) #12
  %5884 = icmp eq i32 %5883, -1
  br i1 %5884, label %5885, label %5907

5885:                                             ; preds = %6034, %._crit_edge1231
  %5886 = load i32, ptr %3600, align 4, !tbaa !5
  %5887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5888 = call i32 @s2n_print_stacktrace(ptr noundef %5887) #12
  %5889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5890 = trunc nuw i8 %5889 to i1
  br i1 %5890, label %5891, label %5895

5891:                                             ; preds = %5885
  %5892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5893 = call i32 @fileno(ptr noundef %5892) #12
  %5894 = call i32 @isatty(i32 noundef %5893) #12
  %.not1037 = icmp eq i32 %5894, 0
  br i1 %.not1037, label %5895, label %5896

5895:                                             ; preds = %5891, %5885
  br label %5896

5896:                                             ; preds = %5891, %5895
  %.str.5.sink3268 = phi ptr [ @.str.5, %5895 ], [ @.str.2, %5891 ]
  store i32 %5886, ptr %3600, align 4, !tbaa !5
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = load i32, ptr @test_count, align 4, !tbaa !5
  %5899 = load i32, ptr %3546, align 4, !tbaa !5
  %5900 = call ptr @s2n_strerror(i32 noundef %5899, ptr noundef nonnull @.str.4) #12
  %5901 = load i32, ptr %3546, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror_debug(i32 noundef %5901, ptr noundef nonnull @.str.4) #12
  %5903 = load i32, ptr %3600, align 4, !tbaa !5
  %5904 = call ptr @strerror(i32 noundef %5903) #12
  %5905 = load i32, ptr %3600, align 4, !tbaa !5
  %5906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5897, ptr noundef nonnull %.str.5.sink3268, i32 noundef %5898, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %5900, ptr noundef %5902, ptr noundef %5904, i32 noundef %5905) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5907:                                             ; preds = %._crit_edge1231
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %20, i8 0, i64 704, i1 false)
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = add nsw i32 %5908, 1
  store i32 %5909, ptr @test_count, align 4, !tbaa !5
  %5910 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %5795, ptr noundef nonnull %20) #12
  %5911 = icmp eq i32 %5910, -1
  br i1 %5911, label %5912, label %5934

5912:                                             ; preds = %6039, %5907
  %5913 = load i32, ptr %3600, align 4, !tbaa !5
  %5914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5915 = call i32 @s2n_print_stacktrace(ptr noundef %5914) #12
  %5916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5917 = trunc nuw i8 %5916 to i1
  br i1 %5917, label %5918, label %5922

5918:                                             ; preds = %5912
  %5919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5920 = call i32 @fileno(ptr noundef %5919) #12
  %5921 = call i32 @isatty(i32 noundef %5920) #12
  %.not1036 = icmp eq i32 %5921, 0
  br i1 %.not1036, label %5922, label %5923

5922:                                             ; preds = %5918, %5912
  br label %5923

5923:                                             ; preds = %5918, %5922
  %.str.5.sink3277 = phi ptr [ @.str.5, %5922 ], [ @.str.2, %5918 ]
  store i32 %5913, ptr %3600, 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 %3546, align 4, !tbaa !5
  %5927 = call ptr @s2n_strerror(i32 noundef %5926, ptr noundef nonnull @.str.4) #12
  %5928 = load i32, ptr %3546, align 4, !tbaa !5
  %5929 = call ptr @s2n_strerror_debug(i32 noundef %5928, ptr noundef nonnull @.str.4) #12
  %5930 = load i32, ptr %3600, align 4, !tbaa !5
  %5931 = call ptr @strerror(i32 noundef %5930) #12
  %5932 = load i32, ptr %3600, align 4, !tbaa !5
  %5933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5924, ptr noundef nonnull %.str.5.sink3277, i32 noundef %5925, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %5927, ptr noundef %5929, ptr noundef %5931, i32 noundef %5932) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5934:                                             ; preds = %5907
  %5935 = load i8, ptr %18, align 1, !tbaa !19
  %5936 = zext i8 %5935 to i64
  %5937 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %20, i64 0, i64 %5936, i32 1
  %5938 = load i16, ptr %5937, align 8, !tbaa !68
  %.not1234 = icmp eq i16 %5938, %5687
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = add nsw i32 %5939, 1
  store i32 %5940, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1234, label %5963, label %5941

5941:                                             ; preds = %6044, %5934
  %5942 = load i32, ptr %3600, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = call i32 @s2n_print_stacktrace(ptr noundef %5943) #12
  %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) #12
  %5950 = call i32 @isatty(i32 noundef %5949) #12
  %.not1035 = icmp eq i32 %5950, 0
  br i1 %.not1035, label %5951, label %5952

5951:                                             ; preds = %5947, %5941
  br label %5952

5952:                                             ; preds = %5947, %5951
  %.str.5.sink3286 = phi ptr [ @.str.5, %5951 ], [ @.str.2, %5947 ]
  store i32 %5942, ptr %3600, 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 %3546, align 4, !tbaa !5
  %5956 = call ptr @s2n_strerror(i32 noundef %5955, ptr noundef nonnull @.str.4) #12
  %5957 = load i32, ptr %3546, align 4, !tbaa !5
  %5958 = call ptr @s2n_strerror_debug(i32 noundef %5957, ptr noundef nonnull @.str.4) #12
  %5959 = load i32, ptr %3600, align 4, !tbaa !5
  %5960 = call ptr @strerror(i32 noundef %5959) #12
  %5961 = load i32, ptr %3600, align 4, !tbaa !5
  %5962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5953, ptr noundef nonnull %.str.5.sink3286, i32 noundef %5954, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %5956, ptr noundef %5958, ptr noundef %5960, i32 noundef %5961) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5963:                                             ; preds = %5934
  %5964 = add nsw i32 %5939, 2
  store i32 %5964, ptr @test_count, align 4, !tbaa !5
  %5965 = call i32 @s2n_connection_free(ptr noundef nonnull %5714) #12
  %5966 = icmp eq i32 %5965, -1
  br i1 %5966, label %5967, label %5989

5967:                                             ; preds = %6052, %5963
  %5968 = load i32, ptr %3600, align 4, !tbaa !5
  %5969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5970 = call i32 @s2n_print_stacktrace(ptr noundef %5969) #12
  %5971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5972 = trunc nuw i8 %5971 to i1
  br i1 %5972, label %5973, label %5977

5973:                                             ; preds = %5967
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = call i32 @fileno(ptr noundef %5974) #12
  %5976 = call i32 @isatty(i32 noundef %5975) #12
  %.not1034 = icmp eq i32 %5976, 0
  br i1 %.not1034, label %5977, label %5978

5977:                                             ; preds = %5973, %5967
  br label %5978

5978:                                             ; preds = %5973, %5977
  %.str.5.sink3295 = phi ptr [ @.str.5, %5977 ], [ @.str.2, %5973 ]
  store i32 %5968, ptr %3600, align 4, !tbaa !5
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = load i32, ptr @test_count, align 4, !tbaa !5
  %5981 = load i32, ptr %3546, align 4, !tbaa !5
  %5982 = call ptr @s2n_strerror(i32 noundef %5981, ptr noundef nonnull @.str.4) #12
  %5983 = load i32, ptr %3546, align 4, !tbaa !5
  %5984 = call ptr @s2n_strerror_debug(i32 noundef %5983, ptr noundef nonnull @.str.4) #12
  %5985 = load i32, ptr %3600, align 4, !tbaa !5
  %5986 = call ptr @strerror(i32 noundef %5985) #12
  %5987 = load i32, ptr %3600, align 4, !tbaa !5
  %5988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5979, ptr noundef nonnull %.str.5.sink3295, i32 noundef %5980, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 510, ptr noundef %5982, ptr noundef %5984, ptr noundef %5986, i32 noundef %5987) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5989:                                             ; preds = %5963
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %20) #12
  %5990 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5991 = load i32, ptr @test_count, align 4, !tbaa !5
  %5992 = add nsw i32 %5991, 1
  store i32 %5992, ptr @test_count, align 4, !tbaa !5
  %5993 = icmp eq ptr %5990, null
  br i1 %5993, label %5718, label %5994

5994:                                             ; preds = %5989
  %5995 = add nsw i32 %5991, 2
  store i32 %5995, ptr @test_count, align 4, !tbaa !5
  %5996 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %5990) #12
  %5997 = icmp eq i32 %5996, -1
  br i1 %5997, label %5744, label %5998

5998:                                             ; preds = %5994
  %5999 = getelementptr inbounds i8, ptr %5990, i64 220
  store i8 34, ptr %5999, align 4, !tbaa !55
  %6000 = load i32, ptr @test_count, align 4, !tbaa !5
  %6001 = add nsw i32 %6000, 1
  store i32 %6001, ptr @test_count, align 4, !tbaa !5
  %6002 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %5990, i8 noundef zeroext 34) #12
  %6003 = call zeroext i1 @s2n_result_is_ok(i32 %6002)
  br i1 %6003, label %6004, label %5772

6004:                                             ; preds = %5998
  %6005 = getelementptr inbounds i8, ptr %5990, i64 2016
  %6006 = getelementptr inbounds i8, ptr %5990, i64 1736
  store ptr %19, ptr %6006, align 8, !tbaa !61
  %6007 = load i8, ptr %18, align 1, !tbaa !19
  %6008 = and i8 %6007, 7
  %6009 = shl nuw i8 1, %6008
  %6010 = xor i8 %6009, -1
  %6011 = getelementptr inbounds i8, ptr %5990, i64 80
  %6012 = lshr i8 %6007, 3
  %6013 = zext nneg i8 %6012 to i64
  %6014 = getelementptr inbounds [22 x i8], ptr %6011, i64 0, i64 %6013
  %6015 = load i8, ptr %6014, align 1, !tbaa !19
  %6016 = and i8 %6015, %6010
  store i8 %6016, ptr %6014, align 1, !tbaa !19
  %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 zeroext i1 %5713(ptr noundef nonnull %5990) #12
  br i1 %6019, label %6020, label %5810

6020:                                             ; preds = %6004
  %6021 = getelementptr inbounds i8, ptr %5990, i64 232
  %6022 = load ptr, ptr %6021, align 8, !tbaa !62
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6022, align 8, !tbaa !63
  %6023 = getelementptr inbounds i8, ptr %5990, i64 656
  store ptr @s2n_ecc_curve_secp256r1, ptr %6023, align 8, !tbaa !54
  %6024 = getelementptr inbounds i8, ptr %5990, i64 704
  store ptr @s2n_ecc_curve_secp256r1, ptr %6024, align 8, !tbaa !56
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = add nsw i32 %6025, 1
  store i32 %6026, ptr @test_count, align 4, !tbaa !5
  %6027 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %6024) #12
  %6028 = icmp eq i32 %6027, -1
  br i1 %6028, label %5841, label %6029

6029:                                             ; preds = %6020
  %6030 = load i32, ptr @test_count, align 4, !tbaa !5
  %6031 = add nsw i32 %6030, 1
  store i32 %6031, ptr @test_count, align 4, !tbaa !5
  %6032 = call i32 @s2n_set_connection_hello_retry_flags(ptr noundef nonnull %5990) #12
  %6033 = icmp eq i32 %6032, -1
  br i1 %6033, label %5863, label %6034

6034:                                             ; preds = %6029
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = add nsw i32 %6035, 1
  store i32 %6036, ptr @test_count, align 4, !tbaa !5
  %6037 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %5990, ptr noundef nonnull %6005) #12
  %6038 = icmp eq i32 %6037, -1
  br i1 %6038, label %5885, label %6039

6039:                                             ; preds = %6034
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %20, i8 0, i64 704, i1 false)
  %6040 = load i32, ptr @test_count, align 4, !tbaa !5
  %6041 = add nsw i32 %6040, 1
  store i32 %6041, ptr @test_count, align 4, !tbaa !5
  %6042 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %6005, ptr noundef nonnull %20) #12
  %6043 = icmp eq i32 %6042, -1
  br i1 %6043, label %5912, label %6044

6044:                                             ; preds = %6039
  %6045 = load i8, ptr %18, align 1, !tbaa !19
  %6046 = zext i8 %6045 to i64
  %6047 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %20, i64 0, i64 %6046, i32 1
  %6048 = load i16, ptr %6047, align 8, !tbaa !68
  %6049 = icmp eq i16 %6048, %5687
  %6050 = load i32, ptr @test_count, align 4, !tbaa !5
  %6051 = add nsw i32 %6050, 1
  store i32 %6051, ptr @test_count, align 4, !tbaa !5
  br i1 %6049, label %5941, label %6052

6052:                                             ; preds = %6044
  %6053 = add nsw i32 %6050, 2
  store i32 %6053, ptr @test_count, align 4, !tbaa !5
  %6054 = call i32 @s2n_connection_free(ptr noundef nonnull %5990) #12
  %6055 = icmp eq i32 %6054, -1
  br i1 %6055, label %5967, label %6056

6056:                                             ; preds = %6052
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #12
  %6057 = load i32, ptr @test_count, align 4, !tbaa !5
  %6058 = add nsw i32 %6057, 1
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = call i32 @s2n_config_free(ptr noundef nonnull %178) #12
  %6060 = icmp eq i32 %6059, -1
  br i1 %6060, label %6061, label %6083

6061:                                             ; preds = %6056
  %6062 = load i32, ptr %3600, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = call i32 @s2n_print_stacktrace(ptr noundef %6063) #12
  %6065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6066 = trunc nuw i8 %6065 to i1
  br i1 %6066, label %6067, label %6071

6067:                                             ; preds = %6061
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @fileno(ptr noundef %6068) #12
  %6070 = call i32 @isatty(i32 noundef %6069) #12
  %.not1030 = icmp eq i32 %6070, 0
  br i1 %.not1030, label %6071, label %6072

6071:                                             ; preds = %6067, %6061
  br label %6072

6072:                                             ; preds = %6067, %6071
  %.str.5.sink3304 = phi ptr [ @.str.5, %6071 ], [ @.str.2, %6067 ]
  store i32 %6062, ptr %3600, align 4, !tbaa !5
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = load i32, ptr %3546, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror(i32 noundef %6075, ptr noundef nonnull @.str.4) #12
  %6077 = load i32, ptr %3546, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef nonnull @.str.4) #12
  %6079 = load i32, ptr %3600, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #12
  %6081 = load i32, ptr %3600, align 4, !tbaa !5
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6073, ptr noundef nonnull %.str.5.sink3304, i32 noundef %6074, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %6076, ptr noundef %6078, ptr noundef %6080, i32 noundef %6081) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6083:                                             ; preds = %6056
  %6084 = load i32, ptr @test_count, align 4, !tbaa !5
  %6085 = add nsw i32 %6084, 1
  store i32 %6085, ptr @test_count, align 4, !tbaa !5
  %6086 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6087 = icmp eq ptr %6086, null
  br i1 %6087, label %6088, label %6110

6088:                                             ; preds = %6083
  %6089 = load i32, ptr %3600, align 4, !tbaa !5
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = call i32 @s2n_print_stacktrace(ptr noundef %6090) #12
  %6092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6093 = trunc nuw i8 %6092 to i1
  br i1 %6093, label %6094, label %6098

6094:                                             ; preds = %6088
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = call i32 @fileno(ptr noundef %6095) #12
  %6097 = call i32 @isatty(i32 noundef %6096) #12
  %.not1029 = icmp eq i32 %6097, 0
  br i1 %.not1029, label %6098, label %6099

6098:                                             ; preds = %6094, %6088
  br label %6099

6099:                                             ; preds = %6094, %6098
  %.str.5.sink3313 = phi ptr [ @.str.5, %6098 ], [ @.str.2, %6094 ]
  store i32 %6089, ptr %3600, align 4, !tbaa !5
  %6100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6101 = load i32, ptr @test_count, align 4, !tbaa !5
  %6102 = load i32, ptr %3546, align 4, !tbaa !5
  %6103 = call ptr @s2n_strerror(i32 noundef %6102, ptr noundef nonnull @.str.4) #12
  %6104 = load i32, ptr %3546, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror_debug(i32 noundef %6104, ptr noundef nonnull @.str.4) #12
  %6106 = load i32, ptr %3600, align 4, !tbaa !5
  %6107 = call ptr @strerror(i32 noundef %6106) #12
  %6108 = load i32, ptr %3600, align 4, !tbaa !5
  %6109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6100, ptr noundef nonnull %.str.5.sink3313, i32 noundef %6101, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %6103, ptr noundef %6105, ptr noundef %6107, i32 noundef %6108) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6110:                                             ; preds = %6083
  %6111 = getelementptr inbounds i8, ptr %6086, i64 232
  %6112 = load ptr, ptr %6111, align 8, !tbaa !62
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %6112, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, i8 0, i64 40, i1 false)
  %6113 = load i32, ptr @test_count, align 4, !tbaa !5
  %6114 = add nsw i32 %6113, 1
  store i32 %6114, ptr @test_count, align 4, !tbaa !5
  %6115 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %21, i32 noundef 0) #12
  %6116 = icmp eq i32 %6115, -1
  br i1 %6116, label %6117, label %6139

6117:                                             ; preds = %6110
  %6118 = load i32, ptr %3600, align 4, !tbaa !5
  %6119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6120 = call i32 @s2n_print_stacktrace(ptr noundef %6119) #12
  %6121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6122 = trunc nuw i8 %6121 to i1
  br i1 %6122, label %6123, label %6127

6123:                                             ; preds = %6117
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = call i32 @fileno(ptr noundef %6124) #12
  %6126 = call i32 @isatty(i32 noundef %6125) #12
  %.not1028 = icmp eq i32 %6126, 0
  br i1 %.not1028, label %6127, label %6128

6127:                                             ; preds = %6123, %6117
  br label %6128

6128:                                             ; preds = %6123, %6127
  %.str.5.sink3322 = phi ptr [ @.str.5, %6127 ], [ @.str.2, %6123 ]
  store i32 %6118, ptr %3600, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = load i32, ptr @test_count, align 4, !tbaa !5
  %6131 = load i32, ptr %3546, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror(i32 noundef %6131, ptr noundef nonnull @.str.4) #12
  %6133 = load i32, ptr %3546, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror_debug(i32 noundef %6133, ptr noundef nonnull @.str.4) #12
  %6135 = load i32, ptr %3600, align 4, !tbaa !5
  %6136 = call ptr @strerror(i32 noundef %6135) #12
  %6137 = load i32, ptr %3600, align 4, !tbaa !5
  %6138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6129, ptr noundef nonnull %.str.5.sink3322, i32 noundef %6130, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %6132, ptr noundef %6134, ptr noundef %6136, i32 noundef %6137) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6139:                                             ; preds = %6110
  %6140 = load i32, ptr @test_count, align 4, !tbaa !5
  %6141 = add nsw i32 %6140, 1
  store i32 %6141, ptr @test_count, align 4, !tbaa !5
  %6142 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %6086, ptr noundef nonnull %21) #12
  %6143 = icmp eq i32 %6142, -1
  br i1 %6143, label %6144, label %6166

6144:                                             ; preds = %6139
  %6145 = load i32, ptr %3600, align 4, !tbaa !5
  %6146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6147 = call i32 @s2n_print_stacktrace(ptr noundef %6146) #12
  %6148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6149 = trunc nuw i8 %6148 to i1
  br i1 %6149, label %6150, label %6154

6150:                                             ; preds = %6144
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = call i32 @fileno(ptr noundef %6151) #12
  %6153 = call i32 @isatty(i32 noundef %6152) #12
  %.not1027 = icmp eq i32 %6153, 0
  br i1 %.not1027, label %6154, label %6155

6154:                                             ; preds = %6150, %6144
  br label %6155

6155:                                             ; preds = %6150, %6154
  %.str.5.sink3331 = phi ptr [ @.str.5, %6154 ], [ @.str.2, %6150 ]
  store i32 %6145, ptr %3600, align 4, !tbaa !5
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = load i32, ptr @test_count, align 4, !tbaa !5
  %6158 = load i32, ptr %3546, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror(i32 noundef %6158, ptr noundef nonnull @.str.4) #12
  %6160 = load i32, ptr %3546, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror_debug(i32 noundef %6160, ptr noundef nonnull @.str.4) #12
  %6162 = load i32, ptr %3600, align 4, !tbaa !5
  %6163 = call ptr @strerror(i32 noundef %6162) #12
  %6164 = load i32, ptr %3600, align 4, !tbaa !5
  %6165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6156, ptr noundef nonnull %.str.5.sink3331, i32 noundef %6157, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %6159, ptr noundef %6161, ptr noundef %6163, i32 noundef %6164) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6166:                                             ; preds = %6139
  %6167 = load i32, ptr @test_count, align 4, !tbaa !5
  %6168 = add nsw i32 %6167, 1
  store i32 %6168, ptr @test_count, align 4, !tbaa !5
  %6169 = getelementptr inbounds i8, ptr %21, i64 28
  %6170 = load i32, ptr %6169, align 4, !tbaa !15
  %6171 = getelementptr inbounds i8, ptr %21, i64 24
  %6172 = load i32, ptr %6171, align 8, !tbaa !18
  %6173 = icmp eq i32 %6170, %6172
  br i1 %6173, label %6196, label %6174

6174:                                             ; preds = %6166
  %6175 = load i32, ptr %3600, align 4, !tbaa !5
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = call i32 @s2n_print_stacktrace(ptr noundef %6176) #12
  %6178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6179 = trunc nuw i8 %6178 to i1
  br i1 %6179, label %6180, label %6184

6180:                                             ; preds = %6174
  %6181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6182 = call i32 @fileno(ptr noundef %6181) #12
  %6183 = call i32 @isatty(i32 noundef %6182) #12
  %.not963 = icmp eq i32 %6183, 0
  br i1 %.not963, label %6184, label %6185

6184:                                             ; preds = %6180, %6174
  br label %6185

6185:                                             ; preds = %6180, %6184
  %.str.5.sink3340 = phi ptr [ @.str.5, %6184 ], [ @.str.2, %6180 ]
  store i32 %6175, ptr %3600, align 4, !tbaa !5
  %6186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6187 = load i32, ptr @test_count, align 4, !tbaa !5
  %6188 = load i32, ptr %3546, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror(i32 noundef %6188, ptr noundef nonnull @.str.4) #12
  %6190 = load i32, ptr %3546, align 4, !tbaa !5
  %6191 = call ptr @s2n_strerror_debug(i32 noundef %6190, ptr noundef nonnull @.str.4) #12
  %6192 = load i32, ptr %3600, align 4, !tbaa !5
  %6193 = call ptr @strerror(i32 noundef %6192) #12
  %6194 = load i32, ptr %3600, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6186, ptr noundef nonnull %.str.5.sink3340, i32 noundef %6187, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %6189, ptr noundef %6191, ptr noundef %6193, i32 noundef %6194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6196:                                             ; preds = %6166
  %6197 = add nsw i32 %6167, 2
  store i32 %6197, ptr @test_count, align 4, !tbaa !5
  %6198 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %6086) #12
  %6199 = icmp eq i32 %6198, -1
  br i1 %6199, label %6200, label %6222

6200:                                             ; preds = %6196
  %6201 = load i32, ptr %3600, align 4, !tbaa !5
  %6202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6203 = call i32 @s2n_print_stacktrace(ptr noundef %6202) #12
  %6204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6205 = trunc nuw i8 %6204 to i1
  br i1 %6205, label %6206, label %6210

6206:                                             ; preds = %6200
  %6207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6208 = call i32 @fileno(ptr noundef %6207) #12
  %6209 = call i32 @isatty(i32 noundef %6208) #12
  %.not1026 = icmp eq i32 %6209, 0
  br i1 %.not1026, label %6210, label %6211

6210:                                             ; preds = %6206, %6200
  br label %6211

6211:                                             ; preds = %6206, %6210
  %.str.5.sink3349 = phi ptr [ @.str.5, %6210 ], [ @.str.2, %6206 ]
  store i32 %6201, ptr %3600, align 4, !tbaa !5
  %6212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6213 = load i32, ptr @test_count, align 4, !tbaa !5
  %6214 = load i32, ptr %3546, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror(i32 noundef %6214, ptr noundef nonnull @.str.4) #12
  %6216 = load i32, ptr %3546, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror_debug(i32 noundef %6216, ptr noundef nonnull @.str.4) #12
  %6218 = load i32, ptr %3600, align 4, !tbaa !5
  %6219 = call ptr @strerror(i32 noundef %6218) #12
  %6220 = load i32, ptr %3600, align 4, !tbaa !5
  %6221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6212, ptr noundef nonnull %.str.5.sink3349, i32 noundef %6213, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 529, ptr noundef %6215, ptr noundef %6217, ptr noundef %6219, i32 noundef %6220) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6222:                                             ; preds = %6196
  %6223 = load i32, ptr @test_count, align 4, !tbaa !5
  %6224 = add nsw i32 %6223, 1
  store i32 %6224, ptr @test_count, align 4, !tbaa !5
  %6225 = call i32 @s2n_server_extensions_send(ptr noundef nonnull %6086, ptr noundef nonnull %21) #12
  %6226 = icmp eq i32 %6225, -1
  br i1 %6226, label %6227, label %6249

6227:                                             ; preds = %6222
  %6228 = load i32, ptr %3600, align 4, !tbaa !5
  %6229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6230 = call i32 @s2n_print_stacktrace(ptr noundef %6229) #12
  %6231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6232 = trunc nuw i8 %6231 to i1
  br i1 %6232, label %6233, label %6237

6233:                                             ; preds = %6227
  %6234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6235 = call i32 @fileno(ptr noundef %6234) #12
  %6236 = call i32 @isatty(i32 noundef %6235) #12
  %.not1025 = icmp eq i32 %6236, 0
  br i1 %.not1025, label %6237, label %6238

6237:                                             ; preds = %6233, %6227
  br label %6238

6238:                                             ; preds = %6233, %6237
  %.str.5.sink3358 = phi ptr [ @.str.5, %6237 ], [ @.str.2, %6233 ]
  store i32 %6228, ptr %3600, align 4, !tbaa !5
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = load i32, ptr @test_count, align 4, !tbaa !5
  %6241 = load i32, ptr %3546, align 4, !tbaa !5
  %6242 = call ptr @s2n_strerror(i32 noundef %6241, ptr noundef nonnull @.str.4) #12
  %6243 = load i32, ptr %3546, align 4, !tbaa !5
  %6244 = call ptr @s2n_strerror_debug(i32 noundef %6243, ptr noundef nonnull @.str.4) #12
  %6245 = load i32, ptr %3600, align 4, !tbaa !5
  %6246 = call ptr @strerror(i32 noundef %6245) #12
  %6247 = load i32, ptr %3600, align 4, !tbaa !5
  %6248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6239, ptr noundef nonnull %.str.5.sink3358, i32 noundef %6240, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %6242, ptr noundef %6244, ptr noundef %6246, i32 noundef %6247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6249:                                             ; preds = %6222
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = add nsw i32 %6250, 1
  store i32 %6251, ptr @test_count, align 4, !tbaa !5
  %6252 = load i32, ptr %6169, align 4, !tbaa !15
  %6253 = load i32, ptr %6171, align 8, !tbaa !18
  %6254 = icmp eq i32 %6252, %6253
  br i1 %6254, label %6255, label %6277

6255:                                             ; preds = %6249
  %6256 = load i32, ptr %3600, align 4, !tbaa !5
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = call i32 @s2n_print_stacktrace(ptr noundef %6257) #12
  %6259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6260 = trunc nuw i8 %6259 to i1
  br i1 %6260, label %6261, label %6265

6261:                                             ; preds = %6255
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = call i32 @fileno(ptr noundef %6262) #12
  %6264 = call i32 @isatty(i32 noundef %6263) #12
  %.not1024 = icmp eq i32 %6264, 0
  br i1 %.not1024, label %6265, label %6266

6265:                                             ; preds = %6261, %6255
  br label %6266

6266:                                             ; preds = %6261, %6265
  %.str.5.sink3367 = phi ptr [ @.str.5, %6265 ], [ @.str.2, %6261 ]
  store i32 %6256, ptr %3600, align 4, !tbaa !5
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %6269 = load i32, ptr %3546, align 4, !tbaa !5
  %6270 = call ptr @s2n_strerror(i32 noundef %6269, ptr noundef nonnull @.str.4) #12
  %6271 = load i32, ptr %3546, align 4, !tbaa !5
  %6272 = call ptr @s2n_strerror_debug(i32 noundef %6271, ptr noundef nonnull @.str.4) #12
  %6273 = load i32, ptr %3600, align 4, !tbaa !5
  %6274 = call ptr @strerror(i32 noundef %6273) #12
  %6275 = load i32, ptr %3600, align 4, !tbaa !5
  %6276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6267, ptr noundef nonnull %.str.5.sink3367, i32 noundef %6268, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 532, ptr noundef %6270, ptr noundef %6272, ptr noundef %6274, i32 noundef %6275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6277:                                             ; preds = %6249
  %6278 = add nsw i32 %6250, 2
  store i32 %6278, ptr @test_count, align 4, !tbaa !5
  %6279 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %6086, ptr noundef nonnull %21) #12
  %6280 = icmp eq i32 %6279, -1
  br i1 %6280, label %6281, label %6303

6281:                                             ; preds = %6277
  %6282 = load i32, ptr %3600, align 4, !tbaa !5
  %6283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6284 = call i32 @s2n_print_stacktrace(ptr noundef %6283) #12
  %6285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6286 = trunc nuw i8 %6285 to i1
  br i1 %6286, label %6287, label %6291

6287:                                             ; preds = %6281
  %6288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6289 = call i32 @fileno(ptr noundef %6288) #12
  %6290 = call i32 @isatty(i32 noundef %6289) #12
  %.not1023 = icmp eq i32 %6290, 0
  br i1 %.not1023, label %6291, label %6292

6291:                                             ; preds = %6287, %6281
  br label %6292

6292:                                             ; preds = %6287, %6291
  %.str.5.sink3376 = phi ptr [ @.str.5, %6291 ], [ @.str.2, %6287 ]
  store i32 %6282, ptr %3600, align 4, !tbaa !5
  %6293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6294 = load i32, ptr @test_count, align 4, !tbaa !5
  %6295 = load i32, ptr %3546, align 4, !tbaa !5
  %6296 = call ptr @s2n_strerror(i32 noundef %6295, ptr noundef nonnull @.str.4) #12
  %6297 = load i32, ptr %3546, align 4, !tbaa !5
  %6298 = call ptr @s2n_strerror_debug(i32 noundef %6297, ptr noundef nonnull @.str.4) #12
  %6299 = load i32, ptr %3600, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #12
  %6301 = load i32, ptr %3600, align 4, !tbaa !5
  %6302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6293, ptr noundef nonnull %.str.5.sink3376, i32 noundef %6294, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %6296, ptr noundef %6298, ptr noundef %6300, i32 noundef %6301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6303:                                             ; preds = %6277
  %6304 = load i32, ptr @test_count, align 4, !tbaa !5
  %6305 = add nsw i32 %6304, 1
  store i32 %6305, ptr @test_count, align 4, !tbaa !5
  %6306 = load i32, ptr %6169, align 4, !tbaa !15
  %6307 = load i32, ptr %6171, align 8, !tbaa !18
  %6308 = icmp eq i32 %6306, %6307
  br i1 %6308, label %6331, label %6309

6309:                                             ; preds = %6303
  %6310 = load i32, ptr %3600, align 4, !tbaa !5
  %6311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6312 = call i32 @s2n_print_stacktrace(ptr noundef %6311) #12
  %6313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6314 = trunc nuw i8 %6313 to i1
  br i1 %6314, label %6315, label %6319

6315:                                             ; preds = %6309
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = call i32 @fileno(ptr noundef %6316) #12
  %6318 = call i32 @isatty(i32 noundef %6317) #12
  %.not964 = icmp eq i32 %6318, 0
  br i1 %.not964, label %6319, label %6320

6319:                                             ; preds = %6315, %6309
  br label %6320

6320:                                             ; preds = %6315, %6319
  %.str.5.sink3385 = phi ptr [ @.str.5, %6319 ], [ @.str.2, %6315 ]
  store i32 %6310, ptr %3600, align 4, !tbaa !5
  %6321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6322 = load i32, ptr @test_count, align 4, !tbaa !5
  %6323 = load i32, ptr %3546, align 4, !tbaa !5
  %6324 = call ptr @s2n_strerror(i32 noundef %6323, ptr noundef nonnull @.str.4) #12
  %6325 = load i32, ptr %3546, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror_debug(i32 noundef %6325, ptr noundef nonnull @.str.4) #12
  %6327 = load i32, ptr %3600, align 4, !tbaa !5
  %6328 = call ptr @strerror(i32 noundef %6327) #12
  %6329 = load i32, ptr %3600, align 4, !tbaa !5
  %6330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6321, ptr noundef nonnull %.str.5.sink3385, i32 noundef %6322, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 535, ptr noundef %6324, ptr noundef %6326, ptr noundef %6328, i32 noundef %6329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6331:                                             ; preds = %6303
  %6332 = add nsw i32 %6304, 2
  store i32 %6332, ptr @test_count, align 4, !tbaa !5
  %6333 = call i32 @s2n_stuffer_free(ptr noundef nonnull %21) #12
  %6334 = icmp eq i32 %6333, -1
  br i1 %6334, label %6335, label %6357

6335:                                             ; preds = %6331
  %6336 = load i32, ptr %3600, align 4, !tbaa !5
  %6337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6338 = call i32 @s2n_print_stacktrace(ptr noundef %6337) #12
  %6339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6340 = trunc nuw i8 %6339 to i1
  br i1 %6340, label %6341, label %6345

6341:                                             ; preds = %6335
  %6342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6343 = call i32 @fileno(ptr noundef %6342) #12
  %6344 = call i32 @isatty(i32 noundef %6343) #12
  %.not1022 = icmp eq i32 %6344, 0
  br i1 %.not1022, label %6345, label %6346

6345:                                             ; preds = %6341, %6335
  br label %6346

6346:                                             ; preds = %6341, %6345
  %.str.5.sink3394 = phi ptr [ @.str.5, %6345 ], [ @.str.2, %6341 ]
  store i32 %6336, ptr %3600, align 4, !tbaa !5
  %6347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6348 = load i32, ptr @test_count, align 4, !tbaa !5
  %6349 = load i32, ptr %3546, align 4, !tbaa !5
  %6350 = call ptr @s2n_strerror(i32 noundef %6349, ptr noundef nonnull @.str.4) #12
  %6351 = load i32, ptr %3546, align 4, !tbaa !5
  %6352 = call ptr @s2n_strerror_debug(i32 noundef %6351, ptr noundef nonnull @.str.4) #12
  %6353 = load i32, ptr %3600, align 4, !tbaa !5
  %6354 = call ptr @strerror(i32 noundef %6353) #12
  %6355 = load i32, ptr %3600, align 4, !tbaa !5
  %6356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6347, ptr noundef nonnull %.str.5.sink3394, i32 noundef %6348, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %6350, ptr noundef %6352, ptr noundef %6354, i32 noundef %6355) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6357:                                             ; preds = %6331
  %6358 = load i32, ptr @test_count, align 4, !tbaa !5
  %6359 = add nsw i32 %6358, 1
  store i32 %6359, ptr @test_count, align 4, !tbaa !5
  %6360 = call i32 @s2n_connection_free(ptr noundef nonnull %6086) #12
  %6361 = icmp eq i32 %6360, -1
  br i1 %6361, label %6362, label %6384

6362:                                             ; preds = %6357
  %6363 = load i32, ptr %3600, align 4, !tbaa !5
  %6364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6365 = call i32 @s2n_print_stacktrace(ptr noundef %6364) #12
  %6366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6367 = trunc nuw i8 %6366 to i1
  br i1 %6367, label %6368, label %6372

6368:                                             ; preds = %6362
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = call i32 @fileno(ptr noundef %6369) #12
  %6371 = call i32 @isatty(i32 noundef %6370) #12
  %.not1021 = icmp eq i32 %6371, 0
  br i1 %.not1021, label %6372, label %6373

6372:                                             ; preds = %6368, %6362
  br label %6373

6373:                                             ; preds = %6368, %6372
  %.str.5.sink3403 = phi ptr [ @.str.5, %6372 ], [ @.str.2, %6368 ]
  store i32 %6363, ptr %3600, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = load i32, ptr @test_count, align 4, !tbaa !5
  %6376 = load i32, ptr %3546, align 4, !tbaa !5
  %6377 = call ptr @s2n_strerror(i32 noundef %6376, ptr noundef nonnull @.str.4) #12
  %6378 = load i32, ptr %3546, align 4, !tbaa !5
  %6379 = call ptr @s2n_strerror_debug(i32 noundef %6378, ptr noundef nonnull @.str.4) #12
  %6380 = load i32, ptr %3600, align 4, !tbaa !5
  %6381 = call ptr @strerror(i32 noundef %6380) #12
  %6382 = load i32, ptr %3600, align 4, !tbaa !5
  %6383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6374, ptr noundef nonnull %.str.5.sink3403, i32 noundef %6375, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %6377, ptr noundef %6379, ptr noundef %6381, i32 noundef %6382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6384:                                             ; preds = %6357
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #12
  %6385 = load i32, ptr @test_count, align 4, !tbaa !5
  %6386 = add nsw i32 %6385, 1
  store i32 %6386, ptr @test_count, align 4, !tbaa !5
  %6387 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %6388 = icmp eq i32 %6387, -1
  br i1 %6388, label %6389, label %6411

6389:                                             ; preds = %6384
  %6390 = load i32, ptr %3600, align 4, !tbaa !5
  %6391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6392 = call i32 @s2n_print_stacktrace(ptr noundef %6391) #12
  %6393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6394 = trunc nuw i8 %6393 to i1
  br i1 %6394, label %6395, label %6399

6395:                                             ; preds = %6389
  %6396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6397 = call i32 @fileno(ptr noundef %6396) #12
  %6398 = call i32 @isatty(i32 noundef %6397) #12
  %.not1020 = icmp eq i32 %6398, 0
  br i1 %.not1020, label %6399, label %6400

6399:                                             ; preds = %6395, %6389
  br label %6400

6400:                                             ; preds = %6395, %6399
  %.str.5.sink3412 = phi ptr [ @.str.5, %6399 ], [ @.str.2, %6395 ]
  store i32 %6390, ptr %3600, align 4, !tbaa !5
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = load i32, ptr @test_count, align 4, !tbaa !5
  %6403 = load i32, ptr %3546, align 4, !tbaa !5
  %6404 = call ptr @s2n_strerror(i32 noundef %6403, ptr noundef nonnull @.str.4) #12
  %6405 = load i32, ptr %3546, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror_debug(i32 noundef %6405, ptr noundef nonnull @.str.4) #12
  %6407 = load i32, ptr %3600, align 4, !tbaa !5
  %6408 = call ptr @strerror(i32 noundef %6407) #12
  %6409 = load i32, ptr %3600, align 4, !tbaa !5
  %6410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6401, ptr noundef nonnull %.str.5.sink3412, i32 noundef %6402, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 544, ptr noundef %6404, ptr noundef %6406, ptr noundef %6408, i32 noundef %6409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6411:                                             ; preds = %6384
  %6412 = load i32, ptr @test_count, align 4, !tbaa !5
  %6413 = add nsw i32 %6412, 1
  store i32 %6413, ptr @test_count, align 4, !tbaa !5
  %6414 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %6415 = icmp eq ptr %6414, null
  br i1 %6415, label %6416, label %6438

6416:                                             ; preds = %6411
  %6417 = load i32, ptr %3600, align 4, !tbaa !5
  %6418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6419 = call i32 @s2n_print_stacktrace(ptr noundef %6418) #12
  %6420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6421 = trunc nuw i8 %6420 to i1
  br i1 %6421, label %6422, label %6426

6422:                                             ; preds = %6416
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = call i32 @fileno(ptr noundef %6423) #12
  %6425 = call i32 @isatty(i32 noundef %6424) #12
  %.not1019 = icmp eq i32 %6425, 0
  br i1 %.not1019, label %6426, label %6427

6426:                                             ; preds = %6422, %6416
  br label %6427

6427:                                             ; preds = %6422, %6426
  %.str.5.sink3421 = phi ptr [ @.str.5, %6426 ], [ @.str.2, %6422 ]
  store i32 %6417, ptr %3600, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = load i32, ptr %3546, align 4, !tbaa !5
  %6431 = call ptr @s2n_strerror(i32 noundef %6430, ptr noundef nonnull @.str.4) #12
  %6432 = load i32, ptr %3546, align 4, !tbaa !5
  %6433 = call ptr @s2n_strerror_debug(i32 noundef %6432, ptr noundef nonnull @.str.4) #12
  %6434 = load i32, ptr %3600, align 4, !tbaa !5
  %6435 = call ptr @strerror(i32 noundef %6434) #12
  %6436 = load i32, ptr %3600, align 4, !tbaa !5
  %6437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6428, ptr noundef nonnull %.str.5.sink3421, i32 noundef %6429, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %6431, ptr noundef %6433, ptr noundef %6435, i32 noundef %6436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6438:                                             ; preds = %6411
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = add nsw i32 %6439, 1
  store i32 %6440, ptr @test_count, align 4, !tbaa !5
  %6441 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %6414) #12
  %6442 = icmp eq i32 %6441, -1
  br i1 %6442, label %6443, label %6465

6443:                                             ; preds = %6438
  %6444 = load i32, ptr %3600, align 4, !tbaa !5
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = call i32 @s2n_print_stacktrace(ptr noundef %6445) #12
  %6447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6448 = trunc nuw i8 %6447 to i1
  br i1 %6448, label %6449, label %6453

6449:                                             ; preds = %6443
  %6450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6451 = call i32 @fileno(ptr noundef %6450) #12
  %6452 = call i32 @isatty(i32 noundef %6451) #12
  %.not1018 = icmp eq i32 %6452, 0
  br i1 %.not1018, label %6453, label %6454

6453:                                             ; preds = %6449, %6443
  br label %6454

6454:                                             ; preds = %6449, %6453
  %.str.5.sink3430 = phi ptr [ @.str.5, %6453 ], [ @.str.2, %6449 ]
  store i32 %6444, ptr %3600, align 4, !tbaa !5
  %6455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6456 = load i32, ptr @test_count, align 4, !tbaa !5
  %6457 = load i32, ptr %3546, align 4, !tbaa !5
  %6458 = call ptr @s2n_strerror(i32 noundef %6457, ptr noundef nonnull @.str.4) #12
  %6459 = load i32, ptr %3546, align 4, !tbaa !5
  %6460 = call ptr @s2n_strerror_debug(i32 noundef %6459, ptr noundef nonnull @.str.4) #12
  %6461 = load i32, ptr %3600, align 4, !tbaa !5
  %6462 = call ptr @strerror(i32 noundef %6461) #12
  %6463 = load i32, ptr %3600, align 4, !tbaa !5
  %6464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6455, ptr noundef nonnull %.str.5.sink3430, i32 noundef %6456, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %6458, ptr noundef %6460, ptr noundef %6462, i32 noundef %6463) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6465:                                             ; preds = %6438
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %22) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %22, i8 0, i64 88, i1 false)
  %6466 = load i32, ptr @test_count, align 4, !tbaa !5
  %6467 = add nsw i32 %6466, 1
  store i32 %6467, ptr @test_count, align 4, !tbaa !5
  %6468 = getelementptr inbounds i8, ptr %22, i64 16
  %6469 = call i32 @s2n_blob_init(ptr noundef nonnull %6468, ptr noundef nonnull @main.fake_ocsp.73, i32 noundef 3) #12
  %6470 = icmp eq i32 %6469, -1
  br i1 %6470, label %6471, label %6493

6471:                                             ; preds = %6465
  %6472 = load i32, ptr %3600, align 4, !tbaa !5
  %6473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6474 = call i32 @s2n_print_stacktrace(ptr noundef %6473) #12
  %6475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6476 = trunc nuw i8 %6475 to i1
  br i1 %6476, label %6477, label %6481

6477:                                             ; preds = %6471
  %6478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6479 = call i32 @fileno(ptr noundef %6478) #12
  %6480 = call i32 @isatty(i32 noundef %6479) #12
  %.not1017 = icmp eq i32 %6480, 0
  br i1 %.not1017, label %6481, label %6482

6481:                                             ; preds = %6477, %6471
  br label %6482

6482:                                             ; preds = %6477, %6481
  %.str.5.sink3439 = phi ptr [ @.str.5, %6481 ], [ @.str.2, %6477 ]
  store i32 %6472, ptr %3600, align 4, !tbaa !5
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = load i32, ptr @test_count, align 4, !tbaa !5
  %6485 = load i32, ptr %3546, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror(i32 noundef %6485, ptr noundef nonnull @.str.4) #12
  %6487 = load i32, ptr %3546, align 4, !tbaa !5
  %6488 = call ptr @s2n_strerror_debug(i32 noundef %6487, ptr noundef nonnull @.str.4) #12
  %6489 = load i32, ptr %3600, align 4, !tbaa !5
  %6490 = call ptr @strerror(i32 noundef %6489) #12
  %6491 = load i32, ptr %3600, align 4, !tbaa !5
  %6492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6483, ptr noundef nonnull %.str.5.sink3439, i32 noundef %6484, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %6486, ptr noundef %6488, ptr noundef %6490, i32 noundef %6491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6493:                                             ; preds = %6465
  %6494 = getelementptr inbounds i8, ptr %6414, i64 2784
  store i32 1, ptr %6494, align 8, !tbaa !47
  %6495 = getelementptr inbounds i8, ptr %6414, i64 1544
  store ptr %22, ptr %6495, align 8, !tbaa !46
  %6496 = getelementptr inbounds i8, ptr %6414, i64 220
  store i8 33, ptr %6496, align 4, !tbaa !55
  %6497 = getelementptr inbounds i8, ptr %6414, i64 219
  store i8 33, ptr %6497, align 1, !tbaa !70
  %6498 = load i32, ptr @test_count, align 4, !tbaa !5
  %6499 = add nsw i32 %6498, 1
  store i32 %6499, ptr @test_count, align 4, !tbaa !5
  %6500 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6501 = icmp eq ptr %6500, null
  br i1 %6501, label %6502, label %6524

6502:                                             ; preds = %6493
  %6503 = load i32, ptr %3600, align 4, !tbaa !5
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = call i32 @s2n_print_stacktrace(ptr noundef %6504) #12
  %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) #12
  %6511 = call i32 @isatty(i32 noundef %6510) #12
  %.not1016 = icmp eq i32 %6511, 0
  br i1 %.not1016, label %6512, label %6513

6512:                                             ; preds = %6508, %6502
  br label %6513

6513:                                             ; preds = %6508, %6512
  %.str.5.sink3448 = phi ptr [ @.str.5, %6512 ], [ @.str.2, %6508 ]
  store i32 %6503, ptr %3600, 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 %3546, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror(i32 noundef %6516, ptr noundef nonnull @.str.4) #12
  %6518 = load i32, ptr %3546, align 4, !tbaa !5
  %6519 = call ptr @s2n_strerror_debug(i32 noundef %6518, ptr noundef nonnull @.str.4) #12
  %6520 = load i32, ptr %3600, align 4, !tbaa !5
  %6521 = call ptr @strerror(i32 noundef %6520) #12
  %6522 = load i32, ptr %3600, align 4, !tbaa !5
  %6523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6514, ptr noundef nonnull %.str.5.sink3448, i32 noundef %6515, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %6517, ptr noundef %6519, ptr noundef %6521, i32 noundef %6522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6524:                                             ; preds = %6493
  %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_connection_allow_all_response_extensions(ptr noundef nonnull %6500) #12
  %6528 = icmp eq i32 %6527, -1
  br i1 %6528, label %6529, label %6551

6529:                                             ; preds = %6524
  %6530 = load i32, ptr %3600, align 4, !tbaa !5
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = call i32 @s2n_print_stacktrace(ptr noundef %6531) #12
  %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) #12
  %6538 = call i32 @isatty(i32 noundef %6537) #12
  %.not1015 = icmp eq i32 %6538, 0
  br i1 %.not1015, label %6539, label %6540

6539:                                             ; preds = %6535, %6529
  br label %6540

6540:                                             ; preds = %6535, %6539
  %.str.5.sink3457 = phi ptr [ @.str.5, %6539 ], [ @.str.2, %6535 ]
  store i32 %6530, ptr %3600, 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 %3546, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror(i32 noundef %6543, ptr noundef nonnull @.str.4) #12
  %6545 = load i32, ptr %3546, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror_debug(i32 noundef %6545, ptr noundef nonnull @.str.4) #12
  %6547 = load i32, ptr %3600, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #12
  %6549 = load i32, ptr %3600, align 4, !tbaa !5
  %6550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6541, ptr noundef nonnull %.str.5.sink3457, i32 noundef %6542, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %6544, ptr noundef %6546, ptr noundef %6548, i32 noundef %6549) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6551:                                             ; preds = %6524
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #12
  %6552 = load i32, ptr @test_count, align 4, !tbaa !5
  %6553 = add nsw i32 %6552, 1
  store i32 %6553, ptr @test_count, align 4, !tbaa !5
  %6554 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %23, i32 noundef 0) #12
  %6555 = icmp eq i32 %6554, -1
  br i1 %6555, label %6556, label %6578

6556:                                             ; preds = %6551
  %6557 = load i32, ptr %3600, align 4, !tbaa !5
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = call i32 @s2n_print_stacktrace(ptr noundef %6558) #12
  %6560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6561 = trunc nuw i8 %6560 to i1
  br i1 %6561, label %6562, label %6566

6562:                                             ; preds = %6556
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = call i32 @fileno(ptr noundef %6563) #12
  %6565 = call i32 @isatty(i32 noundef %6564) #12
  %.not1014 = icmp eq i32 %6565, 0
  br i1 %.not1014, label %6566, label %6567

6566:                                             ; preds = %6562, %6556
  br label %6567

6567:                                             ; preds = %6562, %6566
  %.str.5.sink3466 = phi ptr [ @.str.5, %6566 ], [ @.str.2, %6562 ]
  store i32 %6557, ptr %3600, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = load i32, ptr @test_count, align 4, !tbaa !5
  %6570 = load i32, ptr %3546, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror(i32 noundef %6570, ptr noundef nonnull @.str.4) #12
  %6572 = load i32, ptr %3546, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror_debug(i32 noundef %6572, ptr noundef nonnull @.str.4) #12
  %6574 = load i32, ptr %3600, align 4, !tbaa !5
  %6575 = call ptr @strerror(i32 noundef %6574) #12
  %6576 = load i32, ptr %3600, align 4, !tbaa !5
  %6577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6568, ptr noundef nonnull %.str.5.sink3466, i32 noundef %6569, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 569, ptr noundef %6571, ptr noundef %6573, ptr noundef %6575, i32 noundef %6576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6578:                                             ; preds = %6551
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, i8 0, i64 16, i1 false)
  %6579 = load i32, ptr @test_count, align 4, !tbaa !5
  %6580 = add nsw i32 %6579, 1
  store i32 %6580, ptr @test_count, align 4, !tbaa !5
  %6581 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %23, ptr noundef nonnull %24) #12
  %6582 = icmp eq i32 %6581, -1
  br i1 %6582, label %6583, label %6605

6583:                                             ; preds = %6578
  %6584 = load i32, ptr %3600, align 4, !tbaa !5
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = call i32 @s2n_print_stacktrace(ptr noundef %6585) #12
  %6587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6588 = trunc nuw i8 %6587 to i1
  br i1 %6588, label %6589, label %6593

6589:                                             ; preds = %6583
  %6590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6591 = call i32 @fileno(ptr noundef %6590) #12
  %6592 = call i32 @isatty(i32 noundef %6591) #12
  %.not1013 = icmp eq i32 %6592, 0
  br i1 %.not1013, label %6593, label %6594

6593:                                             ; preds = %6589, %6583
  br label %6594

6594:                                             ; preds = %6589, %6593
  %.str.5.sink3475 = phi ptr [ @.str.5, %6593 ], [ @.str.2, %6589 ]
  store i32 %6584, ptr %3600, align 4, !tbaa !5
  %6595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6596 = load i32, ptr @test_count, align 4, !tbaa !5
  %6597 = load i32, ptr %3546, align 4, !tbaa !5
  %6598 = call ptr @s2n_strerror(i32 noundef %6597, ptr noundef nonnull @.str.4) #12
  %6599 = load i32, ptr %3546, align 4, !tbaa !5
  %6600 = call ptr @s2n_strerror_debug(i32 noundef %6599, ptr noundef nonnull @.str.4) #12
  %6601 = load i32, ptr %3600, align 4, !tbaa !5
  %6602 = call ptr @strerror(i32 noundef %6601) #12
  %6603 = load i32, ptr %3600, align 4, !tbaa !5
  %6604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6595, ptr noundef nonnull %.str.5.sink3475, i32 noundef %6596, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %6598, ptr noundef %6600, ptr noundef %6602, i32 noundef %6603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6605:                                             ; preds = %6578
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = add nsw i32 %6606, 1
  store i32 %6607, ptr @test_count, align 4, !tbaa !5
  %6608 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_cert_status_response_extension, ptr noundef nonnull %6414, ptr noundef nonnull %23) #12
  %6609 = icmp eq i32 %6608, -1
  br i1 %6609, label %6610, label %6632

6610:                                             ; preds = %6605
  %6611 = load i32, ptr %3600, align 4, !tbaa !5
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = call i32 @s2n_print_stacktrace(ptr noundef %6612) #12
  %6614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6615 = trunc nuw i8 %6614 to i1
  br i1 %6615, label %6616, label %6620

6616:                                             ; preds = %6610
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @fileno(ptr noundef %6617) #12
  %6619 = call i32 @isatty(i32 noundef %6618) #12
  %.not1012 = icmp eq i32 %6619, 0
  br i1 %.not1012, label %6620, label %6621

6620:                                             ; preds = %6616, %6610
  br label %6621

6621:                                             ; preds = %6616, %6620
  %.str.5.sink3484 = phi ptr [ @.str.5, %6620 ], [ @.str.2, %6616 ]
  store i32 %6611, ptr %3600, align 4, !tbaa !5
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = load i32, ptr @test_count, align 4, !tbaa !5
  %6624 = load i32, ptr %3546, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror(i32 noundef %6624, ptr noundef nonnull @.str.4) #12
  %6626 = load i32, ptr %3546, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror_debug(i32 noundef %6626, ptr noundef nonnull @.str.4) #12
  %6628 = load i32, ptr %3600, align 4, !tbaa !5
  %6629 = call ptr @strerror(i32 noundef %6628) #12
  %6630 = load i32, ptr %3600, align 4, !tbaa !5
  %6631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6622, ptr noundef nonnull %.str.5.sink3484, i32 noundef %6623, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %6625, ptr noundef %6627, ptr noundef %6629, i32 noundef %6630) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6632:                                             ; preds = %6605
  %6633 = load i32, ptr @test_count, align 4, !tbaa !5
  %6634 = add nsw i32 %6633, 1
  store i32 %6634, ptr @test_count, align 4, !tbaa !5
  %6635 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %24) #12
  %6636 = icmp eq i32 %6635, -1
  br i1 %6636, label %6637, label %6659

6637:                                             ; preds = %6632
  %6638 = load i32, ptr %3600, align 4, !tbaa !5
  %6639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6640 = call i32 @s2n_print_stacktrace(ptr noundef %6639) #12
  %6641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6642 = trunc nuw i8 %6641 to i1
  br i1 %6642, label %6643, label %6647

6643:                                             ; preds = %6637
  %6644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6645 = call i32 @fileno(ptr noundef %6644) #12
  %6646 = call i32 @isatty(i32 noundef %6645) #12
  %.not1011 = icmp eq i32 %6646, 0
  br i1 %.not1011, label %6647, label %6648

6647:                                             ; preds = %6643, %6637
  br label %6648

6648:                                             ; preds = %6643, %6647
  %.str.5.sink3493 = phi ptr [ @.str.5, %6647 ], [ @.str.2, %6643 ]
  store i32 %6638, ptr %3600, align 4, !tbaa !5
  %6649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6650 = load i32, ptr @test_count, align 4, !tbaa !5
  %6651 = load i32, ptr %3546, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror(i32 noundef %6651, ptr noundef nonnull @.str.4) #12
  %6653 = load i32, ptr %3546, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror_debug(i32 noundef %6653, ptr noundef nonnull @.str.4) #12
  %6655 = load i32, ptr %3600, align 4, !tbaa !5
  %6656 = call ptr @strerror(i32 noundef %6655) #12
  %6657 = load i32, ptr %3600, align 4, !tbaa !5
  %6658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6649, ptr noundef nonnull %.str.5.sink3493, i32 noundef %6650, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6652, ptr noundef %6654, ptr noundef %6656, i32 noundef %6657) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6659:                                             ; preds = %6632
  %6660 = load i32, ptr @test_count, align 4, !tbaa !5
  %6661 = add nsw i32 %6660, 1
  store i32 %6661, ptr @test_count, align 4, !tbaa !5
  %6662 = getelementptr inbounds i8, ptr %6500, i64 2784
  %6663 = load i32, ptr %6662, align 8, !tbaa !47
  %6664 = icmp eq i32 %6663, 0
  br i1 %6664, label %6687, label %6665

6665:                                             ; preds = %6659
  %6666 = load i32, ptr %3600, align 4, !tbaa !5
  %6667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6668 = call i32 @s2n_print_stacktrace(ptr noundef %6667) #12
  %6669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6670 = trunc nuw i8 %6669 to i1
  br i1 %6670, label %6671, label %6675

6671:                                             ; preds = %6665
  %6672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6673 = call i32 @fileno(ptr noundef %6672) #12
  %6674 = call i32 @isatty(i32 noundef %6673) #12
  %.not965 = icmp eq i32 %6674, 0
  br i1 %.not965, label %6675, label %6676

6675:                                             ; preds = %6671, %6665
  br label %6676

6676:                                             ; preds = %6671, %6675
  %.str.5.sink3502 = phi ptr [ @.str.5, %6675 ], [ @.str.2, %6671 ]
  store i32 %6666, ptr %3600, align 4, !tbaa !5
  %6677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6678 = load i32, ptr @test_count, align 4, !tbaa !5
  %6679 = load i32, ptr %3546, align 4, !tbaa !5
  %6680 = call ptr @s2n_strerror(i32 noundef %6679, ptr noundef nonnull @.str.4) #12
  %6681 = load i32, ptr %3546, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror_debug(i32 noundef %6681, ptr noundef nonnull @.str.4) #12
  %6683 = load i32, ptr %3600, align 4, !tbaa !5
  %6684 = call ptr @strerror(i32 noundef %6683) #12
  %6685 = load i32, ptr %3600, align 4, !tbaa !5
  %6686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6677, ptr noundef nonnull %.str.5.sink3502, i32 noundef %6678, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 578, ptr noundef %6680, ptr noundef %6682, ptr noundef %6684, i32 noundef %6685) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6687:                                             ; preds = %6659
  %6688 = add nsw i32 %6660, 2
  store i32 %6688, ptr @test_count, align 4, !tbaa !5
  %6689 = getelementptr inbounds i8, ptr %6500, i64 219
  %6690 = load i8, ptr %6689, align 1, !tbaa !70
  %6691 = icmp eq i8 %6690, 0
  br i1 %6691, label %6714, label %6692

6692:                                             ; preds = %6687
  %6693 = load i32, ptr %3600, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = call i32 @s2n_print_stacktrace(ptr noundef %6694) #12
  %6696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6697 = trunc nuw i8 %6696 to i1
  br i1 %6697, label %6698, label %6702

6698:                                             ; preds = %6692
  %6699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6700 = call i32 @fileno(ptr noundef %6699) #12
  %6701 = call i32 @isatty(i32 noundef %6700) #12
  %.not966 = icmp eq i32 %6701, 0
  br i1 %.not966, label %6702, label %6703

6702:                                             ; preds = %6698, %6692
  br label %6703

6703:                                             ; preds = %6698, %6702
  %.str.5.sink3511 = phi ptr [ @.str.5, %6702 ], [ @.str.2, %6698 ]
  store i32 %6693, ptr %3600, align 4, !tbaa !5
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = load i32, ptr @test_count, align 4, !tbaa !5
  %6706 = load i32, ptr %3546, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror(i32 noundef %6706, ptr noundef nonnull @.str.4) #12
  %6708 = load i32, ptr %3546, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror_debug(i32 noundef %6708, ptr noundef nonnull @.str.4) #12
  %6710 = load i32, ptr %3600, align 4, !tbaa !5
  %6711 = call ptr @strerror(i32 noundef %6710) #12
  %6712 = load i32, ptr %3600, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6704, ptr noundef nonnull %.str.5.sink3511, i32 noundef %6705, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %6707, ptr noundef %6709, ptr noundef %6711, i32 noundef %6712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6714:                                             ; preds = %6687
  %6715 = add nsw i32 %6660, 3
  store i32 %6715, ptr @test_count, align 4, !tbaa !5
  %6716 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %6500, ptr noundef nonnull %23) #12
  %6717 = icmp eq i32 %6716, -1
  br i1 %6717, label %6718, label %6740

6718:                                             ; preds = %6714
  %6719 = load i32, ptr %3600, align 4, !tbaa !5
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = call i32 @s2n_print_stacktrace(ptr noundef %6720) #12
  %6722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6723 = trunc nuw i8 %6722 to i1
  br i1 %6723, label %6724, label %6728

6724:                                             ; preds = %6718
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = call i32 @fileno(ptr noundef %6725) #12
  %6727 = call i32 @isatty(i32 noundef %6726) #12
  %.not1010 = icmp eq i32 %6727, 0
  br i1 %.not1010, label %6728, label %6729

6728:                                             ; preds = %6724, %6718
  br label %6729

6729:                                             ; preds = %6724, %6728
  %.str.5.sink3520 = phi ptr [ @.str.5, %6728 ], [ @.str.2, %6724 ]
  store i32 %6719, ptr %3600, align 4, !tbaa !5
  %6730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6731 = load i32, ptr @test_count, align 4, !tbaa !5
  %6732 = load i32, ptr %3546, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror(i32 noundef %6732, ptr noundef nonnull @.str.4) #12
  %6734 = load i32, ptr %3546, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef nonnull @.str.4) #12
  %6736 = load i32, ptr %3600, align 4, !tbaa !5
  %6737 = call ptr @strerror(i32 noundef %6736) #12
  %6738 = load i32, ptr %3600, align 4, !tbaa !5
  %6739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6730, ptr noundef nonnull %.str.5.sink3520, i32 noundef %6731, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 580, ptr noundef %6733, ptr noundef %6735, ptr noundef %6737, i32 noundef %6738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6740:                                             ; preds = %6714
  %6741 = load i32, ptr @test_count, align 4, !tbaa !5
  %6742 = add nsw i32 %6741, 1
  store i32 %6742, ptr @test_count, align 4, !tbaa !5
  %6743 = load i32, ptr %6662, align 8, !tbaa !47
  %6744 = icmp eq i32 %6743, 1
  br i1 %6744, label %6767, label %6745

6745:                                             ; preds = %6740
  %6746 = load i32, ptr %3600, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = call i32 @s2n_print_stacktrace(ptr noundef %6747) #12
  %6749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6750 = trunc nuw i8 %6749 to i1
  br i1 %6750, label %6751, label %6755

6751:                                             ; preds = %6745
  %6752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6753 = call i32 @fileno(ptr noundef %6752) #12
  %6754 = call i32 @isatty(i32 noundef %6753) #12
  %.not967 = icmp eq i32 %6754, 0
  br i1 %.not967, label %6755, label %6756

6755:                                             ; preds = %6751, %6745
  br label %6756

6756:                                             ; preds = %6751, %6755
  %.str.5.sink3529 = phi ptr [ @.str.5, %6755 ], [ @.str.2, %6751 ]
  store i32 %6746, ptr %3600, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = load i32, ptr %3546, align 4, !tbaa !5
  %6760 = call ptr @s2n_strerror(i32 noundef %6759, ptr noundef nonnull @.str.4) #12
  %6761 = load i32, ptr %3546, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef nonnull @.str.4) #12
  %6763 = load i32, ptr %3600, align 4, !tbaa !5
  %6764 = call ptr @strerror(i32 noundef %6763) #12
  %6765 = load i32, ptr %3600, align 4, !tbaa !5
  %6766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6757, ptr noundef nonnull %.str.5.sink3529, i32 noundef %6758, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 581, ptr noundef %6760, ptr noundef %6762, ptr noundef %6764, i32 noundef %6765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6767:                                             ; preds = %6740
  %6768 = add nsw i32 %6741, 2
  store i32 %6768, ptr @test_count, align 4, !tbaa !5
  %6769 = load i8, ptr %6689, align 1, !tbaa !70
  %6770 = icmp eq i8 %6769, 0
  br i1 %6770, label %6793, label %6771

6771:                                             ; preds = %6767
  %6772 = load i32, ptr %3600, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = call i32 @s2n_print_stacktrace(ptr noundef %6773) #12
  %6775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6776 = trunc nuw i8 %6775 to i1
  br i1 %6776, label %6777, label %6781

6777:                                             ; preds = %6771
  %6778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6779 = call i32 @fileno(ptr noundef %6778) #12
  %6780 = call i32 @isatty(i32 noundef %6779) #12
  %.not968 = icmp eq i32 %6780, 0
  br i1 %.not968, label %6781, label %6782

6781:                                             ; preds = %6777, %6771
  br label %6782

6782:                                             ; preds = %6777, %6781
  %.str.5.sink3538 = phi ptr [ @.str.5, %6781 ], [ @.str.2, %6777 ]
  store i32 %6772, ptr %3600, align 4, !tbaa !5
  %6783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6784 = load i32, ptr @test_count, align 4, !tbaa !5
  %6785 = load i32, ptr %3546, align 4, !tbaa !5
  %6786 = call ptr @s2n_strerror(i32 noundef %6785, ptr noundef nonnull @.str.4) #12
  %6787 = load i32, ptr %3546, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror_debug(i32 noundef %6787, ptr noundef nonnull @.str.4) #12
  %6789 = load i32, ptr %3600, align 4, !tbaa !5
  %6790 = call ptr @strerror(i32 noundef %6789) #12
  %6791 = load i32, ptr %3600, align 4, !tbaa !5
  %6792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6783, ptr noundef nonnull %.str.5.sink3538, i32 noundef %6784, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %6786, ptr noundef %6788, ptr noundef %6790, i32 noundef %6791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6793:                                             ; preds = %6767
  %6794 = add nsw i32 %6741, 3
  store i32 %6794, ptr @test_count, align 4, !tbaa !5
  %6795 = call i32 @s2n_connection_free(ptr noundef nonnull %6500) #12
  %6796 = icmp eq i32 %6795, -1
  br i1 %6796, label %6797, label %6819

6797:                                             ; preds = %6793
  %6798 = load i32, ptr %3600, align 4, !tbaa !5
  %6799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6800 = call i32 @s2n_print_stacktrace(ptr noundef %6799) #12
  %6801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6802 = trunc nuw i8 %6801 to i1
  br i1 %6802, label %6803, label %6807

6803:                                             ; preds = %6797
  %6804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6805 = call i32 @fileno(ptr noundef %6804) #12
  %6806 = call i32 @isatty(i32 noundef %6805) #12
  %.not1009 = icmp eq i32 %6806, 0
  br i1 %.not1009, label %6807, label %6808

6807:                                             ; preds = %6803, %6797
  br label %6808

6808:                                             ; preds = %6803, %6807
  %.str.5.sink3547 = phi ptr [ @.str.5, %6807 ], [ @.str.2, %6803 ]
  store i32 %6798, ptr %3600, align 4, !tbaa !5
  %6809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6810 = load i32, ptr @test_count, align 4, !tbaa !5
  %6811 = load i32, ptr %3546, align 4, !tbaa !5
  %6812 = call ptr @s2n_strerror(i32 noundef %6811, ptr noundef nonnull @.str.4) #12
  %6813 = load i32, ptr %3546, align 4, !tbaa !5
  %6814 = call ptr @s2n_strerror_debug(i32 noundef %6813, ptr noundef nonnull @.str.4) #12
  %6815 = load i32, ptr %3600, align 4, !tbaa !5
  %6816 = call ptr @strerror(i32 noundef %6815) #12
  %6817 = load i32, ptr %3600, align 4, !tbaa !5
  %6818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6809, ptr noundef nonnull %.str.5.sink3547, i32 noundef %6810, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 584, ptr noundef %6812, ptr noundef %6814, ptr noundef %6816, i32 noundef %6817) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6819:                                             ; preds = %6793
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #12
  %6820 = call i32 @s2n_stuffer_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #12
  store i8 34, ptr %6496, align 4, !tbaa !55
  store i8 34, ptr %6497, align 1, !tbaa !70
  %6821 = load i32, ptr @test_count, align 4, !tbaa !5
  %6822 = add nsw i32 %6821, 1
  store i32 %6822, ptr @test_count, align 4, !tbaa !5
  %6823 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6824 = icmp eq ptr %6823, null
  br i1 %6824, label %6825, label %6847

6825:                                             ; preds = %6819
  %6826 = load i32, ptr %3600, align 4, !tbaa !5
  %6827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6828 = call i32 @s2n_print_stacktrace(ptr noundef %6827) #12
  %6829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6830 = trunc nuw i8 %6829 to i1
  br i1 %6830, label %6831, label %6835

6831:                                             ; preds = %6825
  %6832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6833 = call i32 @fileno(ptr noundef %6832) #12
  %6834 = call i32 @isatty(i32 noundef %6833) #12
  %.not1008 = icmp eq i32 %6834, 0
  br i1 %.not1008, label %6835, label %6836

6835:                                             ; preds = %6831, %6825
  br label %6836

6836:                                             ; preds = %6831, %6835
  %.str.5.sink3556 = phi ptr [ @.str.5, %6835 ], [ @.str.2, %6831 ]
  store i32 %6826, ptr %3600, align 4, !tbaa !5
  %6837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6838 = load i32, ptr @test_count, align 4, !tbaa !5
  %6839 = load i32, ptr %3546, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror(i32 noundef %6839, ptr noundef nonnull @.str.4) #12
  %6841 = load i32, ptr %3546, align 4, !tbaa !5
  %6842 = call ptr @s2n_strerror_debug(i32 noundef %6841, ptr noundef nonnull @.str.4) #12
  %6843 = load i32, ptr %3600, align 4, !tbaa !5
  %6844 = call ptr @strerror(i32 noundef %6843) #12
  %6845 = load i32, ptr %3600, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6837, ptr noundef nonnull %.str.5.sink3556, i32 noundef %6838, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %6840, ptr noundef %6842, ptr noundef %6844, i32 noundef %6845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6847:                                             ; preds = %6819
  %6848 = load i32, ptr @test_count, align 4, !tbaa !5
  %6849 = add nsw i32 %6848, 1
  store i32 %6849, ptr @test_count, align 4, !tbaa !5
  %6850 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %6823) #12
  %6851 = icmp eq i32 %6850, -1
  br i1 %6851, label %6852, label %6874

6852:                                             ; preds = %6847
  %6853 = load i32, ptr %3600, align 4, !tbaa !5
  %6854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6855 = call i32 @s2n_print_stacktrace(ptr noundef %6854) #12
  %6856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6857 = trunc nuw i8 %6856 to i1
  br i1 %6857, label %6858, label %6862

6858:                                             ; preds = %6852
  %6859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6860 = call i32 @fileno(ptr noundef %6859) #12
  %6861 = call i32 @isatty(i32 noundef %6860) #12
  %.not1007 = icmp eq i32 %6861, 0
  br i1 %.not1007, label %6862, label %6863

6862:                                             ; preds = %6858, %6852
  br label %6863

6863:                                             ; preds = %6858, %6862
  %.str.5.sink3565 = phi ptr [ @.str.5, %6862 ], [ @.str.2, %6858 ]
  store i32 %6853, ptr %3600, align 4, !tbaa !5
  %6864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6865 = load i32, ptr @test_count, align 4, !tbaa !5
  %6866 = load i32, ptr %3546, align 4, !tbaa !5
  %6867 = call ptr @s2n_strerror(i32 noundef %6866, ptr noundef nonnull @.str.4) #12
  %6868 = load i32, ptr %3546, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror_debug(i32 noundef %6868, ptr noundef nonnull @.str.4) #12
  %6870 = load i32, ptr %3600, align 4, !tbaa !5
  %6871 = call ptr @strerror(i32 noundef %6870) #12
  %6872 = load i32, ptr %3600, align 4, !tbaa !5
  %6873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6864, ptr noundef nonnull %.str.5.sink3565, i32 noundef %6865, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %6867, ptr noundef %6869, ptr noundef %6871, i32 noundef %6872) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6874:                                             ; preds = %6847
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %25, i32 noundef 0) #12
  %6878 = icmp eq i32 %6877, -1
  br i1 %6878, label %6879, label %6901

6879:                                             ; preds = %6874
  %6880 = load i32, ptr %3600, align 4, !tbaa !5
  %6881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6882 = call i32 @s2n_print_stacktrace(ptr noundef %6881) #12
  %6883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6884 = trunc nuw i8 %6883 to i1
  br i1 %6884, label %6885, label %6889

6885:                                             ; preds = %6879
  %6886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6887 = call i32 @fileno(ptr noundef %6886) #12
  %6888 = call i32 @isatty(i32 noundef %6887) #12
  %.not1006 = icmp eq i32 %6888, 0
  br i1 %.not1006, label %6889, label %6890

6889:                                             ; preds = %6885, %6879
  br label %6890

6890:                                             ; preds = %6885, %6889
  %.str.5.sink3574 = phi ptr [ @.str.5, %6889 ], [ @.str.2, %6885 ]
  store i32 %6880, ptr %3600, align 4, !tbaa !5
  %6891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = load i32, ptr %3546, align 4, !tbaa !5
  %6894 = call ptr @s2n_strerror(i32 noundef %6893, ptr noundef nonnull @.str.4) #12
  %6895 = load i32, ptr %3546, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror_debug(i32 noundef %6895, ptr noundef nonnull @.str.4) #12
  %6897 = load i32, ptr %3600, align 4, !tbaa !5
  %6898 = call ptr @strerror(i32 noundef %6897) #12
  %6899 = load i32, ptr %3600, align 4, !tbaa !5
  %6900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6891, ptr noundef nonnull %.str.5.sink3574, i32 noundef %6892, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %6894, ptr noundef %6896, ptr noundef %6898, i32 noundef %6899) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6901:                                             ; preds = %6874
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, i8 0, i64 16, i1 false)
  %6902 = load i32, ptr @test_count, align 4, !tbaa !5
  %6903 = add nsw i32 %6902, 1
  store i32 %6903, ptr @test_count, align 4, !tbaa !5
  %6904 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %25, ptr noundef nonnull %26) #12
  %6905 = icmp eq i32 %6904, -1
  br i1 %6905, label %6906, label %6928

6906:                                             ; preds = %6901
  %6907 = load i32, ptr %3600, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #12
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc nuw i8 %6910 to i1
  br i1 %6911, label %6912, label %6916

6912:                                             ; preds = %6906
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #12
  %6915 = call i32 @isatty(i32 noundef %6914) #12
  %.not1005 = icmp eq i32 %6915, 0
  br i1 %.not1005, label %6916, label %6917

6916:                                             ; preds = %6912, %6906
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.5.sink3583 = phi ptr [ @.str.5, %6916 ], [ @.str.2, %6912 ]
  store i32 %6907, ptr %3600, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = load i32, ptr %3546, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.4) #12
  %6922 = load i32, ptr %3546, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.4) #12
  %6924 = load i32, ptr %3600, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #12
  %6926 = load i32, ptr %3600, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.5.sink3583, i32 noundef %6919, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6928:                                             ; preds = %6901
  %6929 = load i32, ptr @test_count, align 4, !tbaa !5
  %6930 = add nsw i32 %6929, 1
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_server_supported_versions_extension, ptr noundef nonnull %6414, ptr noundef nonnull %25) #12
  %6932 = icmp eq i32 %6931, -1
  br i1 %6932, label %6933, label %6955

6933:                                             ; preds = %6928
  %6934 = load i32, ptr %3600, align 4, !tbaa !5
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @s2n_print_stacktrace(ptr noundef %6935) #12
  %6937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6938 = trunc nuw i8 %6937 to i1
  br i1 %6938, label %6939, label %6943

6939:                                             ; preds = %6933
  %6940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6941 = call i32 @fileno(ptr noundef %6940) #12
  %6942 = call i32 @isatty(i32 noundef %6941) #12
  %.not1004 = icmp eq i32 %6942, 0
  br i1 %.not1004, label %6943, label %6944

6943:                                             ; preds = %6939, %6933
  br label %6944

6944:                                             ; preds = %6939, %6943
  %.str.5.sink3592 = phi ptr [ @.str.5, %6943 ], [ @.str.2, %6939 ]
  store i32 %6934, ptr %3600, align 4, !tbaa !5
  %6945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6946 = load i32, ptr @test_count, align 4, !tbaa !5
  %6947 = load i32, ptr %3546, align 4, !tbaa !5
  %6948 = call ptr @s2n_strerror(i32 noundef %6947, ptr noundef nonnull @.str.4) #12
  %6949 = load i32, ptr %3546, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror_debug(i32 noundef %6949, ptr noundef nonnull @.str.4) #12
  %6951 = load i32, ptr %3600, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #12
  %6953 = load i32, ptr %3600, align 4, !tbaa !5
  %6954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6945, ptr noundef nonnull %.str.5.sink3592, i32 noundef %6946, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %6948, ptr noundef %6950, ptr noundef %6952, i32 noundef %6953) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6955:                                             ; preds = %6928
  %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 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_cert_status_response_extension, ptr noundef nonnull %6414, ptr noundef nonnull %25) #12
  %6959 = icmp eq i32 %6958, -1
  br i1 %6959, label %6960, label %6982

6960:                                             ; preds = %6955
  %6961 = load i32, ptr %3600, align 4, !tbaa !5
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @s2n_print_stacktrace(ptr noundef %6962) #12
  %6964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6965 = trunc nuw i8 %6964 to i1
  br i1 %6965, label %6966, label %6970

6966:                                             ; preds = %6960
  %6967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6968 = call i32 @fileno(ptr noundef %6967) #12
  %6969 = call i32 @isatty(i32 noundef %6968) #12
  %.not1003 = icmp eq i32 %6969, 0
  br i1 %.not1003, label %6970, label %6971

6970:                                             ; preds = %6966, %6960
  br label %6971

6971:                                             ; preds = %6966, %6970
  %.str.5.sink3601 = phi ptr [ @.str.5, %6970 ], [ @.str.2, %6966 ]
  store i32 %6961, ptr %3600, align 4, !tbaa !5
  %6972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6973 = load i32, ptr @test_count, align 4, !tbaa !5
  %6974 = load i32, ptr %3546, align 4, !tbaa !5
  %6975 = call ptr @s2n_strerror(i32 noundef %6974, ptr noundef nonnull @.str.4) #12
  %6976 = load i32, ptr %3546, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror_debug(i32 noundef %6976, ptr noundef nonnull @.str.4) #12
  %6978 = load i32, ptr %3600, align 4, !tbaa !5
  %6979 = call ptr @strerror(i32 noundef %6978) #12
  %6980 = load i32, ptr %3600, align 4, !tbaa !5
  %6981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6972, ptr noundef nonnull %.str.5.sink3601, i32 noundef %6973, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 606, ptr noundef %6975, ptr noundef %6977, ptr noundef %6979, i32 noundef %6980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6982:                                             ; preds = %6955
  %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 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %26) #12
  %6986 = icmp eq i32 %6985, -1
  br i1 %6986, label %6987, label %7009

6987:                                             ; preds = %6982
  %6988 = load i32, ptr %3600, align 4, !tbaa !5
  %6989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6990 = call i32 @s2n_print_stacktrace(ptr noundef %6989) #12
  %6991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6992 = trunc nuw i8 %6991 to i1
  br i1 %6992, label %6993, label %6997

6993:                                             ; preds = %6987
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = call i32 @fileno(ptr noundef %6994) #12
  %6996 = call i32 @isatty(i32 noundef %6995) #12
  %.not1002 = icmp eq i32 %6996, 0
  br i1 %.not1002, label %6997, label %6998

6997:                                             ; preds = %6993, %6987
  br label %6998

6998:                                             ; preds = %6993, %6997
  %.str.5.sink3610 = phi ptr [ @.str.5, %6997 ], [ @.str.2, %6993 ]
  store i32 %6988, ptr %3600, align 4, !tbaa !5
  %6999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7000 = load i32, ptr @test_count, align 4, !tbaa !5
  %7001 = load i32, ptr %3546, align 4, !tbaa !5
  %7002 = call ptr @s2n_strerror(i32 noundef %7001, ptr noundef nonnull @.str.4) #12
  %7003 = load i32, ptr %3546, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror_debug(i32 noundef %7003, ptr noundef nonnull @.str.4) #12
  %7005 = load i32, ptr %3600, align 4, !tbaa !5
  %7006 = call ptr @strerror(i32 noundef %7005) #12
  %7007 = load i32, ptr %3600, align 4, !tbaa !5
  %7008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6999, ptr noundef nonnull %.str.5.sink3610, i32 noundef %7000, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 607, ptr noundef %7002, ptr noundef %7004, ptr noundef %7006, i32 noundef %7007) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7009:                                             ; preds = %6982
  %7010 = load i32, ptr @test_count, align 4, !tbaa !5
  %7011 = add nsw i32 %7010, 1
  store i32 %7011, ptr @test_count, align 4, !tbaa !5
  %7012 = getelementptr inbounds i8, ptr %6823, i64 2784
  %7013 = load i32, ptr %7012, align 8, !tbaa !47
  %7014 = icmp eq i32 %7013, 0
  br i1 %7014, label %7037, label %7015

7015:                                             ; preds = %7009
  %7016 = load i32, ptr %3600, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = call i32 @s2n_print_stacktrace(ptr noundef %7017) #12
  %7019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7020 = trunc nuw i8 %7019 to i1
  br i1 %7020, label %7021, label %7025

7021:                                             ; preds = %7015
  %7022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7023 = call i32 @fileno(ptr noundef %7022) #12
  %7024 = call i32 @isatty(i32 noundef %7023) #12
  %.not969 = icmp eq i32 %7024, 0
  br i1 %.not969, label %7025, label %7026

7025:                                             ; preds = %7021, %7015
  br label %7026

7026:                                             ; preds = %7021, %7025
  %.str.5.sink3619 = phi ptr [ @.str.5, %7025 ], [ @.str.2, %7021 ]
  store i32 %7016, ptr %3600, align 4, !tbaa !5
  %7027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7028 = load i32, ptr @test_count, align 4, !tbaa !5
  %7029 = load i32, ptr %3546, align 4, !tbaa !5
  %7030 = call ptr @s2n_strerror(i32 noundef %7029, ptr noundef nonnull @.str.4) #12
  %7031 = load i32, ptr %3546, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef nonnull @.str.4) #12
  %7033 = load i32, ptr %3600, align 4, !tbaa !5
  %7034 = call ptr @strerror(i32 noundef %7033) #12
  %7035 = load i32, ptr %3600, align 4, !tbaa !5
  %7036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7027, ptr noundef nonnull %.str.5.sink3619, i32 noundef %7028, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %7030, ptr noundef %7032, ptr noundef %7034, i32 noundef %7035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7037:                                             ; preds = %7009
  %7038 = add nsw i32 %7010, 2
  store i32 %7038, ptr @test_count, align 4, !tbaa !5
  %7039 = getelementptr inbounds i8, ptr %6823, i64 219
  %7040 = load i8, ptr %7039, align 1, !tbaa !70
  %7041 = icmp eq i8 %7040, 0
  br i1 %7041, label %7064, label %7042

7042:                                             ; preds = %7037
  %7043 = load i32, ptr %3600, align 4, !tbaa !5
  %7044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7045 = call i32 @s2n_print_stacktrace(ptr noundef %7044) #12
  %7046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7047 = trunc nuw i8 %7046 to i1
  br i1 %7047, label %7048, label %7052

7048:                                             ; preds = %7042
  %7049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7050 = call i32 @fileno(ptr noundef %7049) #12
  %7051 = call i32 @isatty(i32 noundef %7050) #12
  %.not970 = icmp eq i32 %7051, 0
  br i1 %.not970, label %7052, label %7053

7052:                                             ; preds = %7048, %7042
  br label %7053

7053:                                             ; preds = %7048, %7052
  %.str.5.sink3628 = phi ptr [ @.str.5, %7052 ], [ @.str.2, %7048 ]
  store i32 %7043, ptr %3600, align 4, !tbaa !5
  %7054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7055 = load i32, ptr @test_count, align 4, !tbaa !5
  %7056 = load i32, ptr %3546, align 4, !tbaa !5
  %7057 = call ptr @s2n_strerror(i32 noundef %7056, ptr noundef nonnull @.str.4) #12
  %7058 = load i32, ptr %3546, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror_debug(i32 noundef %7058, ptr noundef nonnull @.str.4) #12
  %7060 = load i32, ptr %3600, align 4, !tbaa !5
  %7061 = call ptr @strerror(i32 noundef %7060) #12
  %7062 = load i32, ptr %3600, align 4, !tbaa !5
  %7063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7054, ptr noundef nonnull %.str.5.sink3628, i32 noundef %7055, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %7057, ptr noundef %7059, ptr noundef %7061, i32 noundef %7062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7064:                                             ; preds = %7037
  %7065 = add nsw i32 %7010, 3
  store i32 %7065, ptr @test_count, align 4, !tbaa !5
  %7066 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %6823, ptr noundef nonnull %25) #12
  %7067 = icmp eq i32 %7066, -1
  br i1 %7067, label %7068, label %7090

7068:                                             ; preds = %7064
  %7069 = load i32, ptr %3600, align 4, !tbaa !5
  %7070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7071 = call i32 @s2n_print_stacktrace(ptr noundef %7070) #12
  %7072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7073 = trunc nuw i8 %7072 to i1
  br i1 %7073, label %7074, label %7078

7074:                                             ; preds = %7068
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = call i32 @fileno(ptr noundef %7075) #12
  %7077 = call i32 @isatty(i32 noundef %7076) #12
  %.not1001 = icmp eq i32 %7077, 0
  br i1 %.not1001, label %7078, label %7079

7078:                                             ; preds = %7074, %7068
  br label %7079

7079:                                             ; preds = %7074, %7078
  %.str.5.sink3637 = phi ptr [ @.str.5, %7078 ], [ @.str.2, %7074 ]
  store i32 %7069, ptr %3600, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = load i32, ptr @test_count, align 4, !tbaa !5
  %7082 = load i32, ptr %3546, align 4, !tbaa !5
  %7083 = call ptr @s2n_strerror(i32 noundef %7082, ptr noundef nonnull @.str.4) #12
  %7084 = load i32, ptr %3546, align 4, !tbaa !5
  %7085 = call ptr @s2n_strerror_debug(i32 noundef %7084, ptr noundef nonnull @.str.4) #12
  %7086 = load i32, ptr %3600, align 4, !tbaa !5
  %7087 = call ptr @strerror(i32 noundef %7086) #12
  %7088 = load i32, ptr %3600, align 4, !tbaa !5
  %7089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7080, ptr noundef nonnull %.str.5.sink3637, i32 noundef %7081, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %7083, ptr noundef %7085, ptr noundef %7087, i32 noundef %7088) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7090:                                             ; preds = %7064
  %7091 = load i32, ptr @test_count, align 4, !tbaa !5
  %7092 = add nsw i32 %7091, 1
  store i32 %7092, ptr @test_count, align 4, !tbaa !5
  %7093 = load i32, ptr %7012, align 8, !tbaa !47
  %7094 = icmp eq i32 %7093, 0
  br i1 %7094, label %7117, label %7095

7095:                                             ; preds = %7090
  %7096 = load i32, ptr %3600, align 4, !tbaa !5
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = call i32 @s2n_print_stacktrace(ptr noundef %7097) #12
  %7099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7100 = trunc nuw i8 %7099 to i1
  br i1 %7100, label %7101, label %7105

7101:                                             ; preds = %7095
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = call i32 @fileno(ptr noundef %7102) #12
  %7104 = call i32 @isatty(i32 noundef %7103) #12
  %.not971 = icmp eq i32 %7104, 0
  br i1 %.not971, label %7105, label %7106

7105:                                             ; preds = %7101, %7095
  br label %7106

7106:                                             ; preds = %7101, %7105
  %.str.5.sink3646 = phi ptr [ @.str.5, %7105 ], [ @.str.2, %7101 ]
  store i32 %7096, ptr %3600, align 4, !tbaa !5
  %7107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = load i32, ptr %3546, align 4, !tbaa !5
  %7110 = call ptr @s2n_strerror(i32 noundef %7109, ptr noundef nonnull @.str.4) #12
  %7111 = load i32, ptr %3546, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror_debug(i32 noundef %7111, ptr noundef nonnull @.str.4) #12
  %7113 = load i32, ptr %3600, align 4, !tbaa !5
  %7114 = call ptr @strerror(i32 noundef %7113) #12
  %7115 = load i32, ptr %3600, align 4, !tbaa !5
  %7116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7107, ptr noundef nonnull %.str.5.sink3646, i32 noundef %7108, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 612, ptr noundef %7110, ptr noundef %7112, ptr noundef %7114, i32 noundef %7115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7117:                                             ; preds = %7090
  %7118 = add nsw i32 %7091, 2
  store i32 %7118, ptr @test_count, align 4, !tbaa !5
  %7119 = load i8, ptr %7039, align 1, !tbaa !70
  %7120 = icmp eq i8 %7119, 34
  br i1 %7120, label %7143, label %7121

7121:                                             ; preds = %7117
  %7122 = load i32, ptr %3600, align 4, !tbaa !5
  %7123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7124 = call i32 @s2n_print_stacktrace(ptr noundef %7123) #12
  %7125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7126 = trunc nuw i8 %7125 to i1
  br i1 %7126, label %7127, label %7131

7127:                                             ; preds = %7121
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = call i32 @fileno(ptr noundef %7128) #12
  %7130 = call i32 @isatty(i32 noundef %7129) #12
  %.not972 = icmp eq i32 %7130, 0
  br i1 %.not972, label %7131, label %7132

7131:                                             ; preds = %7127, %7121
  br label %7132

7132:                                             ; preds = %7127, %7131
  %.str.5.sink3655 = phi ptr [ @.str.5, %7131 ], [ @.str.2, %7127 ]
  store i32 %7122, ptr %3600, align 4, !tbaa !5
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = load i32, ptr @test_count, align 4, !tbaa !5
  %7135 = load i32, ptr %3546, align 4, !tbaa !5
  %7136 = call ptr @s2n_strerror(i32 noundef %7135, ptr noundef nonnull @.str.4) #12
  %7137 = load i32, ptr %3546, align 4, !tbaa !5
  %7138 = call ptr @s2n_strerror_debug(i32 noundef %7137, ptr noundef nonnull @.str.4) #12
  %7139 = load i32, ptr %3600, align 4, !tbaa !5
  %7140 = call ptr @strerror(i32 noundef %7139) #12
  %7141 = load i32, ptr %3600, align 4, !tbaa !5
  %7142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7133, ptr noundef nonnull %.str.5.sink3655, i32 noundef %7134, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 613, ptr noundef %7136, ptr noundef %7138, ptr noundef %7140, i32 noundef %7141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7143:                                             ; preds = %7117
  %7144 = add nsw i32 %7091, 3
  store i32 %7144, ptr @test_count, align 4, !tbaa !5
  %7145 = call i32 @s2n_connection_free(ptr noundef nonnull %6823) #12
  %7146 = icmp eq i32 %7145, -1
  br i1 %7146, label %7147, label %7169

7147:                                             ; preds = %7143
  %7148 = load i32, ptr %3600, align 4, !tbaa !5
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @s2n_print_stacktrace(ptr noundef %7149) #12
  %7151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7152 = trunc nuw i8 %7151 to i1
  br i1 %7152, label %7153, label %7157

7153:                                             ; preds = %7147
  %7154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7155 = call i32 @fileno(ptr noundef %7154) #12
  %7156 = call i32 @isatty(i32 noundef %7155) #12
  %.not1000 = icmp eq i32 %7156, 0
  br i1 %.not1000, label %7157, label %7158

7157:                                             ; preds = %7153, %7147
  br label %7158

7158:                                             ; preds = %7153, %7157
  %.str.5.sink3664 = phi ptr [ @.str.5, %7157 ], [ @.str.2, %7153 ]
  store i32 %7148, ptr %3600, align 4, !tbaa !5
  %7159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7160 = load i32, ptr @test_count, align 4, !tbaa !5
  %7161 = load i32, ptr %3546, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror(i32 noundef %7161, ptr noundef nonnull @.str.4) #12
  %7163 = load i32, ptr %3546, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror_debug(i32 noundef %7163, ptr noundef nonnull @.str.4) #12
  %7165 = load i32, ptr %3600, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #12
  %7167 = load i32, ptr %3600, align 4, !tbaa !5
  %7168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7159, ptr noundef nonnull %.str.5.sink3664, i32 noundef %7160, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %7162, ptr noundef %7164, ptr noundef %7166, i32 noundef %7167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7169:                                             ; preds = %7143
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #12
  %7170 = call i32 @s2n_stuffer_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %27) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %27, i8 0, i64 168, i1 false)
  store i8 34, ptr %6496, align 4, !tbaa !55
  store i8 34, ptr %6497, align 1, !tbaa !70
  %7171 = load i32, ptr @test_count, align 4, !tbaa !5
  %7172 = add nsw i32 %7171, 1
  store i32 %7172, ptr @test_count, align 4, !tbaa !5
  %7173 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %6414, i8 noundef zeroext 34) #12
  %7174 = call zeroext i1 @s2n_result_is_ok(i32 %7173)
  br i1 %7174, label %7197, label %7175

7175:                                             ; preds = %7169
  %7176 = load i32, ptr %3600, align 4, !tbaa !5
  %7177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7178 = call i32 @s2n_print_stacktrace(ptr noundef %7177) #12
  %7179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7180 = trunc nuw i8 %7179 to i1
  br i1 %7180, label %7181, label %7185

7181:                                             ; preds = %7175
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = call i32 @fileno(ptr noundef %7182) #12
  %7184 = call i32 @isatty(i32 noundef %7183) #12
  %.not973 = icmp eq i32 %7184, 0
  br i1 %.not973, label %7185, label %7186

7185:                                             ; preds = %7181, %7175
  br label %7186

7186:                                             ; preds = %7181, %7185
  %.str.5.sink3673 = phi ptr [ @.str.5, %7185 ], [ @.str.2, %7181 ]
  store i32 %7176, ptr %3600, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = load i32, ptr @test_count, align 4, !tbaa !5
  %7189 = load i32, ptr %3546, align 4, !tbaa !5
  %7190 = call ptr @s2n_strerror(i32 noundef %7189, ptr noundef nonnull @.str.4) #12
  %7191 = load i32, ptr %3546, align 4, !tbaa !5
  %7192 = call ptr @s2n_strerror_debug(i32 noundef %7191, ptr noundef nonnull @.str.4) #12
  %7193 = load i32, ptr %3600, align 4, !tbaa !5
  %7194 = call ptr @strerror(i32 noundef %7193) #12
  %7195 = load i32, ptr %3600, align 4, !tbaa !5
  %7196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7187, ptr noundef nonnull %.str.5.sink3673, i32 noundef %7188, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 626, ptr noundef %7190, ptr noundef %7192, ptr noundef %7194, i32 noundef %7195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7197:                                             ; preds = %7169
  %7198 = getelementptr inbounds i8, ptr %6414, i64 1736
  store ptr %27, ptr %7198, align 8, !tbaa !61
  %7199 = getelementptr inbounds i8, ptr %6414, i64 1730
  store i16 5, ptr %7199, align 2, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %28) #12
  %7200 = load i32, ptr @test_count, align 4, !tbaa !5
  %7201 = add nsw i32 %7200, 1
  store i32 %7201, ptr @test_count, align 4, !tbaa !5
  %7202 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %28, i32 noundef 0) #12
  %7203 = icmp eq i32 %7202, -1
  br i1 %7203, label %7204, label %7226

7204:                                             ; preds = %7197
  %7205 = load i32, ptr %3600, align 4, !tbaa !5
  %7206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7207 = call i32 @s2n_print_stacktrace(ptr noundef %7206) #12
  %7208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7209 = trunc nuw i8 %7208 to i1
  br i1 %7209, label %7210, label %7214

7210:                                             ; preds = %7204
  %7211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7212 = call i32 @fileno(ptr noundef %7211) #12
  %7213 = call i32 @isatty(i32 noundef %7212) #12
  %.not999 = icmp eq i32 %7213, 0
  br i1 %.not999, label %7214, label %7215

7214:                                             ; preds = %7210, %7204
  br label %7215

7215:                                             ; preds = %7210, %7214
  %.str.5.sink3682 = phi ptr [ @.str.5, %7214 ], [ @.str.2, %7210 ]
  store i32 %7205, ptr %3600, align 4, !tbaa !5
  %7216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7217 = load i32, ptr @test_count, align 4, !tbaa !5
  %7218 = load i32, ptr %3546, align 4, !tbaa !5
  %7219 = call ptr @s2n_strerror(i32 noundef %7218, ptr noundef nonnull @.str.4) #12
  %7220 = load i32, ptr %3546, align 4, !tbaa !5
  %7221 = call ptr @s2n_strerror_debug(i32 noundef %7220, ptr noundef nonnull @.str.4) #12
  %7222 = load i32, ptr %3600, align 4, !tbaa !5
  %7223 = call ptr @strerror(i32 noundef %7222) #12
  %7224 = load i32, ptr %3600, align 4, !tbaa !5
  %7225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7216, ptr noundef nonnull %.str.5.sink3682, i32 noundef %7217, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %7219, ptr noundef %7221, ptr noundef %7223, i32 noundef %7224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7226:                                             ; preds = %7197
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %29, i8 0, i64 16, i1 false)
  %7227 = load i32, ptr @test_count, align 4, !tbaa !5
  %7228 = add nsw i32 %7227, 1
  store i32 %7228, ptr @test_count, align 4, !tbaa !5
  %7229 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %28, ptr noundef nonnull %29) #12
  %7230 = icmp eq i32 %7229, -1
  br i1 %7230, label %7231, label %7253

7231:                                             ; preds = %7226
  %7232 = load i32, ptr %3600, align 4, !tbaa !5
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = call i32 @s2n_print_stacktrace(ptr noundef %7233) #12
  %7235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7236 = trunc nuw i8 %7235 to i1
  br i1 %7236, label %7237, label %7241

7237:                                             ; preds = %7231
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = call i32 @fileno(ptr noundef %7238) #12
  %7240 = call i32 @isatty(i32 noundef %7239) #12
  %.not998 = icmp eq i32 %7240, 0
  br i1 %.not998, label %7241, label %7242

7241:                                             ; preds = %7237, %7231
  br label %7242

7242:                                             ; preds = %7237, %7241
  %.str.5.sink3691 = phi ptr [ @.str.5, %7241 ], [ @.str.2, %7237 ]
  store i32 %7232, ptr %3600, align 4, !tbaa !5
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = load i32, ptr @test_count, align 4, !tbaa !5
  %7245 = load i32, ptr %3546, align 4, !tbaa !5
  %7246 = call ptr @s2n_strerror(i32 noundef %7245, ptr noundef nonnull @.str.4) #12
  %7247 = load i32, ptr %3546, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror_debug(i32 noundef %7247, ptr noundef nonnull @.str.4) #12
  %7249 = load i32, ptr %3600, align 4, !tbaa !5
  %7250 = call ptr @strerror(i32 noundef %7249) #12
  %7251 = load i32, ptr %3600, align 4, !tbaa !5
  %7252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7243, ptr noundef nonnull %.str.5.sink3691, i32 noundef %7244, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %7246, ptr noundef %7248, ptr noundef %7250, i32 noundef %7251) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7253:                                             ; preds = %7226
  %7254 = load i32, ptr @test_count, align 4, !tbaa !5
  %7255 = add nsw i32 %7254, 1
  store i32 %7255, ptr @test_count, align 4, !tbaa !5
  %7256 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_server_supported_versions_extension, ptr noundef nonnull %6414, ptr noundef nonnull %28) #12
  %7257 = icmp eq i32 %7256, -1
  br i1 %7257, label %7258, label %7280

7258:                                             ; preds = %7253
  %7259 = load i32, ptr %3600, align 4, !tbaa !5
  %7260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7261 = call i32 @s2n_print_stacktrace(ptr noundef %7260) #12
  %7262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7263 = trunc nuw i8 %7262 to i1
  br i1 %7263, label %7264, label %7268

7264:                                             ; preds = %7258
  %7265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7266 = call i32 @fileno(ptr noundef %7265) #12
  %7267 = call i32 @isatty(i32 noundef %7266) #12
  %.not997 = icmp eq i32 %7267, 0
  br i1 %.not997, label %7268, label %7269

7268:                                             ; preds = %7264, %7258
  br label %7269

7269:                                             ; preds = %7264, %7268
  %.str.5.sink3700 = phi ptr [ @.str.5, %7268 ], [ @.str.2, %7264 ]
  store i32 %7259, ptr %3600, align 4, !tbaa !5
  %7270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7271 = load i32, ptr @test_count, align 4, !tbaa !5
  %7272 = load i32, ptr %3546, align 4, !tbaa !5
  %7273 = call ptr @s2n_strerror(i32 noundef %7272, ptr noundef nonnull @.str.4) #12
  %7274 = load i32, ptr %3546, align 4, !tbaa !5
  %7275 = call ptr @s2n_strerror_debug(i32 noundef %7274, ptr noundef nonnull @.str.4) #12
  %7276 = load i32, ptr %3600, align 4, !tbaa !5
  %7277 = call ptr @strerror(i32 noundef %7276) #12
  %7278 = load i32, ptr %3600, align 4, !tbaa !5
  %7279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7270, ptr noundef nonnull %.str.5.sink3700, i32 noundef %7271, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 637, ptr noundef %7273, ptr noundef %7275, ptr noundef %7277, i32 noundef %7278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7280:                                             ; preds = %7253
  %7281 = load i32, ptr @test_count, align 4, !tbaa !5
  %7282 = add nsw i32 %7281, 1
  store i32 %7282, ptr @test_count, align 4, !tbaa !5
  %7283 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_server_psk_extension, ptr noundef nonnull %6414, ptr noundef nonnull %28) #12
  %7284 = icmp eq i32 %7283, -1
  br i1 %7284, label %7285, label %7307

7285:                                             ; preds = %7280
  %7286 = load i32, ptr %3600, align 4, !tbaa !5
  %7287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7288 = call i32 @s2n_print_stacktrace(ptr noundef %7287) #12
  %7289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7290 = trunc nuw i8 %7289 to i1
  br i1 %7290, label %7291, label %7295

7291:                                             ; preds = %7285
  %7292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7293 = call i32 @fileno(ptr noundef %7292) #12
  %7294 = call i32 @isatty(i32 noundef %7293) #12
  %.not996 = icmp eq i32 %7294, 0
  br i1 %.not996, label %7295, label %7296

7295:                                             ; preds = %7291, %7285
  br label %7296

7296:                                             ; preds = %7291, %7295
  %.str.5.sink3709 = phi ptr [ @.str.5, %7295 ], [ @.str.2, %7291 ]
  store i32 %7286, ptr %3600, align 4, !tbaa !5
  %7297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7298 = load i32, ptr @test_count, align 4, !tbaa !5
  %7299 = load i32, ptr %3546, align 4, !tbaa !5
  %7300 = call ptr @s2n_strerror(i32 noundef %7299, ptr noundef nonnull @.str.4) #12
  %7301 = load i32, ptr %3546, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror_debug(i32 noundef %7301, ptr noundef nonnull @.str.4) #12
  %7303 = load i32, ptr %3600, align 4, !tbaa !5
  %7304 = call ptr @strerror(i32 noundef %7303) #12
  %7305 = load i32, ptr %3600, align 4, !tbaa !5
  %7306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7297, ptr noundef nonnull %.str.5.sink3709, i32 noundef %7298, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %7300, ptr noundef %7302, ptr noundef %7304, i32 noundef %7305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7307:                                             ; preds = %7280
  %7308 = load i32, ptr @test_count, align 4, !tbaa !5
  %7309 = add nsw i32 %7308, 1
  store i32 %7309, ptr @test_count, align 4, !tbaa !5
  %7310 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %29) #12
  %7311 = icmp eq i32 %7310, -1
  br i1 %7311, label %7316, label %.preheader1204.preheader

.preheader1204.preheader:                         ; preds = %7307
  %7312 = load i32, ptr @test_count, align 4, !tbaa !5
  %7313 = add nsw i32 %7312, 1
  store i32 %7313, ptr @test_count, align 4, !tbaa !5
  %7314 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7315 = icmp eq ptr %7314, null
  br i1 %7315, label %7423, label %7445

7316:                                             ; preds = %7307
  %7317 = load i32, ptr %3600, align 4, !tbaa !5
  %7318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7319 = call i32 @s2n_print_stacktrace(ptr noundef %7318) #12
  %7320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7321 = trunc nuw i8 %7320 to i1
  br i1 %7321, label %7322, label %7326

7322:                                             ; preds = %7316
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = call i32 @fileno(ptr noundef %7323) #12
  %7325 = call i32 @isatty(i32 noundef %7324) #12
  %.not995 = icmp eq i32 %7325, 0
  br i1 %.not995, label %7326, label %7327

7326:                                             ; preds = %7322, %7316
  br label %7327

7327:                                             ; preds = %7322, %7326
  %.str.5.sink3718 = phi ptr [ @.str.5, %7326 ], [ @.str.2, %7322 ]
  store i32 %7317, ptr %3600, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = load i32, ptr %3546, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror(i32 noundef %7330, ptr noundef nonnull @.str.4) #12
  %7332 = load i32, ptr %3546, align 4, !tbaa !5
  %7333 = call ptr @s2n_strerror_debug(i32 noundef %7332, ptr noundef nonnull @.str.4) #12
  %7334 = load i32, ptr %3600, align 4, !tbaa !5
  %7335 = call ptr @strerror(i32 noundef %7334) #12
  %7336 = load i32, ptr %3600, align 4, !tbaa !5
  %7337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7328, ptr noundef nonnull %.str.5.sink3718, i32 noundef %7329, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 640, ptr noundef %7331, ptr noundef %7333, ptr noundef %7335, i32 noundef %7336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1204.1:                                 ; preds = %7723
  %7338 = load i32, ptr @test_count, align 4, !tbaa !5
  %7339 = add nsw i32 %7338, 1
  store i32 %7339, ptr @test_count, align 4, !tbaa !5
  %7340 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7341 = icmp eq ptr %7340, null
  br i1 %7341, label %7423, label %7342

7342:                                             ; preds = %.preheader1204.1
  %7343 = load i32, ptr @test_count, align 4, !tbaa !5
  %7344 = add nsw i32 %7343, 1
  store i32 %7344, ptr @test_count, align 4, !tbaa !5
  %7345 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %7340) #12
  %7346 = icmp eq i32 %7345, -1
  br i1 %7346, label %7450, label %7347

7347:                                             ; preds = %7342
  %7348 = getelementptr inbounds i8, ptr %7340, i64 220
  store i8 34, ptr %7348, align 4, !tbaa !55
  %7349 = load i32, ptr @test_count, align 4, !tbaa !5
  %7350 = add nsw i32 %7349, 1
  store i32 %7350, ptr @test_count, align 4, !tbaa !5
  %7351 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %7340, i8 noundef zeroext 34) #12
  %7352 = call zeroext i1 @s2n_result_is_ok(i32 %7351)
  br i1 %7352, label %7353, label %7478

7353:                                             ; preds = %7347
  %7354 = load i32, ptr @test_count, align 4, !tbaa !5
  %7355 = add nsw i32 %7354, 1
  store i32 %7355, ptr @test_count, align 4, !tbaa !5
  %7356 = call i32 @s2n_connection_mark_extension_received(ptr noundef nonnull %7340, i16 noundef zeroext %3394) #12
  %7357 = icmp eq i32 %7356, -1
  br i1 %7357, label %7510, label %.preheader.1

.preheader.1:                                     ; preds = %7353
  %7358 = getelementptr inbounds i8, ptr %7340, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7359 = load i32, ptr @test_count, align 4, !tbaa !5
  %7360 = add nsw i32 %7359, 1
  store i32 %7360, ptr @test_count, align 4, !tbaa !5
  %7361 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7362 = call zeroext i1 @s2n_result_is_ok(i32 %7361)
  br i1 %7362, label %7363, label %7532

7363:                                             ; preds = %.preheader.1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7364 = load i32, ptr @test_count, align 4, !tbaa !5
  %7365 = add nsw i32 %7364, 1
  store i32 %7365, ptr @test_count, align 4, !tbaa !5
  %7366 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7367 = call zeroext i1 @s2n_result_is_ok(i32 %7366)
  br i1 %7367, label %7368, label %7532

7368:                                             ; preds = %7363
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7369 = load i32, ptr @test_count, align 4, !tbaa !5
  %7370 = add nsw i32 %7369, 1
  store i32 %7370, ptr @test_count, align 4, !tbaa !5
  %7371 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7372 = call zeroext i1 @s2n_result_is_ok(i32 %7371)
  br i1 %7372, label %7373, label %7532

7373:                                             ; preds = %7368
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = add nsw i32 %7374, 1
  store i32 %7375, ptr @test_count, align 4, !tbaa !5
  %7376 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7377 = call zeroext i1 @s2n_result_is_ok(i32 %7376)
  br i1 %7377, label %7378, label %7532

7378:                                             ; preds = %7373
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7379 = load i32, ptr @test_count, align 4, !tbaa !5
  %7380 = add nsw i32 %7379, 1
  store i32 %7380, ptr @test_count, align 4, !tbaa !5
  %7381 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7382 = call zeroext i1 @s2n_result_is_ok(i32 %7381)
  br i1 %7382, label %7383, label %7532

7383:                                             ; preds = %7378
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %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 = call i32 @s2n_array_pushback(ptr noundef nonnull %7358, ptr noundef nonnull %30) #12
  %7387 = call zeroext i1 @s2n_result_is_ok(i32 %7386)
  br i1 %7387, label %7388, label %7532

7388:                                             ; preds = %7383
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = add nsw i32 %7389, 1
  store i32 %7390, ptr @test_count, align 4, !tbaa !5
  %7391 = call i32 @s2n_set_connection_hello_retry_flags(ptr noundef nonnull %7340) #12
  %7392 = icmp eq i32 %7391, -1
  br i1 %7392, label %7579, label %7393

7393:                                             ; preds = %7388
  %7394 = load i32, ptr @test_count, align 4, !tbaa !5
  %7395 = add nsw i32 %7394, 1
  store i32 %7395, ptr @test_count, align 4, !tbaa !5
  %7396 = getelementptr inbounds i8, ptr %7340, i64 1730
  %7397 = load i16, ptr %7396, align 2, !tbaa !71
  %7398 = icmp eq i16 %7397, 0
  br i1 %7398, label %7399, label %7602

7399:                                             ; preds = %7393
  %7400 = add nsw i32 %7394, 2
  store i32 %7400, ptr @test_count, align 4, !tbaa !5
  %7401 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %7340, ptr noundef nonnull %28) #12
  %7402 = icmp eq i32 %7401, -1
  br i1 %7402, label %7628, label %7403

7403:                                             ; preds = %7399
  %7404 = load i32, ptr @test_count, align 4, !tbaa !5
  %7405 = add nsw i32 %7404, 1
  store i32 %7405, ptr @test_count, align 4, !tbaa !5
  %7406 = load i16, ptr %7396, align 2, !tbaa !71
  %7407 = icmp eq i16 %7406, 0
  br i1 %7407, label %7408, label %7650

7408:                                             ; preds = %7403
  %7409 = add nsw i32 %7404, 2
  store i32 %7409, ptr @test_count, align 4, !tbaa !5
  %7410 = call i32 @s2n_connection_free(ptr noundef nonnull %7340) #12
  %7411 = icmp eq i32 %7410, -1
  br i1 %7411, label %7701, label %7412

7412:                                             ; preds = %7408
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = add nsw i32 %7413, 1
  store i32 %7414, ptr @test_count, align 4, !tbaa !5
  %7415 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %28) #12
  %7416 = icmp eq i32 %7415, -1
  br i1 %7416, label %7728, label %7417

7417:                                             ; preds = %7412
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #12
  %7418 = call i32 @s2n_stuffer_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %27) #12
  %7419 = load i32, ptr @test_count, align 4, !tbaa !5
  %7420 = add nsw i32 %7419, 1
  store i32 %7420, ptr @test_count, align 4, !tbaa !5
  %7421 = call i32 @s2n_connection_free(ptr noundef nonnull %6414) #12
  %7422 = icmp eq i32 %7421, -1
  br i1 %7422, label %7750, label %7772

7423:                                             ; preds = %.preheader1204.1, %.preheader1204.preheader
  %7424 = load i32, ptr %3600, align 4, !tbaa !5
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = call i32 @s2n_print_stacktrace(ptr noundef %7425) #12
  %7427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7428 = trunc nuw i8 %7427 to i1
  br i1 %7428, label %7429, label %7433

7429:                                             ; preds = %7423
  %7430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7431 = call i32 @fileno(ptr noundef %7430) #12
  %7432 = call i32 @isatty(i32 noundef %7431) #12
  %.not994 = icmp eq i32 %7432, 0
  br i1 %.not994, label %7433, label %7434

7433:                                             ; preds = %7429, %7423
  br label %7434

7434:                                             ; preds = %7429, %7433
  %.str.5.sink3727 = phi ptr [ @.str.5, %7433 ], [ @.str.2, %7429 ]
  store i32 %7424, ptr %3600, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = load i32, ptr @test_count, align 4, !tbaa !5
  %7437 = load i32, ptr %3546, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror(i32 noundef %7437, ptr noundef nonnull @.str.4) #12
  %7439 = load i32, ptr %3546, align 4, !tbaa !5
  %7440 = call ptr @s2n_strerror_debug(i32 noundef %7439, ptr noundef nonnull @.str.4) #12
  %7441 = load i32, ptr %3600, align 4, !tbaa !5
  %7442 = call ptr @strerror(i32 noundef %7441) #12
  %7443 = load i32, ptr %3600, align 4, !tbaa !5
  %7444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7435, ptr noundef nonnull %.str.5.sink3727, i32 noundef %7436, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 644, ptr noundef %7438, ptr noundef %7440, ptr noundef %7442, i32 noundef %7443) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7445:                                             ; preds = %.preheader1204.preheader
  %7446 = load i32, ptr @test_count, align 4, !tbaa !5
  %7447 = add nsw i32 %7446, 1
  store i32 %7447, ptr @test_count, align 4, !tbaa !5
  %7448 = call i32 @s2n_connection_allow_all_response_extensions(ptr noundef nonnull %7314) #12
  %7449 = icmp eq i32 %7448, -1
  br i1 %7449, label %7450, label %7472

7450:                                             ; preds = %7342, %7445
  %7451 = load i32, ptr %3600, align 4, !tbaa !5
  %7452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7453 = call i32 @s2n_print_stacktrace(ptr noundef %7452) #12
  %7454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7455 = trunc nuw i8 %7454 to i1
  br i1 %7455, label %7456, label %7460

7456:                                             ; preds = %7450
  %7457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7458 = call i32 @fileno(ptr noundef %7457) #12
  %7459 = call i32 @isatty(i32 noundef %7458) #12
  %.not993 = icmp eq i32 %7459, 0
  br i1 %.not993, label %7460, label %7461

7460:                                             ; preds = %7456, %7450
  br label %7461

7461:                                             ; preds = %7456, %7460
  %.str.5.sink3736 = phi ptr [ @.str.5, %7460 ], [ @.str.2, %7456 ]
  store i32 %7451, ptr %3600, align 4, !tbaa !5
  %7462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7463 = load i32, ptr @test_count, align 4, !tbaa !5
  %7464 = load i32, ptr %3546, align 4, !tbaa !5
  %7465 = call ptr @s2n_strerror(i32 noundef %7464, ptr noundef nonnull @.str.4) #12
  %7466 = load i32, ptr %3546, align 4, !tbaa !5
  %7467 = call ptr @s2n_strerror_debug(i32 noundef %7466, ptr noundef nonnull @.str.4) #12
  %7468 = load i32, ptr %3600, align 4, !tbaa !5
  %7469 = call ptr @strerror(i32 noundef %7468) #12
  %7470 = load i32, ptr %3600, align 4, !tbaa !5
  %7471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7462, ptr noundef nonnull %.str.5.sink3736, i32 noundef %7463, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %7465, ptr noundef %7467, ptr noundef %7469, i32 noundef %7470) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7472:                                             ; preds = %7445
  %7473 = getelementptr inbounds i8, ptr %7314, i64 220
  store i8 34, ptr %7473, align 4, !tbaa !55
  %7474 = load i32, ptr @test_count, align 4, !tbaa !5
  %7475 = add nsw i32 %7474, 1
  store i32 %7475, ptr @test_count, align 4, !tbaa !5
  %7476 = call i32 @s2n_conn_choose_state_machine(ptr noundef nonnull %7314, i8 noundef zeroext 34) #12
  %7477 = call zeroext i1 @s2n_result_is_ok(i32 %7476)
  br i1 %7477, label %7500, label %7478

7478:                                             ; preds = %7347, %7472
  %7479 = load i32, ptr %3600, align 4, !tbaa !5
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @s2n_print_stacktrace(ptr noundef %7480) #12
  %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) #12
  %7487 = call i32 @isatty(i32 noundef %7486) #12
  %.not982 = icmp eq i32 %7487, 0
  br i1 %.not982, label %7488, label %7489

7488:                                             ; preds = %7484, %7478
  br label %7489

7489:                                             ; preds = %7484, %7488
  %.str.5.sink3745 = phi ptr [ @.str.5, %7488 ], [ @.str.2, %7484 ]
  store i32 %7479, ptr %3600, 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 %3546, align 4, !tbaa !5
  %7493 = call ptr @s2n_strerror(i32 noundef %7492, ptr noundef nonnull @.str.4) #12
  %7494 = load i32, ptr %3546, align 4, !tbaa !5
  %7495 = call ptr @s2n_strerror_debug(i32 noundef %7494, ptr noundef nonnull @.str.4) #12
  %7496 = load i32, ptr %3600, align 4, !tbaa !5
  %7497 = call ptr @strerror(i32 noundef %7496) #12
  %7498 = load i32, ptr %3600, align 4, !tbaa !5
  %7499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7490, ptr noundef nonnull %.str.5.sink3745, i32 noundef %7491, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %7493, ptr noundef %7495, ptr noundef %7497, i32 noundef %7498) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7500:                                             ; preds = %7472
  %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 = call i32 @s2n_connection_mark_extension_received(ptr noundef nonnull %7314, i16 noundef zeroext %3394) #12
  %7504 = icmp eq i32 %7503, -1
  br i1 %7504, label %7510, label %.preheader

.preheader:                                       ; preds = %7500
  %7505 = getelementptr inbounds i8, ptr %7314, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7506 = load i32, ptr @test_count, align 4, !tbaa !5
  %7507 = add nsw i32 %7506, 1
  store i32 %7507, ptr @test_count, align 4, !tbaa !5
  %7508 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7509 = call zeroext i1 @s2n_result_is_ok(i32 %7508)
  br i1 %7509, label %7554, label %7532

7510:                                             ; preds = %7353, %7500
  %7511 = load i32, ptr %3600, align 4, !tbaa !5
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = call i32 @s2n_print_stacktrace(ptr noundef %7512) #12
  %7514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7515 = trunc nuw i8 %7514 to i1
  br i1 %7515, label %7516, label %7520

7516:                                             ; preds = %7510
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = call i32 @fileno(ptr noundef %7517) #12
  %7519 = call i32 @isatty(i32 noundef %7518) #12
  %.not992 = icmp eq i32 %7519, 0
  br i1 %.not992, label %7520, label %7521

7520:                                             ; preds = %7516, %7510
  br label %7521

7521:                                             ; preds = %7516, %7520
  %.str.5.sink3754 = phi ptr [ @.str.5, %7520 ], [ @.str.2, %7516 ]
  store i32 %7511, ptr %3600, align 4, !tbaa !5
  %7522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7523 = load i32, ptr @test_count, align 4, !tbaa !5
  %7524 = load i32, ptr %3546, align 4, !tbaa !5
  %7525 = call ptr @s2n_strerror(i32 noundef %7524, ptr noundef nonnull @.str.4) #12
  %7526 = load i32, ptr %3546, align 4, !tbaa !5
  %7527 = call ptr @s2n_strerror_debug(i32 noundef %7526, ptr noundef nonnull @.str.4) #12
  %7528 = load i32, ptr %3600, align 4, !tbaa !5
  %7529 = call ptr @strerror(i32 noundef %7528) #12
  %7530 = load i32, ptr %3600, align 4, !tbaa !5
  %7531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7522, ptr noundef nonnull %.str.5.sink3754, i32 noundef %7523, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 649, ptr noundef %7525, ptr noundef %7527, ptr noundef %7529, i32 noundef %7530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7532:                                             ; preds = %7383, %7378, %7373, %7368, %7363, %.preheader.1, %7574, %7569, %7564, %7559, %7554, %.preheader
  %7533 = load i32, ptr %3600, align 4, !tbaa !5
  %7534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7535 = call i32 @s2n_print_stacktrace(ptr noundef %7534) #12
  %7536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7537 = trunc nuw i8 %7536 to i1
  br i1 %7537, label %7538, label %7542

7538:                                             ; preds = %7532
  %7539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7540 = call i32 @fileno(ptr noundef %7539) #12
  %7541 = call i32 @isatty(i32 noundef %7540) #12
  %.not991 = icmp eq i32 %7541, 0
  br i1 %.not991, label %7542, label %7543

7542:                                             ; preds = %7538, %7532
  br label %7543

7543:                                             ; preds = %7538, %7542
  %.str.5.sink3763 = phi ptr [ @.str.5, %7542 ], [ @.str.2, %7538 ]
  store i32 %7533, ptr %3600, align 4, !tbaa !5
  %7544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7545 = load i32, ptr @test_count, align 4, !tbaa !5
  %7546 = load i32, ptr %3546, align 4, !tbaa !5
  %7547 = call ptr @s2n_strerror(i32 noundef %7546, ptr noundef nonnull @.str.4) #12
  %7548 = load i32, ptr %3546, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef nonnull @.str.4) #12
  %7550 = load i32, ptr %3600, align 4, !tbaa !5
  %7551 = call ptr @strerror(i32 noundef %7550) #12
  %7552 = load i32, ptr %3600, align 4, !tbaa !5
  %7553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7544, ptr noundef nonnull %.str.5.sink3763, i32 noundef %7545, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 653, ptr noundef %7547, ptr noundef %7549, ptr noundef %7551, i32 noundef %7552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7554:                                             ; preds = %.preheader
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = add nsw i32 %7555, 1
  store i32 %7556, ptr @test_count, align 4, !tbaa !5
  %7557 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7558 = call zeroext i1 @s2n_result_is_ok(i32 %7557)
  br i1 %7558, label %7559, label %7532

7559:                                             ; preds = %7554
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7560 = load i32, ptr @test_count, align 4, !tbaa !5
  %7561 = add nsw i32 %7560, 1
  store i32 %7561, ptr @test_count, align 4, !tbaa !5
  %7562 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7563 = call zeroext i1 @s2n_result_is_ok(i32 %7562)
  br i1 %7563, label %7564, label %7532

7564:                                             ; preds = %7559
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7565 = load i32, ptr @test_count, align 4, !tbaa !5
  %7566 = add nsw i32 %7565, 1
  store i32 %7566, ptr @test_count, align 4, !tbaa !5
  %7567 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7568 = call zeroext i1 @s2n_result_is_ok(i32 %7567)
  br i1 %7568, label %7569, label %7532

7569:                                             ; preds = %7564
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7570 = load i32, ptr @test_count, align 4, !tbaa !5
  %7571 = add nsw i32 %7570, 1
  store i32 %7571, ptr @test_count, align 4, !tbaa !5
  %7572 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7573 = call zeroext i1 @s2n_result_is_ok(i32 %7572)
  br i1 %7573, label %7574, label %7532

7574:                                             ; preds = %7569
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  %7575 = load i32, ptr @test_count, align 4, !tbaa !5
  %7576 = add nsw i32 %7575, 1
  store i32 %7576, ptr @test_count, align 4, !tbaa !5
  %7577 = call i32 @s2n_array_pushback(ptr noundef nonnull %7505, ptr noundef nonnull %30) #12
  %7578 = call zeroext i1 @s2n_result_is_ok(i32 %7577)
  br i1 %7578, label %7599, label %7532

7579:                                             ; preds = %7388
  %.pre1222 = load i32, ptr %3600, align 4, !tbaa !5
  %.pre1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7580 = call i32 @s2n_print_stacktrace(ptr noundef %.pre1223) #12
  %7581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7582 = trunc nuw i8 %7581 to i1
  br i1 %7582, label %7583, label %7587

7583:                                             ; preds = %7579
  %7584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7585 = call i32 @fileno(ptr noundef %7584) #12
  %7586 = call i32 @isatty(i32 noundef %7585) #12
  %.not990 = icmp eq i32 %7586, 0
  br i1 %.not990, label %7587, label %7588

7587:                                             ; preds = %7583, %7579
  br label %7588

7588:                                             ; preds = %7583, %7587
  %.str.5.sink3772 = phi ptr [ @.str.5, %7587 ], [ @.str.2, %7583 ]
  store i32 %.pre1222, ptr %3600, align 4, !tbaa !5
  %7589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7590 = load i32, ptr @test_count, align 4, !tbaa !5
  %7591 = load i32, ptr %3546, align 4, !tbaa !5
  %7592 = call ptr @s2n_strerror(i32 noundef %7591, ptr noundef nonnull @.str.4) #12
  %7593 = load i32, ptr %3546, align 4, !tbaa !5
  %7594 = call ptr @s2n_strerror_debug(i32 noundef %7593, ptr noundef nonnull @.str.4) #12
  %7595 = load i32, ptr %3600, align 4, !tbaa !5
  %7596 = call ptr @strerror(i32 noundef %7595) #12
  %7597 = load i32, ptr %3600, align 4, !tbaa !5
  %7598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7589, ptr noundef nonnull %.str.5.sink3772, i32 noundef %7590, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %7592, ptr noundef %7594, ptr noundef %7596, i32 noundef %7597) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7599:                                             ; preds = %7574
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  %.pre1215 = load i32, ptr @test_count, align 4, !tbaa !5
  %.pre1230 = add nsw i32 %.pre1215, 1
  %.phi.trans.insert = getelementptr inbounds i8, ptr %7314, i64 1730
  %.pre1217 = load i16, ptr %.phi.trans.insert, align 2, !tbaa !71
  store i32 %.pre1230, ptr @test_count, align 4, !tbaa !5
  %7600 = getelementptr inbounds i8, ptr %7314, i64 1730
  %7601 = icmp eq i16 %.pre1217, 0
  br i1 %7601, label %7624, label %7602

7602:                                             ; preds = %7393, %7599
  %7603 = load i32, ptr %3600, align 4, !tbaa !5
  %7604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7605 = call i32 @s2n_print_stacktrace(ptr noundef %7604) #12
  %7606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7607 = trunc nuw i8 %7606 to i1
  br i1 %7607, label %7608, label %7612

7608:                                             ; preds = %7602
  %7609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7610 = call i32 @fileno(ptr noundef %7609) #12
  %7611 = call i32 @isatty(i32 noundef %7610) #12
  %.not984 = icmp eq i32 %7611, 0
  br i1 %.not984, label %7612, label %7613

7612:                                             ; preds = %7608, %7602
  br label %7613

7613:                                             ; preds = %7608, %7612
  %.str.5.sink3781 = phi ptr [ @.str.5, %7612 ], [ @.str.2, %7608 ]
  store i32 %7603, ptr %3600, align 4, !tbaa !5
  %7614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7615 = load i32, ptr @test_count, align 4, !tbaa !5
  %7616 = load i32, ptr %3546, align 4, !tbaa !5
  %7617 = call ptr @s2n_strerror(i32 noundef %7616, ptr noundef nonnull @.str.4) #12
  %7618 = load i32, ptr %3546, align 4, !tbaa !5
  %7619 = call ptr @s2n_strerror_debug(i32 noundef %7618, ptr noundef nonnull @.str.4) #12
  %7620 = load i32, ptr %3600, align 4, !tbaa !5
  %7621 = call ptr @strerror(i32 noundef %7620) #12
  %7622 = load i32, ptr %3600, align 4, !tbaa !5
  %7623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7614, ptr noundef nonnull %.str.5.sink3781, i32 noundef %7615, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %7617, ptr noundef %7619, ptr noundef %7621, i32 noundef %7622) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7624:                                             ; preds = %7599
  %7625 = add nsw i32 %.pre1215, 2
  store i32 %7625, ptr @test_count, align 4, !tbaa !5
  %7626 = call i32 @s2n_server_extensions_recv(ptr noundef nonnull %7314, ptr noundef nonnull %28) #12
  %7627 = icmp eq i32 %7626, -1
  br i1 %7627, label %7628, label %7671

7628:                                             ; preds = %7399, %7624
  %7629 = load i32, ptr %3600, align 4, !tbaa !5
  %7630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7631 = call i32 @s2n_print_stacktrace(ptr noundef %7630) #12
  %7632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7633 = trunc nuw i8 %7632 to i1
  br i1 %7633, label %7634, label %7638

7634:                                             ; preds = %7628
  %7635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7636 = call i32 @fileno(ptr noundef %7635) #12
  %7637 = call i32 @isatty(i32 noundef %7636) #12
  %.not989 = icmp eq i32 %7637, 0
  br i1 %.not989, label %7638, label %7639

7638:                                             ; preds = %7634, %7628
  br label %7639

7639:                                             ; preds = %7634, %7638
  %.str.5.sink3790 = phi ptr [ @.str.5, %7638 ], [ @.str.2, %7634 ]
  store i32 %7629, ptr %3600, align 4, !tbaa !5
  %7640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7641 = load i32, ptr @test_count, align 4, !tbaa !5
  %7642 = load i32, ptr %3546, align 4, !tbaa !5
  %7643 = call ptr @s2n_strerror(i32 noundef %7642, ptr noundef nonnull @.str.4) #12
  %7644 = load i32, ptr %3546, align 4, !tbaa !5
  %7645 = call ptr @s2n_strerror_debug(i32 noundef %7644, ptr noundef nonnull @.str.4) #12
  %7646 = load i32, ptr %3600, align 4, !tbaa !5
  %7647 = call ptr @strerror(i32 noundef %7646) #12
  %7648 = load i32, ptr %3600, align 4, !tbaa !5
  %7649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7640, ptr noundef nonnull %.str.5.sink3790, i32 noundef %7641, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 661, ptr noundef %7643, ptr noundef %7645, ptr noundef %7647, i32 noundef %7648) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7650:                                             ; preds = %7403
  %.pre1227 = load i32, ptr %3600, align 4, !tbaa !5
  %7651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7652 = call i32 @s2n_print_stacktrace(ptr noundef %7651) #12
  %7653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7654 = trunc nuw i8 %7653 to i1
  br i1 %7654, label %7655, label %7659

7655:                                             ; preds = %7650
  %7656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7657 = call i32 @fileno(ptr noundef %7656) #12
  %7658 = call i32 @isatty(i32 noundef %7657) #12
  %.not986 = icmp eq i32 %7658, 0
  br i1 %.not986, label %7659, label %7660

7659:                                             ; preds = %7655, %7650
  br label %7660

7660:                                             ; preds = %7655, %7659
  %.str.5.sink3799 = phi ptr [ @.str.5, %7659 ], [ @.str.2, %7655 ]
  store i32 %.pre1227, ptr %3600, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = load i32, ptr %3546, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror(i32 noundef %7663, ptr noundef nonnull @.str.4) #12
  %7665 = load i32, ptr %3546, align 4, !tbaa !5
  %7666 = call ptr @s2n_strerror_debug(i32 noundef %7665, ptr noundef nonnull @.str.4) #12
  %7667 = load i32, ptr %3600, align 4, !tbaa !5
  %7668 = call ptr @strerror(i32 noundef %7667) #12
  %7669 = load i32, ptr %3600, align 4, !tbaa !5
  %7670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef nonnull %.str.5.sink3799, i32 noundef %7662, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 664, ptr noundef %7664, ptr noundef %7666, ptr noundef %7668, i32 noundef %7669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7671:                                             ; preds = %7624
  %7672 = load i32, ptr @test_count, align 4, !tbaa !5
  %7673 = add nsw i32 %7672, 1
  store i32 %7673, ptr @test_count, align 4, !tbaa !5
  %7674 = load i16, ptr %7600, align 2, !tbaa !71
  %7675 = icmp eq i16 %7674, 5
  br i1 %7675, label %7697, label %7676

7676:                                             ; preds = %7671
  %.pre1229 = load i32, ptr %3600, align 4, !tbaa !5
  %7677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7678 = call i32 @s2n_print_stacktrace(ptr noundef %7677) #12
  %7679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7680 = trunc nuw i8 %7679 to i1
  br i1 %7680, label %7681, label %7685

7681:                                             ; preds = %7676
  %7682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7683 = call i32 @fileno(ptr noundef %7682) #12
  %7684 = call i32 @isatty(i32 noundef %7683) #12
  %.not985 = icmp eq i32 %7684, 0
  br i1 %.not985, label %7685, label %7686

7685:                                             ; preds = %7681, %7676
  br label %7686

7686:                                             ; preds = %7681, %7685
  %.str.5.sink3808 = phi ptr [ @.str.5, %7685 ], [ @.str.2, %7681 ]
  store i32 %.pre1229, ptr %3600, align 4, !tbaa !5
  %7687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7688 = load i32, ptr @test_count, align 4, !tbaa !5
  %7689 = load i32, ptr %3546, align 4, !tbaa !5
  %7690 = call ptr @s2n_strerror(i32 noundef %7689, ptr noundef nonnull @.str.4) #12
  %7691 = load i32, ptr %3546, align 4, !tbaa !5
  %7692 = call ptr @s2n_strerror_debug(i32 noundef %7691, ptr noundef nonnull @.str.4) #12
  %7693 = load i32, ptr %3600, align 4, !tbaa !5
  %7694 = call ptr @strerror(i32 noundef %7693) #12
  %7695 = load i32, ptr %3600, align 4, !tbaa !5
  %7696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7687, ptr noundef nonnull %.str.5.sink3808, i32 noundef %7688, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 666, ptr noundef %7690, ptr noundef %7692, ptr noundef %7694, i32 noundef %7695) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7697:                                             ; preds = %7671
  %7698 = add nsw i32 %7672, 2
  store i32 %7698, ptr @test_count, align 4, !tbaa !5
  %7699 = call i32 @s2n_connection_free(ptr noundef nonnull %7314) #12
  %7700 = icmp eq i32 %7699, -1
  br i1 %7700, label %7701, label %7723

7701:                                             ; preds = %7408, %7697
  %7702 = load i32, ptr %3600, align 4, !tbaa !5
  %7703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7704 = call i32 @s2n_print_stacktrace(ptr noundef %7703) #12
  %7705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7706 = trunc nuw i8 %7705 to i1
  br i1 %7706, label %7707, label %7711

7707:                                             ; preds = %7701
  %7708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7709 = call i32 @fileno(ptr noundef %7708) #12
  %7710 = call i32 @isatty(i32 noundef %7709) #12
  %.not988 = icmp eq i32 %7710, 0
  br i1 %.not988, label %7711, label %7712

7711:                                             ; preds = %7707, %7701
  br label %7712

7712:                                             ; preds = %7707, %7711
  %.str.5.sink3817 = phi ptr [ @.str.5, %7711 ], [ @.str.2, %7707 ]
  store i32 %7702, ptr %3600, align 4, !tbaa !5
  %7713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7714 = load i32, ptr @test_count, align 4, !tbaa !5
  %7715 = load i32, ptr %3546, align 4, !tbaa !5
  %7716 = call ptr @s2n_strerror(i32 noundef %7715, ptr noundef nonnull @.str.4) #12
  %7717 = load i32, ptr %3546, align 4, !tbaa !5
  %7718 = call ptr @s2n_strerror_debug(i32 noundef %7717, ptr noundef nonnull @.str.4) #12
  %7719 = load i32, ptr %3600, align 4, !tbaa !5
  %7720 = call ptr @strerror(i32 noundef %7719) #12
  %7721 = load i32, ptr %3600, align 4, !tbaa !5
  %7722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7713, ptr noundef nonnull %.str.5.sink3817, i32 noundef %7714, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 669, ptr noundef %7716, ptr noundef %7718, ptr noundef %7720, i32 noundef %7721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7723:                                             ; preds = %7697
  %7724 = load i32, ptr @test_count, align 4, !tbaa !5
  %7725 = add nsw i32 %7724, 1
  store i32 %7725, ptr @test_count, align 4, !tbaa !5
  %7726 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %28) #12
  %7727 = icmp eq i32 %7726, -1
  br i1 %7727, label %7728, label %.preheader1204.1

7728:                                             ; preds = %7412, %7723
  %7729 = load i32, ptr %3600, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = call i32 @s2n_print_stacktrace(ptr noundef %7730) #12
  %7732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7733 = trunc nuw i8 %7732 to i1
  br i1 %7733, label %7734, label %7738

7734:                                             ; preds = %7728
  %7735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7736 = call i32 @fileno(ptr noundef %7735) #12
  %7737 = call i32 @isatty(i32 noundef %7736) #12
  %.not987 = icmp eq i32 %7737, 0
  br i1 %.not987, label %7738, label %7739

7738:                                             ; preds = %7734, %7728
  br label %7739

7739:                                             ; preds = %7734, %7738
  %.str.5.sink3826 = phi ptr [ @.str.5, %7738 ], [ @.str.2, %7734 ]
  store i32 %7729, ptr %3600, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = load i32, ptr %3546, align 4, !tbaa !5
  %7743 = call ptr @s2n_strerror(i32 noundef %7742, ptr noundef nonnull @.str.4) #12
  %7744 = load i32, ptr %3546, align 4, !tbaa !5
  %7745 = call ptr @s2n_strerror_debug(i32 noundef %7744, ptr noundef nonnull @.str.4) #12
  %7746 = load i32, ptr %3600, align 4, !tbaa !5
  %7747 = call ptr @strerror(i32 noundef %7746) #12
  %7748 = load i32, ptr %3600, align 4, !tbaa !5
  %7749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef nonnull %.str.5.sink3826, i32 noundef %7741, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %7743, ptr noundef %7745, ptr noundef %7747, i32 noundef %7748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7750:                                             ; preds = %7417
  %7751 = load i32, ptr %3600, align 4, !tbaa !5
  %7752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7753 = call i32 @s2n_print_stacktrace(ptr noundef %7752) #12
  %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) #12
  %7759 = call i32 @isatty(i32 noundef %7758) #12
  %.not981 = icmp eq i32 %7759, 0
  br i1 %.not981, label %7760, label %7761

7760:                                             ; preds = %7756, %7750
  br label %7761

7761:                                             ; preds = %7756, %7760
  %.str.5.sink3835 = phi ptr [ @.str.5, %7760 ], [ @.str.2, %7756 ]
  store i32 %7751, ptr %3600, 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 %3546, align 4, !tbaa !5
  %7765 = call ptr @s2n_strerror(i32 noundef %7764, ptr noundef nonnull @.str.4) #12
  %7766 = load i32, ptr %3546, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror_debug(i32 noundef %7766, ptr noundef nonnull @.str.4) #12
  %7768 = load i32, ptr %3600, align 4, !tbaa !5
  %7769 = call ptr @strerror(i32 noundef %7768) #12
  %7770 = load i32, ptr %3600, align 4, !tbaa !5
  %7771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7762, ptr noundef nonnull %.str.5.sink3835, i32 noundef %7763, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %7765, ptr noundef %7767, ptr noundef %7769, i32 noundef %7770) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7772:                                             ; preds = %7417
  %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 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %7776 = icmp eq i32 %7775, -1
  br i1 %7776, label %7777, label %7799

7777:                                             ; preds = %7772
  %7778 = load i32, ptr %3600, align 4, !tbaa !5
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = call i32 @s2n_print_stacktrace(ptr noundef %7779) #12
  %7781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7782 = trunc nuw i8 %7781 to i1
  br i1 %7782, label %7783, label %7787

7783:                                             ; preds = %7777
  %7784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7785 = call i32 @fileno(ptr noundef %7784) #12
  %7786 = call i32 @isatty(i32 noundef %7785) #12
  %.not980 = icmp eq i32 %7786, 0
  br i1 %.not980, label %7787, label %7788

7787:                                             ; preds = %7783, %7777
  br label %7788

7788:                                             ; preds = %7783, %7787
  %.str.5.sink3844 = phi ptr [ @.str.5, %7787 ], [ @.str.2, %7783 ]
  store i32 %7778, ptr %3600, align 4, !tbaa !5
  %7789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7790 = load i32, ptr @test_count, align 4, !tbaa !5
  %7791 = load i32, ptr %3546, align 4, !tbaa !5
  %7792 = call ptr @s2n_strerror(i32 noundef %7791, ptr noundef nonnull @.str.4) #12
  %7793 = load i32, ptr %3546, align 4, !tbaa !5
  %7794 = call ptr @s2n_strerror_debug(i32 noundef %7793, ptr noundef nonnull @.str.4) #12
  %7795 = load i32, ptr %3600, align 4, !tbaa !5
  %7796 = call ptr @strerror(i32 noundef %7795) #12
  %7797 = load i32, ptr %3600, align 4, !tbaa !5
  %7798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7789, ptr noundef nonnull %.str.5.sink3844, i32 noundef %7790, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 675, ptr noundef %7792, ptr noundef %7794, ptr noundef %7796, i32 noundef %7797) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7799:                                             ; preds = %7772
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %22) #12
  %7800 = load i32, ptr @test_count, align 4, !tbaa !5
  %7801 = add nsw i32 %7800, 1
  store i32 %7801, ptr @test_count, align 4, !tbaa !5
  %7802 = load ptr, ptr %3, align 8, !tbaa !9
  %7803 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %7802) #12
  %7804 = icmp eq i32 %7803, -1
  br i1 %7804, label %7805, label %7827

7805:                                             ; preds = %7799
  %7806 = load i32, ptr %3600, align 4, !tbaa !5
  %7807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7808 = call i32 @s2n_print_stacktrace(ptr noundef %7807) #12
  %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) #12
  %7814 = call i32 @isatty(i32 noundef %7813) #12
  %.not979 = icmp eq i32 %7814, 0
  br i1 %.not979, label %7815, label %7816

7815:                                             ; preds = %7811, %7805
  br label %7816

7816:                                             ; preds = %7811, %7815
  %.str.5.sink3853 = phi ptr [ @.str.5, %7815 ], [ @.str.2, %7811 ]
  store i32 %7806, ptr %3600, 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 %3546, align 4, !tbaa !5
  %7820 = call ptr @s2n_strerror(i32 noundef %7819, ptr noundef nonnull @.str.4) #12
  %7821 = load i32, ptr %3546, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror_debug(i32 noundef %7821, ptr noundef nonnull @.str.4) #12
  %7823 = load i32, ptr %3600, align 4, !tbaa !5
  %7824 = call ptr @strerror(i32 noundef %7823) #12
  %7825 = load i32, ptr %3600, align 4, !tbaa !5
  %7826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7817, ptr noundef nonnull %.str.5.sink3853, i32 noundef %7818, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 678, ptr noundef %7820, ptr noundef %7822, ptr noundef %7824, i32 noundef %7825) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7827:                                             ; preds = %7799
  %7828 = call i32 @s2n_cleanup() #12
  %7829 = icmp eq i32 %7828, -1
  br i1 %7829, label %7830, label %7852

7830:                                             ; preds = %7827
  %7831 = load i32, ptr %3600, align 4, !tbaa !5
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = call i32 @s2n_print_stacktrace(ptr noundef %7832) #12
  %7834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7835 = trunc nuw i8 %7834 to i1
  br i1 %7835, label %7836, label %7840

7836:                                             ; preds = %7830
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = call i32 @fileno(ptr noundef %7837) #12
  %7839 = call i32 @isatty(i32 noundef %7838) #12
  %.not978 = icmp eq i32 %7839, 0
  br i1 %.not978, label %7840, label %7841

7840:                                             ; preds = %7836, %7830
  br label %7841

7841:                                             ; preds = %7836, %7840
  %.str.5.sink3862 = phi ptr [ @.str.5, %7840 ], [ @.str.2, %7836 ]
  store i32 %7831, ptr %3600, align 4, !tbaa !5
  %7842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7843 = load i32, ptr @test_count, align 4, !tbaa !5
  %7844 = load i32, ptr %3546, align 4, !tbaa !5
  %7845 = call ptr @s2n_strerror(i32 noundef %7844, ptr noundef nonnull @.str.4) #12
  %7846 = load i32, ptr %3546, align 4, !tbaa !5
  %7847 = call ptr @s2n_strerror_debug(i32 noundef %7846, ptr noundef nonnull @.str.4) #12
  %7848 = load i32, ptr %3600, align 4, !tbaa !5
  %7849 = call ptr @strerror(i32 noundef %7848) #12
  %7850 = load i32, ptr %3600, align 4, !tbaa !5
  %7851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7842, ptr noundef nonnull %.str.5.sink3862, i32 noundef %7843, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 680, ptr noundef %7845, ptr noundef %7847, ptr noundef %7849, i32 noundef %7850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7852:                                             ; preds = %7827
  %7853 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %7854 = icmp eq i32 %7853, -1
  br i1 %7854, label %7855, label %7877

7855:                                             ; preds = %7852
  %7856 = load i32, ptr %3600, align 4, !tbaa !5
  %7857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7858 = call i32 @s2n_print_stacktrace(ptr noundef %7857) #12
  %7859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7860 = trunc nuw i8 %7859 to i1
  br i1 %7860, label %7861, label %7865

7861:                                             ; preds = %7855
  %7862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7863 = call i32 @fileno(ptr noundef %7862) #12
  %7864 = call i32 @isatty(i32 noundef %7863) #12
  %.not977 = icmp eq i32 %7864, 0
  br i1 %.not977, label %7865, label %7866

7865:                                             ; preds = %7861, %7855
  br label %7866

7866:                                             ; preds = %7861, %7865
  %.str.5.sink3871 = phi ptr [ @.str.5, %7865 ], [ @.str.2, %7861 ]
  store i32 %7856, ptr %3600, align 4, !tbaa !5
  %7867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7868 = load i32, ptr @test_count, align 4, !tbaa !5
  %7869 = load i32, ptr %3546, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror(i32 noundef %7869, ptr noundef nonnull @.str.4) #12
  %7871 = load i32, ptr %3546, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror_debug(i32 noundef %7871, ptr noundef nonnull @.str.4) #12
  %7873 = load i32, ptr %3600, align 4, !tbaa !5
  %7874 = call ptr @strerror(i32 noundef %7873) #12
  %7875 = load i32, ptr %3600, align 4, !tbaa !5
  %7876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7867, ptr noundef nonnull %.str.5.sink3871, i32 noundef %7868, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 680, ptr noundef %7870, ptr noundef %7872, ptr noundef %7874, i32 noundef %7875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7877:                                             ; preds = %7852
  %7878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7879 = trunc nuw i8 %7878 to i1
  br i1 %7879, label %7880, label %7891

7880:                                             ; preds = %7877
  %7881 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7882 = call i32 @fileno(ptr noundef %7881) #12
  %7883 = call i32 @isatty(i32 noundef %7882) #12
  %.not974 = icmp eq i32 %7883, 0
  br i1 %.not974, label %7891, label %7884

7884:                                             ; preds = %7880
  %7885 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not976 = icmp eq i32 %7885, 0
  %7886 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not976, label %7889, label %7887

7887:                                             ; preds = %7884
  %7888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7886, ptr noundef nonnull @.str.99, i32 noundef %7885) #12
  br label %7898

7889:                                             ; preds = %7884
  %7890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7886, ptr noundef nonnull @.str.100) #12
  br label %7898

7891:                                             ; preds = %7880, %7877
  %7892 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not975 = icmp eq i32 %7892, 0
  %7893 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not975, label %7896, label %7894

7894:                                             ; preds = %7891
  %7895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7893, ptr noundef nonnull @.str.101, i32 noundef %7892) #12
  br label %7898

7896:                                             ; preds = %7891
  %7897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7893, ptr noundef nonnull @.str.102) #12
  br label %7898

7898:                                             ; preds = %7894, %7896, %7887, %7889
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #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

declare i32 @s2n_disable_tls13_in_test(...) 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_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_server_extensions_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_server_extensions_recv(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_enable_tls13_in_test(...) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strcpy(ptr noalias noundef returned writeonly, ptr noalias nocapture noundef readonly) local_unnamed_addr #8

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #9

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_allow_response_extension(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_connection_get_ecc_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_extensions_server_key_share_send_size(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_set_cipher_as_tls_server(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_connection_allow_all_response_extensions(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_conn_choose_state_machine(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_set_connection_hello_retry_flags(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_extension_list_parse(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_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_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_reserve_uint16(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_extension_send(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_mark_extension_received(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_array_pushback(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_reread(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #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 = { 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 nofree nounwind willreturn memory(argmem: readwrite) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { mustprogress 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 #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { 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 #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }
attributes #16 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 28}
!16 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !6, i64 24}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !7, i64 2232}
!21 = !{!"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, !22, i64 160, !23, i64 168, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !30, i64 1144, !33, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !16, i64 1776, !16, i64 1816, !16, i64 1856, !16, i64 1896, !6, i64 1936, !23, i64 1944, !7, i64 1952, !16, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !36, i64 2004, !36, i64 2008, !37, i64 2016, !35, i64 2208, !6, i64 2212, !35, i64 2216, !23, i64 2224, !7, i64 2232, !23, i64 2240, !23, i64 2248, !23, i64 2256, !36, i64 2264, !36, 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, !39, i64 2896, !41, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !43, i64 3816, !7, i64 3848, !16, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !35, i64 4084, !35, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !44, i64 4128, !36, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !17, i64 448, !17, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!30 = !{!"s2n_handshake_parameters", !31, i64 0, !31, i64 48, !17, i64 96, !6, i64 120, !32, 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}
!31 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!32 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!33 = !{!"s2n_psk_parameters", !6, i64 0, !34, i64 8, !35, i64 40, !35, i64 42, !10, i64 48, !6, i64 56}
!34 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!35 = !{!"short", !7, i64 0}
!36 = !{!"", !6, i64 0}
!37 = !{!"s2n_handshake", !16, 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, !38, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!38 = !{!"s2n_offered_early_data", !10, i64 0}
!39 = !{!"s2n_client_hello", !17, i64 0, !40, 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}
!40 = !{!"", !7, i64 0, !17, i64 672, !35, i64 696}
!41 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !35, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !42, i64 48, !12, i64 52}
!42 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!43 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!44 = !{!"s2n_post_handshake", !16, i64 0, !7, i64 40}
!45 = !{!21, !6, i64 2816}
!46 = !{!21, !10, i64 1544}
!47 = !{!21, !6, i64 2784}
!48 = !{!21, !10, i64 8}
!49 = !{!21, !6, i64 3780}
!50 = !{!51, !35, i64 0}
!51 = !{!"", !35, i64 0, !6, i64 2, !35, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!52 = !{!53, !10, i64 8}
!53 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!54 = !{!21, !10, i64 656}
!55 = !{!21, !7, i64 220}
!56 = !{!21, !10, i64 704}
!57 = !{!58, !10, i64 8}
!58 = !{!"s2n_cipher_preferences", !35, i64 0, !10, i64 8, !12, i64 16}
!59 = !{!58, !35, i64 0}
!60 = !{!21, !7, i64 218}
!61 = !{!21, !10, i64 1736}
!62 = !{!21, !10, i64 232}
!63 = !{!64, !10, i64 0}
!64 = !{!"s2n_crypto_parameters", !10, i64 0, !65, i64 8, !65, i64 16, !66, i64 24, !66, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!65 = !{!"s2n_session_key", !10, i64 0}
!66 = !{!"s2n_hmac_state", !6, i64 0, !35, i64 4, !6, i64 8, !35, i64 12, !7, i64 14, !67, i64 16, !67, i64 72, !67, i64 128, !67, i64 184, !7, i64 240, !7, i64 368}
!67 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !23, i64 16, !7, i64 24}
!68 = !{!69, !35, i64 24}
!69 = !{!"", !17, i64 0, !35, i64 24, !35, i64 26, !6, i64 28}
!70 = !{!21, !7, i64 219}
!71 = !{!21, !35, i64 1730}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass