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

@s2n_use_color_in_output = external dso_local global i8, align 1
@__const.main.aes128_key = external hidden unnamed_addr constant [16 x i8], align 16
@__const.main.aes256_key = external hidden unnamed_addr constant [32 x i8], align 16
@test_count = external dso_local global i32, align 4
@stderr = external global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [76 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [80 x i8], align 1
@stdout = external global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [62 x i8], align 1
@s2n_record_alg_aes128_gcm = external constant %struct.s2n_record_algorithm, align 8
@.str.14 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [54 x i8], align 1
@s2n_record_alg_aes256_gcm = external constant %struct.s2n_record_algorithm, align 8
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.50 = 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 ptr, align 8
  %7 = alloca [1436 x i8], align 16
  %8 = alloca [16 x i8], align 16
  %9 = alloca [32 x i8], align 16
  %10 = alloca %struct.s2n_blob, align 8
  %11 = alloca i32, align 4
  %12 = alloca %struct.s2n_blob, align 8
  %13 = alloca i32, align 4
  %14 = alloca %struct.s2n_blob, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_result, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i64, align 8
  %26 = alloca i32, align 4
  %27 = alloca %struct.s2n_blob, align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %struct.s2n_result, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i16, align 2
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i8, align 1
  %53 = alloca i16, align 2
  %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 %struct.s2n_result, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i64, align 8
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca %struct.s2n_result, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i64, align 8
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %struct.s2n_result, 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 i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i64, align 8
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca %struct.s2n_result, 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 i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i64, align 8
  %133 = alloca %struct.s2n_blob, align 8
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca %struct.s2n_result, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i16, align 2
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i8, align 1
  %159 = alloca i16, align 2
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %struct.s2n_result, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i64, align 8
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca %struct.s2n_result, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %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 i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i64, align 8
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %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 i64, align 8
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca %struct.s2n_result, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca 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
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #11
  store ptr null, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1436, ptr %7) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %8, ptr align 16 @__const.main.aes128_key, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %9, ptr align 16 @__const.main.aes256_key, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #11
  call void @llvm.memset.p0.i64(ptr align 8 %10, i8 0, i64 24, i1 false)
  br label %237

237:                                              ; preds = %2
  %238 = load i32, ptr @test_count, align 4, !tbaa !5
  %239 = add nsw i32 %238, 1
  store i32 %239, ptr @test_count, align 4, !tbaa !5
  %240 = getelementptr inbounds [16 x i8], ptr %8, i64 0, i64 0
  %241 = call i32 @s2n_blob_init(ptr noundef %10, ptr noundef %240, i32 noundef 16)
  %242 = icmp eq i32 %241, -1
  br i1 %242, label %243, label %296

243:                                              ; preds = %237
  br label %244

244:                                              ; preds = %243
  br label %245

245:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %246 = call ptr @__errno_location() #12
  %247 = load i32, ptr %246, align 4, !tbaa !5
  store i32 %247, ptr %11, align 4, !tbaa !5
  %248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %249 = call i32 @s2n_print_stacktrace(ptr noundef %248)
  %250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %251 = trunc i8 %250 to i1
  br i1 %251, label %252, label %274

252:                                              ; preds = %245
  %253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %254 = call i32 @fileno(ptr noundef %253) #11
  %255 = call i32 @isatty(i32 noundef %254) #11
  %256 = icmp ne i32 %255, 0
  br i1 %256, label %257, label %274

257:                                              ; preds = %252
  %258 = load i32, ptr %11, align 4, !tbaa !5
  %259 = call ptr @__errno_location() #12
  store i32 %258, ptr %259, align 4, !tbaa !5
  %260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %261 = load i32, ptr @test_count, align 4, !tbaa !5
  %262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %263 = load i32, ptr %262, align 4, !tbaa !5
  %264 = call ptr @s2n_strerror(i32 noundef %263, ptr noundef @.str.3)
  %265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %266 = load i32, ptr %265, align 4, !tbaa !5
  %267 = call ptr @s2n_strerror_debug(i32 noundef %266, ptr noundef @.str.3)
  %268 = call ptr @__errno_location() #12
  %269 = load i32, ptr %268, align 4, !tbaa !5
  %270 = call ptr @strerror(i32 noundef %269) #11
  %271 = call ptr @__errno_location() #12
  %272 = load i32, ptr %271, align 4, !tbaa !5
  %273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %260, ptr noundef @.str, i32 noundef %261, ptr noundef @.str.1, ptr noundef @.str.2, i32 noundef 55, ptr noundef %264, ptr noundef %267, ptr noundef %270, i32 noundef %272) #11
  br label %291

274:                                              ; preds = %252, %245
  %275 = load i32, ptr %11, align 4, !tbaa !5
  %276 = call ptr @__errno_location() #12
  store i32 %275, ptr %276, align 4, !tbaa !5
  %277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %278 = load i32, ptr @test_count, align 4, !tbaa !5
  %279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %280 = load i32, ptr %279, align 4, !tbaa !5
  %281 = call ptr @s2n_strerror(i32 noundef %280, ptr noundef @.str.3)
  %282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %283 = load i32, ptr %282, align 4, !tbaa !5
  %284 = call ptr @s2n_strerror_debug(i32 noundef %283, ptr noundef @.str.3)
  %285 = call ptr @__errno_location() #12
  %286 = load i32, ptr %285, align 4, !tbaa !5
  %287 = call ptr @strerror(i32 noundef %286) #11
  %288 = call ptr @__errno_location() #12
  %289 = load i32, ptr %288, align 4, !tbaa !5
  %290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %277, ptr noundef @.str.4, i32 noundef %278, ptr noundef @.str.1, ptr noundef @.str.2, i32 noundef 55, ptr noundef %281, ptr noundef %284, ptr noundef %287, i32 noundef %289) #11
  br label %291

291:                                              ; preds = %274, %257
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %292

292:                                              ; preds = %291
  br label %293

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

294:                                              ; No predecessors!
  br label %295

295:                                              ; preds = %294
  br label %296

296:                                              ; preds = %295, %237
  br label %297

297:                                              ; preds = %296
  br label %298

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #11
  call void @llvm.memset.p0.i64(ptr align 8 %12, i8 0, i64 24, i1 false)
  br label %299

299:                                              ; preds = %298
  %300 = load i32, ptr @test_count, align 4, !tbaa !5
  %301 = add nsw i32 %300, 1
  store i32 %301, ptr @test_count, align 4, !tbaa !5
  %302 = getelementptr inbounds [32 x i8], ptr %9, i64 0, i64 0
  %303 = call i32 @s2n_blob_init(ptr noundef %12, ptr noundef %302, i32 noundef 32)
  %304 = icmp eq i32 %303, -1
  br i1 %304, label %305, label %358

305:                                              ; preds = %299
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %308 = call ptr @__errno_location() #12
  %309 = load i32, ptr %308, align 4, !tbaa !5
  store i32 %309, ptr %13, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @s2n_print_stacktrace(ptr noundef %310)
  %312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %313 = trunc i8 %312 to i1
  br i1 %313, label %314, label %336

314:                                              ; preds = %307
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @fileno(ptr noundef %315) #11
  %317 = call i32 @isatty(i32 noundef %316) #11
  %318 = icmp ne i32 %317, 0
  br i1 %318, label %319, label %336

319:                                              ; preds = %314
  %320 = load i32, ptr %13, align 4, !tbaa !5
  %321 = call ptr @__errno_location() #12
  store i32 %320, ptr %321, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror(i32 noundef %325, ptr noundef @.str.3)
  %327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror_debug(i32 noundef %328, ptr noundef @.str.3)
  %330 = call ptr @__errno_location() #12
  %331 = load i32, ptr %330, align 4, !tbaa !5
  %332 = call ptr @strerror(i32 noundef %331) #11
  %333 = call ptr @__errno_location() #12
  %334 = load i32, ptr %333, align 4, !tbaa !5
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %322, ptr noundef @.str, i32 noundef %323, ptr noundef @.str.5, ptr noundef @.str.2, i32 noundef 57, ptr noundef %326, ptr noundef %329, ptr noundef %332, i32 noundef %334) #11
  br label %353

336:                                              ; preds = %314, %307
  %337 = load i32, ptr %13, align 4, !tbaa !5
  %338 = call ptr @__errno_location() #12
  store i32 %337, ptr %338, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = call ptr @s2n_strerror(i32 noundef %342, ptr noundef @.str.3)
  %344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %345 = load i32, ptr %344, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror_debug(i32 noundef %345, ptr noundef @.str.3)
  %347 = call ptr @__errno_location() #12
  %348 = load i32, ptr %347, align 4, !tbaa !5
  %349 = call ptr @strerror(i32 noundef %348) #11
  %350 = call ptr @__errno_location() #12
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %339, ptr noundef @.str.4, i32 noundef %340, ptr noundef @.str.5, ptr noundef @.str.2, i32 noundef 57, ptr noundef %343, ptr noundef %346, ptr noundef %349, i32 noundef %351) #11
  br label %353

353:                                              ; preds = %336, %319
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %354

354:                                              ; preds = %353
  br label %355

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

356:                                              ; No predecessors!
  br label %357

357:                                              ; preds = %356
  br label %358

358:                                              ; preds = %357, %299
  br label %359

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #11
  call void @llvm.memset.p0.i64(ptr align 8 %14, i8 0, i64 24, i1 false)
  br label %361

361:                                              ; preds = %360
  %362 = load i32, ptr @test_count, align 4, !tbaa !5
  %363 = add nsw i32 %362, 1
  store i32 %363, ptr @test_count, align 4, !tbaa !5
  %364 = getelementptr inbounds [1436 x i8], ptr %7, i64 0, i64 0
  %365 = call i32 @s2n_blob_init(ptr noundef %14, ptr noundef %364, i32 noundef 1436)
  %366 = icmp eq i32 %365, -1
  br i1 %366, label %367, label %420

367:                                              ; preds = %361
  br label %368

368:                                              ; preds = %367
  br label %369

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

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

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

398:                                              ; preds = %376, %369
  %399 = load i32, ptr %15, align 4, !tbaa !5
  %400 = call ptr @__errno_location() #12
  store i32 %399, ptr %400, 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 @.str.3)
  %406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %407 = load i32, ptr %406, align 4, !tbaa !5
  %408 = call ptr @s2n_strerror_debug(i32 noundef %407, ptr noundef @.str.3)
  %409 = call ptr @__errno_location() #12
  %410 = load i32, ptr %409, align 4, !tbaa !5
  %411 = call ptr @strerror(i32 noundef %410) #11
  %412 = call ptr @__errno_location() #12
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %401, ptr noundef @.str.4, i32 noundef %402, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 59, ptr noundef %405, ptr noundef %408, ptr noundef %411, i32 noundef %413) #11
  br label %415

415:                                              ; preds = %398, %381
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %416

416:                                              ; preds = %415
  br label %417

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

418:                                              ; No predecessors!
  br label %419

419:                                              ; preds = %418
  br label %420

420:                                              ; preds = %419, %361
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422
  br label %424

424:                                              ; preds = %423
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %425 = load ptr, ptr @stdout, align 8, !tbaa !9
  %426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %425, ptr noundef @.str.7, ptr noundef @.str.2) #11
  %427 = load ptr, ptr @stdout, align 8, !tbaa !9
  %428 = call i32 @fflush(ptr noundef %427)
  br label %429

429:                                              ; preds = %424
  %430 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %431 = icmp eq i32 %430, -1
  br i1 %431, label %432, label %485

432:                                              ; preds = %429
  br label %433

433:                                              ; preds = %432
  br label %434

434:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %435 = call ptr @__errno_location() #12
  %436 = load i32, ptr %435, align 4, !tbaa !5
  store i32 %436, ptr %16, align 4, !tbaa !5
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = call i32 @s2n_print_stacktrace(ptr noundef %437)
  %439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %440 = trunc i8 %439 to i1
  br i1 %440, label %441, label %463

441:                                              ; preds = %434
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = call i32 @fileno(ptr noundef %442) #11
  %444 = call i32 @isatty(i32 noundef %443) #11
  %445 = icmp ne i32 %444, 0
  br i1 %445, label %446, label %463

446:                                              ; preds = %441
  %447 = load i32, ptr %16, align 4, !tbaa !5
  %448 = call ptr @__errno_location() #12
  store i32 %447, ptr %448, align 4, !tbaa !5
  %449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %450 = load i32, ptr @test_count, align 4, !tbaa !5
  %451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror(i32 noundef %452, ptr noundef @.str.3)
  %454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = call ptr @s2n_strerror_debug(i32 noundef %455, ptr noundef @.str.3)
  %457 = call ptr @__errno_location() #12
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = call ptr @strerror(i32 noundef %458) #11
  %460 = call ptr @__errno_location() #12
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %449, ptr noundef @.str, i32 noundef %450, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 61, ptr noundef %453, ptr noundef %456, ptr noundef %459, i32 noundef %461) #11
  br label %480

463:                                              ; preds = %441, %434
  %464 = load i32, ptr %16, align 4, !tbaa !5
  %465 = call ptr @__errno_location() #12
  store i32 %464, ptr %465, align 4, !tbaa !5
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = load i32, ptr @test_count, align 4, !tbaa !5
  %468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror(i32 noundef %469, ptr noundef @.str.3)
  %471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call ptr @s2n_strerror_debug(i32 noundef %472, ptr noundef @.str.3)
  %474 = call ptr @__errno_location() #12
  %475 = load i32, ptr %474, align 4, !tbaa !5
  %476 = call ptr @strerror(i32 noundef %475) #11
  %477 = call ptr @__errno_location() #12
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef @.str.4, i32 noundef %467, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 61, ptr noundef %470, ptr noundef %473, ptr noundef %476, i32 noundef %478) #11
  br label %480

480:                                              ; preds = %463, %446
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %481

481:                                              ; preds = %480
  br label %482

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

483:                                              ; No predecessors!
  br label %484

484:                                              ; preds = %483
  br label %485

485:                                              ; preds = %484, %429
  br label %486

486:                                              ; preds = %485
  br label %487

487:                                              ; preds = %486
  br label %488

488:                                              ; preds = %487
  %489 = load i32, ptr @test_count, align 4, !tbaa !5
  %490 = add nsw i32 %489, 1
  store i32 %490, ptr @test_count, align 4, !tbaa !5
  %491 = call i32 @s2n_enable_atexit()
  %492 = icmp eq i32 %491, -1
  br i1 %492, label %493, label %546

493:                                              ; preds = %488
  br label %494

494:                                              ; preds = %493
  br label %495

495:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %496 = call ptr @__errno_location() #12
  %497 = load i32, ptr %496, align 4, !tbaa !5
  store i32 %497, ptr %17, align 4, !tbaa !5
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = call i32 @s2n_print_stacktrace(ptr noundef %498)
  %500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %501 = trunc i8 %500 to i1
  br i1 %501, label %502, label %524

502:                                              ; preds = %495
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = call i32 @fileno(ptr noundef %503) #11
  %505 = call i32 @isatty(i32 noundef %504) #11
  %506 = icmp ne i32 %505, 0
  br i1 %506, label %507, label %524

507:                                              ; preds = %502
  %508 = load i32, ptr %17, align 4, !tbaa !5
  %509 = call ptr @__errno_location() #12
  store i32 %508, ptr %509, align 4, !tbaa !5
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = load i32, ptr @test_count, align 4, !tbaa !5
  %512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %513 = load i32, ptr %512, align 4, !tbaa !5
  %514 = call ptr @s2n_strerror(i32 noundef %513, ptr noundef @.str.3)
  %515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %516 = load i32, ptr %515, align 4, !tbaa !5
  %517 = call ptr @s2n_strerror_debug(i32 noundef %516, ptr noundef @.str.3)
  %518 = call ptr @__errno_location() #12
  %519 = load i32, ptr %518, align 4, !tbaa !5
  %520 = call ptr @strerror(i32 noundef %519) #11
  %521 = call ptr @__errno_location() #12
  %522 = load i32, ptr %521, align 4, !tbaa !5
  %523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %510, ptr noundef @.str, i32 noundef %511, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 61, ptr noundef %514, ptr noundef %517, ptr noundef %520, i32 noundef %522) #11
  br label %541

524:                                              ; preds = %502, %495
  %525 = load i32, ptr %17, align 4, !tbaa !5
  %526 = call ptr @__errno_location() #12
  store i32 %525, ptr %526, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = load i32, ptr @test_count, align 4, !tbaa !5
  %529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror(i32 noundef %530, ptr noundef @.str.3)
  %532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %533 = load i32, ptr %532, align 4, !tbaa !5
  %534 = call ptr @s2n_strerror_debug(i32 noundef %533, ptr noundef @.str.3)
  %535 = call ptr @__errno_location() #12
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = call ptr @strerror(i32 noundef %536) #11
  %538 = call ptr @__errno_location() #12
  %539 = load i32, ptr %538, align 4, !tbaa !5
  %540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %527, ptr noundef @.str.4, i32 noundef %528, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 61, ptr noundef %531, ptr noundef %534, ptr noundef %537, i32 noundef %539) #11
  br label %541

541:                                              ; preds = %524, %507
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %542

542:                                              ; preds = %541
  br label %543

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

544:                                              ; No predecessors!
  br label %545

545:                                              ; preds = %544
  br label %546

546:                                              ; preds = %545, %488
  br label %547

547:                                              ; preds = %546
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  br label %550

550:                                              ; preds = %549
  br label %551

551:                                              ; preds = %550
  %552 = call i32 @s2n_init()
  %553 = icmp eq i32 %552, -1
  br i1 %553, label %554, label %607

554:                                              ; preds = %551
  br label %555

555:                                              ; preds = %554
  br label %556

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

563:                                              ; preds = %556
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = call i32 @fileno(ptr noundef %564) #11
  %566 = call i32 @isatty(i32 noundef %565) #11
  %567 = icmp ne i32 %566, 0
  br i1 %567, label %568, label %585

568:                                              ; preds = %563
  %569 = load i32, ptr %18, align 4, !tbaa !5
  %570 = call ptr @__errno_location() #12
  store i32 %569, ptr %570, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = load i32, ptr @test_count, align 4, !tbaa !5
  %573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = call ptr @s2n_strerror(i32 noundef %574, ptr noundef @.str.3)
  %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_debug(i32 noundef %577, ptr noundef @.str.3)
  %579 = call ptr @__errno_location() #12
  %580 = load i32, ptr %579, align 4, !tbaa !5
  %581 = call ptr @strerror(i32 noundef %580) #11
  %582 = call ptr @__errno_location() #12
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef @.str, i32 noundef %572, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 61, ptr noundef %575, ptr noundef %578, ptr noundef %581, i32 noundef %583) #11
  br label %602

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

602:                                              ; preds = %585, %568
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %603

603:                                              ; preds = %602
  br label %604

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

605:                                              ; No predecessors!
  br label %606

606:                                              ; preds = %605
  br label %607

607:                                              ; preds = %606, %551
  br label %608

608:                                              ; preds = %607
  br label %609

609:                                              ; preds = %608
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = add nsw i32 %613, 1
  store i32 %614, ptr @test_count, align 4, !tbaa !5
  %615 = call i32 (...) @s2n_disable_tls13_in_test()
  %616 = icmp eq i32 %615, -1
  br i1 %616, label %617, label %670

617:                                              ; preds = %612
  br label %618

618:                                              ; preds = %617
  br label %619

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

626:                                              ; preds = %619
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @fileno(ptr noundef %627) #11
  %629 = call i32 @isatty(i32 noundef %628) #11
  %630 = icmp ne i32 %629, 0
  br i1 %630, label %631, label %648

631:                                              ; preds = %626
  %632 = load i32, ptr %19, align 4, !tbaa !5
  %633 = call ptr @__errno_location() #12
  store i32 %632, ptr %633, align 4, !tbaa !5
  %634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %635 = load i32, ptr @test_count, align 4, !tbaa !5
  %636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror(i32 noundef %637, ptr noundef @.str.3)
  %639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %640 = load i32, ptr %639, align 4, !tbaa !5
  %641 = call ptr @s2n_strerror_debug(i32 noundef %640, ptr noundef @.str.3)
  %642 = call ptr @__errno_location() #12
  %643 = load i32, ptr %642, align 4, !tbaa !5
  %644 = call ptr @strerror(i32 noundef %643) #11
  %645 = call ptr @__errno_location() #12
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %634, ptr noundef @.str, i32 noundef %635, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 62, ptr noundef %638, ptr noundef %641, ptr noundef %644, i32 noundef %646) #11
  br label %665

648:                                              ; preds = %626, %619
  %649 = load i32, ptr %19, align 4, !tbaa !5
  %650 = call ptr @__errno_location() #12
  store i32 %649, ptr %650, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = load i32, ptr @test_count, align 4, !tbaa !5
  %653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %654 = load i32, ptr %653, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror(i32 noundef %654, ptr noundef @.str.3)
  %656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %657 = load i32, ptr %656, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror_debug(i32 noundef %657, ptr noundef @.str.3)
  %659 = call ptr @__errno_location() #12
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call ptr @strerror(i32 noundef %660) #11
  %662 = call ptr @__errno_location() #12
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %651, ptr noundef @.str.4, i32 noundef %652, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 62, ptr noundef %655, ptr noundef %658, ptr noundef %661, i32 noundef %663) #11
  br label %665

665:                                              ; preds = %648, %631
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %666

666:                                              ; preds = %665
  br label %667

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

668:                                              ; No predecessors!
  br label %669

669:                                              ; preds = %668
  br label %670

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

671:                                              ; preds = %670
  br label %672

672:                                              ; preds = %671
  br label %673

673:                                              ; preds = %672
  %674 = load i32, ptr @test_count, align 4, !tbaa !5
  %675 = add nsw i32 %674, 1
  store i32 %675, ptr @test_count, align 4, !tbaa !5
  %676 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %676, ptr %6, align 8, !tbaa !9
  %677 = icmp eq ptr %676, null
  br i1 %677, label %678, label %731

678:                                              ; preds = %673
  br label %679

679:                                              ; preds = %678
  br label %680

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

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

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

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

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

727:                                              ; preds = %726
  br label %728

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

729:                                              ; No predecessors!
  br label %730

730:                                              ; preds = %729
  br label %731

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

732:                                              ; preds = %731
  br label %733

733:                                              ; preds = %732
  br label %734

734:                                              ; preds = %733
  %735 = load i32, ptr @test_count, align 4, !tbaa !5
  %736 = add nsw i32 %735, 1
  store i32 %736, ptr @test_count, align 4, !tbaa !5
  %737 = call i32 @s2n_get_public_random_data(ptr noundef %14)
  %738 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  store i32 %737, ptr %738, align 4
  %739 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  %740 = load i32, ptr %739, align 4
  %741 = call zeroext i1 @s2n_result_is_ok(i32 %740)
  br i1 %741, label %795, label %742

742:                                              ; preds = %734
  br label %743

743:                                              ; preds = %742
  br label %744

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

751:                                              ; preds = %744
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @fileno(ptr noundef %752) #11
  %754 = call i32 @isatty(i32 noundef %753) #11
  %755 = icmp ne i32 %754, 0
  br i1 %755, label %756, label %773

756:                                              ; preds = %751
  %757 = load i32, ptr %22, align 4, !tbaa !5
  %758 = call ptr @__errno_location() #12
  store i32 %757, ptr %758, align 4, !tbaa !5
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %762, ptr noundef @.str.3)
  %764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror_debug(i32 noundef %765, ptr noundef @.str.3)
  %767 = call ptr @__errno_location() #12
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #11
  %770 = call ptr @__errno_location() #12
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %759, ptr noundef @.str, i32 noundef %760, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 65, ptr noundef %763, ptr noundef %766, ptr noundef %769, i32 noundef %771) #11
  br label %790

773:                                              ; preds = %751, %744
  %774 = load i32, ptr %22, align 4, !tbaa !5
  %775 = call ptr @__errno_location() #12
  store i32 %774, ptr %775, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = load i32, ptr @test_count, align 4, !tbaa !5
  %778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror(i32 noundef %779, ptr noundef @.str.3)
  %781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef @.str.3)
  %784 = call ptr @__errno_location() #12
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call ptr @strerror(i32 noundef %785) #11
  %787 = call ptr @__errno_location() #12
  %788 = load i32, ptr %787, align 4, !tbaa !5
  %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %776, ptr noundef @.str.4, i32 noundef %777, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 65, ptr noundef %780, ptr noundef %783, ptr noundef %786, i32 noundef %788) #11
  br label %790

790:                                              ; preds = %773, %756
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %791

791:                                              ; preds = %790
  br label %792

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

793:                                              ; No predecessors!
  br label %794

794:                                              ; preds = %793
  br label %795

795:                                              ; preds = %794, %734
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  %798 = load ptr, ptr %6, align 8, !tbaa !9
  %799 = getelementptr inbounds %struct.s2n_connection, ptr %798, i32 0, i32 26
  %800 = load ptr, ptr %799, align 8, !tbaa !15
  %801 = load ptr, ptr %6, align 8, !tbaa !9
  %802 = getelementptr inbounds %struct.s2n_connection, ptr %801, i32 0, i32 30
  store ptr %800, ptr %802, align 8, !tbaa !42
  %803 = load ptr, ptr %6, align 8, !tbaa !9
  %804 = getelementptr inbounds %struct.s2n_connection, ptr %803, i32 0, i32 26
  %805 = load ptr, ptr %804, align 8, !tbaa !15
  %806 = load ptr, ptr %6, align 8, !tbaa !9
  %807 = getelementptr inbounds %struct.s2n_connection, ptr %806, i32 0, i32 29
  store ptr %805, ptr %807, align 8, !tbaa !43
  %808 = load ptr, ptr %6, align 8, !tbaa !9
  %809 = getelementptr inbounds %struct.s2n_connection, ptr %808, i32 0, i32 26
  %810 = load ptr, ptr %809, align 8, !tbaa !15
  %811 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %810, i32 0, i32 0
  %812 = load ptr, ptr %811, align 8, !tbaa !44
  %813 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %812, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %813, align 8, !tbaa !49
  br label %814

814:                                              ; preds = %797
  %815 = load i32, ptr @test_count, align 4, !tbaa !5
  %816 = add nsw i32 %815, 1
  store i32 %816, ptr @test_count, align 4, !tbaa !5
  %817 = load ptr, ptr %6, align 8, !tbaa !9
  %818 = call i32 @setup_server_keys(ptr noundef %817, ptr noundef %10)
  %819 = icmp eq i32 %818, -1
  br i1 %819, label %820, label %873

820:                                              ; preds = %814
  br label %821

821:                                              ; preds = %820
  br label %822

822:                                              ; preds = %821
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %823 = call ptr @__errno_location() #12
  %824 = load i32, ptr %823, align 4, !tbaa !5
  store i32 %824, ptr %23, align 4, !tbaa !5
  %825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %826 = call i32 @s2n_print_stacktrace(ptr noundef %825)
  %827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %828 = trunc i8 %827 to i1
  br i1 %828, label %829, label %851

829:                                              ; preds = %822
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @fileno(ptr noundef %830) #11
  %832 = call i32 @isatty(i32 noundef %831) #11
  %833 = icmp ne i32 %832, 0
  br i1 %833, label %834, label %851

834:                                              ; preds = %829
  %835 = load i32, ptr %23, align 4, !tbaa !5
  %836 = call ptr @__errno_location() #12
  store i32 %835, ptr %836, align 4, !tbaa !5
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = load i32, ptr @test_count, align 4, !tbaa !5
  %839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %840 = load i32, ptr %839, align 4, !tbaa !5
  %841 = call ptr @s2n_strerror(i32 noundef %840, ptr noundef @.str.3)
  %842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %843 = load i32, ptr %842, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror_debug(i32 noundef %843, ptr noundef @.str.3)
  %845 = call ptr @__errno_location() #12
  %846 = load i32, ptr %845, align 4, !tbaa !5
  %847 = call ptr @strerror(i32 noundef %846) #11
  %848 = call ptr @__errno_location() #12
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %837, ptr noundef @.str, i32 noundef %838, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 73, ptr noundef %841, ptr noundef %844, ptr noundef %847, i32 noundef %849) #11
  br label %868

851:                                              ; preds = %829, %822
  %852 = load i32, ptr %23, align 4, !tbaa !5
  %853 = call ptr @__errno_location() #12
  store i32 %852, ptr %853, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = load i32, ptr @test_count, align 4, !tbaa !5
  %856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %857 = load i32, ptr %856, align 4, !tbaa !5
  %858 = call ptr @s2n_strerror(i32 noundef %857, ptr noundef @.str.3)
  %859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = call ptr @s2n_strerror_debug(i32 noundef %860, ptr noundef @.str.3)
  %862 = call ptr @__errno_location() #12
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @strerror(i32 noundef %863) #11
  %865 = call ptr @__errno_location() #12
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %854, ptr noundef @.str.4, i32 noundef %855, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 73, ptr noundef %858, ptr noundef %861, ptr noundef %864, i32 noundef %866) #11
  br label %868

868:                                              ; preds = %851, %834
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %869

869:                                              ; preds = %868
  br label %870

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

871:                                              ; No predecessors!
  br label %872

872:                                              ; preds = %871
  br label %873

873:                                              ; preds = %872, %814
  br label %874

874:                                              ; preds = %873
  br label %875

875:                                              ; preds = %874
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  store i32 1435, ptr %24, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  store i64 0, ptr %25, align 8, !tbaa !51
  br label %876

876:                                              ; preds = %6701, %875
  %877 = load i64, ptr %25, align 8, !tbaa !51
  %878 = load i32, ptr %24, align 4, !tbaa !5
  %879 = add nsw i32 %878, 1
  %880 = sext i32 %879 to i64
  %881 = icmp ule i64 %877, %880
  br i1 %881, label %883, label %882

882:                                              ; preds = %876
  store i32 66, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  br label %6704

883:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 24, ptr %27) #11
  call void @llvm.memset.p0.i64(ptr align 8 %27, i8 0, i64 24, i1 false)
  br label %884

884:                                              ; preds = %883
  %885 = load i32, ptr @test_count, align 4, !tbaa !5
  %886 = add nsw i32 %885, 1
  store i32 %886, ptr @test_count, align 4, !tbaa !5
  %887 = getelementptr inbounds [1436 x i8], ptr %7, i64 0, i64 0
  %888 = load i64, ptr %25, align 8, !tbaa !51
  %889 = trunc i64 %888 to i32
  %890 = call i32 @s2n_blob_init(ptr noundef %27, ptr noundef %887, i32 noundef %889)
  %891 = icmp eq i32 %890, -1
  br i1 %891, label %892, label %945

892:                                              ; preds = %884
  br label %893

893:                                              ; preds = %892
  br label %894

894:                                              ; preds = %893
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %895 = call ptr @__errno_location() #12
  %896 = load i32, ptr %895, align 4, !tbaa !5
  store i32 %896, ptr %28, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @s2n_print_stacktrace(ptr noundef %897)
  %899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc i8 %899 to i1
  br i1 %900, label %901, label %923

901:                                              ; preds = %894
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @fileno(ptr noundef %902) #11
  %904 = call i32 @isatty(i32 noundef %903) #11
  %905 = icmp ne i32 %904, 0
  br i1 %905, label %906, label %923

906:                                              ; preds = %901
  %907 = load i32, ptr %28, align 4, !tbaa !5
  %908 = call ptr @__errno_location() #12
  store i32 %907, ptr %908, align 4, !tbaa !5
  %909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %910 = load i32, ptr @test_count, align 4, !tbaa !5
  %911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %912 = load i32, ptr %911, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror(i32 noundef %912, ptr noundef @.str.3)
  %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_debug(i32 noundef %915, ptr noundef @.str.3)
  %917 = call ptr @__errno_location() #12
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @strerror(i32 noundef %918) #11
  %920 = call ptr @__errno_location() #12
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %909, ptr noundef @.str, i32 noundef %910, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 78, ptr noundef %913, ptr noundef %916, ptr noundef %919, i32 noundef %921) #11
  br label %940

923:                                              ; preds = %901, %894
  %924 = load i32, ptr %28, align 4, !tbaa !5
  %925 = call ptr @__errno_location() #12
  store i32 %924, ptr %925, align 4, !tbaa !5
  %926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %927 = load i32, ptr @test_count, align 4, !tbaa !5
  %928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call ptr @s2n_strerror(i32 noundef %929, ptr noundef @.str.3)
  %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_debug(i32 noundef %932, ptr noundef @.str.3)
  %934 = call ptr @__errno_location() #12
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call ptr @strerror(i32 noundef %935) #11
  %937 = call ptr @__errno_location() #12
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %926, ptr noundef @.str.4, i32 noundef %927, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 78, ptr noundef %930, ptr noundef %933, ptr noundef %936, i32 noundef %938) #11
  br label %940

940:                                              ; preds = %923, %906
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %941

941:                                              ; preds = %940
  br label %942

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

943:                                              ; No predecessors!
  br label %944

944:                                              ; preds = %943
  br label %945

945:                                              ; preds = %944, %884
  br label %946

946:                                              ; preds = %945
  br label %947

947:                                              ; preds = %946
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  store i32 0, ptr %29, align 4, !tbaa !5
  br label %948

948:                                              ; preds = %947
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @test_count, align 4, !tbaa !5
  %951 = load ptr, ptr %6, align 8, !tbaa !9
  %952 = call i32 @s2n_connection_wipe(ptr noundef %951)
  %953 = icmp eq i32 %952, -1
  br i1 %953, label %954, label %1007

954:                                              ; preds = %948
  br label %955

955:                                              ; preds = %954
  br label %956

956:                                              ; preds = %955
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %957 = call ptr @__errno_location() #12
  %958 = load i32, ptr %957, align 4, !tbaa !5
  store i32 %958, ptr %30, align 4, !tbaa !5
  %959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %960 = call i32 @s2n_print_stacktrace(ptr noundef %959)
  %961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %962 = trunc i8 %961 to i1
  br i1 %962, label %963, label %985

963:                                              ; preds = %956
  %964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %965 = call i32 @fileno(ptr noundef %964) #11
  %966 = call i32 @isatty(i32 noundef %965) #11
  %967 = icmp ne i32 %966, 0
  br i1 %967, label %968, label %985

968:                                              ; preds = %963
  %969 = load i32, ptr %30, align 4, !tbaa !5
  %970 = call ptr @__errno_location() #12
  store i32 %969, ptr %970, align 4, !tbaa !5
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = load i32, ptr @test_count, align 4, !tbaa !5
  %973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %974 = load i32, ptr %973, align 4, !tbaa !5
  %975 = call ptr @s2n_strerror(i32 noundef %974, ptr noundef @.str.3)
  %976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %977 = load i32, ptr %976, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror_debug(i32 noundef %977, ptr noundef @.str.3)
  %979 = call ptr @__errno_location() #12
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @strerror(i32 noundef %980) #11
  %982 = call ptr @__errno_location() #12
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %971, ptr noundef @.str, i32 noundef %972, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 91, ptr noundef %975, ptr noundef %978, ptr noundef %981, i32 noundef %983) #11
  br label %1002

985:                                              ; preds = %963, %956
  %986 = load i32, ptr %30, align 4, !tbaa !5
  %987 = call ptr @__errno_location() #12
  store i32 %986, ptr %987, align 4, !tbaa !5
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = load i32, ptr @test_count, align 4, !tbaa !5
  %990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %991 = load i32, ptr %990, align 4, !tbaa !5
  %992 = call ptr @s2n_strerror(i32 noundef %991, ptr noundef @.str.3)
  %993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %994 = load i32, ptr %993, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror_debug(i32 noundef %994, ptr noundef @.str.3)
  %996 = call ptr @__errno_location() #12
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = call ptr @strerror(i32 noundef %997) #11
  %999 = call ptr @__errno_location() #12
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef @.str.4, i32 noundef %989, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 91, ptr noundef %992, ptr noundef %995, ptr noundef %998, i32 noundef %1000) #11
  br label %1002

1002:                                             ; preds = %985, %968
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1003

1003:                                             ; preds = %1002
  br label %1004

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

1005:                                             ; No predecessors!
  br label %1006

1006:                                             ; preds = %1005
  br label %1007

1007:                                             ; preds = %1006, %948
  br label %1008

1008:                                             ; preds = %1007
  br label %1009

1009:                                             ; preds = %1008
  br label %1010

1010:                                             ; preds = %1009
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = add nsw i32 %1011, 1
  store i32 %1012, ptr @test_count, align 4, !tbaa !5
  %1013 = load ptr, ptr %6, align 8, !tbaa !9
  %1014 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %1013)
  %1015 = icmp eq i32 %1014, -1
  br i1 %1015, label %1016, label %1069

1016:                                             ; preds = %1010
  br label %1017

1017:                                             ; preds = %1016
  br label %1018

1018:                                             ; preds = %1017
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1019 = call ptr @__errno_location() #12
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  store i32 %1020, ptr %31, align 4, !tbaa !5
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = call i32 @s2n_print_stacktrace(ptr noundef %1021)
  %1023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1024 = trunc i8 %1023 to i1
  br i1 %1024, label %1025, label %1047

1025:                                             ; preds = %1018
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @fileno(ptr noundef %1026) #11
  %1028 = call i32 @isatty(i32 noundef %1027) #11
  %1029 = icmp ne i32 %1028, 0
  br i1 %1029, label %1030, label %1047

1030:                                             ; preds = %1025
  %1031 = load i32, ptr %31, align 4, !tbaa !5
  %1032 = call ptr @__errno_location() #12
  store i32 %1031, ptr %1032, align 4, !tbaa !5
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = load i32, ptr @test_count, align 4, !tbaa !5
  %1035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror(i32 noundef %1036, ptr noundef @.str.3)
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror_debug(i32 noundef %1039, ptr noundef @.str.3)
  %1041 = call ptr @__errno_location() #12
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call ptr @strerror(i32 noundef %1042) #11
  %1044 = call ptr @__errno_location() #12
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1033, ptr noundef @.str, i32 noundef %1034, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 92, ptr noundef %1037, ptr noundef %1040, ptr noundef %1043, i32 noundef %1045) #11
  br label %1064

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

1064:                                             ; preds = %1047, %1030
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1065

1065:                                             ; preds = %1064
  br label %1066

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

1067:                                             ; No predecessors!
  br label %1068

1068:                                             ; preds = %1067
  br label %1069

1069:                                             ; preds = %1068, %1010
  br label %1070

1070:                                             ; preds = %1069
  br label %1071

1071:                                             ; preds = %1070
  %1072 = load ptr, ptr %6, align 8, !tbaa !9
  %1073 = getelementptr inbounds %struct.s2n_connection, ptr %1072, i32 0, i32 25
  store i8 1, ptr %1073, align 2, !tbaa !52
  %1074 = load ptr, ptr %6, align 8, !tbaa !9
  %1075 = getelementptr inbounds %struct.s2n_connection, ptr %1074, i32 0, i32 22
  store i8 33, ptr %1075, align 1, !tbaa !53
  %1076 = load ptr, ptr %6, align 8, !tbaa !9
  %1077 = getelementptr inbounds %struct.s2n_connection, ptr %1076, i32 0, i32 21
  store i8 33, ptr %1077, align 2, !tbaa !54
  %1078 = load ptr, ptr %6, align 8, !tbaa !9
  %1079 = getelementptr inbounds %struct.s2n_connection, ptr %1078, i32 0, i32 23
  store i8 33, ptr %1079, align 4, !tbaa !55
  %1080 = load ptr, ptr %6, align 8, !tbaa !9
  %1081 = getelementptr inbounds %struct.s2n_connection, ptr %1080, i32 0, i32 26
  %1082 = load ptr, ptr %1081, align 8, !tbaa !15
  %1083 = load ptr, ptr %6, align 8, !tbaa !9
  %1084 = getelementptr inbounds %struct.s2n_connection, ptr %1083, i32 0, i32 30
  store ptr %1082, ptr %1084, align 8, !tbaa !42
  %1085 = load ptr, ptr %6, align 8, !tbaa !9
  %1086 = getelementptr inbounds %struct.s2n_connection, ptr %1085, i32 0, i32 26
  %1087 = load ptr, ptr %1086, align 8, !tbaa !15
  %1088 = load ptr, ptr %6, align 8, !tbaa !9
  %1089 = getelementptr inbounds %struct.s2n_connection, ptr %1088, i32 0, i32 29
  store ptr %1087, ptr %1089, align 8, !tbaa !43
  %1090 = load ptr, ptr %6, align 8, !tbaa !9
  %1091 = getelementptr inbounds %struct.s2n_connection, ptr %1090, i32 0, i32 26
  %1092 = load ptr, ptr %1091, align 8, !tbaa !15
  %1093 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1092, i32 0, i32 0
  %1094 = load ptr, ptr %1093, align 8, !tbaa !44
  %1095 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %1094, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %1095, align 8, !tbaa !49
  br label %1096

1096:                                             ; preds = %1071
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = add nsw i32 %1097, 1
  store i32 %1098, ptr @test_count, align 4, !tbaa !5
  %1099 = load ptr, ptr %6, align 8, !tbaa !9
  %1100 = call i32 @destroy_server_keys(ptr noundef %1099)
  %1101 = icmp eq i32 %1100, -1
  br i1 %1101, label %1102, label %1155

1102:                                             ; preds = %1096
  br label %1103

1103:                                             ; preds = %1102
  br label %1104

1104:                                             ; preds = %1103
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1105 = call ptr @__errno_location() #12
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  store i32 %1106, ptr %32, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @s2n_print_stacktrace(ptr noundef %1107)
  %1109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc i8 %1109 to i1
  br i1 %1110, label %1111, label %1133

1111:                                             ; preds = %1104
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = call i32 @fileno(ptr noundef %1112) #11
  %1114 = call i32 @isatty(i32 noundef %1113) #11
  %1115 = icmp ne i32 %1114, 0
  br i1 %1115, label %1116, label %1133

1116:                                             ; preds = %1111
  %1117 = load i32, ptr %32, align 4, !tbaa !5
  %1118 = call ptr @__errno_location() #12
  store i32 %1117, ptr %1118, align 4, !tbaa !5
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = load i32, ptr @test_count, align 4, !tbaa !5
  %1121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror(i32 noundef %1122, ptr noundef @.str.3)
  %1124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1125 = load i32, ptr %1124, align 4, !tbaa !5
  %1126 = call ptr @s2n_strerror_debug(i32 noundef %1125, ptr noundef @.str.3)
  %1127 = call ptr @__errno_location() #12
  %1128 = load i32, ptr %1127, align 4, !tbaa !5
  %1129 = call ptr @strerror(i32 noundef %1128) #11
  %1130 = call ptr @__errno_location() #12
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1119, ptr noundef @.str, i32 noundef %1120, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 100, ptr noundef %1123, ptr noundef %1126, ptr noundef %1129, i32 noundef %1131) #11
  br label %1150

1133:                                             ; preds = %1111, %1104
  %1134 = load i32, ptr %32, align 4, !tbaa !5
  %1135 = call ptr @__errno_location() #12
  store i32 %1134, ptr %1135, align 4, !tbaa !5
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = load i32, ptr @test_count, align 4, !tbaa !5
  %1138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1139 = load i32, ptr %1138, align 4, !tbaa !5
  %1140 = call ptr @s2n_strerror(i32 noundef %1139, ptr noundef @.str.3)
  %1141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1142 = load i32, ptr %1141, align 4, !tbaa !5
  %1143 = call ptr @s2n_strerror_debug(i32 noundef %1142, ptr noundef @.str.3)
  %1144 = call ptr @__errno_location() #12
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @strerror(i32 noundef %1145) #11
  %1147 = call ptr @__errno_location() #12
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1136, ptr noundef @.str.4, i32 noundef %1137, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 100, ptr noundef %1140, ptr noundef %1143, ptr noundef %1146, i32 noundef %1148) #11
  br label %1150

1150:                                             ; preds = %1133, %1116
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1151

1151:                                             ; preds = %1150
  br label %1152

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

1153:                                             ; No predecessors!
  br label %1154

1154:                                             ; preds = %1153
  br label %1155

1155:                                             ; preds = %1154, %1096
  br label %1156

1156:                                             ; preds = %1155
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

1158:                                             ; preds = %1157
  %1159 = load i32, ptr @test_count, align 4, !tbaa !5
  %1160 = add nsw i32 %1159, 1
  store i32 %1160, ptr @test_count, align 4, !tbaa !5
  %1161 = load ptr, ptr %6, align 8, !tbaa !9
  %1162 = call i32 @setup_server_keys(ptr noundef %1161, ptr noundef %10)
  %1163 = icmp eq i32 %1162, -1
  br i1 %1163, label %1164, label %1217

1164:                                             ; preds = %1158
  br label %1165

1165:                                             ; preds = %1164
  br label %1166

1166:                                             ; preds = %1165
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1167 = call ptr @__errno_location() #12
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  store i32 %1168, ptr %33, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @s2n_print_stacktrace(ptr noundef %1169)
  %1171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1172 = trunc i8 %1171 to i1
  br i1 %1172, label %1173, label %1195

1173:                                             ; preds = %1166
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @fileno(ptr noundef %1174) #11
  %1176 = call i32 @isatty(i32 noundef %1175) #11
  %1177 = icmp ne i32 %1176, 0
  br i1 %1177, label %1178, label %1195

1178:                                             ; preds = %1173
  %1179 = load i32, ptr %33, align 4, !tbaa !5
  %1180 = call ptr @__errno_location() #12
  store i32 %1179, ptr %1180, align 4, !tbaa !5
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = load i32, ptr @test_count, align 4, !tbaa !5
  %1183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1184 = load i32, ptr %1183, align 4, !tbaa !5
  %1185 = call ptr @s2n_strerror(i32 noundef %1184, ptr noundef @.str.3)
  %1186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  %1188 = call ptr @s2n_strerror_debug(i32 noundef %1187, ptr noundef @.str.3)
  %1189 = call ptr @__errno_location() #12
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = call ptr @strerror(i32 noundef %1190) #11
  %1192 = call ptr @__errno_location() #12
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1181, ptr noundef @.str, i32 noundef %1182, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 101, ptr noundef %1185, ptr noundef %1188, ptr noundef %1191, i32 noundef %1193) #11
  br label %1212

1195:                                             ; preds = %1173, %1166
  %1196 = load i32, ptr %33, align 4, !tbaa !5
  %1197 = call ptr @__errno_location() #12
  store i32 %1196, ptr %1197, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror(i32 noundef %1201, ptr noundef @.str.3)
  %1203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror_debug(i32 noundef %1204, ptr noundef @.str.3)
  %1206 = call ptr @__errno_location() #12
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = call ptr @strerror(i32 noundef %1207) #11
  %1209 = call ptr @__errno_location() #12
  %1210 = load i32, ptr %1209, align 4, !tbaa !5
  %1211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1198, ptr noundef @.str.4, i32 noundef %1199, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 101, ptr noundef %1202, ptr noundef %1205, ptr noundef %1208, i32 noundef %1210) #11
  br label %1212

1212:                                             ; preds = %1195, %1178
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1213

1213:                                             ; preds = %1212
  br label %1214

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

1215:                                             ; No predecessors!
  br label %1216

1216:                                             ; preds = %1215
  br label %1217

1217:                                             ; preds = %1216, %1158
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1220 = load ptr, ptr %6, align 8, !tbaa !9
  %1221 = call i32 @s2n_record_write(ptr noundef %1220, i8 noundef zeroext 23, ptr noundef %27)
  %1222 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  store i32 %1221, ptr %1222, align 4
  %1223 = load i64, ptr %25, align 8, !tbaa !51
  %1224 = load i32, ptr %24, align 4, !tbaa !5
  %1225 = sext i32 %1224 to i64
  %1226 = icmp ule i64 %1223, %1225
  br i1 %1226, label %1227, label %1292

1227:                                             ; preds = %1219
  br label %1228

1228:                                             ; preds = %1227
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = add nsw i32 %1229, 1
  store i32 %1230, ptr @test_count, align 4, !tbaa !5
  %1231 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  %1232 = load i32, ptr %1231, align 4
  %1233 = call zeroext i1 @s2n_result_is_ok(i32 %1232)
  br i1 %1233, label %1287, label %1234

1234:                                             ; preds = %1228
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

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

1243:                                             ; preds = %1236
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #11
  %1246 = call i32 @isatty(i32 noundef %1245) #11
  %1247 = icmp ne i32 %1246, 0
  br i1 %1247, label %1248, label %1265

1248:                                             ; preds = %1243
  %1249 = load i32, ptr %35, align 4, !tbaa !5
  %1250 = call ptr @__errno_location() #12
  store i32 %1249, ptr %1250, 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 @.str.3)
  %1256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror_debug(i32 noundef %1257, ptr noundef @.str.3)
  %1259 = call ptr @__errno_location() #12
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #11
  %1262 = call ptr @__errno_location() #12
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef @.str, i32 noundef %1252, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 105, ptr noundef %1255, ptr noundef %1258, ptr noundef %1261, i32 noundef %1263) #11
  br label %1282

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

1282:                                             ; preds = %1265, %1248
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1283

1283:                                             ; preds = %1282
  br label %1284

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

1285:                                             ; No predecessors!
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

1287:                                             ; preds = %1286, %1228
  br label %1288

1288:                                             ; preds = %1287
  br label %1289

1289:                                             ; preds = %1288
  %1290 = load i64, ptr %25, align 8, !tbaa !51
  %1291 = trunc i64 %1290 to i32
  store i32 %1291, ptr %29, align 4, !tbaa !5
  br label %1492

1292:                                             ; preds = %1219
  br label %1293

1293:                                             ; preds = %1292
  br label %1294

1294:                                             ; preds = %1293
  br label %1295

1295:                                             ; preds = %1294
  %1296 = load i32, ptr @test_count, align 4, !tbaa !5
  %1297 = add nsw i32 %1296, 1
  store i32 %1297, ptr @test_count, align 4, !tbaa !5
  %1298 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  %1299 = load i32, ptr %1298, align 4
  %1300 = call zeroext i1 @s2n_result_is_error(i32 %1299)
  br i1 %1300, label %1354, label %1301

1301:                                             ; preds = %1295
  br label %1302

1302:                                             ; preds = %1301
  br label %1303

1303:                                             ; preds = %1302
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1304 = call ptr @__errno_location() #12
  %1305 = load i32, ptr %1304, align 4, !tbaa !5
  store i32 %1305, ptr %36, align 4, !tbaa !5
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @s2n_print_stacktrace(ptr noundef %1306)
  %1308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1309 = trunc i8 %1308 to i1
  br i1 %1309, label %1310, label %1332

1310:                                             ; preds = %1303
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @fileno(ptr noundef %1311) #11
  %1313 = call i32 @isatty(i32 noundef %1312) #11
  %1314 = icmp ne i32 %1313, 0
  br i1 %1314, label %1315, label %1332

1315:                                             ; preds = %1310
  %1316 = load i32, ptr %36, align 4, !tbaa !5
  %1317 = call ptr @__errno_location() #12
  store i32 %1316, ptr %1317, align 4, !tbaa !5
  %1318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1319 = load i32, ptr @test_count, align 4, !tbaa !5
  %1320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror(i32 noundef %1321, ptr noundef @.str.3)
  %1323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @s2n_strerror_debug(i32 noundef %1324, ptr noundef @.str.3)
  %1326 = call ptr @__errno_location() #12
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call ptr @strerror(i32 noundef %1327) #11
  %1329 = call ptr @__errno_location() #12
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1318, ptr noundef @.str, i32 noundef %1319, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1322, ptr noundef %1325, ptr noundef %1328, i32 noundef %1330) #11
  br label %1349

1332:                                             ; preds = %1310, %1303
  %1333 = load i32, ptr %36, align 4, !tbaa !5
  %1334 = call ptr @__errno_location() #12
  store i32 %1333, ptr %1334, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef @.str.3)
  %1340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror_debug(i32 noundef %1341, ptr noundef @.str.3)
  %1343 = call ptr @__errno_location() #12
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call ptr @strerror(i32 noundef %1344) #11
  %1346 = call ptr @__errno_location() #12
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef @.str.4, i32 noundef %1336, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1339, ptr noundef %1342, ptr noundef %1345, i32 noundef %1347) #11
  br label %1349

1349:                                             ; preds = %1332, %1315
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

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

1352:                                             ; No predecessors!
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353, %1295
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

1356:                                             ; preds = %1355
  br label %1357

1357:                                             ; preds = %1356
  %1358 = load i32, ptr @test_count, align 4, !tbaa !5
  %1359 = add nsw i32 %1358, 1
  store i32 %1359, ptr @test_count, align 4, !tbaa !5
  %1360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = icmp eq i32 %1361, 335544390
  br i1 %1362, label %1416, label %1363

1363:                                             ; preds = %1357
  br label %1364

1364:                                             ; preds = %1363
  br label %1365

1365:                                             ; preds = %1364
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1366 = call ptr @__errno_location() #12
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  store i32 %1367, ptr %37, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @s2n_print_stacktrace(ptr noundef %1368)
  %1370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1371 = trunc i8 %1370 to i1
  br i1 %1371, label %1372, label %1394

1372:                                             ; preds = %1365
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = call i32 @fileno(ptr noundef %1373) #11
  %1375 = call i32 @isatty(i32 noundef %1374) #11
  %1376 = icmp ne i32 %1375, 0
  br i1 %1376, label %1377, label %1394

1377:                                             ; preds = %1372
  %1378 = load i32, ptr %37, align 4, !tbaa !5
  %1379 = call ptr @__errno_location() #12
  store i32 %1378, ptr %1379, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = load i32, ptr @test_count, align 4, !tbaa !5
  %1382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = call ptr @s2n_strerror(i32 noundef %1383, ptr noundef @.str.3)
  %1385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call ptr @s2n_strerror_debug(i32 noundef %1386, ptr noundef @.str.3)
  %1388 = call ptr @__errno_location() #12
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call ptr @strerror(i32 noundef %1389) #11
  %1391 = call ptr @__errno_location() #12
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1380, ptr noundef @.str, i32 noundef %1381, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1384, ptr noundef %1387, ptr noundef %1390, i32 noundef %1392) #11
  br label %1411

1394:                                             ; preds = %1372, %1365
  %1395 = load i32, ptr %37, align 4, !tbaa !5
  %1396 = call ptr @__errno_location() #12
  store i32 %1395, ptr %1396, 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 @.str.3)
  %1402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror_debug(i32 noundef %1403, ptr noundef @.str.3)
  %1405 = call ptr @__errno_location() #12
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @strerror(i32 noundef %1406) #11
  %1408 = call ptr @__errno_location() #12
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1397, ptr noundef @.str.4, i32 noundef %1398, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1401, ptr noundef %1404, ptr noundef %1407, i32 noundef %1409) #11
  br label %1411

1411:                                             ; preds = %1394, %1377
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

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

1414:                                             ; No predecessors!
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415, %1357
  br label %1417

1417:                                             ; preds = %1416
  br label %1418

1418:                                             ; preds = %1417
  br label %1419

1419:                                             ; preds = %1418
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = add nsw i32 %1420, 1
  store i32 %1421, ptr @test_count, align 4, !tbaa !5
  %1422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror_debug(i32 noundef %1423, ptr noundef @.str.3)
  %1425 = icmp eq ptr %1424, null
  br i1 %1425, label %1426, label %1479

1426:                                             ; preds = %1419
  br label %1427

1427:                                             ; preds = %1426
  br label %1428

1428:                                             ; preds = %1427
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1429 = call ptr @__errno_location() #12
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  store i32 %1430, ptr %38, align 4, !tbaa !5
  %1431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1432 = call i32 @s2n_print_stacktrace(ptr noundef %1431)
  %1433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1434 = trunc i8 %1433 to i1
  br i1 %1434, label %1435, label %1457

1435:                                             ; preds = %1428
  %1436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1437 = call i32 @fileno(ptr noundef %1436) #11
  %1438 = call i32 @isatty(i32 noundef %1437) #11
  %1439 = icmp ne i32 %1438, 0
  br i1 %1439, label %1440, label %1457

1440:                                             ; preds = %1435
  %1441 = load i32, ptr %38, align 4, !tbaa !5
  %1442 = call ptr @__errno_location() #12
  store i32 %1441, ptr %1442, align 4, !tbaa !5
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = load i32, ptr @test_count, align 4, !tbaa !5
  %1445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror(i32 noundef %1446, ptr noundef @.str.3)
  %1448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror_debug(i32 noundef %1449, ptr noundef @.str.3)
  %1451 = call ptr @__errno_location() #12
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call ptr @strerror(i32 noundef %1452) #11
  %1454 = call ptr @__errno_location() #12
  %1455 = load i32, ptr %1454, align 4, !tbaa !5
  %1456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1443, ptr noundef @.str, i32 noundef %1444, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1447, ptr noundef %1450, ptr noundef %1453, i32 noundef %1455) #11
  br label %1474

1457:                                             ; preds = %1435, %1428
  %1458 = load i32, ptr %38, align 4, !tbaa !5
  %1459 = call ptr @__errno_location() #12
  store i32 %1458, ptr %1459, align 4, !tbaa !5
  %1460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1461 = load i32, ptr @test_count, align 4, !tbaa !5
  %1462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror(i32 noundef %1463, ptr noundef @.str.3)
  %1465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef %1466, ptr noundef @.str.3)
  %1468 = call ptr @__errno_location() #12
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = call ptr @strerror(i32 noundef %1469) #11
  %1471 = call ptr @__errno_location() #12
  %1472 = load i32, ptr %1471, align 4, !tbaa !5
  %1473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1460, ptr noundef @.str.4, i32 noundef %1461, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 108, ptr noundef %1464, ptr noundef %1467, ptr noundef %1470, i32 noundef %1472) #11
  br label %1474

1474:                                             ; preds = %1457, %1440
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

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

1477:                                             ; No predecessors!
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478, %1419
  br label %1480

1480:                                             ; preds = %1479
  br label %1481

1481:                                             ; preds = %1480
  br label %1482

1482:                                             ; preds = %1481
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  %1485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1485, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1486 = call ptr @__errno_location() #12
  store i32 0, ptr %1486, align 4, !tbaa !5
  br label %1487

1487:                                             ; preds = %1484
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

1490:                                             ; preds = %1489
  %1491 = load i32, ptr %24, align 4, !tbaa !5
  store i32 %1491, ptr %29, align 4, !tbaa !5
  br label %1492

1492:                                             ; preds = %1490, %1289
  call void @llvm.lifetime.start.p0(i64 2, ptr %39) #11
  %1493 = load i32, ptr %29, align 4, !tbaa !5
  %1494 = trunc i32 %1493 to i16
  store i16 %1494, ptr %39, align 2, !tbaa !56
  %1495 = load ptr, ptr %6, align 8, !tbaa !9
  %1496 = getelementptr inbounds %struct.s2n_connection, ptr %1495, i32 0, i32 26
  %1497 = load ptr, ptr %1496, align 8, !tbaa !15
  %1498 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1497, i32 0, i32 0
  %1499 = load ptr, ptr %1498, align 8, !tbaa !44
  %1500 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %1499, i32 0, i32 6
  %1501 = load ptr, ptr %1500, align 8, !tbaa !49
  %1502 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %1501, i32 0, i32 0
  %1503 = load ptr, ptr %1502, align 8, !tbaa !57
  %1504 = getelementptr inbounds %struct.s2n_cipher, ptr %1503, i32 0, i32 1
  %1505 = getelementptr inbounds %struct.s2n_aead_cipher, ptr %1504, i32 0, i32 1
  %1506 = load i8, ptr %1505, align 1, !tbaa !59
  %1507 = zext i8 %1506 to i32
  %1508 = load i16, ptr %39, align 2, !tbaa !56
  %1509 = zext i16 %1508 to i32
  %1510 = add nsw i32 %1509, %1507
  %1511 = trunc i32 %1510 to i16
  store i16 %1511, ptr %39, align 2, !tbaa !56
  %1512 = load ptr, ptr %6, align 8, !tbaa !9
  %1513 = getelementptr inbounds %struct.s2n_connection, ptr %1512, i32 0, i32 26
  %1514 = load ptr, ptr %1513, align 8, !tbaa !15
  %1515 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1514, i32 0, i32 0
  %1516 = load ptr, ptr %1515, align 8, !tbaa !44
  %1517 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %1516, i32 0, i32 6
  %1518 = load ptr, ptr %1517, align 8, !tbaa !49
  %1519 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %1518, i32 0, i32 0
  %1520 = load ptr, ptr %1519, align 8, !tbaa !57
  %1521 = getelementptr inbounds %struct.s2n_cipher, ptr %1520, i32 0, i32 1
  %1522 = getelementptr inbounds %struct.s2n_aead_cipher, ptr %1521, i32 0, i32 2
  %1523 = load i8, ptr %1522, align 2, !tbaa !59
  %1524 = zext i8 %1523 to i32
  %1525 = load i16, ptr %39, align 2, !tbaa !56
  %1526 = zext i16 %1525 to i32
  %1527 = add nsw i32 %1526, %1524
  %1528 = trunc i32 %1527 to i16
  store i16 %1528, ptr %39, align 2, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  store i32 24, ptr %40, align 4, !tbaa !5
  br label %1529

1529:                                             ; preds = %1492
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = add nsw i32 %1530, 1
  store i32 %1531, ptr @test_count, align 4, !tbaa !5
  %1532 = load i16, ptr %39, align 2, !tbaa !56
  %1533 = zext i16 %1532 to i32
  %1534 = load i32, ptr %29, align 4, !tbaa !5
  %1535 = add nsw i32 %1534, 24
  %1536 = icmp eq i32 %1533, %1535
  br i1 %1536, label %1590, label %1537

1537:                                             ; preds = %1529
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

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

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

1551:                                             ; preds = %1546
  %1552 = load i32, ptr %41, align 4, !tbaa !5
  %1553 = call ptr @__errno_location() #12
  store i32 %1552, ptr %1553, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror(i32 noundef %1557, ptr noundef @.str.3)
  %1559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1560 = load i32, ptr %1559, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror_debug(i32 noundef %1560, ptr noundef @.str.3)
  %1562 = call ptr @__errno_location() #12
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @strerror(i32 noundef %1563) #11
  %1565 = call ptr @__errno_location() #12
  %1566 = load i32, ptr %1565, align 4, !tbaa !5
  %1567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef @.str, i32 noundef %1555, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 118, ptr noundef %1558, ptr noundef %1561, ptr noundef %1564, i32 noundef %1566) #11
  br label %1585

1568:                                             ; preds = %1546, %1539
  %1569 = load i32, ptr %41, align 4, !tbaa !5
  %1570 = call ptr @__errno_location() #12
  store i32 %1569, ptr %1570, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = load i32, ptr @test_count, align 4, !tbaa !5
  %1573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1574 = load i32, ptr %1573, align 4, !tbaa !5
  %1575 = call ptr @s2n_strerror(i32 noundef %1574, ptr noundef @.str.3)
  %1576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  %1578 = call ptr @s2n_strerror_debug(i32 noundef %1577, ptr noundef @.str.3)
  %1579 = call ptr @__errno_location() #12
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @strerror(i32 noundef %1580) #11
  %1582 = call ptr @__errno_location() #12
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1571, ptr noundef @.str.4, i32 noundef %1572, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 118, ptr noundef %1575, ptr noundef %1578, ptr noundef %1581, i32 noundef %1583) #11
  br label %1585

1585:                                             ; preds = %1568, %1551
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1586

1586:                                             ; preds = %1585
  br label %1587

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

1588:                                             ; No predecessors!
  br label %1589

1589:                                             ; preds = %1588
  br label %1590

1590:                                             ; preds = %1589, %1529
  br label %1591

1591:                                             ; preds = %1590
  br label %1592

1592:                                             ; preds = %1591
  br label %1593

1593:                                             ; preds = %1592
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = add nsw i32 %1594, 1
  store i32 %1595, ptr @test_count, align 4, !tbaa !5
  %1596 = load ptr, ptr %6, align 8, !tbaa !9
  %1597 = getelementptr inbounds %struct.s2n_connection, ptr %1596, i32 0, i32 41
  %1598 = getelementptr inbounds %struct.s2n_stuffer, ptr %1597, i32 0, i32 0
  %1599 = getelementptr inbounds %struct.s2n_blob, ptr %1598, i32 0, i32 0
  %1600 = load ptr, ptr %1599, align 8, !tbaa !60
  %1601 = getelementptr inbounds i8, ptr %1600, i64 0
  %1602 = load i8, ptr %1601, align 1, !tbaa !59
  %1603 = zext i8 %1602 to i32
  %1604 = icmp eq i32 %1603, 23
  br i1 %1604, label %1658, label %1605

1605:                                             ; preds = %1593
  br label %1606

1606:                                             ; preds = %1605
  br label %1607

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

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

1619:                                             ; preds = %1614
  %1620 = load i32, ptr %42, align 4, !tbaa !5
  %1621 = call ptr @__errno_location() #12
  store i32 %1620, ptr %1621, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef @.str.3)
  %1627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = call ptr @s2n_strerror_debug(i32 noundef %1628, ptr noundef @.str.3)
  %1630 = call ptr @__errno_location() #12
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call ptr @strerror(i32 noundef %1631) #11
  %1633 = call ptr @__errno_location() #12
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1622, ptr noundef @.str, i32 noundef %1623, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 120, ptr noundef %1626, ptr noundef %1629, ptr noundef %1632, i32 noundef %1634) #11
  br label %1653

1636:                                             ; preds = %1614, %1607
  %1637 = load i32, ptr %42, align 4, !tbaa !5
  %1638 = call ptr @__errno_location() #12
  store i32 %1637, ptr %1638, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror(i32 noundef %1642, ptr noundef @.str.3)
  %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_debug(i32 noundef %1645, ptr noundef @.str.3)
  %1647 = call ptr @__errno_location() #12
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #11
  %1650 = call ptr @__errno_location() #12
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef @.str.4, i32 noundef %1640, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 120, ptr noundef %1643, ptr noundef %1646, ptr noundef %1649, i32 noundef %1651) #11
  br label %1653

1653:                                             ; preds = %1636, %1619
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1654

1654:                                             ; preds = %1653
  br label %1655

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

1656:                                             ; No predecessors!
  br label %1657

1657:                                             ; preds = %1656
  br label %1658

1658:                                             ; preds = %1657, %1593
  br label %1659

1659:                                             ; preds = %1658
  br label %1660

1660:                                             ; preds = %1659
  br label %1661

1661:                                             ; preds = %1660
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = add nsw i32 %1662, 1
  store i32 %1663, ptr @test_count, align 4, !tbaa !5
  %1664 = load ptr, ptr %6, align 8, !tbaa !9
  %1665 = getelementptr inbounds %struct.s2n_connection, ptr %1664, i32 0, i32 41
  %1666 = getelementptr inbounds %struct.s2n_stuffer, ptr %1665, i32 0, i32 0
  %1667 = getelementptr inbounds %struct.s2n_blob, ptr %1666, i32 0, i32 0
  %1668 = load ptr, ptr %1667, align 8, !tbaa !60
  %1669 = getelementptr inbounds i8, ptr %1668, i64 1
  %1670 = load i8, ptr %1669, align 1, !tbaa !59
  %1671 = zext i8 %1670 to i32
  %1672 = icmp eq i32 %1671, 3
  br i1 %1672, label %1726, label %1673

1673:                                             ; preds = %1661
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

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

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

1687:                                             ; preds = %1682
  %1688 = load i32, ptr %43, align 4, !tbaa !5
  %1689 = call ptr @__errno_location() #12
  store i32 %1688, ptr %1689, align 4, !tbaa !5
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = load i32, ptr @test_count, align 4, !tbaa !5
  %1692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1693 = load i32, ptr %1692, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror(i32 noundef %1693, ptr noundef @.str.3)
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror_debug(i32 noundef %1696, ptr noundef @.str.3)
  %1698 = call ptr @__errno_location() #12
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @strerror(i32 noundef %1699) #11
  %1701 = call ptr @__errno_location() #12
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1690, ptr noundef @.str, i32 noundef %1691, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1694, ptr noundef %1697, ptr noundef %1700, i32 noundef %1702) #11
  br label %1721

1704:                                             ; preds = %1682, %1675
  %1705 = load i32, ptr %43, align 4, !tbaa !5
  %1706 = call ptr @__errno_location() #12
  store i32 %1705, ptr %1706, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror(i32 noundef %1710, ptr noundef @.str.3)
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror_debug(i32 noundef %1713, ptr noundef @.str.3)
  %1715 = call ptr @__errno_location() #12
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @strerror(i32 noundef %1716) #11
  %1718 = call ptr @__errno_location() #12
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1707, ptr noundef @.str.4, i32 noundef %1708, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1711, ptr noundef %1714, ptr noundef %1717, i32 noundef %1719) #11
  br label %1721

1721:                                             ; preds = %1704, %1687
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

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

1724:                                             ; No predecessors!
  br label %1725

1725:                                             ; preds = %1724
  br label %1726

1726:                                             ; preds = %1725, %1661
  br label %1727

1727:                                             ; preds = %1726
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr @test_count, align 4, !tbaa !5
  %1732 = load ptr, ptr %6, align 8, !tbaa !9
  %1733 = getelementptr inbounds %struct.s2n_connection, ptr %1732, i32 0, i32 41
  %1734 = getelementptr inbounds %struct.s2n_stuffer, ptr %1733, i32 0, i32 0
  %1735 = getelementptr inbounds %struct.s2n_blob, ptr %1734, i32 0, i32 0
  %1736 = load ptr, ptr %1735, align 8, !tbaa !60
  %1737 = getelementptr inbounds i8, ptr %1736, i64 2
  %1738 = load i8, ptr %1737, align 1, !tbaa !59
  %1739 = zext i8 %1738 to i32
  %1740 = icmp eq i32 %1739, 3
  br i1 %1740, label %1794, label %1741

1741:                                             ; preds = %1729
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

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

1750:                                             ; preds = %1743
  %1751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1752 = call i32 @fileno(ptr noundef %1751) #11
  %1753 = call i32 @isatty(i32 noundef %1752) #11
  %1754 = icmp ne i32 %1753, 0
  br i1 %1754, label %1755, label %1772

1755:                                             ; preds = %1750
  %1756 = load i32, ptr %44, align 4, !tbaa !5
  %1757 = call ptr @__errno_location() #12
  store i32 %1756, ptr %1757, 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 @.str.3)
  %1763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror_debug(i32 noundef %1764, ptr noundef @.str.3)
  %1766 = call ptr @__errno_location() #12
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @strerror(i32 noundef %1767) #11
  %1769 = call ptr @__errno_location() #12
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1758, ptr noundef @.str, i32 noundef %1759, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 122, ptr noundef %1762, ptr noundef %1765, ptr noundef %1768, i32 noundef %1770) #11
  br label %1789

1772:                                             ; preds = %1750, %1743
  %1773 = load i32, ptr %44, align 4, !tbaa !5
  %1774 = call ptr @__errno_location() #12
  store i32 %1773, ptr %1774, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror(i32 noundef %1778, ptr noundef @.str.3)
  %1780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror_debug(i32 noundef %1781, ptr noundef @.str.3)
  %1783 = call ptr @__errno_location() #12
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @strerror(i32 noundef %1784) #11
  %1786 = call ptr @__errno_location() #12
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef @.str.4, i32 noundef %1776, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 122, ptr noundef %1779, ptr noundef %1782, ptr noundef %1785, i32 noundef %1787) #11
  br label %1789

1789:                                             ; preds = %1772, %1755
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

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

1792:                                             ; No predecessors!
  br label %1793

1793:                                             ; preds = %1792
  br label %1794

1794:                                             ; preds = %1793, %1729
  br label %1795

1795:                                             ; preds = %1794
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

1797:                                             ; preds = %1796
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = add nsw i32 %1798, 1
  store i32 %1799, ptr @test_count, align 4, !tbaa !5
  %1800 = load ptr, ptr %6, align 8, !tbaa !9
  %1801 = getelementptr inbounds %struct.s2n_connection, ptr %1800, i32 0, i32 41
  %1802 = getelementptr inbounds %struct.s2n_stuffer, ptr %1801, i32 0, i32 0
  %1803 = getelementptr inbounds %struct.s2n_blob, ptr %1802, i32 0, i32 0
  %1804 = load ptr, ptr %1803, align 8, !tbaa !60
  %1805 = getelementptr inbounds i8, ptr %1804, i64 3
  %1806 = load i8, ptr %1805, align 1, !tbaa !59
  %1807 = zext i8 %1806 to i32
  %1808 = load i16, ptr %39, align 2, !tbaa !56
  %1809 = zext i16 %1808 to i32
  %1810 = ashr i32 %1809, 8
  %1811 = and i32 %1810, 255
  %1812 = icmp eq i32 %1807, %1811
  br i1 %1812, label %1866, label %1813

1813:                                             ; preds = %1797
  br label %1814

1814:                                             ; preds = %1813
  br label %1815

1815:                                             ; preds = %1814
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %1816 = call ptr @__errno_location() #12
  %1817 = load i32, ptr %1816, align 4, !tbaa !5
  store i32 %1817, ptr %45, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @s2n_print_stacktrace(ptr noundef %1818)
  %1820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1821 = trunc i8 %1820 to i1
  br i1 %1821, label %1822, label %1844

1822:                                             ; preds = %1815
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @fileno(ptr noundef %1823) #11
  %1825 = call i32 @isatty(i32 noundef %1824) #11
  %1826 = icmp ne i32 %1825, 0
  br i1 %1826, label %1827, label %1844

1827:                                             ; preds = %1822
  %1828 = load i32, ptr %45, align 4, !tbaa !5
  %1829 = call ptr @__errno_location() #12
  store i32 %1828, ptr %1829, align 4, !tbaa !5
  %1830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1831 = load i32, ptr @test_count, align 4, !tbaa !5
  %1832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror(i32 noundef %1833, ptr noundef @.str.3)
  %1835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror_debug(i32 noundef %1836, ptr noundef @.str.3)
  %1838 = call ptr @__errno_location() #12
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @strerror(i32 noundef %1839) #11
  %1841 = call ptr @__errno_location() #12
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1830, ptr noundef @.str, i32 noundef %1831, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 123, ptr noundef %1834, ptr noundef %1837, ptr noundef %1840, i32 noundef %1842) #11
  br label %1861

1844:                                             ; preds = %1822, %1815
  %1845 = load i32, ptr %45, align 4, !tbaa !5
  %1846 = call ptr @__errno_location() #12
  store i32 %1845, ptr %1846, align 4, !tbaa !5
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror(i32 noundef %1850, ptr noundef @.str.3)
  %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_debug(i32 noundef %1853, ptr noundef @.str.3)
  %1855 = call ptr @__errno_location() #12
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @strerror(i32 noundef %1856) #11
  %1858 = call ptr @__errno_location() #12
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1847, ptr noundef @.str.4, i32 noundef %1848, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 123, ptr noundef %1851, ptr noundef %1854, ptr noundef %1857, i32 noundef %1859) #11
  br label %1861

1861:                                             ; preds = %1844, %1827
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

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

1864:                                             ; No predecessors!
  br label %1865

1865:                                             ; preds = %1864
  br label %1866

1866:                                             ; preds = %1865, %1797
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  %1870 = load i32, ptr @test_count, align 4, !tbaa !5
  %1871 = add nsw i32 %1870, 1
  store i32 %1871, ptr @test_count, align 4, !tbaa !5
  %1872 = load ptr, ptr %6, align 8, !tbaa !9
  %1873 = getelementptr inbounds %struct.s2n_connection, ptr %1872, i32 0, i32 41
  %1874 = getelementptr inbounds %struct.s2n_stuffer, ptr %1873, i32 0, i32 0
  %1875 = getelementptr inbounds %struct.s2n_blob, ptr %1874, i32 0, i32 0
  %1876 = load ptr, ptr %1875, align 8, !tbaa !60
  %1877 = getelementptr inbounds i8, ptr %1876, i64 4
  %1878 = load i8, ptr %1877, align 1, !tbaa !59
  %1879 = zext i8 %1878 to i32
  %1880 = load i16, ptr %39, align 2, !tbaa !56
  %1881 = zext i16 %1880 to i32
  %1882 = and i32 %1881, 255
  %1883 = icmp eq i32 %1879, %1882
  br i1 %1883, label %1937, label %1884

1884:                                             ; preds = %1869
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %1887 = call ptr @__errno_location() #12
  %1888 = load i32, ptr %1887, align 4, !tbaa !5
  store i32 %1888, ptr %46, align 4, !tbaa !5
  %1889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1890 = call i32 @s2n_print_stacktrace(ptr noundef %1889)
  %1891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1892 = trunc i8 %1891 to i1
  br i1 %1892, label %1893, label %1915

1893:                                             ; preds = %1886
  %1894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1895 = call i32 @fileno(ptr noundef %1894) #11
  %1896 = call i32 @isatty(i32 noundef %1895) #11
  %1897 = icmp ne i32 %1896, 0
  br i1 %1897, label %1898, label %1915

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

1915:                                             ; preds = %1893, %1886
  %1916 = load i32, ptr %46, align 4, !tbaa !5
  %1917 = call ptr @__errno_location() #12
  store i32 %1916, ptr %1917, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = load i32, ptr @test_count, align 4, !tbaa !5
  %1920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call ptr @s2n_strerror(i32 noundef %1921, ptr noundef @.str.3)
  %1923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror_debug(i32 noundef %1924, ptr noundef @.str.3)
  %1926 = call ptr @__errno_location() #12
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = call ptr @strerror(i32 noundef %1927) #11
  %1929 = call ptr @__errno_location() #12
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1918, ptr noundef @.str.4, i32 noundef %1919, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 124, ptr noundef %1922, ptr noundef %1925, ptr noundef %1928, i32 noundef %1930) #11
  br label %1932

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

1933:                                             ; preds = %1932
  br label %1934

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

1935:                                             ; No predecessors!
  br label %1936

1936:                                             ; preds = %1935
  br label %1937

1937:                                             ; preds = %1936, %1869
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  %1940 = load i32, ptr %29, align 4, !tbaa !5
  %1941 = icmp sgt i32 %1940, 10
  br i1 %1941, label %1942, label %2013

1942:                                             ; preds = %1939
  br label %1943

1943:                                             ; preds = %1942
  %1944 = load i32, ptr @test_count, align 4, !tbaa !5
  %1945 = add nsw i32 %1944, 1
  store i32 %1945, ptr @test_count, align 4, !tbaa !5
  %1946 = load ptr, ptr %6, align 8, !tbaa !9
  %1947 = getelementptr inbounds %struct.s2n_connection, ptr %1946, i32 0, i32 41
  %1948 = getelementptr inbounds %struct.s2n_stuffer, ptr %1947, i32 0, i32 0
  %1949 = getelementptr inbounds %struct.s2n_blob, ptr %1948, i32 0, i32 0
  %1950 = load ptr, ptr %1949, align 8, !tbaa !60
  %1951 = getelementptr inbounds i8, ptr %1950, i64 5
  %1952 = getelementptr inbounds [1436 x i8], ptr %7, i64 0, i64 0
  %1953 = load i32, ptr %29, align 4, !tbaa !5
  %1954 = sext i32 %1953 to i64
  %1955 = call i32 @memcmp(ptr noundef %1951, ptr noundef %1952, i64 noundef %1954) #14
  %1956 = icmp eq i32 %1955, 0
  br i1 %1956, label %1957, label %2010

1957:                                             ; preds = %1943
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

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

1966:                                             ; preds = %1959
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = call i32 @fileno(ptr noundef %1967) #11
  %1969 = call i32 @isatty(i32 noundef %1968) #11
  %1970 = icmp ne i32 %1969, 0
  br i1 %1970, label %1971, label %1988

1971:                                             ; preds = %1966
  %1972 = load i32, ptr %47, align 4, !tbaa !5
  %1973 = call ptr @__errno_location() #12
  store i32 %1972, ptr %1973, align 4, !tbaa !5
  %1974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1975 = load i32, ptr @test_count, align 4, !tbaa !5
  %1976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror(i32 noundef %1977, ptr noundef @.str.3)
  %1979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror_debug(i32 noundef %1980, ptr noundef @.str.3)
  %1982 = call ptr @__errno_location() #12
  %1983 = load i32, ptr %1982, align 4, !tbaa !5
  %1984 = call ptr @strerror(i32 noundef %1983) #11
  %1985 = call ptr @__errno_location() #12
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1974, ptr noundef @.str, i32 noundef %1975, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 128, ptr noundef %1978, ptr noundef %1981, ptr noundef %1984, i32 noundef %1986) #11
  br label %2005

1988:                                             ; preds = %1966, %1959
  %1989 = load i32, ptr %47, align 4, !tbaa !5
  %1990 = call ptr @__errno_location() #12
  store i32 %1989, ptr %1990, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror(i32 noundef %1994, ptr noundef @.str.3)
  %1996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call ptr @s2n_strerror_debug(i32 noundef %1997, ptr noundef @.str.3)
  %1999 = call ptr @__errno_location() #12
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #11
  %2002 = call ptr @__errno_location() #12
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1991, ptr noundef @.str.4, i32 noundef %1992, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 128, ptr noundef %1995, ptr noundef %1998, ptr noundef %2001, i32 noundef %2003) #11
  br label %2005

2005:                                             ; preds = %1988, %1971
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2006

2006:                                             ; preds = %2005
  br label %2007

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

2008:                                             ; No predecessors!
  br label %2009

2009:                                             ; preds = %2008
  br label %2010

2010:                                             ; preds = %2009, %1943
  br label %2011

2011:                                             ; preds = %2010
  br label %2012

2012:                                             ; preds = %2011
  br label %2013

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

2014:                                             ; preds = %2013
  %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 = load ptr, ptr %6, align 8, !tbaa !9
  %2018 = getelementptr inbounds %struct.s2n_connection, ptr %2017, i32 0, i32 40
  %2019 = call i32 @s2n_stuffer_wipe(ptr noundef %2018)
  %2020 = icmp eq i32 %2019, -1
  br i1 %2020, label %2021, label %2074

2021:                                             ; preds = %2014
  br label %2022

2022:                                             ; preds = %2021
  br label %2023

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

2030:                                             ; preds = %2023
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = call i32 @fileno(ptr noundef %2031) #11
  %2033 = call i32 @isatty(i32 noundef %2032) #11
  %2034 = icmp ne i32 %2033, 0
  br i1 %2034, label %2035, label %2052

2035:                                             ; preds = %2030
  %2036 = load i32, ptr %48, align 4, !tbaa !5
  %2037 = call ptr @__errno_location() #12
  store i32 %2036, ptr %2037, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = load i32, ptr @test_count, align 4, !tbaa !5
  %2040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call ptr @s2n_strerror(i32 noundef %2041, ptr noundef @.str.3)
  %2043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call ptr @s2n_strerror_debug(i32 noundef %2044, ptr noundef @.str.3)
  %2046 = call ptr @__errno_location() #12
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @strerror(i32 noundef %2047) #11
  %2049 = call ptr @__errno_location() #12
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2038, ptr noundef @.str, i32 noundef %2039, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 132, ptr noundef %2042, ptr noundef %2045, ptr noundef %2048, i32 noundef %2050) #11
  br label %2069

2052:                                             ; preds = %2030, %2023
  %2053 = load i32, ptr %48, align 4, !tbaa !5
  %2054 = call ptr @__errno_location() #12
  store i32 %2053, ptr %2054, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = load i32, ptr @test_count, align 4, !tbaa !5
  %2057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call ptr @s2n_strerror(i32 noundef %2058, ptr noundef @.str.3)
  %2060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror_debug(i32 noundef %2061, ptr noundef @.str.3)
  %2063 = call ptr @__errno_location() #12
  %2064 = load i32, ptr %2063, align 4, !tbaa !5
  %2065 = call ptr @strerror(i32 noundef %2064) #11
  %2066 = call ptr @__errno_location() #12
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2055, ptr noundef @.str.4, i32 noundef %2056, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 132, ptr noundef %2059, ptr noundef %2062, ptr noundef %2065, i32 noundef %2067) #11
  br label %2069

2069:                                             ; preds = %2052, %2035
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2070

2070:                                             ; preds = %2069
  br label %2071

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

2072:                                             ; No predecessors!
  br label %2073

2073:                                             ; preds = %2072
  br label %2074

2074:                                             ; preds = %2073, %2014
  br label %2075

2075:                                             ; preds = %2074
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

2077:                                             ; preds = %2076
  %2078 = load i32, ptr @test_count, align 4, !tbaa !5
  %2079 = add nsw i32 %2078, 1
  store i32 %2079, ptr @test_count, align 4, !tbaa !5
  %2080 = load ptr, ptr %6, align 8, !tbaa !9
  %2081 = getelementptr inbounds %struct.s2n_connection, ptr %2080, i32 0, i32 38
  %2082 = call i32 @s2n_stuffer_wipe(ptr noundef %2081)
  %2083 = icmp eq i32 %2082, -1
  br i1 %2083, label %2084, label %2137

2084:                                             ; preds = %2077
  br label %2085

2085:                                             ; preds = %2084
  br label %2086

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

2093:                                             ; preds = %2086
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @fileno(ptr noundef %2094) #11
  %2096 = call i32 @isatty(i32 noundef %2095) #11
  %2097 = icmp ne i32 %2096, 0
  br i1 %2097, label %2098, label %2115

2098:                                             ; preds = %2093
  %2099 = load i32, ptr %49, align 4, !tbaa !5
  %2100 = call ptr @__errno_location() #12
  store i32 %2099, ptr %2100, align 4, !tbaa !5
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = load i32, ptr @test_count, align 4, !tbaa !5
  %2103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call ptr @s2n_strerror(i32 noundef %2104, ptr noundef @.str.3)
  %2106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2107 = load i32, ptr %2106, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror_debug(i32 noundef %2107, ptr noundef @.str.3)
  %2109 = call ptr @__errno_location() #12
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @strerror(i32 noundef %2110) #11
  %2112 = call ptr @__errno_location() #12
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2101, ptr noundef @.str, i32 noundef %2102, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 133, ptr noundef %2105, ptr noundef %2108, ptr noundef %2111, i32 noundef %2113) #11
  br label %2132

2115:                                             ; preds = %2093, %2086
  %2116 = load i32, ptr %49, align 4, !tbaa !5
  %2117 = call ptr @__errno_location() #12
  store i32 %2116, ptr %2117, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = load i32, ptr @test_count, align 4, !tbaa !5
  %2120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call ptr @s2n_strerror(i32 noundef %2121, ptr noundef @.str.3)
  %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_debug(i32 noundef %2124, ptr noundef @.str.3)
  %2126 = call ptr @__errno_location() #12
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @strerror(i32 noundef %2127) #11
  %2129 = call ptr @__errno_location() #12
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2118, ptr noundef @.str.4, i32 noundef %2119, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 133, ptr noundef %2122, ptr noundef %2125, ptr noundef %2128, i32 noundef %2130) #11
  br label %2132

2132:                                             ; preds = %2115, %2098
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2133

2133:                                             ; preds = %2132
  br label %2134

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

2135:                                             ; No predecessors!
  br label %2136

2136:                                             ; preds = %2135
  br label %2137

2137:                                             ; preds = %2136, %2077
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

2140:                                             ; preds = %2139
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = add nsw i32 %2141, 1
  store i32 %2142, ptr @test_count, align 4, !tbaa !5
  %2143 = load ptr, ptr %6, align 8, !tbaa !9
  %2144 = getelementptr inbounds %struct.s2n_connection, ptr %2143, i32 0, i32 41
  %2145 = load ptr, ptr %6, align 8, !tbaa !9
  %2146 = getelementptr inbounds %struct.s2n_connection, ptr %2145, i32 0, i32 38
  %2147 = call i32 @s2n_stuffer_copy(ptr noundef %2144, ptr noundef %2146, i32 noundef 5)
  %2148 = icmp eq i32 %2147, -1
  br i1 %2148, label %2149, label %2202

2149:                                             ; preds = %2140
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

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

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

2163:                                             ; preds = %2158
  %2164 = load i32, ptr %50, align 4, !tbaa !5
  %2165 = call ptr @__errno_location() #12
  store i32 %2164, ptr %2165, align 4, !tbaa !5
  %2166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2167 = load i32, ptr @test_count, align 4, !tbaa !5
  %2168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2169 = load i32, ptr %2168, align 4, !tbaa !5
  %2170 = call ptr @s2n_strerror(i32 noundef %2169, ptr noundef @.str.3)
  %2171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2172 = load i32, ptr %2171, align 4, !tbaa !5
  %2173 = call ptr @s2n_strerror_debug(i32 noundef %2172, ptr noundef @.str.3)
  %2174 = call ptr @__errno_location() #12
  %2175 = load i32, ptr %2174, align 4, !tbaa !5
  %2176 = call ptr @strerror(i32 noundef %2175) #11
  %2177 = call ptr @__errno_location() #12
  %2178 = load i32, ptr %2177, align 4, !tbaa !5
  %2179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2166, ptr noundef @.str, i32 noundef %2167, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 134, ptr noundef %2170, ptr noundef %2173, ptr noundef %2176, i32 noundef %2178) #11
  br label %2197

2180:                                             ; preds = %2158, %2151
  %2181 = load i32, ptr %50, align 4, !tbaa !5
  %2182 = call ptr @__errno_location() #12
  store i32 %2181, ptr %2182, align 4, !tbaa !5
  %2183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2184 = load i32, ptr @test_count, align 4, !tbaa !5
  %2185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call ptr @s2n_strerror(i32 noundef %2186, ptr noundef @.str.3)
  %2188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror_debug(i32 noundef %2189, ptr noundef @.str.3)
  %2191 = call ptr @__errno_location() #12
  %2192 = load i32, ptr %2191, align 4, !tbaa !5
  %2193 = call ptr @strerror(i32 noundef %2192) #11
  %2194 = call ptr @__errno_location() #12
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  %2196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2183, ptr noundef @.str.4, i32 noundef %2184, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 134, ptr noundef %2187, ptr noundef %2190, ptr noundef %2193, i32 noundef %2195) #11
  br label %2197

2197:                                             ; preds = %2180, %2163
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2198

2198:                                             ; preds = %2197
  br label %2199

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

2200:                                             ; No predecessors!
  br label %2201

2201:                                             ; preds = %2200
  br label %2202

2202:                                             ; preds = %2201, %2140
  br label %2203

2203:                                             ; preds = %2202
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  %2206 = load i32, ptr @test_count, align 4, !tbaa !5
  %2207 = add nsw i32 %2206, 1
  store i32 %2207, ptr @test_count, align 4, !tbaa !5
  %2208 = load ptr, ptr %6, align 8, !tbaa !9
  %2209 = getelementptr inbounds %struct.s2n_connection, ptr %2208, i32 0, i32 41
  %2210 = load ptr, ptr %6, align 8, !tbaa !9
  %2211 = getelementptr inbounds %struct.s2n_connection, ptr %2210, i32 0, i32 40
  %2212 = load ptr, ptr %6, align 8, !tbaa !9
  %2213 = getelementptr inbounds %struct.s2n_connection, ptr %2212, i32 0, i32 41
  %2214 = getelementptr inbounds %struct.s2n_stuffer, ptr %2213, i32 0, i32 2
  %2215 = load i32, ptr %2214, align 4, !tbaa !61
  %2216 = load ptr, ptr %6, align 8, !tbaa !9
  %2217 = getelementptr inbounds %struct.s2n_connection, ptr %2216, i32 0, i32 41
  %2218 = getelementptr inbounds %struct.s2n_stuffer, ptr %2217, i32 0, i32 1
  %2219 = load i32, ptr %2218, align 8, !tbaa !62
  %2220 = sub i32 %2215, %2219
  %2221 = call i32 @s2n_stuffer_copy(ptr noundef %2209, ptr noundef %2211, i32 noundef %2220)
  %2222 = icmp eq i32 %2221, -1
  br i1 %2222, label %2223, label %2276

2223:                                             ; preds = %2205
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

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

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

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

2254:                                             ; preds = %2232, %2225
  %2255 = load i32, ptr %51, align 4, !tbaa !5
  %2256 = call ptr @__errno_location() #12
  store i32 %2255, ptr %2256, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = load i32, ptr @test_count, align 4, !tbaa !5
  %2259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = call ptr @s2n_strerror(i32 noundef %2260, ptr noundef @.str.3)
  %2262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2263 = load i32, ptr %2262, align 4, !tbaa !5
  %2264 = call ptr @s2n_strerror_debug(i32 noundef %2263, ptr noundef @.str.3)
  %2265 = call ptr @__errno_location() #12
  %2266 = load i32, ptr %2265, align 4, !tbaa !5
  %2267 = call ptr @strerror(i32 noundef %2266) #11
  %2268 = call ptr @__errno_location() #12
  %2269 = load i32, ptr %2268, align 4, !tbaa !5
  %2270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2257, ptr noundef @.str.4, i32 noundef %2258, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 135, ptr noundef %2261, ptr noundef %2264, ptr noundef %2267, i32 noundef %2269) #11
  br label %2271

2271:                                             ; preds = %2254, %2237
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2272

2272:                                             ; preds = %2271
  br label %2273

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

2274:                                             ; No predecessors!
  br label %2275

2275:                                             ; preds = %2274
  br label %2276

2276:                                             ; preds = %2275, %2205
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #11
  store i8 0, ptr %52, align 1, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 2, ptr %53) #11
  store i16 0, ptr %53, align 2, !tbaa !56
  br label %2279

2279:                                             ; preds = %2278
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = add nsw i32 %2280, 1
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = load ptr, ptr %6, align 8, !tbaa !9
  %2283 = call i32 @s2n_record_header_parse(ptr noundef %2282, ptr noundef %52, ptr noundef %53)
  %2284 = icmp eq i32 %2283, -1
  br i1 %2284, label %2285, label %2338

2285:                                             ; preds = %2279
  br label %2286

2286:                                             ; preds = %2285
  br label %2287

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

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

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

2316:                                             ; preds = %2294, %2287
  %2317 = load i32, ptr %54, align 4, !tbaa !5
  %2318 = call ptr @__errno_location() #12
  store i32 %2317, ptr %2318, align 4, !tbaa !5
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = load i32, ptr @test_count, align 4, !tbaa !5
  %2321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = call ptr @s2n_strerror(i32 noundef %2322, ptr noundef @.str.3)
  %2324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2325 = load i32, ptr %2324, align 4, !tbaa !5
  %2326 = call ptr @s2n_strerror_debug(i32 noundef %2325, ptr noundef @.str.3)
  %2327 = call ptr @__errno_location() #12
  %2328 = load i32, ptr %2327, align 4, !tbaa !5
  %2329 = call ptr @strerror(i32 noundef %2328) #11
  %2330 = call ptr @__errno_location() #12
  %2331 = load i32, ptr %2330, align 4, !tbaa !5
  %2332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2319, ptr noundef @.str.4, i32 noundef %2320, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 140, ptr noundef %2323, ptr noundef %2326, ptr noundef %2329, i32 noundef %2331) #11
  br label %2333

2333:                                             ; preds = %2316, %2299
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2334

2334:                                             ; preds = %2333
  br label %2335

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

2336:                                             ; No predecessors!
  br label %2337

2337:                                             ; preds = %2336
  br label %2338

2338:                                             ; preds = %2337, %2279
  br label %2339

2339:                                             ; preds = %2338
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

2341:                                             ; preds = %2340
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = add nsw i32 %2342, 1
  store i32 %2343, ptr @test_count, align 4, !tbaa !5
  %2344 = load ptr, ptr %6, align 8, !tbaa !9
  %2345 = call i32 @s2n_record_parse(ptr noundef %2344)
  %2346 = icmp eq i32 %2345, -1
  br i1 %2346, label %2347, label %2400

2347:                                             ; preds = %2341
  br label %2348

2348:                                             ; preds = %2347
  br label %2349

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

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

2361:                                             ; preds = %2356
  %2362 = load i32, ptr %55, align 4, !tbaa !5
  %2363 = call ptr @__errno_location() #12
  store i32 %2362, ptr %2363, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = load i32, ptr @test_count, align 4, !tbaa !5
  %2366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @s2n_strerror(i32 noundef %2367, ptr noundef @.str.3)
  %2369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror_debug(i32 noundef %2370, ptr noundef @.str.3)
  %2372 = call ptr @__errno_location() #12
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #11
  %2375 = call ptr @__errno_location() #12
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2364, ptr noundef @.str, i32 noundef %2365, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 141, ptr noundef %2368, ptr noundef %2371, ptr noundef %2374, i32 noundef %2376) #11
  br label %2395

2378:                                             ; preds = %2356, %2349
  %2379 = load i32, ptr %55, align 4, !tbaa !5
  %2380 = call ptr @__errno_location() #12
  store i32 %2379, ptr %2380, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = load i32, ptr @test_count, align 4, !tbaa !5
  %2383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror(i32 noundef %2384, ptr noundef @.str.3)
  %2386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror_debug(i32 noundef %2387, ptr noundef @.str.3)
  %2389 = call ptr @__errno_location() #12
  %2390 = load i32, ptr %2389, align 4, !tbaa !5
  %2391 = call ptr @strerror(i32 noundef %2390) #11
  %2392 = call ptr @__errno_location() #12
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2381, ptr noundef @.str.4, i32 noundef %2382, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 141, ptr noundef %2385, ptr noundef %2388, ptr noundef %2391, i32 noundef %2393) #11
  br label %2395

2395:                                             ; preds = %2378, %2361
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2396

2396:                                             ; preds = %2395
  br label %2397

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

2398:                                             ; No predecessors!
  br label %2399

2399:                                             ; preds = %2398
  br label %2400

2400:                                             ; preds = %2399, %2341
  br label %2401

2401:                                             ; preds = %2400
  br label %2402

2402:                                             ; preds = %2401
  br label %2403

2403:                                             ; preds = %2402
  %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 = load i8, ptr %52, align 1, !tbaa !59
  %2407 = zext i8 %2406 to i32
  %2408 = icmp eq i32 %2407, 23
  br i1 %2408, label %2462, label %2409

2409:                                             ; preds = %2403
  br label %2410

2410:                                             ; preds = %2409
  br label %2411

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

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

2423:                                             ; preds = %2418
  %2424 = load i32, ptr %56, align 4, !tbaa !5
  %2425 = call ptr @__errno_location() #12
  store i32 %2424, ptr %2425, align 4, !tbaa !5
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = load i32, ptr @test_count, align 4, !tbaa !5
  %2428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2429 = load i32, ptr %2428, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef @.str.3)
  %2431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2432 = load i32, ptr %2431, align 4, !tbaa !5
  %2433 = call ptr @s2n_strerror_debug(i32 noundef %2432, ptr noundef @.str.3)
  %2434 = call ptr @__errno_location() #12
  %2435 = load i32, ptr %2434, align 4, !tbaa !5
  %2436 = call ptr @strerror(i32 noundef %2435) #11
  %2437 = call ptr @__errno_location() #12
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2426, ptr noundef @.str, i32 noundef %2427, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 142, ptr noundef %2430, ptr noundef %2433, ptr noundef %2436, i32 noundef %2438) #11
  br label %2457

2440:                                             ; preds = %2418, %2411
  %2441 = load i32, ptr %56, align 4, !tbaa !5
  %2442 = call ptr @__errno_location() #12
  store i32 %2441, ptr %2442, align 4, !tbaa !5
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = load i32, ptr @test_count, align 4, !tbaa !5
  %2445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call ptr @s2n_strerror(i32 noundef %2446, ptr noundef @.str.3)
  %2448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call ptr @s2n_strerror_debug(i32 noundef %2449, ptr noundef @.str.3)
  %2451 = call ptr @__errno_location() #12
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = call ptr @strerror(i32 noundef %2452) #11
  %2454 = call ptr @__errno_location() #12
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2443, ptr noundef @.str.4, i32 noundef %2444, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 142, ptr noundef %2447, ptr noundef %2450, ptr noundef %2453, i32 noundef %2455) #11
  br label %2457

2457:                                             ; preds = %2440, %2423
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2458

2458:                                             ; preds = %2457
  br label %2459

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

2460:                                             ; No predecessors!
  br label %2461

2461:                                             ; preds = %2460
  br label %2462

2462:                                             ; preds = %2461, %2403
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

2465:                                             ; preds = %2464
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = add nsw i32 %2466, 1
  store i32 %2467, ptr @test_count, align 4, !tbaa !5
  %2468 = load i16, ptr %53, align 2, !tbaa !56
  %2469 = zext i16 %2468 to i32
  %2470 = load i16, ptr %39, align 2, !tbaa !56
  %2471 = zext i16 %2470 to i32
  %2472 = icmp eq i32 %2469, %2471
  br i1 %2472, label %2526, label %2473

2473:                                             ; preds = %2465
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

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

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

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

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

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

2522:                                             ; preds = %2521
  br label %2523

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

2524:                                             ; No predecessors!
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

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

2527:                                             ; preds = %2526
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = add nsw i32 %2530, 1
  store i32 %2531, ptr @test_count, align 4, !tbaa !5
  %2532 = load ptr, ptr %6, align 8, !tbaa !9
  %2533 = getelementptr inbounds %struct.s2n_connection, ptr %2532, i32 0, i32 38
  %2534 = call i32 @s2n_stuffer_wipe(ptr noundef %2533)
  %2535 = icmp eq i32 %2534, -1
  br i1 %2535, label %2536, label %2589

2536:                                             ; preds = %2529
  br label %2537

2537:                                             ; preds = %2536
  br label %2538

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

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

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

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

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

2585:                                             ; preds = %2584
  br label %2586

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

2587:                                             ; No predecessors!
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

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

2590:                                             ; preds = %2589
  br label %2591

2591:                                             ; preds = %2590
  br label %2592

2592:                                             ; preds = %2591
  %2593 = load i32, ptr @test_count, align 4, !tbaa !5
  %2594 = add nsw i32 %2593, 1
  store i32 %2594, ptr @test_count, align 4, !tbaa !5
  %2595 = load ptr, ptr %6, align 8, !tbaa !9
  %2596 = getelementptr inbounds %struct.s2n_connection, ptr %2595, i32 0, i32 40
  %2597 = call i32 @s2n_stuffer_wipe(ptr noundef %2596)
  %2598 = icmp eq i32 %2597, -1
  br i1 %2598, label %2599, label %2652

2599:                                             ; preds = %2592
  br label %2600

2600:                                             ; preds = %2599
  br label %2601

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

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

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

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

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

2648:                                             ; preds = %2647
  br label %2649

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

2650:                                             ; No predecessors!
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

2652:                                             ; preds = %2651, %2592
  br label %2653

2653:                                             ; preds = %2652
  br label %2654

2654:                                             ; preds = %2653
  br label %2655

2655:                                             ; preds = %2654
  %2656 = load i32, ptr @test_count, align 4, !tbaa !5
  %2657 = add nsw i32 %2656, 1
  store i32 %2657, ptr @test_count, align 4, !tbaa !5
  %2658 = load ptr, ptr %6, align 8, !tbaa !9
  %2659 = call i32 @s2n_connection_wipe(ptr noundef %2658)
  %2660 = icmp eq i32 %2659, -1
  br i1 %2660, label %2661, label %2714

2661:                                             ; preds = %2655
  br label %2662

2662:                                             ; preds = %2661
  br label %2663

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

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

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

2692:                                             ; preds = %2670, %2663
  %2693 = load i32, ptr %60, align 4, !tbaa !5
  %2694 = call ptr @__errno_location() #12
  store i32 %2693, ptr %2694, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call ptr @s2n_strerror(i32 noundef %2698, ptr noundef @.str.3)
  %2700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2701 = load i32, ptr %2700, align 4, !tbaa !5
  %2702 = call ptr @s2n_strerror_debug(i32 noundef %2701, ptr noundef @.str.3)
  %2703 = call ptr @__errno_location() #12
  %2704 = load i32, ptr %2703, align 4, !tbaa !5
  %2705 = call ptr @strerror(i32 noundef %2704) #11
  %2706 = call ptr @__errno_location() #12
  %2707 = load i32, ptr %2706, align 4, !tbaa !5
  %2708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2695, ptr noundef @.str.4, i32 noundef %2696, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 149, ptr noundef %2699, ptr noundef %2702, ptr noundef %2705, i32 noundef %2707) #11
  br label %2709

2709:                                             ; preds = %2692, %2675
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2710

2710:                                             ; preds = %2709
  br label %2711

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

2712:                                             ; No predecessors!
  br label %2713

2713:                                             ; preds = %2712
  br label %2714

2714:                                             ; preds = %2713, %2655
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

2716:                                             ; preds = %2715
  %2717 = load ptr, ptr %6, align 8, !tbaa !9
  %2718 = getelementptr inbounds %struct.s2n_connection, ptr %2717, i32 0, i32 25
  store i8 1, ptr %2718, align 2, !tbaa !52
  %2719 = load ptr, ptr %6, align 8, !tbaa !9
  %2720 = getelementptr inbounds %struct.s2n_connection, ptr %2719, i32 0, i32 22
  store i8 33, ptr %2720, align 1, !tbaa !53
  %2721 = load ptr, ptr %6, align 8, !tbaa !9
  %2722 = getelementptr inbounds %struct.s2n_connection, ptr %2721, i32 0, i32 21
  store i8 33, ptr %2722, align 2, !tbaa !54
  %2723 = load ptr, ptr %6, align 8, !tbaa !9
  %2724 = getelementptr inbounds %struct.s2n_connection, ptr %2723, i32 0, i32 23
  store i8 33, ptr %2724, align 4, !tbaa !55
  %2725 = load ptr, ptr %6, align 8, !tbaa !9
  %2726 = getelementptr inbounds %struct.s2n_connection, ptr %2725, i32 0, i32 26
  %2727 = load ptr, ptr %2726, align 8, !tbaa !15
  %2728 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2727, i32 0, i32 0
  %2729 = load ptr, ptr %2728, align 8, !tbaa !44
  %2730 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %2729, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %2730, align 8, !tbaa !49
  br label %2731

2731:                                             ; preds = %2716
  %2732 = load i32, ptr @test_count, align 4, !tbaa !5
  %2733 = add nsw i32 %2732, 1
  store i32 %2733, ptr @test_count, align 4, !tbaa !5
  %2734 = load ptr, ptr %6, align 8, !tbaa !9
  %2735 = call i32 @destroy_server_keys(ptr noundef %2734)
  %2736 = icmp eq i32 %2735, -1
  br i1 %2736, label %2737, label %2790

2737:                                             ; preds = %2731
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2740 = call ptr @__errno_location() #12
  %2741 = load i32, ptr %2740, align 4, !tbaa !5
  store i32 %2741, ptr %61, align 4, !tbaa !5
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @s2n_print_stacktrace(ptr noundef %2742)
  %2744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2745 = trunc i8 %2744 to i1
  br i1 %2745, label %2746, label %2768

2746:                                             ; preds = %2739
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = call i32 @fileno(ptr noundef %2747) #11
  %2749 = call i32 @isatty(i32 noundef %2748) #11
  %2750 = icmp ne i32 %2749, 0
  br i1 %2750, label %2751, label %2768

2751:                                             ; preds = %2746
  %2752 = load i32, ptr %61, align 4, !tbaa !5
  %2753 = call ptr @__errno_location() #12
  store i32 %2752, ptr %2753, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror(i32 noundef %2757, ptr noundef @.str.3)
  %2759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror_debug(i32 noundef %2760, ptr noundef @.str.3)
  %2762 = call ptr @__errno_location() #12
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = call ptr @strerror(i32 noundef %2763) #11
  %2765 = call ptr @__errno_location() #12
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2754, ptr noundef @.str, i32 noundef %2755, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 155, ptr noundef %2758, ptr noundef %2761, ptr noundef %2764, i32 noundef %2766) #11
  br label %2785

2768:                                             ; preds = %2746, %2739
  %2769 = load i32, ptr %61, align 4, !tbaa !5
  %2770 = call ptr @__errno_location() #12
  store i32 %2769, ptr %2770, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror(i32 noundef %2774, ptr noundef @.str.3)
  %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_debug(i32 noundef %2777, ptr noundef @.str.3)
  %2779 = call ptr @__errno_location() #12
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @strerror(i32 noundef %2780) #11
  %2782 = call ptr @__errno_location() #12
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef @.str.4, i32 noundef %2772, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 155, ptr noundef %2775, ptr noundef %2778, ptr noundef %2781, i32 noundef %2783) #11
  br label %2785

2785:                                             ; preds = %2768, %2751
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

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

2788:                                             ; No predecessors!
  br label %2789

2789:                                             ; preds = %2788
  br label %2790

2790:                                             ; preds = %2789, %2731
  br label %2791

2791:                                             ; preds = %2790
  br label %2792

2792:                                             ; preds = %2791
  br label %2793

2793:                                             ; preds = %2792
  %2794 = load i32, ptr @test_count, align 4, !tbaa !5
  %2795 = add nsw i32 %2794, 1
  store i32 %2795, ptr @test_count, align 4, !tbaa !5
  %2796 = load ptr, ptr %6, align 8, !tbaa !9
  %2797 = call i32 @setup_server_keys(ptr noundef %2796, ptr noundef %10)
  %2798 = icmp eq i32 %2797, -1
  br i1 %2798, label %2799, label %2852

2799:                                             ; preds = %2793
  br label %2800

2800:                                             ; preds = %2799
  br label %2801

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

2808:                                             ; preds = %2801
  %2809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2810 = call i32 @fileno(ptr noundef %2809) #11
  %2811 = call i32 @isatty(i32 noundef %2810) #11
  %2812 = icmp ne i32 %2811, 0
  br i1 %2812, label %2813, label %2830

2813:                                             ; preds = %2808
  %2814 = load i32, ptr %62, align 4, !tbaa !5
  %2815 = call ptr @__errno_location() #12
  store i32 %2814, ptr %2815, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror(i32 noundef %2819, ptr noundef @.str.3)
  %2821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2822 = load i32, ptr %2821, align 4, !tbaa !5
  %2823 = call ptr @s2n_strerror_debug(i32 noundef %2822, ptr noundef @.str.3)
  %2824 = call ptr @__errno_location() #12
  %2825 = load i32, ptr %2824, align 4, !tbaa !5
  %2826 = call ptr @strerror(i32 noundef %2825) #11
  %2827 = call ptr @__errno_location() #12
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2816, ptr noundef @.str, i32 noundef %2817, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 156, ptr noundef %2820, ptr noundef %2823, ptr noundef %2826, i32 noundef %2828) #11
  br label %2847

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

2847:                                             ; preds = %2830, %2813
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

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

2850:                                             ; No predecessors!
  br label %2851

2851:                                             ; preds = %2850
  br label %2852

2852:                                             ; preds = %2851, %2793
  br label %2853

2853:                                             ; preds = %2852
  br label %2854

2854:                                             ; preds = %2853
  br label %2855

2855:                                             ; preds = %2854
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = add nsw i32 %2856, 1
  store i32 %2857, ptr @test_count, align 4, !tbaa !5
  %2858 = load ptr, ptr %6, align 8, !tbaa !9
  %2859 = call i32 @s2n_record_write(ptr noundef %2858, i8 noundef zeroext 23, ptr noundef %27)
  %2860 = getelementptr inbounds %struct.s2n_result, ptr %63, i32 0, i32 0
  store i32 %2859, ptr %2860, align 4
  %2861 = getelementptr inbounds %struct.s2n_result, ptr %63, i32 0, i32 0
  %2862 = load i32, ptr %2861, align 4
  %2863 = call zeroext i1 @s2n_result_is_ok(i32 %2862)
  br i1 %2863, label %2917, label %2864

2864:                                             ; preds = %2855
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

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

2873:                                             ; preds = %2866
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = call i32 @fileno(ptr noundef %2874) #11
  %2876 = call i32 @isatty(i32 noundef %2875) #11
  %2877 = icmp ne i32 %2876, 0
  br i1 %2877, label %2878, label %2895

2878:                                             ; preds = %2873
  %2879 = load i32, ptr %64, align 4, !tbaa !5
  %2880 = call ptr @__errno_location() #12
  store i32 %2879, ptr %2880, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call ptr @s2n_strerror(i32 noundef %2884, ptr noundef @.str.3)
  %2886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2887 = load i32, ptr %2886, align 4, !tbaa !5
  %2888 = call ptr @s2n_strerror_debug(i32 noundef %2887, ptr noundef @.str.3)
  %2889 = call ptr @__errno_location() #12
  %2890 = load i32, ptr %2889, align 4, !tbaa !5
  %2891 = call ptr @strerror(i32 noundef %2890) #11
  %2892 = call ptr @__errno_location() #12
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2881, ptr noundef @.str, i32 noundef %2882, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 157, ptr noundef %2885, ptr noundef %2888, ptr noundef %2891, i32 noundef %2893) #11
  br label %2912

2895:                                             ; preds = %2873, %2866
  %2896 = load i32, ptr %64, align 4, !tbaa !5
  %2897 = call ptr @__errno_location() #12
  store i32 %2896, ptr %2897, 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 @.str.3)
  %2903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call ptr @s2n_strerror_debug(i32 noundef %2904, ptr noundef @.str.3)
  %2906 = call ptr @__errno_location() #12
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @strerror(i32 noundef %2907) #11
  %2909 = call ptr @__errno_location() #12
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2898, ptr noundef @.str.4, i32 noundef %2899, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 157, ptr noundef %2902, ptr noundef %2905, ptr noundef %2908, i32 noundef %2910) #11
  br label %2912

2912:                                             ; preds = %2895, %2878
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

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

2915:                                             ; No predecessors!
  br label %2916

2916:                                             ; preds = %2915
  br label %2917

2917:                                             ; preds = %2916, %2855
  br label %2918

2918:                                             ; preds = %2917
  br label %2919

2919:                                             ; preds = %2918
  br label %2920

2920:                                             ; preds = %2919
  %2921 = load i32, ptr @test_count, align 4, !tbaa !5
  %2922 = add nsw i32 %2921, 1
  store i32 %2922, ptr @test_count, align 4, !tbaa !5
  %2923 = load ptr, ptr %6, align 8, !tbaa !9
  %2924 = getelementptr inbounds %struct.s2n_connection, ptr %2923, i32 0, i32 40
  %2925 = call i32 @s2n_stuffer_wipe(ptr noundef %2924)
  %2926 = icmp eq i32 %2925, -1
  br i1 %2926, label %2927, label %2980

2927:                                             ; preds = %2920
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

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

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

2941:                                             ; preds = %2936
  %2942 = load i32, ptr %65, align 4, !tbaa !5
  %2943 = call ptr @__errno_location() #12
  store i32 %2942, ptr %2943, align 4, !tbaa !5
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call ptr @s2n_strerror(i32 noundef %2947, ptr noundef @.str.3)
  %2949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2950 = load i32, ptr %2949, align 4, !tbaa !5
  %2951 = call ptr @s2n_strerror_debug(i32 noundef %2950, ptr noundef @.str.3)
  %2952 = call ptr @__errno_location() #12
  %2953 = load i32, ptr %2952, align 4, !tbaa !5
  %2954 = call ptr @strerror(i32 noundef %2953) #11
  %2955 = call ptr @__errno_location() #12
  %2956 = load i32, ptr %2955, align 4, !tbaa !5
  %2957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2944, ptr noundef @.str, i32 noundef %2945, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 161, ptr noundef %2948, ptr noundef %2951, ptr noundef %2954, i32 noundef %2956) #11
  br label %2975

2958:                                             ; preds = %2936, %2929
  %2959 = load i32, ptr %65, align 4, !tbaa !5
  %2960 = call ptr @__errno_location() #12
  store i32 %2959, ptr %2960, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = load i32, ptr @test_count, align 4, !tbaa !5
  %2963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror(i32 noundef %2964, ptr noundef @.str.3)
  %2966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef @.str.3)
  %2969 = call ptr @__errno_location() #12
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @strerror(i32 noundef %2970) #11
  %2972 = call ptr @__errno_location() #12
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2961, ptr noundef @.str.4, i32 noundef %2962, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 161, ptr noundef %2965, ptr noundef %2968, ptr noundef %2971, i32 noundef %2973) #11
  br label %2975

2975:                                             ; preds = %2958, %2941
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2976

2976:                                             ; preds = %2975
  br label %2977

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

2978:                                             ; No predecessors!
  br label %2979

2979:                                             ; preds = %2978
  br label %2980

2980:                                             ; preds = %2979, %2920
  br label %2981

2981:                                             ; preds = %2980
  br label %2982

2982:                                             ; preds = %2981
  br label %2983

2983:                                             ; preds = %2982
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = add nsw i32 %2984, 1
  store i32 %2985, ptr @test_count, align 4, !tbaa !5
  %2986 = load ptr, ptr %6, align 8, !tbaa !9
  %2987 = getelementptr inbounds %struct.s2n_connection, ptr %2986, i32 0, i32 38
  %2988 = call i32 @s2n_stuffer_wipe(ptr noundef %2987)
  %2989 = icmp eq i32 %2988, -1
  br i1 %2989, label %2990, label %3043

2990:                                             ; preds = %2983
  br label %2991

2991:                                             ; preds = %2990
  br label %2992

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

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

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

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

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

3039:                                             ; preds = %3038
  br label %3040

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

3041:                                             ; No predecessors!
  br label %3042

3042:                                             ; preds = %3041
  br label %3043

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

3044:                                             ; preds = %3043
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045
  %3047 = load i32, ptr @test_count, align 4, !tbaa !5
  %3048 = add nsw i32 %3047, 1
  store i32 %3048, ptr @test_count, align 4, !tbaa !5
  %3049 = load ptr, ptr %6, align 8, !tbaa !9
  %3050 = getelementptr inbounds %struct.s2n_connection, ptr %3049, i32 0, i32 41
  %3051 = load ptr, ptr %6, align 8, !tbaa !9
  %3052 = getelementptr inbounds %struct.s2n_connection, ptr %3051, i32 0, i32 38
  %3053 = call i32 @s2n_stuffer_copy(ptr noundef %3050, ptr noundef %3052, i32 noundef 5)
  %3054 = icmp eq i32 %3053, -1
  br i1 %3054, label %3055, label %3108

3055:                                             ; preds = %3046
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

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

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

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

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

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

3104:                                             ; preds = %3103
  br label %3105

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

3106:                                             ; No predecessors!
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

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

3109:                                             ; preds = %3108
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = add nsw i32 %3112, 1
  store i32 %3113, ptr @test_count, align 4, !tbaa !5
  %3114 = load ptr, ptr %6, align 8, !tbaa !9
  %3115 = getelementptr inbounds %struct.s2n_connection, ptr %3114, i32 0, i32 41
  %3116 = load ptr, ptr %6, align 8, !tbaa !9
  %3117 = getelementptr inbounds %struct.s2n_connection, ptr %3116, i32 0, i32 40
  %3118 = load ptr, ptr %6, align 8, !tbaa !9
  %3119 = getelementptr inbounds %struct.s2n_connection, ptr %3118, i32 0, i32 41
  %3120 = getelementptr inbounds %struct.s2n_stuffer, ptr %3119, i32 0, i32 2
  %3121 = load i32, ptr %3120, align 4, !tbaa !61
  %3122 = load ptr, ptr %6, align 8, !tbaa !9
  %3123 = getelementptr inbounds %struct.s2n_connection, ptr %3122, i32 0, i32 41
  %3124 = getelementptr inbounds %struct.s2n_stuffer, ptr %3123, i32 0, i32 1
  %3125 = load i32, ptr %3124, align 8, !tbaa !62
  %3126 = sub i32 %3121, %3125
  %3127 = call i32 @s2n_stuffer_copy(ptr noundef %3115, ptr noundef %3117, i32 noundef %3126)
  %3128 = icmp eq i32 %3127, -1
  br i1 %3128, label %3129, label %3182

3129:                                             ; preds = %3111
  br label %3130

3130:                                             ; preds = %3129
  br label %3131

3131:                                             ; preds = %3130
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3132 = call ptr @__errno_location() #12
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  store i32 %3133, ptr %68, align 4, !tbaa !5
  %3134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3135 = call i32 @s2n_print_stacktrace(ptr noundef %3134)
  %3136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3137 = trunc i8 %3136 to i1
  br i1 %3137, label %3138, label %3160

3138:                                             ; preds = %3131
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = call i32 @fileno(ptr noundef %3139) #11
  %3141 = call i32 @isatty(i32 noundef %3140) #11
  %3142 = icmp ne i32 %3141, 0
  br i1 %3142, label %3143, label %3160

3143:                                             ; preds = %3138
  %3144 = load i32, ptr %68, align 4, !tbaa !5
  %3145 = call ptr @__errno_location() #12
  store i32 %3144, ptr %3145, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3149 = load i32, ptr %3148, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror(i32 noundef %3149, ptr noundef @.str.3)
  %3151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3152 = load i32, ptr %3151, align 4, !tbaa !5
  %3153 = call ptr @s2n_strerror_debug(i32 noundef %3152, ptr noundef @.str.3)
  %3154 = call ptr @__errno_location() #12
  %3155 = load i32, ptr %3154, align 4, !tbaa !5
  %3156 = call ptr @strerror(i32 noundef %3155) #11
  %3157 = call ptr @__errno_location() #12
  %3158 = load i32, ptr %3157, align 4, !tbaa !5
  %3159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3146, ptr noundef @.str, i32 noundef %3147, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 164, ptr noundef %3150, ptr noundef %3153, ptr noundef %3156, i32 noundef %3158) #11
  br label %3177

3160:                                             ; preds = %3138, %3131
  %3161 = load i32, ptr %68, align 4, !tbaa !5
  %3162 = call ptr @__errno_location() #12
  store i32 %3161, ptr %3162, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef @.str.3)
  %3168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror_debug(i32 noundef %3169, ptr noundef @.str.3)
  %3171 = call ptr @__errno_location() #12
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call ptr @strerror(i32 noundef %3172) #11
  %3174 = call ptr @__errno_location() #12
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3163, ptr noundef @.str.4, i32 noundef %3164, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 164, ptr noundef %3167, ptr noundef %3170, ptr noundef %3173, i32 noundef %3175) #11
  br label %3177

3177:                                             ; preds = %3160, %3143
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3178

3178:                                             ; preds = %3177
  br label %3179

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

3180:                                             ; No predecessors!
  br label %3181

3181:                                             ; preds = %3180
  br label %3182

3182:                                             ; preds = %3181, %3111
  br label %3183

3183:                                             ; preds = %3182
  br label %3184

3184:                                             ; preds = %3183
  br label %3185

3185:                                             ; preds = %3184
  %3186 = load i32, ptr @test_count, align 4, !tbaa !5
  %3187 = add nsw i32 %3186, 1
  store i32 %3187, ptr @test_count, align 4, !tbaa !5
  %3188 = load ptr, ptr %6, align 8, !tbaa !9
  %3189 = getelementptr inbounds %struct.s2n_connection, ptr %3188, i32 0, i32 38
  %3190 = getelementptr inbounds %struct.s2n_stuffer, ptr %3189, i32 0, i32 0
  %3191 = getelementptr inbounds %struct.s2n_blob, ptr %3190, i32 0, i32 0
  %3192 = load ptr, ptr %3191, align 8, !tbaa !63
  %3193 = getelementptr inbounds i8, ptr %3192, i64 0
  %3194 = load i8, ptr %3193, align 1, !tbaa !59
  %3195 = zext i8 %3194 to i32
  %3196 = icmp eq i32 %3195, 23
  br i1 %3196, label %3250, label %3197

3197:                                             ; preds = %3185
  br label %3198

3198:                                             ; preds = %3197
  br label %3199

3199:                                             ; preds = %3198
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3200 = call ptr @__errno_location() #12
  %3201 = load i32, ptr %3200, align 4, !tbaa !5
  store i32 %3201, ptr %69, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = call i32 @s2n_print_stacktrace(ptr noundef %3202)
  %3204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3205 = trunc i8 %3204 to i1
  br i1 %3205, label %3206, label %3228

3206:                                             ; preds = %3199
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3208 = call i32 @fileno(ptr noundef %3207) #11
  %3209 = call i32 @isatty(i32 noundef %3208) #11
  %3210 = icmp ne i32 %3209, 0
  br i1 %3210, label %3211, label %3228

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

3228:                                             ; preds = %3206, %3199
  %3229 = load i32, ptr %69, align 4, !tbaa !5
  %3230 = call ptr @__errno_location() #12
  store i32 %3229, ptr %3230, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror(i32 noundef %3234, ptr noundef @.str.3)
  %3236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror_debug(i32 noundef %3237, ptr noundef @.str.3)
  %3239 = call ptr @__errno_location() #12
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call ptr @strerror(i32 noundef %3240) #11
  %3242 = call ptr @__errno_location() #12
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3231, ptr noundef @.str.4, i32 noundef %3232, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 167, ptr noundef %3235, ptr noundef %3238, ptr noundef %3241, i32 noundef %3243) #11
  br label %3245

3245:                                             ; preds = %3228, %3211
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3246

3246:                                             ; preds = %3245
  br label %3247

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

3248:                                             ; No predecessors!
  br label %3249

3249:                                             ; preds = %3248
  br label %3250

3250:                                             ; preds = %3249, %3185
  br label %3251

3251:                                             ; preds = %3250
  br label %3252

3252:                                             ; preds = %3251
  %3253 = load ptr, ptr %6, align 8, !tbaa !9
  %3254 = getelementptr inbounds %struct.s2n_connection, ptr %3253, i32 0, i32 38
  %3255 = getelementptr inbounds %struct.s2n_stuffer, ptr %3254, i32 0, i32 0
  %3256 = getelementptr inbounds %struct.s2n_blob, ptr %3255, i32 0, i32 0
  %3257 = load ptr, ptr %3256, align 8, !tbaa !63
  %3258 = getelementptr inbounds i8, ptr %3257, i64 0
  %3259 = load i8, ptr %3258, align 1, !tbaa !59
  %3260 = zext i8 %3259 to i32
  %3261 = xor i32 %3260, 1
  %3262 = trunc i32 %3261 to i8
  store i8 %3262, ptr %3258, align 1, !tbaa !59
  br label %3263

3263:                                             ; preds = %3252
  %3264 = load i32, ptr @test_count, align 4, !tbaa !5
  %3265 = add nsw i32 %3264, 1
  store i32 %3265, ptr @test_count, align 4, !tbaa !5
  %3266 = load ptr, ptr %6, align 8, !tbaa !9
  %3267 = call i32 @s2n_record_header_parse(ptr noundef %3266, ptr noundef %52, ptr noundef %53)
  %3268 = icmp eq i32 %3267, -1
  br i1 %3268, label %3269, label %3322

3269:                                             ; preds = %3263
  br label %3270

3270:                                             ; preds = %3269
  br label %3271

3271:                                             ; preds = %3270
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3272 = call ptr @__errno_location() #12
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  store i32 %3273, ptr %70, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274)
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc i8 %3276 to i1
  br i1 %3277, label %3278, label %3300

3278:                                             ; preds = %3271
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #11
  %3281 = call i32 @isatty(i32 noundef %3280) #11
  %3282 = icmp ne i32 %3281, 0
  br i1 %3282, label %3283, label %3300

3283:                                             ; preds = %3278
  %3284 = load i32, ptr %70, align 4, !tbaa !5
  %3285 = call ptr @__errno_location() #12
  store i32 %3284, ptr %3285, align 4, !tbaa !5
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror(i32 noundef %3289, ptr noundef @.str.3)
  %3291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror_debug(i32 noundef %3292, ptr noundef @.str.3)
  %3294 = call ptr @__errno_location() #12
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #11
  %3297 = call ptr @__errno_location() #12
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3286, ptr noundef @.str, i32 noundef %3287, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 170, ptr noundef %3290, ptr noundef %3293, ptr noundef %3296, i32 noundef %3298) #11
  br label %3317

3300:                                             ; preds = %3278, %3271
  %3301 = load i32, ptr %70, align 4, !tbaa !5
  %3302 = call ptr @__errno_location() #12
  store i32 %3301, ptr %3302, align 4, !tbaa !5
  %3303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3304 = load i32, ptr @test_count, align 4, !tbaa !5
  %3305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3306 = load i32, ptr %3305, align 4, !tbaa !5
  %3307 = call ptr @s2n_strerror(i32 noundef %3306, ptr noundef @.str.3)
  %3308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = call ptr @s2n_strerror_debug(i32 noundef %3309, ptr noundef @.str.3)
  %3311 = call ptr @__errno_location() #12
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call ptr @strerror(i32 noundef %3312) #11
  %3314 = call ptr @__errno_location() #12
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3303, ptr noundef @.str.4, i32 noundef %3304, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 170, ptr noundef %3307, ptr noundef %3310, ptr noundef %3313, i32 noundef %3315) #11
  br label %3317

3317:                                             ; preds = %3300, %3283
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3318

3318:                                             ; preds = %3317
  br label %3319

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

3320:                                             ; No predecessors!
  br label %3321

3321:                                             ; preds = %3320
  br label %3322

3322:                                             ; preds = %3321, %3263
  br label %3323

3323:                                             ; preds = %3322
  br label %3324

3324:                                             ; preds = %3323
  br label %3325

3325:                                             ; preds = %3324
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = add nsw i32 %3326, 1
  store i32 %3327, ptr @test_count, align 4, !tbaa !5
  %3328 = load i8, ptr %52, align 1, !tbaa !59
  %3329 = zext i8 %3328 to i32
  %3330 = icmp eq i32 %3329, 22
  br i1 %3330, label %3384, label %3331

3331:                                             ; preds = %3325
  br label %3332

3332:                                             ; preds = %3331
  br label %3333

3333:                                             ; preds = %3332
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3334 = call ptr @__errno_location() #12
  %3335 = load i32, ptr %3334, align 4, !tbaa !5
  store i32 %3335, ptr %71, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @s2n_print_stacktrace(ptr noundef %3336)
  %3338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3339 = trunc i8 %3338 to i1
  br i1 %3339, label %3340, label %3362

3340:                                             ; preds = %3333
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @fileno(ptr noundef %3341) #11
  %3343 = call i32 @isatty(i32 noundef %3342) #11
  %3344 = icmp ne i32 %3343, 0
  br i1 %3344, label %3345, label %3362

3345:                                             ; preds = %3340
  %3346 = load i32, ptr %71, align 4, !tbaa !5
  %3347 = call ptr @__errno_location() #12
  store i32 %3346, ptr %3347, align 4, !tbaa !5
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = load i32, ptr @test_count, align 4, !tbaa !5
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror(i32 noundef %3351, ptr noundef @.str.3)
  %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_debug(i32 noundef %3354, ptr noundef @.str.3)
  %3356 = call ptr @__errno_location() #12
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #11
  %3359 = call ptr @__errno_location() #12
  %3360 = load i32, ptr %3359, align 4, !tbaa !5
  %3361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3348, ptr noundef @.str, i32 noundef %3349, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 171, ptr noundef %3352, ptr noundef %3355, ptr noundef %3358, i32 noundef %3360) #11
  br label %3379

3362:                                             ; preds = %3340, %3333
  %3363 = load i32, ptr %71, align 4, !tbaa !5
  %3364 = call ptr @__errno_location() #12
  store i32 %3363, ptr %3364, align 4, !tbaa !5
  %3365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3366 = load i32, ptr @test_count, align 4, !tbaa !5
  %3367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror(i32 noundef %3368, ptr noundef @.str.3)
  %3370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call ptr @s2n_strerror_debug(i32 noundef %3371, ptr noundef @.str.3)
  %3373 = call ptr @__errno_location() #12
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #11
  %3376 = call ptr @__errno_location() #12
  %3377 = load i32, ptr %3376, align 4, !tbaa !5
  %3378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3365, ptr noundef @.str.4, i32 noundef %3366, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 171, ptr noundef %3369, ptr noundef %3372, ptr noundef %3375, i32 noundef %3377) #11
  br label %3379

3379:                                             ; preds = %3362, %3345
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

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

3382:                                             ; No predecessors!
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383, %3325
  br label %3385

3385:                                             ; preds = %3384
  br label %3386

3386:                                             ; preds = %3385
  br label %3387

3387:                                             ; preds = %3386
  br label %3388

3388:                                             ; preds = %3387
  %3389 = load i32, ptr @test_count, align 4, !tbaa !5
  %3390 = add nsw i32 %3389, 1
  store i32 %3390, ptr @test_count, align 4, !tbaa !5
  %3391 = load ptr, ptr %6, align 8, !tbaa !9
  %3392 = call i32 @s2n_record_parse(ptr noundef %3391)
  %3393 = icmp eq i32 %3392, -1
  br i1 %3393, label %3447, label %3394

3394:                                             ; preds = %3388
  br label %3395

3395:                                             ; preds = %3394
  br label %3396

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

3403:                                             ; preds = %3396
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = call i32 @fileno(ptr noundef %3404) #11
  %3406 = call i32 @isatty(i32 noundef %3405) #11
  %3407 = icmp ne i32 %3406, 0
  br i1 %3407, label %3408, label %3425

3408:                                             ; preds = %3403
  %3409 = load i32, ptr %72, align 4, !tbaa !5
  %3410 = call ptr @__errno_location() #12
  store i32 %3409, ptr %3410, align 4, !tbaa !5
  %3411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror(i32 noundef %3414, ptr noundef @.str.3)
  %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_debug(i32 noundef %3417, ptr noundef @.str.3)
  %3419 = call ptr @__errno_location() #12
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call ptr @strerror(i32 noundef %3420) #11
  %3422 = call ptr @__errno_location() #12
  %3423 = load i32, ptr %3422, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3411, ptr noundef @.str, i32 noundef %3412, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 182, ptr noundef %3415, ptr noundef %3418, ptr noundef %3421, i32 noundef %3423) #11
  br label %3442

3425:                                             ; preds = %3403, %3396
  %3426 = load i32, ptr %72, align 4, !tbaa !5
  %3427 = call ptr @__errno_location() #12
  store i32 %3426, ptr %3427, align 4, !tbaa !5
  %3428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3429 = load i32, ptr @test_count, align 4, !tbaa !5
  %3430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3431 = load i32, ptr %3430, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror(i32 noundef %3431, ptr noundef @.str.3)
  %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_debug(i32 noundef %3434, ptr noundef @.str.3)
  %3436 = call ptr @__errno_location() #12
  %3437 = load i32, ptr %3436, align 4, !tbaa !5
  %3438 = call ptr @strerror(i32 noundef %3437) #11
  %3439 = call ptr @__errno_location() #12
  %3440 = load i32, ptr %3439, align 4, !tbaa !5
  %3441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3428, ptr noundef @.str.4, i32 noundef %3429, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 182, ptr noundef %3432, ptr noundef %3435, ptr noundef %3438, i32 noundef %3440) #11
  br label %3442

3442:                                             ; preds = %3425, %3408
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3443

3443:                                             ; preds = %3442
  br label %3444

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

3445:                                             ; No predecessors!
  br label %3446

3446:                                             ; preds = %3445
  br label %3447

3447:                                             ; preds = %3446, %3388
  br label %3448

3448:                                             ; preds = %3447
  br label %3449

3449:                                             ; preds = %3448
  br label %3450

3450:                                             ; preds = %3449
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3454 = load i32, ptr %3453, align 4, !tbaa !5
  %3455 = icmp eq i32 %3454, 0
  br i1 %3455, label %3456, label %3509

3456:                                             ; preds = %3450
  br label %3457

3457:                                             ; preds = %3456
  br label %3458

3458:                                             ; preds = %3457
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3459 = call ptr @__errno_location() #12
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  store i32 %3460, ptr %73, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @s2n_print_stacktrace(ptr noundef %3461)
  %3463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3464 = trunc i8 %3463 to i1
  br i1 %3464, label %3465, label %3487

3465:                                             ; preds = %3458
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = call i32 @fileno(ptr noundef %3466) #11
  %3468 = call i32 @isatty(i32 noundef %3467) #11
  %3469 = icmp ne i32 %3468, 0
  br i1 %3469, label %3470, label %3487

3470:                                             ; preds = %3465
  %3471 = load i32, ptr %73, align 4, !tbaa !5
  %3472 = call ptr @__errno_location() #12
  store i32 %3471, ptr %3472, align 4, !tbaa !5
  %3473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3474 = load i32, ptr @test_count, align 4, !tbaa !5
  %3475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror(i32 noundef %3476, ptr noundef @.str.3)
  %3478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call ptr @s2n_strerror_debug(i32 noundef %3479, ptr noundef @.str.3)
  %3481 = call ptr @__errno_location() #12
  %3482 = load i32, ptr %3481, align 4, !tbaa !5
  %3483 = call ptr @strerror(i32 noundef %3482) #11
  %3484 = call ptr @__errno_location() #12
  %3485 = load i32, ptr %3484, align 4, !tbaa !5
  %3486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3473, ptr noundef @.str, i32 noundef %3474, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 182, ptr noundef %3477, ptr noundef %3480, ptr noundef %3483, i32 noundef %3485) #11
  br label %3504

3487:                                             ; preds = %3465, %3458
  %3488 = load i32, ptr %73, align 4, !tbaa !5
  %3489 = call ptr @__errno_location() #12
  store i32 %3488, ptr %3489, align 4, !tbaa !5
  %3490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3491 = load i32, ptr @test_count, align 4, !tbaa !5
  %3492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3493 = load i32, ptr %3492, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror(i32 noundef %3493, ptr noundef @.str.3)
  %3495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call ptr @s2n_strerror_debug(i32 noundef %3496, ptr noundef @.str.3)
  %3498 = call ptr @__errno_location() #12
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  %3500 = call ptr @strerror(i32 noundef %3499) #11
  %3501 = call ptr @__errno_location() #12
  %3502 = load i32, ptr %3501, align 4, !tbaa !5
  %3503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3490, ptr noundef @.str.4, i32 noundef %3491, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 182, ptr noundef %3494, ptr noundef %3497, ptr noundef %3500, i32 noundef %3502) #11
  br label %3504

3504:                                             ; preds = %3487, %3470
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

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

3507:                                             ; No predecessors!
  br label %3508

3508:                                             ; preds = %3507
  br label %3509

3509:                                             ; preds = %3508, %3450
  br label %3510

3510:                                             ; preds = %3509
  br label %3511

3511:                                             ; preds = %3510
  br label %3512

3512:                                             ; preds = %3511
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = add nsw i32 %3513, 1
  store i32 %3514, ptr @test_count, align 4, !tbaa !5
  %3515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror_debug(i32 noundef %3516, ptr noundef @.str.3)
  %3518 = icmp eq ptr %3517, null
  br i1 %3518, label %3519, label %3572

3519:                                             ; preds = %3512
  br label %3520

3520:                                             ; preds = %3519
  br label %3521

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

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

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

3550:                                             ; preds = %3528, %3521
  %3551 = load i32, ptr %74, align 4, !tbaa !5
  %3552 = call ptr @__errno_location() #12
  store i32 %3551, ptr %3552, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = load i32, ptr @test_count, align 4, !tbaa !5
  %3555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  %3557 = call ptr @s2n_strerror(i32 noundef %3556, ptr noundef @.str.3)
  %3558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror_debug(i32 noundef %3559, ptr noundef @.str.3)
  %3561 = call ptr @__errno_location() #12
  %3562 = load i32, ptr %3561, align 4, !tbaa !5
  %3563 = call ptr @strerror(i32 noundef %3562) #11
  %3564 = call ptr @__errno_location() #12
  %3565 = load i32, ptr %3564, align 4, !tbaa !5
  %3566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3553, ptr noundef @.str.4, i32 noundef %3554, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 182, ptr noundef %3557, ptr noundef %3560, ptr noundef %3563, i32 noundef %3565) #11
  br label %3567

3567:                                             ; preds = %3550, %3533
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3568

3568:                                             ; preds = %3567
  br label %3569

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

3570:                                             ; No predecessors!
  br label %3571

3571:                                             ; preds = %3570
  br label %3572

3572:                                             ; preds = %3571, %3512
  br label %3573

3573:                                             ; preds = %3572
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  %3576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3576, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3577 = call ptr @__errno_location() #12
  store i32 0, ptr %3577, align 4, !tbaa !5
  br label %3578

3578:                                             ; preds = %3575
  br label %3579

3579:                                             ; preds = %3578
  br label %3580

3580:                                             ; preds = %3579
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581
  %3583 = load i32, ptr @test_count, align 4, !tbaa !5
  %3584 = add nsw i32 %3583, 1
  store i32 %3584, ptr @test_count, align 4, !tbaa !5
  %3585 = load ptr, ptr %6, align 8, !tbaa !9
  %3586 = getelementptr inbounds %struct.s2n_connection, ptr %3585, i32 0, i32 38
  %3587 = call i32 @s2n_stuffer_wipe(ptr noundef %3586)
  %3588 = icmp eq i32 %3587, -1
  br i1 %3588, label %3589, label %3642

3589:                                             ; preds = %3582
  br label %3590

3590:                                             ; preds = %3589
  br label %3591

3591:                                             ; preds = %3590
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3592 = call ptr @__errno_location() #12
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  store i32 %3593, ptr %75, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594)
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc i8 %3596 to i1
  br i1 %3597, label %3598, label %3620

3598:                                             ; preds = %3591
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = call i32 @fileno(ptr noundef %3599) #11
  %3601 = call i32 @isatty(i32 noundef %3600) #11
  %3602 = icmp ne i32 %3601, 0
  br i1 %3602, label %3603, label %3620

3603:                                             ; preds = %3598
  %3604 = load i32, ptr %75, align 4, !tbaa !5
  %3605 = call ptr @__errno_location() #12
  store i32 %3604, ptr %3605, align 4, !tbaa !5
  %3606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3607 = load i32, ptr @test_count, align 4, !tbaa !5
  %3608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3609 = load i32, ptr %3608, align 4, !tbaa !5
  %3610 = call ptr @s2n_strerror(i32 noundef %3609, ptr noundef @.str.3)
  %3611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3612 = load i32, ptr %3611, align 4, !tbaa !5
  %3613 = call ptr @s2n_strerror_debug(i32 noundef %3612, ptr noundef @.str.3)
  %3614 = call ptr @__errno_location() #12
  %3615 = load i32, ptr %3614, align 4, !tbaa !5
  %3616 = call ptr @strerror(i32 noundef %3615) #11
  %3617 = call ptr @__errno_location() #12
  %3618 = load i32, ptr %3617, align 4, !tbaa !5
  %3619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3606, ptr noundef @.str, i32 noundef %3607, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 184, ptr noundef %3610, ptr noundef %3613, ptr noundef %3616, i32 noundef %3618) #11
  br label %3637

3620:                                             ; preds = %3598, %3591
  %3621 = load i32, ptr %75, align 4, !tbaa !5
  %3622 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %3631 = call ptr @__errno_location() #12
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @strerror(i32 noundef %3632) #11
  %3634 = call ptr @__errno_location() #12
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef @.str.4, i32 noundef %3624, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 184, ptr noundef %3627, ptr noundef %3630, ptr noundef %3633, i32 noundef %3635) #11
  br label %3637

3637:                                             ; preds = %3620, %3603
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

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

3640:                                             ; No predecessors!
  br label %3641

3641:                                             ; preds = %3640
  br label %3642

3642:                                             ; preds = %3641, %3582
  br label %3643

3643:                                             ; preds = %3642
  br label %3644

3644:                                             ; preds = %3643
  br label %3645

3645:                                             ; preds = %3644
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = add nsw i32 %3646, 1
  store i32 %3647, ptr @test_count, align 4, !tbaa !5
  %3648 = load ptr, ptr %6, align 8, !tbaa !9
  %3649 = getelementptr inbounds %struct.s2n_connection, ptr %3648, i32 0, i32 40
  %3650 = call i32 @s2n_stuffer_wipe(ptr noundef %3649)
  %3651 = icmp eq i32 %3650, -1
  br i1 %3651, label %3652, label %3705

3652:                                             ; preds = %3645
  br label %3653

3653:                                             ; preds = %3652
  br label %3654

3654:                                             ; preds = %3653
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3655 = call ptr @__errno_location() #12
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  store i32 %3656, ptr %76, align 4, !tbaa !5
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = call i32 @s2n_print_stacktrace(ptr noundef %3657)
  %3659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3660 = trunc i8 %3659 to i1
  br i1 %3660, label %3661, label %3683

3661:                                             ; preds = %3654
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = call i32 @fileno(ptr noundef %3662) #11
  %3664 = call i32 @isatty(i32 noundef %3663) #11
  %3665 = icmp ne i32 %3664, 0
  br i1 %3665, label %3666, label %3683

3666:                                             ; preds = %3661
  %3667 = load i32, ptr %76, align 4, !tbaa !5
  %3668 = call ptr @__errno_location() #12
  store i32 %3667, ptr %3668, align 4, !tbaa !5
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = load i32, ptr @test_count, align 4, !tbaa !5
  %3671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3672 = load i32, ptr %3671, align 4, !tbaa !5
  %3673 = call ptr @s2n_strerror(i32 noundef %3672, ptr noundef @.str.3)
  %3674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3675 = load i32, ptr %3674, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror_debug(i32 noundef %3675, ptr noundef @.str.3)
  %3677 = call ptr @__errno_location() #12
  %3678 = load i32, ptr %3677, align 4, !tbaa !5
  %3679 = call ptr @strerror(i32 noundef %3678) #11
  %3680 = call ptr @__errno_location() #12
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  %3682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3669, ptr noundef @.str, i32 noundef %3670, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 185, ptr noundef %3673, ptr noundef %3676, ptr noundef %3679, i32 noundef %3681) #11
  br label %3700

3683:                                             ; preds = %3661, %3654
  %3684 = load i32, ptr %76, align 4, !tbaa !5
  %3685 = call ptr @__errno_location() #12
  store i32 %3684, ptr %3685, align 4, !tbaa !5
  %3686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3687 = load i32, ptr @test_count, align 4, !tbaa !5
  %3688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3689 = load i32, ptr %3688, align 4, !tbaa !5
  %3690 = call ptr @s2n_strerror(i32 noundef %3689, ptr noundef @.str.3)
  %3691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3692 = load i32, ptr %3691, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror_debug(i32 noundef %3692, ptr noundef @.str.3)
  %3694 = call ptr @__errno_location() #12
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @strerror(i32 noundef %3695) #11
  %3697 = call ptr @__errno_location() #12
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3686, ptr noundef @.str.4, i32 noundef %3687, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 185, ptr noundef %3690, ptr noundef %3693, ptr noundef %3696, i32 noundef %3698) #11
  br label %3700

3700:                                             ; preds = %3683, %3666
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

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

3703:                                             ; No predecessors!
  br label %3704

3704:                                             ; preds = %3703
  br label %3705

3705:                                             ; preds = %3704, %3645
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #11
  store i64 0, ptr %77, align 8, !tbaa !51
  br label %3708

3708:                                             ; preds = %4697, %3707
  %3709 = load i64, ptr %77, align 8, !tbaa !51
  %3710 = icmp ult i64 %3709, 8
  br i1 %3710, label %3712, label %3711

3711:                                             ; preds = %3708
  store i32 331, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  br label %4700

3712:                                             ; preds = %3708
  br label %3713

3713:                                             ; preds = %3712
  %3714 = load i32, ptr @test_count, align 4, !tbaa !5
  %3715 = add nsw i32 %3714, 1
  store i32 %3715, ptr @test_count, align 4, !tbaa !5
  %3716 = load ptr, ptr %6, align 8, !tbaa !9
  %3717 = call i32 @s2n_connection_wipe(ptr noundef %3716)
  %3718 = icmp eq i32 %3717, -1
  br i1 %3718, label %3719, label %3772

3719:                                             ; preds = %3713
  br label %3720

3720:                                             ; preds = %3719
  br label %3721

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

3728:                                             ; preds = %3721
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = call i32 @fileno(ptr noundef %3729) #11
  %3731 = call i32 @isatty(i32 noundef %3730) #11
  %3732 = icmp ne i32 %3731, 0
  br i1 %3732, label %3733, label %3750

3733:                                             ; preds = %3728
  %3734 = load i32, ptr %78, align 4, !tbaa !5
  %3735 = call ptr @__errno_location() #12
  store i32 %3734, ptr %3735, align 4, !tbaa !5
  %3736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3737 = load i32, ptr @test_count, align 4, !tbaa !5
  %3738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3739 = load i32, ptr %3738, align 4, !tbaa !5
  %3740 = call ptr @s2n_strerror(i32 noundef %3739, ptr noundef @.str.3)
  %3741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3742 = load i32, ptr %3741, align 4, !tbaa !5
  %3743 = call ptr @s2n_strerror_debug(i32 noundef %3742, ptr noundef @.str.3)
  %3744 = call ptr @__errno_location() #12
  %3745 = load i32, ptr %3744, align 4, !tbaa !5
  %3746 = call ptr @strerror(i32 noundef %3745) #11
  %3747 = call ptr @__errno_location() #12
  %3748 = load i32, ptr %3747, align 4, !tbaa !5
  %3749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3736, ptr noundef @.str, i32 noundef %3737, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 189, ptr noundef %3740, ptr noundef %3743, ptr noundef %3746, i32 noundef %3748) #11
  br label %3767

3750:                                             ; preds = %3728, %3721
  %3751 = load i32, ptr %78, align 4, !tbaa !5
  %3752 = call ptr @__errno_location() #12
  store i32 %3751, ptr %3752, align 4, !tbaa !5
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = load i32, ptr @test_count, align 4, !tbaa !5
  %3755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3756 = load i32, ptr %3755, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror(i32 noundef %3756, ptr noundef @.str.3)
  %3758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3759 = load i32, ptr %3758, align 4, !tbaa !5
  %3760 = call ptr @s2n_strerror_debug(i32 noundef %3759, ptr noundef @.str.3)
  %3761 = call ptr @__errno_location() #12
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  %3763 = call ptr @strerror(i32 noundef %3762) #11
  %3764 = call ptr @__errno_location() #12
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  %3766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3753, ptr noundef @.str.4, i32 noundef %3754, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 189, ptr noundef %3757, ptr noundef %3760, ptr noundef %3763, i32 noundef %3765) #11
  br label %3767

3767:                                             ; preds = %3750, %3733
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3768

3768:                                             ; preds = %3767
  br label %3769

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

3770:                                             ; No predecessors!
  br label %3771

3771:                                             ; preds = %3770
  br label %3772

3772:                                             ; preds = %3771, %3713
  br label %3773

3773:                                             ; preds = %3772
  br label %3774

3774:                                             ; preds = %3773
  %3775 = load ptr, ptr %6, align 8, !tbaa !9
  %3776 = getelementptr inbounds %struct.s2n_connection, ptr %3775, i32 0, i32 25
  store i8 1, ptr %3776, align 2, !tbaa !52
  %3777 = load ptr, ptr %6, align 8, !tbaa !9
  %3778 = getelementptr inbounds %struct.s2n_connection, ptr %3777, i32 0, i32 22
  store i8 33, ptr %3778, align 1, !tbaa !53
  %3779 = load ptr, ptr %6, align 8, !tbaa !9
  %3780 = getelementptr inbounds %struct.s2n_connection, ptr %3779, i32 0, i32 21
  store i8 33, ptr %3780, align 2, !tbaa !54
  %3781 = load ptr, ptr %6, align 8, !tbaa !9
  %3782 = getelementptr inbounds %struct.s2n_connection, ptr %3781, i32 0, i32 23
  store i8 33, ptr %3782, align 4, !tbaa !55
  %3783 = load ptr, ptr %6, align 8, !tbaa !9
  %3784 = getelementptr inbounds %struct.s2n_connection, ptr %3783, i32 0, i32 26
  %3785 = load ptr, ptr %3784, align 8, !tbaa !15
  %3786 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3785, i32 0, i32 0
  %3787 = load ptr, ptr %3786, align 8, !tbaa !44
  %3788 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %3787, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %3788, align 8, !tbaa !49
  br label %3789

3789:                                             ; preds = %3774
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = add nsw i32 %3790, 1
  store i32 %3791, ptr @test_count, align 4, !tbaa !5
  %3792 = load ptr, ptr %6, align 8, !tbaa !9
  %3793 = call i32 @destroy_server_keys(ptr noundef %3792)
  %3794 = icmp eq i32 %3793, -1
  br i1 %3794, label %3795, label %3848

3795:                                             ; preds = %3789
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3798 = call ptr @__errno_location() #12
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  store i32 %3799, ptr %79, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = call i32 @s2n_print_stacktrace(ptr noundef %3800)
  %3802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3803 = trunc i8 %3802 to i1
  br i1 %3803, label %3804, label %3826

3804:                                             ; preds = %3797
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @fileno(ptr noundef %3805) #11
  %3807 = call i32 @isatty(i32 noundef %3806) #11
  %3808 = icmp ne i32 %3807, 0
  br i1 %3808, label %3809, label %3826

3809:                                             ; preds = %3804
  %3810 = load i32, ptr %79, align 4, !tbaa !5
  %3811 = call ptr @__errno_location() #12
  store i32 %3810, ptr %3811, align 4, !tbaa !5
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror(i32 noundef %3815, ptr noundef @.str.3)
  %3817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call ptr @s2n_strerror_debug(i32 noundef %3818, ptr noundef @.str.3)
  %3820 = call ptr @__errno_location() #12
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call ptr @strerror(i32 noundef %3821) #11
  %3823 = call ptr @__errno_location() #12
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3812, ptr noundef @.str, i32 noundef %3813, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 195, ptr noundef %3816, ptr noundef %3819, ptr noundef %3822, i32 noundef %3824) #11
  br label %3843

3826:                                             ; preds = %3804, %3797
  %3827 = load i32, ptr %79, align 4, !tbaa !5
  %3828 = call ptr @__errno_location() #12
  store i32 %3827, ptr %3828, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror(i32 noundef %3832, ptr noundef @.str.3)
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror_debug(i32 noundef %3835, ptr noundef @.str.3)
  %3837 = call ptr @__errno_location() #12
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #11
  %3840 = call ptr @__errno_location() #12
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3829, ptr noundef @.str.4, i32 noundef %3830, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 195, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #11
  br label %3843

3843:                                             ; preds = %3826, %3809
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

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

3846:                                             ; No predecessors!
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

3848:                                             ; preds = %3847, %3789
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

3850:                                             ; preds = %3849
  br label %3851

3851:                                             ; preds = %3850
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = add nsw i32 %3852, 1
  store i32 %3853, ptr @test_count, align 4, !tbaa !5
  %3854 = load ptr, ptr %6, align 8, !tbaa !9
  %3855 = call i32 @setup_server_keys(ptr noundef %3854, ptr noundef %10)
  %3856 = icmp eq i32 %3855, -1
  br i1 %3856, label %3857, label %3910

3857:                                             ; preds = %3851
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %3860 = call ptr @__errno_location() #12
  %3861 = load i32, ptr %3860, align 4, !tbaa !5
  store i32 %3861, ptr %80, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = call i32 @s2n_print_stacktrace(ptr noundef %3862)
  %3864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3865 = trunc i8 %3864 to i1
  br i1 %3865, label %3866, label %3888

3866:                                             ; preds = %3859
  %3867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3868 = call i32 @fileno(ptr noundef %3867) #11
  %3869 = call i32 @isatty(i32 noundef %3868) #11
  %3870 = icmp ne i32 %3869, 0
  br i1 %3870, label %3871, label %3888

3871:                                             ; preds = %3866
  %3872 = load i32, ptr %80, align 4, !tbaa !5
  %3873 = call ptr @__errno_location() #12
  store i32 %3872, ptr %3873, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = load i32, ptr @test_count, align 4, !tbaa !5
  %3876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror(i32 noundef %3877, ptr noundef @.str.3)
  %3879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror_debug(i32 noundef %3880, ptr noundef @.str.3)
  %3882 = call ptr @__errno_location() #12
  %3883 = load i32, ptr %3882, align 4, !tbaa !5
  %3884 = call ptr @strerror(i32 noundef %3883) #11
  %3885 = call ptr @__errno_location() #12
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  %3887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3874, ptr noundef @.str, i32 noundef %3875, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 196, ptr noundef %3878, ptr noundef %3881, ptr noundef %3884, i32 noundef %3886) #11
  br label %3905

3888:                                             ; preds = %3866, %3859
  %3889 = load i32, ptr %80, align 4, !tbaa !5
  %3890 = call ptr @__errno_location() #12
  store i32 %3889, ptr %3890, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = load i32, ptr @test_count, align 4, !tbaa !5
  %3893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call ptr @s2n_strerror(i32 noundef %3894, ptr noundef @.str.3)
  %3896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3897 = load i32, ptr %3896, align 4, !tbaa !5
  %3898 = call ptr @s2n_strerror_debug(i32 noundef %3897, ptr noundef @.str.3)
  %3899 = call ptr @__errno_location() #12
  %3900 = load i32, ptr %3899, align 4, !tbaa !5
  %3901 = call ptr @strerror(i32 noundef %3900) #11
  %3902 = call ptr @__errno_location() #12
  %3903 = load i32, ptr %3902, align 4, !tbaa !5
  %3904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3891, ptr noundef @.str.4, i32 noundef %3892, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 196, ptr noundef %3895, ptr noundef %3898, ptr noundef %3901, i32 noundef %3903) #11
  br label %3905

3905:                                             ; preds = %3888, %3871
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3906

3906:                                             ; preds = %3905
  br label %3907

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

3908:                                             ; No predecessors!
  br label %3909

3909:                                             ; preds = %3908
  br label %3910

3910:                                             ; preds = %3909, %3851
  br label %3911

3911:                                             ; preds = %3910
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

3913:                                             ; preds = %3912
  %3914 = load i32, ptr @test_count, align 4, !tbaa !5
  %3915 = add nsw i32 %3914, 1
  store i32 %3915, ptr @test_count, align 4, !tbaa !5
  %3916 = load ptr, ptr %6, align 8, !tbaa !9
  %3917 = call i32 @s2n_record_write(ptr noundef %3916, i8 noundef zeroext 23, ptr noundef %27)
  %3918 = getelementptr inbounds %struct.s2n_result, ptr %81, i32 0, i32 0
  store i32 %3917, ptr %3918, align 4
  %3919 = getelementptr inbounds %struct.s2n_result, ptr %81, i32 0, i32 0
  %3920 = load i32, ptr %3919, align 4
  %3921 = call zeroext i1 @s2n_result_is_ok(i32 %3920)
  br i1 %3921, label %3975, label %3922

3922:                                             ; preds = %3913
  br label %3923

3923:                                             ; preds = %3922
  br label %3924

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

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

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

3953:                                             ; preds = %3931, %3924
  %3954 = load i32, ptr %82, align 4, !tbaa !5
  %3955 = call ptr @__errno_location() #12
  store i32 %3954, ptr %3955, align 4, !tbaa !5
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = load i32, ptr @test_count, align 4, !tbaa !5
  %3958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror(i32 noundef %3959, ptr noundef @.str.3)
  %3961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror_debug(i32 noundef %3962, ptr noundef @.str.3)
  %3964 = call ptr @__errno_location() #12
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  %3966 = call ptr @strerror(i32 noundef %3965) #11
  %3967 = call ptr @__errno_location() #12
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  %3969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3956, ptr noundef @.str.4, i32 noundef %3957, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 197, ptr noundef %3960, ptr noundef %3963, ptr noundef %3966, i32 noundef %3968) #11
  br label %3970

3970:                                             ; preds = %3953, %3936
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3971

3971:                                             ; preds = %3970
  br label %3972

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

3973:                                             ; No predecessors!
  br label %3974

3974:                                             ; preds = %3973
  br label %3975

3975:                                             ; preds = %3974, %3913
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976
  br label %3978

3978:                                             ; preds = %3977
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = add nsw i32 %3979, 1
  store i32 %3980, ptr @test_count, align 4, !tbaa !5
  %3981 = load ptr, ptr %6, align 8, !tbaa !9
  %3982 = getelementptr inbounds %struct.s2n_connection, ptr %3981, i32 0, i32 40
  %3983 = call i32 @s2n_stuffer_wipe(ptr noundef %3982)
  %3984 = icmp eq i32 %3983, -1
  br i1 %3984, label %3985, label %4038

3985:                                             ; preds = %3978
  br label %3986

3986:                                             ; preds = %3985
  br label %3987

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

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

3999:                                             ; preds = %3994
  %4000 = load i32, ptr %83, align 4, !tbaa !5
  %4001 = call ptr @__errno_location() #12
  store i32 %4000, ptr %4001, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror(i32 noundef %4005, ptr noundef @.str.3)
  %4007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  %4009 = call ptr @s2n_strerror_debug(i32 noundef %4008, ptr noundef @.str.3)
  %4010 = call ptr @__errno_location() #12
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @strerror(i32 noundef %4011) #11
  %4013 = call ptr @__errno_location() #12
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4002, ptr noundef @.str, i32 noundef %4003, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 200, ptr noundef %4006, ptr noundef %4009, ptr noundef %4012, i32 noundef %4014) #11
  br label %4033

4016:                                             ; preds = %3994, %3987
  %4017 = load i32, ptr %83, align 4, !tbaa !5
  %4018 = call ptr @__errno_location() #12
  store i32 %4017, ptr %4018, align 4, !tbaa !5
  %4019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4020 = load i32, ptr @test_count, align 4, !tbaa !5
  %4021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4022 = load i32, ptr %4021, align 4, !tbaa !5
  %4023 = call ptr @s2n_strerror(i32 noundef %4022, ptr noundef @.str.3)
  %4024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4025 = load i32, ptr %4024, align 4, !tbaa !5
  %4026 = call ptr @s2n_strerror_debug(i32 noundef %4025, ptr noundef @.str.3)
  %4027 = call ptr @__errno_location() #12
  %4028 = load i32, ptr %4027, align 4, !tbaa !5
  %4029 = call ptr @strerror(i32 noundef %4028) #11
  %4030 = call ptr @__errno_location() #12
  %4031 = load i32, ptr %4030, align 4, !tbaa !5
  %4032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4019, ptr noundef @.str.4, i32 noundef %4020, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 200, ptr noundef %4023, ptr noundef %4026, ptr noundef %4029, i32 noundef %4031) #11
  br label %4033

4033:                                             ; preds = %4016, %3999
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4034

4034:                                             ; preds = %4033
  br label %4035

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

4036:                                             ; No predecessors!
  br label %4037

4037:                                             ; preds = %4036
  br label %4038

4038:                                             ; preds = %4037, %3978
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

4040:                                             ; preds = %4039
  br label %4041

4041:                                             ; preds = %4040
  %4042 = load i32, ptr @test_count, align 4, !tbaa !5
  %4043 = add nsw i32 %4042, 1
  store i32 %4043, ptr @test_count, align 4, !tbaa !5
  %4044 = load ptr, ptr %6, align 8, !tbaa !9
  %4045 = getelementptr inbounds %struct.s2n_connection, ptr %4044, i32 0, i32 38
  %4046 = call i32 @s2n_stuffer_wipe(ptr noundef %4045)
  %4047 = icmp eq i32 %4046, -1
  br i1 %4047, label %4048, label %4101

4048:                                             ; preds = %4041
  br label %4049

4049:                                             ; preds = %4048
  br label %4050

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

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

4062:                                             ; preds = %4057
  %4063 = load i32, ptr %84, align 4, !tbaa !5
  %4064 = call ptr @__errno_location() #12
  store i32 %4063, ptr %4064, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4068 = load i32, ptr %4067, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror(i32 noundef %4068, ptr noundef @.str.3)
  %4070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  %4072 = call ptr @s2n_strerror_debug(i32 noundef %4071, ptr noundef @.str.3)
  %4073 = call ptr @__errno_location() #12
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #11
  %4076 = call ptr @__errno_location() #12
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4065, ptr noundef @.str, i32 noundef %4066, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 201, ptr noundef %4069, ptr noundef %4072, ptr noundef %4075, i32 noundef %4077) #11
  br label %4096

4079:                                             ; preds = %4057, %4050
  %4080 = load i32, ptr %84, align 4, !tbaa !5
  %4081 = call ptr @__errno_location() #12
  store i32 %4080, ptr %4081, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = load i32, ptr @test_count, align 4, !tbaa !5
  %4084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  %4086 = call ptr @s2n_strerror(i32 noundef %4085, ptr noundef @.str.3)
  %4087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = call ptr @s2n_strerror_debug(i32 noundef %4088, ptr noundef @.str.3)
  %4090 = call ptr @__errno_location() #12
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = call ptr @strerror(i32 noundef %4091) #11
  %4093 = call ptr @__errno_location() #12
  %4094 = load i32, ptr %4093, align 4, !tbaa !5
  %4095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4082, ptr noundef @.str.4, i32 noundef %4083, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 201, ptr noundef %4086, ptr noundef %4089, ptr noundef %4092, i32 noundef %4094) #11
  br label %4096

4096:                                             ; preds = %4079, %4062
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %4097

4097:                                             ; preds = %4096
  br label %4098

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

4099:                                             ; No predecessors!
  br label %4100

4100:                                             ; preds = %4099
  br label %4101

4101:                                             ; preds = %4100, %4041
  br label %4102

4102:                                             ; preds = %4101
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103
  %4105 = load i32, ptr @test_count, align 4, !tbaa !5
  %4106 = add nsw i32 %4105, 1
  store i32 %4106, ptr @test_count, align 4, !tbaa !5
  %4107 = load ptr, ptr %6, align 8, !tbaa !9
  %4108 = getelementptr inbounds %struct.s2n_connection, ptr %4107, i32 0, i32 41
  %4109 = load ptr, ptr %6, align 8, !tbaa !9
  %4110 = getelementptr inbounds %struct.s2n_connection, ptr %4109, i32 0, i32 38
  %4111 = call i32 @s2n_stuffer_copy(ptr noundef %4108, ptr noundef %4110, i32 noundef 5)
  %4112 = icmp eq i32 %4111, -1
  br i1 %4112, label %4113, label %4166

4113:                                             ; preds = %4104
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %4116 = call ptr @__errno_location() #12
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  store i32 %4117, ptr %85, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = call i32 @s2n_print_stacktrace(ptr noundef %4118)
  %4120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4121 = trunc i8 %4120 to i1
  br i1 %4121, label %4122, label %4144

4122:                                             ; preds = %4115
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = call i32 @fileno(ptr noundef %4123) #11
  %4125 = call i32 @isatty(i32 noundef %4124) #11
  %4126 = icmp ne i32 %4125, 0
  br i1 %4126, label %4127, label %4144

4127:                                             ; preds = %4122
  %4128 = load i32, ptr %85, align 4, !tbaa !5
  %4129 = call ptr @__errno_location() #12
  store i32 %4128, ptr %4129, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror(i32 noundef %4133, ptr noundef @.str.3)
  %4135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  %4137 = call ptr @s2n_strerror_debug(i32 noundef %4136, ptr noundef @.str.3)
  %4138 = call ptr @__errno_location() #12
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @strerror(i32 noundef %4139) #11
  %4141 = call ptr @__errno_location() #12
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef @.str, i32 noundef %4131, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 202, ptr noundef %4134, ptr noundef %4137, ptr noundef %4140, i32 noundef %4142) #11
  br label %4161

4144:                                             ; preds = %4122, %4115
  %4145 = load i32, ptr %85, align 4, !tbaa !5
  %4146 = call ptr @__errno_location() #12
  store i32 %4145, ptr %4146, align 4, !tbaa !5
  %4147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4150 = load i32, ptr %4149, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef @.str.3)
  %4152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror_debug(i32 noundef %4153, ptr noundef @.str.3)
  %4155 = call ptr @__errno_location() #12
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @strerror(i32 noundef %4156) #11
  %4158 = call ptr @__errno_location() #12
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4147, ptr noundef @.str.4, i32 noundef %4148, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 202, ptr noundef %4151, ptr noundef %4154, ptr noundef %4157, i32 noundef %4159) #11
  br label %4161

4161:                                             ; preds = %4144, %4127
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %4162

4162:                                             ; preds = %4161
  br label %4163

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

4164:                                             ; No predecessors!
  br label %4165

4165:                                             ; preds = %4164
  br label %4166

4166:                                             ; preds = %4165, %4104
  br label %4167

4167:                                             ; preds = %4166
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

4169:                                             ; preds = %4168
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = add nsw i32 %4170, 1
  store i32 %4171, ptr @test_count, align 4, !tbaa !5
  %4172 = load ptr, ptr %6, align 8, !tbaa !9
  %4173 = getelementptr inbounds %struct.s2n_connection, ptr %4172, i32 0, i32 41
  %4174 = load ptr, ptr %6, align 8, !tbaa !9
  %4175 = getelementptr inbounds %struct.s2n_connection, ptr %4174, i32 0, i32 40
  %4176 = load ptr, ptr %6, align 8, !tbaa !9
  %4177 = getelementptr inbounds %struct.s2n_connection, ptr %4176, i32 0, i32 41
  %4178 = getelementptr inbounds %struct.s2n_stuffer, ptr %4177, i32 0, i32 2
  %4179 = load i32, ptr %4178, align 4, !tbaa !61
  %4180 = load ptr, ptr %6, align 8, !tbaa !9
  %4181 = getelementptr inbounds %struct.s2n_connection, ptr %4180, i32 0, i32 41
  %4182 = getelementptr inbounds %struct.s2n_stuffer, ptr %4181, i32 0, i32 1
  %4183 = load i32, ptr %4182, align 8, !tbaa !62
  %4184 = sub i32 %4179, %4183
  %4185 = call i32 @s2n_stuffer_copy(ptr noundef %4173, ptr noundef %4175, i32 noundef %4184)
  %4186 = icmp eq i32 %4185, -1
  br i1 %4186, label %4187, label %4240

4187:                                             ; preds = %4169
  br label %4188

4188:                                             ; preds = %4187
  br label %4189

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

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

4201:                                             ; preds = %4196
  %4202 = load i32, ptr %86, align 4, !tbaa !5
  %4203 = call ptr @__errno_location() #12
  store i32 %4202, ptr %4203, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @s2n_strerror(i32 noundef %4207, ptr noundef @.str.3)
  %4209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef @.str.3)
  %4212 = call ptr @__errno_location() #12
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @strerror(i32 noundef %4213) #11
  %4215 = call ptr @__errno_location() #12
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef @.str, i32 noundef %4205, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 203, ptr noundef %4208, ptr noundef %4211, ptr noundef %4214, i32 noundef %4216) #11
  br label %4235

4218:                                             ; preds = %4196, %4189
  %4219 = load i32, ptr %86, align 4, !tbaa !5
  %4220 = call ptr @__errno_location() #12
  store i32 %4219, ptr %4220, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror(i32 noundef %4224, ptr noundef @.str.3)
  %4226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  %4228 = call ptr @s2n_strerror_debug(i32 noundef %4227, ptr noundef @.str.3)
  %4229 = call ptr @__errno_location() #12
  %4230 = load i32, ptr %4229, align 4, !tbaa !5
  %4231 = call ptr @strerror(i32 noundef %4230) #11
  %4232 = call ptr @__errno_location() #12
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4221, ptr noundef @.str.4, i32 noundef %4222, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 203, ptr noundef %4225, ptr noundef %4228, ptr noundef %4231, i32 noundef %4233) #11
  br label %4235

4235:                                             ; preds = %4218, %4201
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

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

4238:                                             ; No predecessors!
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239, %4169
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

4242:                                             ; preds = %4241
  %4243 = load ptr, ptr %6, align 8, !tbaa !9
  %4244 = getelementptr inbounds %struct.s2n_connection, ptr %4243, i32 0, i32 40
  %4245 = getelementptr inbounds %struct.s2n_stuffer, ptr %4244, i32 0, i32 0
  %4246 = getelementptr inbounds %struct.s2n_blob, ptr %4245, i32 0, i32 0
  %4247 = load ptr, ptr %4246, align 8, !tbaa !64
  %4248 = load i64, ptr %77, align 8, !tbaa !51
  %4249 = getelementptr inbounds i8, ptr %4247, i64 %4248
  %4250 = load i8, ptr %4249, align 1, !tbaa !59
  %4251 = add i8 %4250, 1
  store i8 %4251, ptr %4249, align 1, !tbaa !59
  br label %4252

4252:                                             ; preds = %4242
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = add nsw i32 %4253, 1
  store i32 %4254, ptr @test_count, align 4, !tbaa !5
  %4255 = load ptr, ptr %6, align 8, !tbaa !9
  %4256 = call i32 @s2n_record_header_parse(ptr noundef %4255, ptr noundef %52, ptr noundef %53)
  %4257 = icmp eq i32 %4256, -1
  br i1 %4257, label %4258, label %4311

4258:                                             ; preds = %4252
  br label %4259

4259:                                             ; preds = %4258
  br label %4260

4260:                                             ; preds = %4259
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %4261 = call ptr @__errno_location() #12
  %4262 = load i32, ptr %4261, align 4, !tbaa !5
  store i32 %4262, ptr %87, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = call i32 @s2n_print_stacktrace(ptr noundef %4263)
  %4265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4266 = trunc i8 %4265 to i1
  br i1 %4266, label %4267, label %4289

4267:                                             ; preds = %4260
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @fileno(ptr noundef %4268) #11
  %4270 = call i32 @isatty(i32 noundef %4269) #11
  %4271 = icmp ne i32 %4270, 0
  br i1 %4271, label %4272, label %4289

4272:                                             ; preds = %4267
  %4273 = load i32, ptr %87, align 4, !tbaa !5
  %4274 = call ptr @__errno_location() #12
  store i32 %4273, ptr %4274, align 4, !tbaa !5
  %4275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4276 = load i32, ptr @test_count, align 4, !tbaa !5
  %4277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4278 = load i32, ptr %4277, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror(i32 noundef %4278, ptr noundef @.str.3)
  %4280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4281 = load i32, ptr %4280, align 4, !tbaa !5
  %4282 = call ptr @s2n_strerror_debug(i32 noundef %4281, ptr noundef @.str.3)
  %4283 = call ptr @__errno_location() #12
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call ptr @strerror(i32 noundef %4284) #11
  %4286 = call ptr @__errno_location() #12
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4275, ptr noundef @.str, i32 noundef %4276, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 205, ptr noundef %4279, ptr noundef %4282, ptr noundef %4285, i32 noundef %4287) #11
  br label %4306

4289:                                             ; preds = %4267, %4260
  %4290 = load i32, ptr %87, align 4, !tbaa !5
  %4291 = call ptr @__errno_location() #12
  store i32 %4290, ptr %4291, align 4, !tbaa !5
  %4292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4293 = load i32, ptr @test_count, align 4, !tbaa !5
  %4294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4295 = load i32, ptr %4294, align 4, !tbaa !5
  %4296 = call ptr @s2n_strerror(i32 noundef %4295, ptr noundef @.str.3)
  %4297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = call ptr @s2n_strerror_debug(i32 noundef %4298, ptr noundef @.str.3)
  %4300 = call ptr @__errno_location() #12
  %4301 = load i32, ptr %4300, align 4, !tbaa !5
  %4302 = call ptr @strerror(i32 noundef %4301) #11
  %4303 = call ptr @__errno_location() #12
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4292, ptr noundef @.str.4, i32 noundef %4293, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 205, ptr noundef %4296, ptr noundef %4299, ptr noundef %4302, i32 noundef %4304) #11
  br label %4306

4306:                                             ; preds = %4289, %4272
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4307

4307:                                             ; preds = %4306
  br label %4308

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

4309:                                             ; No predecessors!
  br label %4310

4310:                                             ; preds = %4309
  br label %4311

4311:                                             ; preds = %4310, %4252
  br label %4312

4312:                                             ; preds = %4311
  br label %4313

4313:                                             ; preds = %4312
  br label %4314

4314:                                             ; preds = %4313
  br label %4315

4315:                                             ; preds = %4314
  %4316 = load i32, ptr @test_count, align 4, !tbaa !5
  %4317 = add nsw i32 %4316, 1
  store i32 %4317, ptr @test_count, align 4, !tbaa !5
  %4318 = load ptr, ptr %6, align 8, !tbaa !9
  %4319 = call i32 @s2n_record_parse(ptr noundef %4318)
  %4320 = icmp eq i32 %4319, -1
  br i1 %4320, label %4374, label %4321

4321:                                             ; preds = %4315
  br label %4322

4322:                                             ; preds = %4321
  br label %4323

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

4330:                                             ; preds = %4323
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @fileno(ptr noundef %4331) #11
  %4333 = call i32 @isatty(i32 noundef %4332) #11
  %4334 = icmp ne i32 %4333, 0
  br i1 %4334, label %4335, label %4352

4335:                                             ; preds = %4330
  %4336 = load i32, ptr %88, align 4, !tbaa !5
  %4337 = call ptr @__errno_location() #12
  store i32 %4336, ptr %4337, align 4, !tbaa !5
  %4338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4339 = load i32, ptr @test_count, align 4, !tbaa !5
  %4340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4341 = load i32, ptr %4340, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror(i32 noundef %4341, ptr noundef @.str.3)
  %4343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4344 = load i32, ptr %4343, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror_debug(i32 noundef %4344, ptr noundef @.str.3)
  %4346 = call ptr @__errno_location() #12
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @strerror(i32 noundef %4347) #11
  %4349 = call ptr @__errno_location() #12
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4338, ptr noundef @.str, i32 noundef %4339, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4342, ptr noundef %4345, ptr noundef %4348, i32 noundef %4350) #11
  br label %4369

4352:                                             ; preds = %4330, %4323
  %4353 = load i32, ptr %88, align 4, !tbaa !5
  %4354 = call ptr @__errno_location() #12
  store i32 %4353, ptr %4354, align 4, !tbaa !5
  %4355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4356 = load i32, ptr @test_count, align 4, !tbaa !5
  %4357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4358 = load i32, ptr %4357, align 4, !tbaa !5
  %4359 = call ptr @s2n_strerror(i32 noundef %4358, ptr noundef @.str.3)
  %4360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4361 = load i32, ptr %4360, align 4, !tbaa !5
  %4362 = call ptr @s2n_strerror_debug(i32 noundef %4361, ptr noundef @.str.3)
  %4363 = call ptr @__errno_location() #12
  %4364 = load i32, ptr %4363, align 4, !tbaa !5
  %4365 = call ptr @strerror(i32 noundef %4364) #11
  %4366 = call ptr @__errno_location() #12
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4355, ptr noundef @.str.4, i32 noundef %4356, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4359, ptr noundef %4362, ptr noundef %4365, i32 noundef %4367) #11
  br label %4369

4369:                                             ; preds = %4352, %4335
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4370

4370:                                             ; preds = %4369
  br label %4371

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

4372:                                             ; No predecessors!
  br label %4373

4373:                                             ; preds = %4372
  br label %4374

4374:                                             ; preds = %4373, %4315
  br label %4375

4375:                                             ; preds = %4374
  br label %4376

4376:                                             ; preds = %4375
  br label %4377

4377:                                             ; preds = %4376
  %4378 = load i32, ptr @test_count, align 4, !tbaa !5
  %4379 = add nsw i32 %4378, 1
  store i32 %4379, ptr @test_count, align 4, !tbaa !5
  %4380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = icmp eq i32 %4381, 0
  br i1 %4382, label %4383, label %4436

4383:                                             ; preds = %4377
  br label %4384

4384:                                             ; preds = %4383
  br label %4385

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

4392:                                             ; preds = %4385
  %4393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4394 = call i32 @fileno(ptr noundef %4393) #11
  %4395 = call i32 @isatty(i32 noundef %4394) #11
  %4396 = icmp ne i32 %4395, 0
  br i1 %4396, label %4397, label %4414

4397:                                             ; preds = %4392
  %4398 = load i32, ptr %89, align 4, !tbaa !5
  %4399 = call ptr @__errno_location() #12
  store i32 %4398, ptr %4399, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror(i32 noundef %4403, ptr noundef @.str.3)
  %4405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4406 = load i32, ptr %4405, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror_debug(i32 noundef %4406, ptr noundef @.str.3)
  %4408 = call ptr @__errno_location() #12
  %4409 = load i32, ptr %4408, align 4, !tbaa !5
  %4410 = call ptr @strerror(i32 noundef %4409) #11
  %4411 = call ptr @__errno_location() #12
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  %4413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4400, ptr noundef @.str, i32 noundef %4401, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4404, ptr noundef %4407, ptr noundef %4410, i32 noundef %4412) #11
  br label %4431

4414:                                             ; preds = %4392, %4385
  %4415 = load i32, ptr %89, align 4, !tbaa !5
  %4416 = call ptr @__errno_location() #12
  store i32 %4415, ptr %4416, align 4, !tbaa !5
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = load i32, ptr @test_count, align 4, !tbaa !5
  %4419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4420 = load i32, ptr %4419, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror(i32 noundef %4420, ptr noundef @.str.3)
  %4422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4423 = load i32, ptr %4422, align 4, !tbaa !5
  %4424 = call ptr @s2n_strerror_debug(i32 noundef %4423, ptr noundef @.str.3)
  %4425 = call ptr @__errno_location() #12
  %4426 = load i32, ptr %4425, align 4, !tbaa !5
  %4427 = call ptr @strerror(i32 noundef %4426) #11
  %4428 = call ptr @__errno_location() #12
  %4429 = load i32, ptr %4428, align 4, !tbaa !5
  %4430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4417, ptr noundef @.str.4, i32 noundef %4418, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4421, ptr noundef %4424, ptr noundef %4427, i32 noundef %4429) #11
  br label %4431

4431:                                             ; preds = %4414, %4397
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4432

4432:                                             ; preds = %4431
  br label %4433

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

4434:                                             ; No predecessors!
  br label %4435

4435:                                             ; preds = %4434
  br label %4436

4436:                                             ; preds = %4435, %4377
  br label %4437

4437:                                             ; preds = %4436
  br label %4438

4438:                                             ; preds = %4437
  br label %4439

4439:                                             ; preds = %4438
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = add nsw i32 %4440, 1
  store i32 %4441, ptr @test_count, align 4, !tbaa !5
  %4442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4443 = load i32, ptr %4442, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror_debug(i32 noundef %4443, ptr noundef @.str.3)
  %4445 = icmp eq ptr %4444, null
  br i1 %4445, label %4446, label %4499

4446:                                             ; preds = %4439
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

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

4455:                                             ; preds = %4448
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = call i32 @fileno(ptr noundef %4456) #11
  %4458 = call i32 @isatty(i32 noundef %4457) #11
  %4459 = icmp ne i32 %4458, 0
  br i1 %4459, label %4460, label %4477

4460:                                             ; preds = %4455
  %4461 = load i32, ptr %90, align 4, !tbaa !5
  %4462 = call ptr @__errno_location() #12
  store i32 %4461, ptr %4462, align 4, !tbaa !5
  %4463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4464 = load i32, ptr @test_count, align 4, !tbaa !5
  %4465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4466 = load i32, ptr %4465, align 4, !tbaa !5
  %4467 = call ptr @s2n_strerror(i32 noundef %4466, ptr noundef @.str.3)
  %4468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4469 = load i32, ptr %4468, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror_debug(i32 noundef %4469, ptr noundef @.str.3)
  %4471 = call ptr @__errno_location() #12
  %4472 = load i32, ptr %4471, align 4, !tbaa !5
  %4473 = call ptr @strerror(i32 noundef %4472) #11
  %4474 = call ptr @__errno_location() #12
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4463, ptr noundef @.str, i32 noundef %4464, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4467, ptr noundef %4470, ptr noundef %4473, i32 noundef %4475) #11
  br label %4494

4477:                                             ; preds = %4455, %4448
  %4478 = load i32, ptr %90, align 4, !tbaa !5
  %4479 = call ptr @__errno_location() #12
  store i32 %4478, ptr %4479, align 4, !tbaa !5
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror(i32 noundef %4483, ptr noundef @.str.3)
  %4485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef @.str.3)
  %4488 = call ptr @__errno_location() #12
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @strerror(i32 noundef %4489) #11
  %4491 = call ptr @__errno_location() #12
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4480, ptr noundef @.str.4, i32 noundef %4481, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 206, ptr noundef %4484, ptr noundef %4487, ptr noundef %4490, i32 noundef %4492) #11
  br label %4494

4494:                                             ; preds = %4477, %4460
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4495

4495:                                             ; preds = %4494
  br label %4496

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

4497:                                             ; No predecessors!
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

4499:                                             ; preds = %4498, %4439
  br label %4500

4500:                                             ; preds = %4499
  br label %4501

4501:                                             ; preds = %4500
  br label %4502

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

4505:                                             ; preds = %4502
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

4507:                                             ; preds = %4506
  br label %4508

4508:                                             ; preds = %4507
  br label %4509

4509:                                             ; preds = %4508
  %4510 = load i32, ptr @test_count, align 4, !tbaa !5
  %4511 = add nsw i32 %4510, 1
  store i32 %4511, ptr @test_count, align 4, !tbaa !5
  %4512 = load i8, ptr %52, align 1, !tbaa !59
  %4513 = zext i8 %4512 to i32
  %4514 = icmp eq i32 %4513, 23
  br i1 %4514, label %4568, label %4515

4515:                                             ; preds = %4509
  br label %4516

4516:                                             ; preds = %4515
  br label %4517

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

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

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

4546:                                             ; preds = %4524, %4517
  %4547 = load i32, ptr %91, align 4, !tbaa !5
  %4548 = call ptr @__errno_location() #12
  store i32 %4547, ptr %4548, align 4, !tbaa !5
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = load i32, ptr @test_count, align 4, !tbaa !5
  %4551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4552 = load i32, ptr %4551, align 4, !tbaa !5
  %4553 = call ptr @s2n_strerror(i32 noundef %4552, ptr noundef @.str.3)
  %4554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4555 = load i32, ptr %4554, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror_debug(i32 noundef %4555, ptr noundef @.str.3)
  %4557 = call ptr @__errno_location() #12
  %4558 = load i32, ptr %4557, align 4, !tbaa !5
  %4559 = call ptr @strerror(i32 noundef %4558) #11
  %4560 = call ptr @__errno_location() #12
  %4561 = load i32, ptr %4560, align 4, !tbaa !5
  %4562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4549, ptr noundef @.str.4, i32 noundef %4550, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 207, ptr noundef %4553, ptr noundef %4556, ptr noundef %4559, i32 noundef %4561) #11
  br label %4563

4563:                                             ; preds = %4546, %4529
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4564

4564:                                             ; preds = %4563
  br label %4565

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

4566:                                             ; No predecessors!
  br label %4567

4567:                                             ; preds = %4566
  br label %4568

4568:                                             ; preds = %4567, %4509
  br label %4569

4569:                                             ; preds = %4568
  br label %4570

4570:                                             ; preds = %4569
  br label %4571

4571:                                             ; preds = %4570
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = add nsw i32 %4572, 1
  store i32 %4573, ptr @test_count, align 4, !tbaa !5
  %4574 = load ptr, ptr %6, align 8, !tbaa !9
  %4575 = getelementptr inbounds %struct.s2n_connection, ptr %4574, i32 0, i32 38
  %4576 = call i32 @s2n_stuffer_wipe(ptr noundef %4575)
  %4577 = icmp eq i32 %4576, -1
  br i1 %4577, label %4578, label %4631

4578:                                             ; preds = %4571
  br label %4579

4579:                                             ; preds = %4578
  br label %4580

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

4592:                                             ; preds = %4587
  %4593 = load i32, ptr %92, align 4, !tbaa !5
  %4594 = call ptr @__errno_location() #12
  store i32 %4593, ptr %4594, align 4, !tbaa !5
  %4595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4596 = load i32, ptr @test_count, align 4, !tbaa !5
  %4597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4598 = load i32, ptr %4597, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror(i32 noundef %4598, ptr noundef @.str.3)
  %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.3)
  %4603 = call ptr @__errno_location() #12
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @strerror(i32 noundef %4604) #11
  %4606 = call ptr @__errno_location() #12
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4595, ptr noundef @.str, i32 noundef %4596, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 209, ptr noundef %4599, ptr noundef %4602, ptr noundef %4605, i32 noundef %4607) #11
  br label %4626

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

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

4627:                                             ; preds = %4626
  br label %4628

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

4629:                                             ; No predecessors!
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

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

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

4634:                                             ; preds = %4633
  %4635 = load i32, ptr @test_count, align 4, !tbaa !5
  %4636 = add nsw i32 %4635, 1
  store i32 %4636, ptr @test_count, align 4, !tbaa !5
  %4637 = load ptr, ptr %6, align 8, !tbaa !9
  %4638 = getelementptr inbounds %struct.s2n_connection, ptr %4637, i32 0, i32 40
  %4639 = call i32 @s2n_stuffer_wipe(ptr noundef %4638)
  %4640 = icmp eq i32 %4639, -1
  br i1 %4640, label %4641, label %4694

4641:                                             ; preds = %4634
  br label %4642

4642:                                             ; preds = %4641
  br label %4643

4643:                                             ; preds = %4642
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4644 = call ptr @__errno_location() #12
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  store i32 %4645, ptr %93, align 4, !tbaa !5
  %4646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4647 = call i32 @s2n_print_stacktrace(ptr noundef %4646)
  %4648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4649 = trunc i8 %4648 to i1
  br i1 %4649, label %4650, label %4672

4650:                                             ; preds = %4643
  %4651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4652 = call i32 @fileno(ptr noundef %4651) #11
  %4653 = call i32 @isatty(i32 noundef %4652) #11
  %4654 = icmp ne i32 %4653, 0
  br i1 %4654, label %4655, label %4672

4655:                                             ; preds = %4650
  %4656 = load i32, ptr %93, align 4, !tbaa !5
  %4657 = call ptr @__errno_location() #12
  store i32 %4656, ptr %4657, align 4, !tbaa !5
  %4658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4659 = load i32, ptr @test_count, align 4, !tbaa !5
  %4660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror(i32 noundef %4661, ptr noundef @.str.3)
  %4663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4664 = load i32, ptr %4663, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror_debug(i32 noundef %4664, ptr noundef @.str.3)
  %4666 = call ptr @__errno_location() #12
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  %4668 = call ptr @strerror(i32 noundef %4667) #11
  %4669 = call ptr @__errno_location() #12
  %4670 = load i32, ptr %4669, align 4, !tbaa !5
  %4671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4658, ptr noundef @.str, i32 noundef %4659, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 210, ptr noundef %4662, ptr noundef %4665, ptr noundef %4668, i32 noundef %4670) #11
  br label %4689

4672:                                             ; preds = %4650, %4643
  %4673 = load i32, ptr %93, align 4, !tbaa !5
  %4674 = call ptr @__errno_location() #12
  store i32 %4673, ptr %4674, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = load i32, ptr @test_count, align 4, !tbaa !5
  %4677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = call ptr @s2n_strerror(i32 noundef %4678, ptr noundef @.str.3)
  %4680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef %4681, ptr noundef @.str.3)
  %4683 = call ptr @__errno_location() #12
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call ptr @strerror(i32 noundef %4684) #11
  %4686 = call ptr @__errno_location() #12
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4675, ptr noundef @.str.4, i32 noundef %4676, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 210, ptr noundef %4679, ptr noundef %4682, ptr noundef %4685, i32 noundef %4687) #11
  br label %4689

4689:                                             ; preds = %4672, %4655
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4690

4690:                                             ; preds = %4689
  br label %4691

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

4692:                                             ; No predecessors!
  br label %4693

4693:                                             ; preds = %4692
  br label %4694

4694:                                             ; preds = %4693, %4634
  br label %4695

4695:                                             ; preds = %4694
  br label %4696

4696:                                             ; preds = %4695
  br label %4697

4697:                                             ; preds = %4696
  %4698 = load i64, ptr %77, align 8, !tbaa !51
  %4699 = add i64 %4698, 1
  store i64 %4699, ptr %77, align 8, !tbaa !51
  br label %3708, !llvm.loop !65

4700:                                             ; preds = %3711
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  store i64 0, ptr %94, align 8, !tbaa !51
  br label %4701

4701:                                             ; preds = %5702, %4700
  %4702 = load i64, ptr %94, align 8, !tbaa !51
  %4703 = icmp ult i64 %4702, 16
  br i1 %4703, label %4705, label %4704

4704:                                             ; preds = %4701
  store i32 428, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  br label %5705

4705:                                             ; preds = %4701
  br label %4706

4706:                                             ; preds = %4705
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = add nsw i32 %4707, 1
  store i32 %4708, ptr @test_count, align 4, !tbaa !5
  %4709 = load ptr, ptr %6, align 8, !tbaa !9
  %4710 = call i32 @s2n_connection_wipe(ptr noundef %4709)
  %4711 = icmp eq i32 %4710, -1
  br i1 %4711, label %4712, label %4765

4712:                                             ; preds = %4706
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

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

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

4726:                                             ; preds = %4721
  %4727 = load i32, ptr %95, align 4, !tbaa !5
  %4728 = call ptr @__errno_location() #12
  store i32 %4727, ptr %4728, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4732, ptr noundef @.str.3)
  %4734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror_debug(i32 noundef %4735, ptr noundef @.str.3)
  %4737 = call ptr @__errno_location() #12
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @strerror(i32 noundef %4738) #11
  %4740 = call ptr @__errno_location() #12
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4729, ptr noundef @.str, i32 noundef %4730, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 215, ptr noundef %4733, ptr noundef %4736, ptr noundef %4739, i32 noundef %4741) #11
  br label %4760

4743:                                             ; preds = %4721, %4714
  %4744 = load i32, ptr %95, align 4, !tbaa !5
  %4745 = call ptr @__errno_location() #12
  store i32 %4744, ptr %4745, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4749, ptr noundef @.str.3)
  %4751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror_debug(i32 noundef %4752, ptr noundef @.str.3)
  %4754 = call ptr @__errno_location() #12
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @strerror(i32 noundef %4755) #11
  %4757 = call ptr @__errno_location() #12
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4746, ptr noundef @.str.4, i32 noundef %4747, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 215, ptr noundef %4750, ptr noundef %4753, ptr noundef %4756, i32 noundef %4758) #11
  br label %4760

4760:                                             ; preds = %4743, %4726
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4761

4761:                                             ; preds = %4760
  br label %4762

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

4763:                                             ; No predecessors!
  br label %4764

4764:                                             ; preds = %4763
  br label %4765

4765:                                             ; preds = %4764, %4706
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766
  %4768 = load ptr, ptr %6, align 8, !tbaa !9
  %4769 = getelementptr inbounds %struct.s2n_connection, ptr %4768, i32 0, i32 25
  store i8 1, ptr %4769, align 2, !tbaa !52
  %4770 = load ptr, ptr %6, align 8, !tbaa !9
  %4771 = getelementptr inbounds %struct.s2n_connection, ptr %4770, i32 0, i32 22
  store i8 33, ptr %4771, align 1, !tbaa !53
  %4772 = load ptr, ptr %6, align 8, !tbaa !9
  %4773 = getelementptr inbounds %struct.s2n_connection, ptr %4772, i32 0, i32 21
  store i8 33, ptr %4773, align 2, !tbaa !54
  %4774 = load ptr, ptr %6, align 8, !tbaa !9
  %4775 = getelementptr inbounds %struct.s2n_connection, ptr %4774, i32 0, i32 23
  store i8 33, ptr %4775, align 4, !tbaa !55
  %4776 = load ptr, ptr %6, align 8, !tbaa !9
  %4777 = getelementptr inbounds %struct.s2n_connection, ptr %4776, i32 0, i32 26
  %4778 = load ptr, ptr %4777, align 8, !tbaa !15
  %4779 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %4778, i32 0, i32 0
  %4780 = load ptr, ptr %4779, align 8, !tbaa !44
  %4781 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %4780, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %4781, align 8, !tbaa !49
  br label %4782

4782:                                             ; preds = %4767
  %4783 = load i32, ptr @test_count, align 4, !tbaa !5
  %4784 = add nsw i32 %4783, 1
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = load ptr, ptr %6, align 8, !tbaa !9
  %4786 = call i32 @destroy_server_keys(ptr noundef %4785)
  %4787 = icmp eq i32 %4786, -1
  br i1 %4787, label %4788, label %4841

4788:                                             ; preds = %4782
  br label %4789

4789:                                             ; preds = %4788
  br label %4790

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

4797:                                             ; preds = %4790
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @fileno(ptr noundef %4798) #11
  %4800 = call i32 @isatty(i32 noundef %4799) #11
  %4801 = icmp ne i32 %4800, 0
  br i1 %4801, label %4802, label %4819

4802:                                             ; preds = %4797
  %4803 = load i32, ptr %96, align 4, !tbaa !5
  %4804 = call ptr @__errno_location() #12
  store i32 %4803, ptr %4804, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = load i32, ptr @test_count, align 4, !tbaa !5
  %4807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror(i32 noundef %4808, ptr noundef @.str.3)
  %4810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  %4812 = call ptr @s2n_strerror_debug(i32 noundef %4811, ptr noundef @.str.3)
  %4813 = call ptr @__errno_location() #12
  %4814 = load i32, ptr %4813, align 4, !tbaa !5
  %4815 = call ptr @strerror(i32 noundef %4814) #11
  %4816 = call ptr @__errno_location() #12
  %4817 = load i32, ptr %4816, align 4, !tbaa !5
  %4818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4805, ptr noundef @.str, i32 noundef %4806, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4809, ptr noundef %4812, ptr noundef %4815, i32 noundef %4817) #11
  br label %4836

4819:                                             ; preds = %4797, %4790
  %4820 = load i32, ptr %96, align 4, !tbaa !5
  %4821 = call ptr @__errno_location() #12
  store i32 %4820, ptr %4821, align 4, !tbaa !5
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = load i32, ptr @test_count, align 4, !tbaa !5
  %4824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror(i32 noundef %4825, ptr noundef @.str.3)
  %4827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4828 = load i32, ptr %4827, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror_debug(i32 noundef %4828, ptr noundef @.str.3)
  %4830 = call ptr @__errno_location() #12
  %4831 = load i32, ptr %4830, align 4, !tbaa !5
  %4832 = call ptr @strerror(i32 noundef %4831) #11
  %4833 = call ptr @__errno_location() #12
  %4834 = load i32, ptr %4833, align 4, !tbaa !5
  %4835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4822, ptr noundef @.str.4, i32 noundef %4823, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4826, ptr noundef %4829, ptr noundef %4832, i32 noundef %4834) #11
  br label %4836

4836:                                             ; preds = %4819, %4802
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4837

4837:                                             ; preds = %4836
  br label %4838

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

4839:                                             ; No predecessors!
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840, %4782
  br label %4842

4842:                                             ; preds = %4841
  br label %4843

4843:                                             ; preds = %4842
  br label %4844

4844:                                             ; preds = %4843
  %4845 = load i32, ptr @test_count, align 4, !tbaa !5
  %4846 = add nsw i32 %4845, 1
  store i32 %4846, ptr @test_count, align 4, !tbaa !5
  %4847 = load ptr, ptr %6, align 8, !tbaa !9
  %4848 = call i32 @setup_server_keys(ptr noundef %4847, ptr noundef %10)
  %4849 = icmp eq i32 %4848, -1
  br i1 %4849, label %4850, label %4903

4850:                                             ; preds = %4844
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

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

4859:                                             ; preds = %4852
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4861 = call i32 @fileno(ptr noundef %4860) #11
  %4862 = call i32 @isatty(i32 noundef %4861) #11
  %4863 = icmp ne i32 %4862, 0
  br i1 %4863, label %4864, label %4881

4864:                                             ; preds = %4859
  %4865 = load i32, ptr %97, align 4, !tbaa !5
  %4866 = call ptr @__errno_location() #12
  store i32 %4865, ptr %4866, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4870 = load i32, ptr %4869, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror(i32 noundef %4870, ptr noundef @.str.3)
  %4872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror_debug(i32 noundef %4873, ptr noundef @.str.3)
  %4875 = call ptr @__errno_location() #12
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @strerror(i32 noundef %4876) #11
  %4878 = call ptr @__errno_location() #12
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4867, ptr noundef @.str, i32 noundef %4868, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 222, ptr noundef %4871, ptr noundef %4874, ptr noundef %4877, i32 noundef %4879) #11
  br label %4898

4881:                                             ; preds = %4859, %4852
  %4882 = load i32, ptr %97, align 4, !tbaa !5
  %4883 = call ptr @__errno_location() #12
  store i32 %4882, ptr %4883, align 4, !tbaa !5
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = load i32, ptr @test_count, align 4, !tbaa !5
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef @.str.3)
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror_debug(i32 noundef %4890, ptr noundef @.str.3)
  %4892 = call ptr @__errno_location() #12
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #11
  %4895 = call ptr @__errno_location() #12
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4884, ptr noundef @.str.4, i32 noundef %4885, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 222, ptr noundef %4888, ptr noundef %4891, ptr noundef %4894, i32 noundef %4896) #11
  br label %4898

4898:                                             ; preds = %4881, %4864
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

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

4901:                                             ; No predecessors!
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902, %4844
  br label %4904

4904:                                             ; preds = %4903
  br label %4905

4905:                                             ; preds = %4904
  br label %4906

4906:                                             ; preds = %4905
  %4907 = load i32, ptr @test_count, align 4, !tbaa !5
  %4908 = add nsw i32 %4907, 1
  store i32 %4908, ptr @test_count, align 4, !tbaa !5
  %4909 = load ptr, ptr %6, align 8, !tbaa !9
  %4910 = call i32 @s2n_record_write(ptr noundef %4909, i8 noundef zeroext 23, ptr noundef %27)
  %4911 = getelementptr inbounds %struct.s2n_result, ptr %98, i32 0, i32 0
  store i32 %4910, ptr %4911, align 4
  %4912 = getelementptr inbounds %struct.s2n_result, ptr %98, i32 0, i32 0
  %4913 = load i32, ptr %4912, align 4
  %4914 = call zeroext i1 @s2n_result_is_ok(i32 %4913)
  br i1 %4914, label %4968, label %4915

4915:                                             ; preds = %4906
  br label %4916

4916:                                             ; preds = %4915
  br label %4917

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

4924:                                             ; preds = %4917
  %4925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4926 = call i32 @fileno(ptr noundef %4925) #11
  %4927 = call i32 @isatty(i32 noundef %4926) #11
  %4928 = icmp ne i32 %4927, 0
  br i1 %4928, label %4929, label %4946

4929:                                             ; preds = %4924
  %4930 = load i32, ptr %99, align 4, !tbaa !5
  %4931 = call ptr @__errno_location() #12
  store i32 %4930, ptr %4931, align 4, !tbaa !5
  %4932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef @.str.3)
  %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_debug(i32 noundef %4938, ptr noundef @.str.3)
  %4940 = call ptr @__errno_location() #12
  %4941 = load i32, ptr %4940, align 4, !tbaa !5
  %4942 = call ptr @strerror(i32 noundef %4941) #11
  %4943 = call ptr @__errno_location() #12
  %4944 = load i32, ptr %4943, align 4, !tbaa !5
  %4945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4932, ptr noundef @.str, i32 noundef %4933, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 223, ptr noundef %4936, ptr noundef %4939, ptr noundef %4942, i32 noundef %4944) #11
  br label %4963

4946:                                             ; preds = %4924, %4917
  %4947 = load i32, ptr %99, align 4, !tbaa !5
  %4948 = call ptr @__errno_location() #12
  store i32 %4947, ptr %4948, align 4, !tbaa !5
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror(i32 noundef %4952, ptr noundef @.str.3)
  %4954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call ptr @s2n_strerror_debug(i32 noundef %4955, ptr noundef @.str.3)
  %4957 = call ptr @__errno_location() #12
  %4958 = load i32, ptr %4957, align 4, !tbaa !5
  %4959 = call ptr @strerror(i32 noundef %4958) #11
  %4960 = call ptr @__errno_location() #12
  %4961 = load i32, ptr %4960, align 4, !tbaa !5
  %4962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4949, ptr noundef @.str.4, i32 noundef %4950, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 223, ptr noundef %4953, ptr noundef %4956, ptr noundef %4959, i32 noundef %4961) #11
  br label %4963

4963:                                             ; preds = %4946, %4929
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

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

4966:                                             ; No predecessors!
  br label %4967

4967:                                             ; preds = %4966
  br label %4968

4968:                                             ; preds = %4967, %4906
  br label %4969

4969:                                             ; preds = %4968
  br label %4970

4970:                                             ; preds = %4969
  br label %4971

4971:                                             ; preds = %4970
  %4972 = load i32, ptr @test_count, align 4, !tbaa !5
  %4973 = add nsw i32 %4972, 1
  store i32 %4973, ptr @test_count, align 4, !tbaa !5
  %4974 = load ptr, ptr %6, align 8, !tbaa !9
  %4975 = getelementptr inbounds %struct.s2n_connection, ptr %4974, i32 0, i32 40
  %4976 = call i32 @s2n_stuffer_wipe(ptr noundef %4975)
  %4977 = icmp eq i32 %4976, -1
  br i1 %4977, label %4978, label %5031

4978:                                             ; preds = %4971
  br label %4979

4979:                                             ; preds = %4978
  br label %4980

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

4987:                                             ; preds = %4980
  %4988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4989 = call i32 @fileno(ptr noundef %4988) #11
  %4990 = call i32 @isatty(i32 noundef %4989) #11
  %4991 = icmp ne i32 %4990, 0
  br i1 %4991, label %4992, label %5009

4992:                                             ; preds = %4987
  %4993 = load i32, ptr %100, align 4, !tbaa !5
  %4994 = call ptr @__errno_location() #12
  store i32 %4993, ptr %4994, align 4, !tbaa !5
  %4995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4996 = load i32, ptr @test_count, align 4, !tbaa !5
  %4997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4998 = load i32, ptr %4997, align 4, !tbaa !5
  %4999 = call ptr @s2n_strerror(i32 noundef %4998, ptr noundef @.str.3)
  %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_debug(i32 noundef %5001, ptr noundef @.str.3)
  %5003 = call ptr @__errno_location() #12
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @strerror(i32 noundef %5004) #11
  %5006 = call ptr @__errno_location() #12
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4995, ptr noundef @.str, i32 noundef %4996, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 226, ptr noundef %4999, ptr noundef %5002, ptr noundef %5005, i32 noundef %5007) #11
  br label %5026

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

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

5027:                                             ; preds = %5026
  br label %5028

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

5029:                                             ; No predecessors!
  br label %5030

5030:                                             ; preds = %5029
  br label %5031

5031:                                             ; preds = %5030, %4971
  br label %5032

5032:                                             ; preds = %5031
  br label %5033

5033:                                             ; preds = %5032
  br label %5034

5034:                                             ; preds = %5033
  %5035 = load i32, ptr @test_count, align 4, !tbaa !5
  %5036 = add nsw i32 %5035, 1
  store i32 %5036, ptr @test_count, align 4, !tbaa !5
  %5037 = load ptr, ptr %6, align 8, !tbaa !9
  %5038 = getelementptr inbounds %struct.s2n_connection, ptr %5037, i32 0, i32 38
  %5039 = call i32 @s2n_stuffer_wipe(ptr noundef %5038)
  %5040 = icmp eq i32 %5039, -1
  br i1 %5040, label %5041, label %5094

5041:                                             ; preds = %5034
  br label %5042

5042:                                             ; preds = %5041
  br label %5043

5043:                                             ; preds = %5042
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %5044 = call ptr @__errno_location() #12
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  store i32 %5045, ptr %101, align 4, !tbaa !5
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = call i32 @s2n_print_stacktrace(ptr noundef %5046)
  %5048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5049 = trunc i8 %5048 to i1
  br i1 %5049, label %5050, label %5072

5050:                                             ; preds = %5043
  %5051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5052 = call i32 @fileno(ptr noundef %5051) #11
  %5053 = call i32 @isatty(i32 noundef %5052) #11
  %5054 = icmp ne i32 %5053, 0
  br i1 %5054, label %5055, label %5072

5055:                                             ; preds = %5050
  %5056 = load i32, ptr %101, align 4, !tbaa !5
  %5057 = call ptr @__errno_location() #12
  store i32 %5056, ptr %5057, align 4, !tbaa !5
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = load i32, ptr @test_count, align 4, !tbaa !5
  %5060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror(i32 noundef %5061, ptr noundef @.str.3)
  %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_debug(i32 noundef %5064, ptr noundef @.str.3)
  %5066 = call ptr @__errno_location() #12
  %5067 = load i32, ptr %5066, align 4, !tbaa !5
  %5068 = call ptr @strerror(i32 noundef %5067) #11
  %5069 = call ptr @__errno_location() #12
  %5070 = load i32, ptr %5069, align 4, !tbaa !5
  %5071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5058, ptr noundef @.str, i32 noundef %5059, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 227, ptr noundef %5062, ptr noundef %5065, ptr noundef %5068, i32 noundef %5070) #11
  br label %5089

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

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

5090:                                             ; preds = %5089
  br label %5091

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

5092:                                             ; No predecessors!
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

5094:                                             ; preds = %5093, %5034
  br label %5095

5095:                                             ; preds = %5094
  br label %5096

5096:                                             ; preds = %5095
  br label %5097

5097:                                             ; preds = %5096
  %5098 = load i32, ptr @test_count, align 4, !tbaa !5
  %5099 = add nsw i32 %5098, 1
  store i32 %5099, ptr @test_count, align 4, !tbaa !5
  %5100 = load ptr, ptr %6, align 8, !tbaa !9
  %5101 = getelementptr inbounds %struct.s2n_connection, ptr %5100, i32 0, i32 41
  %5102 = load ptr, ptr %6, align 8, !tbaa !9
  %5103 = getelementptr inbounds %struct.s2n_connection, ptr %5102, i32 0, i32 38
  %5104 = call i32 @s2n_stuffer_copy(ptr noundef %5101, ptr noundef %5103, i32 noundef 5)
  %5105 = icmp eq i32 %5104, -1
  br i1 %5105, label %5106, label %5159

5106:                                             ; preds = %5097
  br label %5107

5107:                                             ; preds = %5106
  br label %5108

5108:                                             ; preds = %5107
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %5109 = call ptr @__errno_location() #12
  %5110 = load i32, ptr %5109, align 4, !tbaa !5
  store i32 %5110, ptr %102, align 4, !tbaa !5
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = call i32 @s2n_print_stacktrace(ptr noundef %5111)
  %5113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5114 = trunc i8 %5113 to i1
  br i1 %5114, label %5115, label %5137

5115:                                             ; preds = %5108
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = call i32 @fileno(ptr noundef %5116) #11
  %5118 = call i32 @isatty(i32 noundef %5117) #11
  %5119 = icmp ne i32 %5118, 0
  br i1 %5119, label %5120, label %5137

5120:                                             ; preds = %5115
  %5121 = load i32, ptr %102, align 4, !tbaa !5
  %5122 = call ptr @__errno_location() #12
  store i32 %5121, ptr %5122, align 4, !tbaa !5
  %5123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5124 = load i32, ptr @test_count, align 4, !tbaa !5
  %5125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5126 = load i32, ptr %5125, align 4, !tbaa !5
  %5127 = call ptr @s2n_strerror(i32 noundef %5126, ptr noundef @.str.3)
  %5128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5129 = load i32, ptr %5128, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror_debug(i32 noundef %5129, ptr noundef @.str.3)
  %5131 = call ptr @__errno_location() #12
  %5132 = load i32, ptr %5131, align 4, !tbaa !5
  %5133 = call ptr @strerror(i32 noundef %5132) #11
  %5134 = call ptr @__errno_location() #12
  %5135 = load i32, ptr %5134, align 4, !tbaa !5
  %5136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5123, ptr noundef @.str, i32 noundef %5124, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 228, ptr noundef %5127, ptr noundef %5130, ptr noundef %5133, i32 noundef %5135) #11
  br label %5154

5137:                                             ; preds = %5115, %5108
  %5138 = load i32, ptr %102, align 4, !tbaa !5
  %5139 = call ptr @__errno_location() #12
  store i32 %5138, ptr %5139, align 4, !tbaa !5
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = load i32, ptr @test_count, align 4, !tbaa !5
  %5142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5143 = load i32, ptr %5142, align 4, !tbaa !5
  %5144 = call ptr @s2n_strerror(i32 noundef %5143, ptr noundef @.str.3)
  %5145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5146 = load i32, ptr %5145, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror_debug(i32 noundef %5146, ptr noundef @.str.3)
  %5148 = call ptr @__errno_location() #12
  %5149 = load i32, ptr %5148, align 4, !tbaa !5
  %5150 = call ptr @strerror(i32 noundef %5149) #11
  %5151 = call ptr @__errno_location() #12
  %5152 = load i32, ptr %5151, align 4, !tbaa !5
  %5153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5140, ptr noundef @.str.4, i32 noundef %5141, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 228, ptr noundef %5144, ptr noundef %5147, ptr noundef %5150, i32 noundef %5152) #11
  br label %5154

5154:                                             ; preds = %5137, %5120
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %5155

5155:                                             ; preds = %5154
  br label %5156

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

5157:                                             ; No predecessors!
  br label %5158

5158:                                             ; preds = %5157
  br label %5159

5159:                                             ; preds = %5158, %5097
  br label %5160

5160:                                             ; preds = %5159
  br label %5161

5161:                                             ; preds = %5160
  br label %5162

5162:                                             ; preds = %5161
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = add nsw i32 %5163, 1
  store i32 %5164, ptr @test_count, align 4, !tbaa !5
  %5165 = load ptr, ptr %6, align 8, !tbaa !9
  %5166 = getelementptr inbounds %struct.s2n_connection, ptr %5165, i32 0, i32 41
  %5167 = load ptr, ptr %6, align 8, !tbaa !9
  %5168 = getelementptr inbounds %struct.s2n_connection, ptr %5167, i32 0, i32 40
  %5169 = load ptr, ptr %6, align 8, !tbaa !9
  %5170 = getelementptr inbounds %struct.s2n_connection, ptr %5169, i32 0, i32 41
  %5171 = getelementptr inbounds %struct.s2n_stuffer, ptr %5170, i32 0, i32 2
  %5172 = load i32, ptr %5171, align 4, !tbaa !61
  %5173 = load ptr, ptr %6, align 8, !tbaa !9
  %5174 = getelementptr inbounds %struct.s2n_connection, ptr %5173, i32 0, i32 41
  %5175 = getelementptr inbounds %struct.s2n_stuffer, ptr %5174, i32 0, i32 1
  %5176 = load i32, ptr %5175, align 8, !tbaa !62
  %5177 = sub i32 %5172, %5176
  %5178 = call i32 @s2n_stuffer_copy(ptr noundef %5166, ptr noundef %5168, i32 noundef %5177)
  %5179 = icmp eq i32 %5178, -1
  br i1 %5179, label %5180, label %5233

5180:                                             ; preds = %5162
  br label %5181

5181:                                             ; preds = %5180
  br label %5182

5182:                                             ; preds = %5181
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %5183 = call ptr @__errno_location() #12
  %5184 = load i32, ptr %5183, align 4, !tbaa !5
  store i32 %5184, ptr %103, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = call i32 @s2n_print_stacktrace(ptr noundef %5185)
  %5187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5188 = trunc i8 %5187 to i1
  br i1 %5188, label %5189, label %5211

5189:                                             ; preds = %5182
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = call i32 @fileno(ptr noundef %5190) #11
  %5192 = call i32 @isatty(i32 noundef %5191) #11
  %5193 = icmp ne i32 %5192, 0
  br i1 %5193, label %5194, label %5211

5194:                                             ; preds = %5189
  %5195 = load i32, ptr %103, align 4, !tbaa !5
  %5196 = call ptr @__errno_location() #12
  store i32 %5195, ptr %5196, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call ptr @s2n_strerror(i32 noundef %5200, ptr noundef @.str.3)
  %5202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror_debug(i32 noundef %5203, ptr noundef @.str.3)
  %5205 = call ptr @__errno_location() #12
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @strerror(i32 noundef %5206) #11
  %5208 = call ptr @__errno_location() #12
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef @.str, i32 noundef %5198, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 229, ptr noundef %5201, ptr noundef %5204, ptr noundef %5207, i32 noundef %5209) #11
  br label %5228

5211:                                             ; preds = %5189, %5182
  %5212 = load i32, ptr %103, align 4, !tbaa !5
  %5213 = call ptr @__errno_location() #12
  store i32 %5212, ptr %5213, align 4, !tbaa !5
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = load i32, ptr @test_count, align 4, !tbaa !5
  %5216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call ptr @s2n_strerror(i32 noundef %5217, ptr noundef @.str.3)
  %5219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5220 = load i32, ptr %5219, align 4, !tbaa !5
  %5221 = call ptr @s2n_strerror_debug(i32 noundef %5220, ptr noundef @.str.3)
  %5222 = call ptr @__errno_location() #12
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call ptr @strerror(i32 noundef %5223) #11
  %5225 = call ptr @__errno_location() #12
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5214, ptr noundef @.str.4, i32 noundef %5215, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 229, ptr noundef %5218, ptr noundef %5221, ptr noundef %5224, i32 noundef %5226) #11
  br label %5228

5228:                                             ; preds = %5211, %5194
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %5229

5229:                                             ; preds = %5228
  br label %5230

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

5231:                                             ; No predecessors!
  br label %5232

5232:                                             ; preds = %5231
  br label %5233

5233:                                             ; preds = %5232, %5162
  br label %5234

5234:                                             ; preds = %5233
  br label %5235

5235:                                             ; preds = %5234
  %5236 = load ptr, ptr %6, align 8, !tbaa !9
  %5237 = getelementptr inbounds %struct.s2n_connection, ptr %5236, i32 0, i32 40
  %5238 = getelementptr inbounds %struct.s2n_stuffer, ptr %5237, i32 0, i32 0
  %5239 = getelementptr inbounds %struct.s2n_blob, ptr %5238, i32 0, i32 0
  %5240 = load ptr, ptr %5239, align 8, !tbaa !64
  %5241 = load ptr, ptr %6, align 8, !tbaa !9
  %5242 = getelementptr inbounds %struct.s2n_connection, ptr %5241, i32 0, i32 40
  %5243 = getelementptr inbounds %struct.s2n_stuffer, ptr %5242, i32 0, i32 2
  %5244 = load i32, ptr %5243, align 4, !tbaa !67
  %5245 = load ptr, ptr %6, align 8, !tbaa !9
  %5246 = getelementptr inbounds %struct.s2n_connection, ptr %5245, i32 0, i32 40
  %5247 = getelementptr inbounds %struct.s2n_stuffer, ptr %5246, i32 0, i32 1
  %5248 = load i32, ptr %5247, align 8, !tbaa !68
  %5249 = sub i32 %5244, %5248
  %5250 = zext i32 %5249 to i64
  %5251 = load i64, ptr %94, align 8, !tbaa !51
  %5252 = sub i64 %5250, %5251
  %5253 = sub i64 %5252, 1
  %5254 = getelementptr inbounds i8, ptr %5240, i64 %5253
  %5255 = load i8, ptr %5254, align 1, !tbaa !59
  %5256 = add i8 %5255, 1
  store i8 %5256, ptr %5254, align 1, !tbaa !59
  br label %5257

5257:                                             ; preds = %5235
  %5258 = load i32, ptr @test_count, align 4, !tbaa !5
  %5259 = add nsw i32 %5258, 1
  store i32 %5259, ptr @test_count, align 4, !tbaa !5
  %5260 = load ptr, ptr %6, align 8, !tbaa !9
  %5261 = call i32 @s2n_record_header_parse(ptr noundef %5260, ptr noundef %52, ptr noundef %53)
  %5262 = icmp eq i32 %5261, -1
  br i1 %5262, label %5263, label %5316

5263:                                             ; preds = %5257
  br label %5264

5264:                                             ; preds = %5263
  br label %5265

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

5272:                                             ; preds = %5265
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = call i32 @fileno(ptr noundef %5273) #11
  %5275 = call i32 @isatty(i32 noundef %5274) #11
  %5276 = icmp ne i32 %5275, 0
  br i1 %5276, label %5277, label %5294

5277:                                             ; preds = %5272
  %5278 = load i32, ptr %104, align 4, !tbaa !5
  %5279 = call ptr @__errno_location() #12
  store i32 %5278, ptr %5279, align 4, !tbaa !5
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5283 = load i32, ptr %5282, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror(i32 noundef %5283, ptr noundef @.str.3)
  %5285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5286 = load i32, ptr %5285, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror_debug(i32 noundef %5286, ptr noundef @.str.3)
  %5288 = call ptr @__errno_location() #12
  %5289 = load i32, ptr %5288, align 4, !tbaa !5
  %5290 = call ptr @strerror(i32 noundef %5289) #11
  %5291 = call ptr @__errno_location() #12
  %5292 = load i32, ptr %5291, align 4, !tbaa !5
  %5293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5280, ptr noundef @.str, i32 noundef %5281, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 231, ptr noundef %5284, ptr noundef %5287, ptr noundef %5290, i32 noundef %5292) #11
  br label %5311

5294:                                             ; preds = %5272, %5265
  %5295 = load i32, ptr %104, align 4, !tbaa !5
  %5296 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %5305 = call ptr @__errno_location() #12
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @strerror(i32 noundef %5306) #11
  %5308 = call ptr @__errno_location() #12
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5297, ptr noundef @.str.4, i32 noundef %5298, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 231, ptr noundef %5301, ptr noundef %5304, ptr noundef %5307, i32 noundef %5309) #11
  br label %5311

5311:                                             ; preds = %5294, %5277
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5312

5312:                                             ; preds = %5311
  br label %5313

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

5314:                                             ; No predecessors!
  br label %5315

5315:                                             ; preds = %5314
  br label %5316

5316:                                             ; preds = %5315, %5257
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317
  br label %5319

5319:                                             ; preds = %5318
  br label %5320

5320:                                             ; preds = %5319
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = add nsw i32 %5321, 1
  store i32 %5322, ptr @test_count, align 4, !tbaa !5
  %5323 = load ptr, ptr %6, align 8, !tbaa !9
  %5324 = call i32 @s2n_record_parse(ptr noundef %5323)
  %5325 = icmp eq i32 %5324, -1
  br i1 %5325, label %5379, label %5326

5326:                                             ; preds = %5320
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %5329 = call ptr @__errno_location() #12
  %5330 = load i32, ptr %5329, align 4, !tbaa !5
  store i32 %5330, ptr %105, align 4, !tbaa !5
  %5331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5332 = call i32 @s2n_print_stacktrace(ptr noundef %5331)
  %5333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5334 = trunc i8 %5333 to i1
  br i1 %5334, label %5335, label %5357

5335:                                             ; preds = %5328
  %5336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5337 = call i32 @fileno(ptr noundef %5336) #11
  %5338 = call i32 @isatty(i32 noundef %5337) #11
  %5339 = icmp ne i32 %5338, 0
  br i1 %5339, label %5340, label %5357

5340:                                             ; preds = %5335
  %5341 = load i32, ptr %105, align 4, !tbaa !5
  %5342 = call ptr @__errno_location() #12
  store i32 %5341, ptr %5342, align 4, !tbaa !5
  %5343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5344 = load i32, ptr @test_count, align 4, !tbaa !5
  %5345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5346 = load i32, ptr %5345, align 4, !tbaa !5
  %5347 = call ptr @s2n_strerror(i32 noundef %5346, ptr noundef @.str.3)
  %5348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror_debug(i32 noundef %5349, ptr noundef @.str.3)
  %5351 = call ptr @__errno_location() #12
  %5352 = load i32, ptr %5351, align 4, !tbaa !5
  %5353 = call ptr @strerror(i32 noundef %5352) #11
  %5354 = call ptr @__errno_location() #12
  %5355 = load i32, ptr %5354, align 4, !tbaa !5
  %5356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5343, ptr noundef @.str, i32 noundef %5344, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5347, ptr noundef %5350, ptr noundef %5353, i32 noundef %5355) #11
  br label %5374

5357:                                             ; preds = %5335, %5328
  %5358 = load i32, ptr %105, align 4, !tbaa !5
  %5359 = call ptr @__errno_location() #12
  store i32 %5358, ptr %5359, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = load i32, ptr @test_count, align 4, !tbaa !5
  %5362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5363 = load i32, ptr %5362, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror(i32 noundef %5363, ptr noundef @.str.3)
  %5365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5366 = load i32, ptr %5365, align 4, !tbaa !5
  %5367 = call ptr @s2n_strerror_debug(i32 noundef %5366, ptr noundef @.str.3)
  %5368 = call ptr @__errno_location() #12
  %5369 = load i32, ptr %5368, align 4, !tbaa !5
  %5370 = call ptr @strerror(i32 noundef %5369) #11
  %5371 = call ptr @__errno_location() #12
  %5372 = load i32, ptr %5371, align 4, !tbaa !5
  %5373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5360, ptr noundef @.str.4, i32 noundef %5361, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5364, ptr noundef %5367, ptr noundef %5370, i32 noundef %5372) #11
  br label %5374

5374:                                             ; preds = %5357, %5340
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5375

5375:                                             ; preds = %5374
  br label %5376

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

5377:                                             ; No predecessors!
  br label %5378

5378:                                             ; preds = %5377
  br label %5379

5379:                                             ; preds = %5378, %5320
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

5381:                                             ; preds = %5380
  br label %5382

5382:                                             ; preds = %5381
  %5383 = load i32, ptr @test_count, align 4, !tbaa !5
  %5384 = add nsw i32 %5383, 1
  store i32 %5384, ptr @test_count, align 4, !tbaa !5
  %5385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5386 = load i32, ptr %5385, align 4, !tbaa !5
  %5387 = icmp eq i32 %5386, 0
  br i1 %5387, label %5388, label %5441

5388:                                             ; preds = %5382
  br label %5389

5389:                                             ; preds = %5388
  br label %5390

5390:                                             ; preds = %5389
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5391 = call ptr @__errno_location() #12
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  store i32 %5392, ptr %106, align 4, !tbaa !5
  %5393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5394 = call i32 @s2n_print_stacktrace(ptr noundef %5393)
  %5395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5396 = trunc i8 %5395 to i1
  br i1 %5396, label %5397, label %5419

5397:                                             ; preds = %5390
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = call i32 @fileno(ptr noundef %5398) #11
  %5400 = call i32 @isatty(i32 noundef %5399) #11
  %5401 = icmp ne i32 %5400, 0
  br i1 %5401, label %5402, label %5419

5402:                                             ; preds = %5397
  %5403 = load i32, ptr %106, align 4, !tbaa !5
  %5404 = call ptr @__errno_location() #12
  store i32 %5403, ptr %5404, align 4, !tbaa !5
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = load i32, ptr @test_count, align 4, !tbaa !5
  %5407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5408 = load i32, ptr %5407, align 4, !tbaa !5
  %5409 = call ptr @s2n_strerror(i32 noundef %5408, ptr noundef @.str.3)
  %5410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = call ptr @s2n_strerror_debug(i32 noundef %5411, ptr noundef @.str.3)
  %5413 = call ptr @__errno_location() #12
  %5414 = load i32, ptr %5413, align 4, !tbaa !5
  %5415 = call ptr @strerror(i32 noundef %5414) #11
  %5416 = call ptr @__errno_location() #12
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  %5418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5405, ptr noundef @.str, i32 noundef %5406, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5409, ptr noundef %5412, ptr noundef %5415, i32 noundef %5417) #11
  br label %5436

5419:                                             ; preds = %5397, %5390
  %5420 = load i32, ptr %106, align 4, !tbaa !5
  %5421 = call ptr @__errno_location() #12
  store i32 %5420, ptr %5421, align 4, !tbaa !5
  %5422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5423 = load i32, ptr @test_count, align 4, !tbaa !5
  %5424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5425 = load i32, ptr %5424, align 4, !tbaa !5
  %5426 = call ptr @s2n_strerror(i32 noundef %5425, ptr noundef @.str.3)
  %5427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5428 = load i32, ptr %5427, align 4, !tbaa !5
  %5429 = call ptr @s2n_strerror_debug(i32 noundef %5428, ptr noundef @.str.3)
  %5430 = call ptr @__errno_location() #12
  %5431 = load i32, ptr %5430, align 4, !tbaa !5
  %5432 = call ptr @strerror(i32 noundef %5431) #11
  %5433 = call ptr @__errno_location() #12
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  %5435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5422, ptr noundef @.str.4, i32 noundef %5423, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5426, ptr noundef %5429, ptr noundef %5432, i32 noundef %5434) #11
  br label %5436

5436:                                             ; preds = %5419, %5402
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5437

5437:                                             ; preds = %5436
  br label %5438

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

5439:                                             ; No predecessors!
  br label %5440

5440:                                             ; preds = %5439
  br label %5441

5441:                                             ; preds = %5440, %5382
  br label %5442

5442:                                             ; preds = %5441
  br label %5443

5443:                                             ; preds = %5442
  br label %5444

5444:                                             ; preds = %5443
  %5445 = load i32, ptr @test_count, align 4, !tbaa !5
  %5446 = add nsw i32 %5445, 1
  store i32 %5446, ptr @test_count, align 4, !tbaa !5
  %5447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call ptr @s2n_strerror_debug(i32 noundef %5448, ptr noundef @.str.3)
  %5450 = icmp eq ptr %5449, null
  br i1 %5450, label %5451, label %5504

5451:                                             ; preds = %5444
  br label %5452

5452:                                             ; preds = %5451
  br label %5453

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

5460:                                             ; preds = %5453
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @fileno(ptr noundef %5461) #11
  %5463 = call i32 @isatty(i32 noundef %5462) #11
  %5464 = icmp ne i32 %5463, 0
  br i1 %5464, label %5465, label %5482

5465:                                             ; preds = %5460
  %5466 = load i32, ptr %107, align 4, !tbaa !5
  %5467 = call ptr @__errno_location() #12
  store i32 %5466, ptr %5467, align 4, !tbaa !5
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = load i32, ptr @test_count, align 4, !tbaa !5
  %5470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  %5472 = call ptr @s2n_strerror(i32 noundef %5471, ptr noundef @.str.3)
  %5473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef @.str.3)
  %5476 = call ptr @__errno_location() #12
  %5477 = load i32, ptr %5476, align 4, !tbaa !5
  %5478 = call ptr @strerror(i32 noundef %5477) #11
  %5479 = call ptr @__errno_location() #12
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5468, ptr noundef @.str, i32 noundef %5469, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5472, ptr noundef %5475, ptr noundef %5478, i32 noundef %5480) #11
  br label %5499

5482:                                             ; preds = %5460, %5453
  %5483 = load i32, ptr %107, align 4, !tbaa !5
  %5484 = call ptr @__errno_location() #12
  store i32 %5483, ptr %5484, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = load i32, ptr @test_count, align 4, !tbaa !5
  %5487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  %5489 = call ptr @s2n_strerror(i32 noundef %5488, ptr noundef @.str.3)
  %5490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5491 = load i32, ptr %5490, align 4, !tbaa !5
  %5492 = call ptr @s2n_strerror_debug(i32 noundef %5491, ptr noundef @.str.3)
  %5493 = call ptr @__errno_location() #12
  %5494 = load i32, ptr %5493, align 4, !tbaa !5
  %5495 = call ptr @strerror(i32 noundef %5494) #11
  %5496 = call ptr @__errno_location() #12
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  %5498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5485, ptr noundef @.str.4, i32 noundef %5486, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 232, ptr noundef %5489, ptr noundef %5492, ptr noundef %5495, i32 noundef %5497) #11
  br label %5499

5499:                                             ; preds = %5482, %5465
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5500

5500:                                             ; preds = %5499
  br label %5501

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

5502:                                             ; No predecessors!
  br label %5503

5503:                                             ; preds = %5502
  br label %5504

5504:                                             ; preds = %5503, %5444
  br label %5505

5505:                                             ; preds = %5504
  br label %5506

5506:                                             ; preds = %5505
  br label %5507

5507:                                             ; preds = %5506
  %5508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5508, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5509 = call ptr @__errno_location() #12
  store i32 0, ptr %5509, align 4, !tbaa !5
  br label %5510

5510:                                             ; preds = %5507
  br label %5511

5511:                                             ; preds = %5510
  br label %5512

5512:                                             ; preds = %5511
  br label %5513

5513:                                             ; preds = %5512
  br label %5514

5514:                                             ; preds = %5513
  %5515 = load i32, ptr @test_count, align 4, !tbaa !5
  %5516 = add nsw i32 %5515, 1
  store i32 %5516, ptr @test_count, align 4, !tbaa !5
  %5517 = load i8, ptr %52, align 1, !tbaa !59
  %5518 = zext i8 %5517 to i32
  %5519 = icmp eq i32 %5518, 23
  br i1 %5519, label %5573, label %5520

5520:                                             ; preds = %5514
  br label %5521

5521:                                             ; preds = %5520
  br label %5522

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

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

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

5551:                                             ; preds = %5529, %5522
  %5552 = load i32, ptr %108, align 4, !tbaa !5
  %5553 = call ptr @__errno_location() #12
  store i32 %5552, ptr %5553, align 4, !tbaa !5
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call ptr @s2n_strerror(i32 noundef %5557, ptr noundef @.str.3)
  %5559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call ptr @s2n_strerror_debug(i32 noundef %5560, ptr noundef @.str.3)
  %5562 = call ptr @__errno_location() #12
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call ptr @strerror(i32 noundef %5563) #11
  %5565 = call ptr @__errno_location() #12
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5554, ptr noundef @.str.4, i32 noundef %5555, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 233, ptr noundef %5558, ptr noundef %5561, ptr noundef %5564, i32 noundef %5566) #11
  br label %5568

5568:                                             ; preds = %5551, %5534
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

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

5571:                                             ; No predecessors!
  br label %5572

5572:                                             ; preds = %5571
  br label %5573

5573:                                             ; preds = %5572, %5514
  br label %5574

5574:                                             ; preds = %5573
  br label %5575

5575:                                             ; preds = %5574
  br label %5576

5576:                                             ; preds = %5575
  %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 = load ptr, ptr %6, align 8, !tbaa !9
  %5580 = getelementptr inbounds %struct.s2n_connection, ptr %5579, i32 0, i32 38
  %5581 = call i32 @s2n_stuffer_wipe(ptr noundef %5580)
  %5582 = icmp eq i32 %5581, -1
  br i1 %5582, label %5583, label %5636

5583:                                             ; preds = %5576
  br label %5584

5584:                                             ; preds = %5583
  br label %5585

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

5592:                                             ; preds = %5585
  %5593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5594 = call i32 @fileno(ptr noundef %5593) #11
  %5595 = call i32 @isatty(i32 noundef %5594) #11
  %5596 = icmp ne i32 %5595, 0
  br i1 %5596, label %5597, label %5614

5597:                                             ; preds = %5592
  %5598 = load i32, ptr %109, align 4, !tbaa !5
  %5599 = call ptr @__errno_location() #12
  store i32 %5598, ptr %5599, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5603 = load i32, ptr %5602, align 4, !tbaa !5
  %5604 = call ptr @s2n_strerror(i32 noundef %5603, ptr noundef @.str.3)
  %5605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5606 = load i32, ptr %5605, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror_debug(i32 noundef %5606, ptr noundef @.str.3)
  %5608 = call ptr @__errno_location() #12
  %5609 = load i32, ptr %5608, align 4, !tbaa !5
  %5610 = call ptr @strerror(i32 noundef %5609) #11
  %5611 = call ptr @__errno_location() #12
  %5612 = load i32, ptr %5611, align 4, !tbaa !5
  %5613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5600, ptr noundef @.str, i32 noundef %5601, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 235, ptr noundef %5604, ptr noundef %5607, ptr noundef %5610, i32 noundef %5612) #11
  br label %5631

5614:                                             ; preds = %5592, %5585
  %5615 = load i32, ptr %109, align 4, !tbaa !5
  %5616 = call ptr @__errno_location() #12
  store i32 %5615, ptr %5616, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = load i32, ptr @test_count, align 4, !tbaa !5
  %5619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = call ptr @s2n_strerror(i32 noundef %5620, ptr noundef @.str.3)
  %5622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5623 = load i32, ptr %5622, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror_debug(i32 noundef %5623, ptr noundef @.str.3)
  %5625 = call ptr @__errno_location() #12
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @strerror(i32 noundef %5626) #11
  %5628 = call ptr @__errno_location() #12
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5617, ptr noundef @.str.4, i32 noundef %5618, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 235, ptr noundef %5621, ptr noundef %5624, ptr noundef %5627, i32 noundef %5629) #11
  br label %5631

5631:                                             ; preds = %5614, %5597
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5632

5632:                                             ; preds = %5631
  br label %5633

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

5634:                                             ; No predecessors!
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

5636:                                             ; preds = %5635, %5576
  br label %5637

5637:                                             ; preds = %5636
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = add nsw i32 %5640, 1
  store i32 %5641, ptr @test_count, align 4, !tbaa !5
  %5642 = load ptr, ptr %6, align 8, !tbaa !9
  %5643 = getelementptr inbounds %struct.s2n_connection, ptr %5642, i32 0, i32 40
  %5644 = call i32 @s2n_stuffer_wipe(ptr noundef %5643)
  %5645 = icmp eq i32 %5644, -1
  br i1 %5645, label %5646, label %5699

5646:                                             ; preds = %5639
  br label %5647

5647:                                             ; preds = %5646
  br label %5648

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

5655:                                             ; preds = %5648
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @fileno(ptr noundef %5656) #11
  %5658 = call i32 @isatty(i32 noundef %5657) #11
  %5659 = icmp ne i32 %5658, 0
  br i1 %5659, label %5660, label %5677

5660:                                             ; preds = %5655
  %5661 = load i32, ptr %110, align 4, !tbaa !5
  %5662 = call ptr @__errno_location() #12
  store i32 %5661, ptr %5662, align 4, !tbaa !5
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5666 = load i32, ptr %5665, align 4, !tbaa !5
  %5667 = call ptr @s2n_strerror(i32 noundef %5666, ptr noundef @.str.3)
  %5668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5669 = load i32, ptr %5668, align 4, !tbaa !5
  %5670 = call ptr @s2n_strerror_debug(i32 noundef %5669, ptr noundef @.str.3)
  %5671 = call ptr @__errno_location() #12
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  %5673 = call ptr @strerror(i32 noundef %5672) #11
  %5674 = call ptr @__errno_location() #12
  %5675 = load i32, ptr %5674, align 4, !tbaa !5
  %5676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5663, ptr noundef @.str, i32 noundef %5664, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 236, ptr noundef %5667, ptr noundef %5670, ptr noundef %5673, i32 noundef %5675) #11
  br label %5694

5677:                                             ; preds = %5655, %5648
  %5678 = load i32, ptr %110, align 4, !tbaa !5
  %5679 = call ptr @__errno_location() #12
  store i32 %5678, ptr %5679, align 4, !tbaa !5
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = load i32, ptr @test_count, align 4, !tbaa !5
  %5682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5683 = load i32, ptr %5682, align 4, !tbaa !5
  %5684 = call ptr @s2n_strerror(i32 noundef %5683, ptr noundef @.str.3)
  %5685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  %5687 = call ptr @s2n_strerror_debug(i32 noundef %5686, ptr noundef @.str.3)
  %5688 = call ptr @__errno_location() #12
  %5689 = load i32, ptr %5688, align 4, !tbaa !5
  %5690 = call ptr @strerror(i32 noundef %5689) #11
  %5691 = call ptr @__errno_location() #12
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  %5693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5680, ptr noundef @.str.4, i32 noundef %5681, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 236, ptr noundef %5684, ptr noundef %5687, ptr noundef %5690, i32 noundef %5692) #11
  br label %5694

5694:                                             ; preds = %5677, %5660
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5695

5695:                                             ; preds = %5694
  br label %5696

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

5697:                                             ; No predecessors!
  br label %5698

5698:                                             ; preds = %5697
  br label %5699

5699:                                             ; preds = %5698, %5639
  br label %5700

5700:                                             ; preds = %5699
  br label %5701

5701:                                             ; preds = %5700
  br label %5702

5702:                                             ; preds = %5701
  %5703 = load i64, ptr %94, align 8, !tbaa !51
  %5704 = add i64 %5703, 1
  store i64 %5704, ptr %94, align 8, !tbaa !51
  br label %4701, !llvm.loop !69

5705:                                             ; preds = %4704
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #11
  store i64 0, ptr %111, align 8, !tbaa !51
  br label %5706

5706:                                             ; preds = %6697, %5705
  %5707 = load i64, ptr %111, align 8, !tbaa !51
  %5708 = load i64, ptr %25, align 8, !tbaa !51
  %5709 = icmp ult i64 %5707, %5708
  br i1 %5709, label %5711, label %5710

5710:                                             ; preds = %5706
  store i32 525, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #11
  br label %6700

5711:                                             ; preds = %5706
  br label %5712

5712:                                             ; preds = %5711
  %5713 = load i32, ptr @test_count, align 4, !tbaa !5
  %5714 = add nsw i32 %5713, 1
  store i32 %5714, ptr @test_count, align 4, !tbaa !5
  %5715 = load ptr, ptr %6, align 8, !tbaa !9
  %5716 = call i32 @s2n_connection_wipe(ptr noundef %5715)
  %5717 = icmp eq i32 %5716, -1
  br i1 %5717, label %5718, label %5771

5718:                                             ; preds = %5712
  br label %5719

5719:                                             ; preds = %5718
  br label %5720

5720:                                             ; preds = %5719
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5721 = call ptr @__errno_location() #12
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  store i32 %5722, ptr %112, align 4, !tbaa !5
  %5723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5724 = call i32 @s2n_print_stacktrace(ptr noundef %5723)
  %5725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5726 = trunc i8 %5725 to i1
  br i1 %5726, label %5727, label %5749

5727:                                             ; preds = %5720
  %5728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5729 = call i32 @fileno(ptr noundef %5728) #11
  %5730 = call i32 @isatty(i32 noundef %5729) #11
  %5731 = icmp ne i32 %5730, 0
  br i1 %5731, label %5732, label %5749

5732:                                             ; preds = %5727
  %5733 = load i32, ptr %112, align 4, !tbaa !5
  %5734 = call ptr @__errno_location() #12
  store i32 %5733, ptr %5734, align 4, !tbaa !5
  %5735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5736 = load i32, ptr @test_count, align 4, !tbaa !5
  %5737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror(i32 noundef %5738, ptr noundef @.str.3)
  %5740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5741 = load i32, ptr %5740, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror_debug(i32 noundef %5741, ptr noundef @.str.3)
  %5743 = call ptr @__errno_location() #12
  %5744 = load i32, ptr %5743, align 4, !tbaa !5
  %5745 = call ptr @strerror(i32 noundef %5744) #11
  %5746 = call ptr @__errno_location() #12
  %5747 = load i32, ptr %5746, align 4, !tbaa !5
  %5748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5735, ptr noundef @.str, i32 noundef %5736, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 241, ptr noundef %5739, ptr noundef %5742, ptr noundef %5745, i32 noundef %5747) #11
  br label %5766

5749:                                             ; preds = %5727, %5720
  %5750 = load i32, ptr %112, align 4, !tbaa !5
  %5751 = call ptr @__errno_location() #12
  store i32 %5750, ptr %5751, align 4, !tbaa !5
  %5752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5753 = load i32, ptr @test_count, align 4, !tbaa !5
  %5754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  %5756 = call ptr @s2n_strerror(i32 noundef %5755, ptr noundef @.str.3)
  %5757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call ptr @s2n_strerror_debug(i32 noundef %5758, ptr noundef @.str.3)
  %5760 = call ptr @__errno_location() #12
  %5761 = load i32, ptr %5760, align 4, !tbaa !5
  %5762 = call ptr @strerror(i32 noundef %5761) #11
  %5763 = call ptr @__errno_location() #12
  %5764 = load i32, ptr %5763, align 4, !tbaa !5
  %5765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5752, ptr noundef @.str.4, i32 noundef %5753, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 241, ptr noundef %5756, ptr noundef %5759, ptr noundef %5762, i32 noundef %5764) #11
  br label %5766

5766:                                             ; preds = %5749, %5732
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5767

5767:                                             ; preds = %5766
  br label %5768

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

5769:                                             ; No predecessors!
  br label %5770

5770:                                             ; preds = %5769
  br label %5771

5771:                                             ; preds = %5770, %5712
  br label %5772

5772:                                             ; preds = %5771
  br label %5773

5773:                                             ; preds = %5772
  %5774 = load ptr, ptr %6, align 8, !tbaa !9
  %5775 = getelementptr inbounds %struct.s2n_connection, ptr %5774, i32 0, i32 25
  store i8 1, ptr %5775, align 2, !tbaa !52
  %5776 = load ptr, ptr %6, align 8, !tbaa !9
  %5777 = getelementptr inbounds %struct.s2n_connection, ptr %5776, i32 0, i32 22
  store i8 33, ptr %5777, align 1, !tbaa !53
  %5778 = load ptr, ptr %6, align 8, !tbaa !9
  %5779 = getelementptr inbounds %struct.s2n_connection, ptr %5778, i32 0, i32 21
  store i8 33, ptr %5779, align 2, !tbaa !54
  %5780 = load ptr, ptr %6, align 8, !tbaa !9
  %5781 = getelementptr inbounds %struct.s2n_connection, ptr %5780, i32 0, i32 23
  store i8 33, ptr %5781, align 4, !tbaa !55
  %5782 = load ptr, ptr %6, align 8, !tbaa !9
  %5783 = getelementptr inbounds %struct.s2n_connection, ptr %5782, i32 0, i32 26
  %5784 = load ptr, ptr %5783, align 8, !tbaa !15
  %5785 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5784, i32 0, i32 0
  %5786 = load ptr, ptr %5785, align 8, !tbaa !44
  %5787 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %5786, i32 0, i32 6
  store ptr @s2n_record_alg_aes128_gcm, ptr %5787, align 8, !tbaa !49
  br label %5788

5788:                                             ; preds = %5773
  %5789 = load i32, ptr @test_count, align 4, !tbaa !5
  %5790 = add nsw i32 %5789, 1
  store i32 %5790, ptr @test_count, align 4, !tbaa !5
  %5791 = load ptr, ptr %6, align 8, !tbaa !9
  %5792 = call i32 @destroy_server_keys(ptr noundef %5791)
  %5793 = icmp eq i32 %5792, -1
  br i1 %5793, label %5794, label %5847

5794:                                             ; preds = %5788
  br label %5795

5795:                                             ; preds = %5794
  br label %5796

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

5803:                                             ; preds = %5796
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5805 = call i32 @fileno(ptr noundef %5804) #11
  %5806 = call i32 @isatty(i32 noundef %5805) #11
  %5807 = icmp ne i32 %5806, 0
  br i1 %5807, label %5808, label %5825

5808:                                             ; preds = %5803
  %5809 = load i32, ptr %113, align 4, !tbaa !5
  %5810 = call ptr @__errno_location() #12
  store i32 %5809, ptr %5810, align 4, !tbaa !5
  %5811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5812 = load i32, ptr @test_count, align 4, !tbaa !5
  %5813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5814 = load i32, ptr %5813, align 4, !tbaa !5
  %5815 = call ptr @s2n_strerror(i32 noundef %5814, ptr noundef @.str.3)
  %5816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5817 = load i32, ptr %5816, align 4, !tbaa !5
  %5818 = call ptr @s2n_strerror_debug(i32 noundef %5817, ptr noundef @.str.3)
  %5819 = call ptr @__errno_location() #12
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  %5821 = call ptr @strerror(i32 noundef %5820) #11
  %5822 = call ptr @__errno_location() #12
  %5823 = load i32, ptr %5822, align 4, !tbaa !5
  %5824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5811, ptr noundef @.str, i32 noundef %5812, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 247, ptr noundef %5815, ptr noundef %5818, ptr noundef %5821, i32 noundef %5823) #11
  br label %5842

5825:                                             ; preds = %5803, %5796
  %5826 = load i32, ptr %113, align 4, !tbaa !5
  %5827 = call ptr @__errno_location() #12
  store i32 %5826, ptr %5827, align 4, !tbaa !5
  %5828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5829 = load i32, ptr @test_count, align 4, !tbaa !5
  %5830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5831 = load i32, ptr %5830, align 4, !tbaa !5
  %5832 = call ptr @s2n_strerror(i32 noundef %5831, ptr noundef @.str.3)
  %5833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5834 = load i32, ptr %5833, align 4, !tbaa !5
  %5835 = call ptr @s2n_strerror_debug(i32 noundef %5834, ptr noundef @.str.3)
  %5836 = call ptr @__errno_location() #12
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  %5838 = call ptr @strerror(i32 noundef %5837) #11
  %5839 = call ptr @__errno_location() #12
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5828, ptr noundef @.str.4, i32 noundef %5829, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 247, ptr noundef %5832, ptr noundef %5835, ptr noundef %5838, i32 noundef %5840) #11
  br label %5842

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

5843:                                             ; preds = %5842
  br label %5844

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

5845:                                             ; No predecessors!
  br label %5846

5846:                                             ; preds = %5845
  br label %5847

5847:                                             ; preds = %5846, %5788
  br label %5848

5848:                                             ; preds = %5847
  br label %5849

5849:                                             ; preds = %5848
  br label %5850

5850:                                             ; preds = %5849
  %5851 = load i32, ptr @test_count, align 4, !tbaa !5
  %5852 = add nsw i32 %5851, 1
  store i32 %5852, ptr @test_count, align 4, !tbaa !5
  %5853 = load ptr, ptr %6, align 8, !tbaa !9
  %5854 = call i32 @setup_server_keys(ptr noundef %5853, ptr noundef %10)
  %5855 = icmp eq i32 %5854, -1
  br i1 %5855, label %5856, label %5909

5856:                                             ; preds = %5850
  br label %5857

5857:                                             ; preds = %5856
  br label %5858

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

5865:                                             ; preds = %5858
  %5866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5867 = call i32 @fileno(ptr noundef %5866) #11
  %5868 = call i32 @isatty(i32 noundef %5867) #11
  %5869 = icmp ne i32 %5868, 0
  br i1 %5869, label %5870, label %5887

5870:                                             ; preds = %5865
  %5871 = load i32, ptr %114, align 4, !tbaa !5
  %5872 = call ptr @__errno_location() #12
  store i32 %5871, ptr %5872, align 4, !tbaa !5
  %5873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5874 = load i32, ptr @test_count, align 4, !tbaa !5
  %5875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5876 = load i32, ptr %5875, align 4, !tbaa !5
  %5877 = call ptr @s2n_strerror(i32 noundef %5876, ptr noundef @.str.3)
  %5878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5879 = load i32, ptr %5878, align 4, !tbaa !5
  %5880 = call ptr @s2n_strerror_debug(i32 noundef %5879, ptr noundef @.str.3)
  %5881 = call ptr @__errno_location() #12
  %5882 = load i32, ptr %5881, align 4, !tbaa !5
  %5883 = call ptr @strerror(i32 noundef %5882) #11
  %5884 = call ptr @__errno_location() #12
  %5885 = load i32, ptr %5884, align 4, !tbaa !5
  %5886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5873, ptr noundef @.str, i32 noundef %5874, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 248, ptr noundef %5877, ptr noundef %5880, ptr noundef %5883, i32 noundef %5885) #11
  br label %5904

5887:                                             ; preds = %5865, %5858
  %5888 = load i32, ptr %114, align 4, !tbaa !5
  %5889 = call ptr @__errno_location() #12
  store i32 %5888, ptr %5889, align 4, !tbaa !5
  %5890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5891 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5893, ptr noundef @.str.3)
  %5895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = call ptr @s2n_strerror_debug(i32 noundef %5896, ptr noundef @.str.3)
  %5898 = call ptr @__errno_location() #12
  %5899 = load i32, ptr %5898, align 4, !tbaa !5
  %5900 = call ptr @strerror(i32 noundef %5899) #11
  %5901 = call ptr @__errno_location() #12
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  %5903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5890, ptr noundef @.str.4, i32 noundef %5891, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 248, ptr noundef %5894, ptr noundef %5897, ptr noundef %5900, i32 noundef %5902) #11
  br label %5904

5904:                                             ; preds = %5887, %5870
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5905

5905:                                             ; preds = %5904
  br label %5906

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

5907:                                             ; No predecessors!
  br label %5908

5908:                                             ; preds = %5907
  br label %5909

5909:                                             ; preds = %5908, %5850
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

5911:                                             ; preds = %5910
  br label %5912

5912:                                             ; preds = %5911
  %5913 = load i32, ptr @test_count, align 4, !tbaa !5
  %5914 = add nsw i32 %5913, 1
  store i32 %5914, ptr @test_count, align 4, !tbaa !5
  %5915 = load ptr, ptr %6, align 8, !tbaa !9
  %5916 = call i32 @s2n_record_write(ptr noundef %5915, i8 noundef zeroext 23, ptr noundef %27)
  %5917 = getelementptr inbounds %struct.s2n_result, ptr %115, i32 0, i32 0
  store i32 %5916, ptr %5917, align 4
  %5918 = getelementptr inbounds %struct.s2n_result, ptr %115, i32 0, i32 0
  %5919 = load i32, ptr %5918, align 4
  %5920 = call zeroext i1 @s2n_result_is_ok(i32 %5919)
  br i1 %5920, label %5974, label %5921

5921:                                             ; preds = %5912
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %5924 = call ptr @__errno_location() #12
  %5925 = load i32, ptr %5924, align 4, !tbaa !5
  store i32 %5925, ptr %116, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = call i32 @s2n_print_stacktrace(ptr noundef %5926)
  %5928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5929 = trunc i8 %5928 to i1
  br i1 %5929, label %5930, label %5952

5930:                                             ; preds = %5923
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = call i32 @fileno(ptr noundef %5931) #11
  %5933 = call i32 @isatty(i32 noundef %5932) #11
  %5934 = icmp ne i32 %5933, 0
  br i1 %5934, label %5935, label %5952

5935:                                             ; preds = %5930
  %5936 = load i32, ptr %116, align 4, !tbaa !5
  %5937 = call ptr @__errno_location() #12
  store i32 %5936, ptr %5937, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  %5942 = call ptr @s2n_strerror(i32 noundef %5941, ptr noundef @.str.3)
  %5943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  %5945 = call ptr @s2n_strerror_debug(i32 noundef %5944, ptr noundef @.str.3)
  %5946 = call ptr @__errno_location() #12
  %5947 = load i32, ptr %5946, align 4, !tbaa !5
  %5948 = call ptr @strerror(i32 noundef %5947) #11
  %5949 = call ptr @__errno_location() #12
  %5950 = load i32, ptr %5949, align 4, !tbaa !5
  %5951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5938, ptr noundef @.str, i32 noundef %5939, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 249, ptr noundef %5942, ptr noundef %5945, ptr noundef %5948, i32 noundef %5950) #11
  br label %5969

5952:                                             ; preds = %5930, %5923
  %5953 = load i32, ptr %116, align 4, !tbaa !5
  %5954 = call ptr @__errno_location() #12
  store i32 %5953, ptr %5954, align 4, !tbaa !5
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = load i32, ptr @test_count, align 4, !tbaa !5
  %5957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call ptr @s2n_strerror(i32 noundef %5958, ptr noundef @.str.3)
  %5960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5961 = load i32, ptr %5960, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef @.str.3)
  %5963 = call ptr @__errno_location() #12
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  %5965 = call ptr @strerror(i32 noundef %5964) #11
  %5966 = call ptr @__errno_location() #12
  %5967 = load i32, ptr %5966, align 4, !tbaa !5
  %5968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5955, ptr noundef @.str.4, i32 noundef %5956, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 249, ptr noundef %5959, ptr noundef %5962, ptr noundef %5965, i32 noundef %5967) #11
  br label %5969

5969:                                             ; preds = %5952, %5935
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5970

5970:                                             ; preds = %5969
  br label %5971

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

5972:                                             ; No predecessors!
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

5974:                                             ; preds = %5973, %5912
  br label %5975

5975:                                             ; preds = %5974
  br label %5976

5976:                                             ; preds = %5975
  br label %5977

5977:                                             ; preds = %5976
  %5978 = load i32, ptr @test_count, align 4, !tbaa !5
  %5979 = add nsw i32 %5978, 1
  store i32 %5979, ptr @test_count, align 4, !tbaa !5
  %5980 = load ptr, ptr %6, align 8, !tbaa !9
  %5981 = getelementptr inbounds %struct.s2n_connection, ptr %5980, i32 0, i32 40
  %5982 = call i32 @s2n_stuffer_wipe(ptr noundef %5981)
  %5983 = icmp eq i32 %5982, -1
  br i1 %5983, label %5984, label %6037

5984:                                             ; preds = %5977
  br label %5985

5985:                                             ; preds = %5984
  br label %5986

5986:                                             ; preds = %5985
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %5987 = call ptr @__errno_location() #12
  %5988 = load i32, ptr %5987, align 4, !tbaa !5
  store i32 %5988, ptr %117, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = call i32 @s2n_print_stacktrace(ptr noundef %5989)
  %5991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5992 = trunc i8 %5991 to i1
  br i1 %5992, label %5993, label %6015

5993:                                             ; preds = %5986
  %5994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5995 = call i32 @fileno(ptr noundef %5994) #11
  %5996 = call i32 @isatty(i32 noundef %5995) #11
  %5997 = icmp ne i32 %5996, 0
  br i1 %5997, label %5998, label %6015

5998:                                             ; preds = %5993
  %5999 = load i32, ptr %117, align 4, !tbaa !5
  %6000 = call ptr @__errno_location() #12
  store i32 %5999, ptr %6000, align 4, !tbaa !5
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = load i32, ptr @test_count, align 4, !tbaa !5
  %6003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = call ptr @s2n_strerror(i32 noundef %6004, ptr noundef @.str.3)
  %6006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6007 = load i32, ptr %6006, align 4, !tbaa !5
  %6008 = call ptr @s2n_strerror_debug(i32 noundef %6007, ptr noundef @.str.3)
  %6009 = call ptr @__errno_location() #12
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  %6011 = call ptr @strerror(i32 noundef %6010) #11
  %6012 = call ptr @__errno_location() #12
  %6013 = load i32, ptr %6012, align 4, !tbaa !5
  %6014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6001, ptr noundef @.str, i32 noundef %6002, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 252, ptr noundef %6005, ptr noundef %6008, ptr noundef %6011, i32 noundef %6013) #11
  br label %6032

6015:                                             ; preds = %5993, %5986
  %6016 = load i32, ptr %117, align 4, !tbaa !5
  %6017 = call ptr @__errno_location() #12
  store i32 %6016, ptr %6017, align 4, !tbaa !5
  %6018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6019 = load i32, ptr @test_count, align 4, !tbaa !5
  %6020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef @.str.3)
  %6023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6024 = load i32, ptr %6023, align 4, !tbaa !5
  %6025 = call ptr @s2n_strerror_debug(i32 noundef %6024, ptr noundef @.str.3)
  %6026 = call ptr @__errno_location() #12
  %6027 = load i32, ptr %6026, align 4, !tbaa !5
  %6028 = call ptr @strerror(i32 noundef %6027) #11
  %6029 = call ptr @__errno_location() #12
  %6030 = load i32, ptr %6029, align 4, !tbaa !5
  %6031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6018, ptr noundef @.str.4, i32 noundef %6019, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 252, ptr noundef %6022, ptr noundef %6025, ptr noundef %6028, i32 noundef %6030) #11
  br label %6032

6032:                                             ; preds = %6015, %5998
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

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

6035:                                             ; No predecessors!
  br label %6036

6036:                                             ; preds = %6035
  br label %6037

6037:                                             ; preds = %6036, %5977
  br label %6038

6038:                                             ; preds = %6037
  br label %6039

6039:                                             ; preds = %6038
  br label %6040

6040:                                             ; preds = %6039
  %6041 = load i32, ptr @test_count, align 4, !tbaa !5
  %6042 = add nsw i32 %6041, 1
  store i32 %6042, ptr @test_count, align 4, !tbaa !5
  %6043 = load ptr, ptr %6, align 8, !tbaa !9
  %6044 = getelementptr inbounds %struct.s2n_connection, ptr %6043, i32 0, i32 38
  %6045 = call i32 @s2n_stuffer_wipe(ptr noundef %6044)
  %6046 = icmp eq i32 %6045, -1
  br i1 %6046, label %6047, label %6100

6047:                                             ; preds = %6040
  br label %6048

6048:                                             ; preds = %6047
  br label %6049

6049:                                             ; preds = %6048
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %6050 = call ptr @__errno_location() #12
  %6051 = load i32, ptr %6050, align 4, !tbaa !5
  store i32 %6051, ptr %118, align 4, !tbaa !5
  %6052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6053 = call i32 @s2n_print_stacktrace(ptr noundef %6052)
  %6054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6055 = trunc i8 %6054 to i1
  br i1 %6055, label %6056, label %6078

6056:                                             ; preds = %6049
  %6057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6058 = call i32 @fileno(ptr noundef %6057) #11
  %6059 = call i32 @isatty(i32 noundef %6058) #11
  %6060 = icmp ne i32 %6059, 0
  br i1 %6060, label %6061, label %6078

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

6078:                                             ; preds = %6056, %6049
  %6079 = load i32, ptr %118, align 4, !tbaa !5
  %6080 = call ptr @__errno_location() #12
  store i32 %6079, ptr %6080, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %6083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @s2n_strerror(i32 noundef %6084, ptr noundef @.str.3)
  %6086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @s2n_strerror_debug(i32 noundef %6087, ptr noundef @.str.3)
  %6089 = call ptr @__errno_location() #12
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @strerror(i32 noundef %6090) #11
  %6092 = call ptr @__errno_location() #12
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef @.str.4, i32 noundef %6082, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 253, ptr noundef %6085, ptr noundef %6088, ptr noundef %6091, i32 noundef %6093) #11
  br label %6095

6095:                                             ; preds = %6078, %6061
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6096

6096:                                             ; preds = %6095
  br label %6097

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

6098:                                             ; No predecessors!
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099, %6040
  br label %6101

6101:                                             ; preds = %6100
  br label %6102

6102:                                             ; preds = %6101
  br label %6103

6103:                                             ; preds = %6102
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = add nsw i32 %6104, 1
  store i32 %6105, ptr @test_count, align 4, !tbaa !5
  %6106 = load ptr, ptr %6, align 8, !tbaa !9
  %6107 = getelementptr inbounds %struct.s2n_connection, ptr %6106, i32 0, i32 41
  %6108 = load ptr, ptr %6, align 8, !tbaa !9
  %6109 = getelementptr inbounds %struct.s2n_connection, ptr %6108, i32 0, i32 38
  %6110 = call i32 @s2n_stuffer_copy(ptr noundef %6107, ptr noundef %6109, i32 noundef 5)
  %6111 = icmp eq i32 %6110, -1
  br i1 %6111, label %6112, label %6165

6112:                                             ; preds = %6103
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %6115 = call ptr @__errno_location() #12
  %6116 = load i32, ptr %6115, align 4, !tbaa !5
  store i32 %6116, ptr %119, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @s2n_print_stacktrace(ptr noundef %6117)
  %6119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6120 = trunc i8 %6119 to i1
  br i1 %6120, label %6121, label %6143

6121:                                             ; preds = %6114
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @fileno(ptr noundef %6122) #11
  %6124 = call i32 @isatty(i32 noundef %6123) #11
  %6125 = icmp ne i32 %6124, 0
  br i1 %6125, label %6126, label %6143

6126:                                             ; preds = %6121
  %6127 = load i32, ptr %119, align 4, !tbaa !5
  %6128 = call ptr @__errno_location() #12
  store i32 %6127, ptr %6128, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = load i32, ptr @test_count, align 4, !tbaa !5
  %6131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6132 = load i32, ptr %6131, align 4, !tbaa !5
  %6133 = call ptr @s2n_strerror(i32 noundef %6132, ptr noundef @.str.3)
  %6134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror_debug(i32 noundef %6135, ptr noundef @.str.3)
  %6137 = call ptr @__errno_location() #12
  %6138 = load i32, ptr %6137, align 4, !tbaa !5
  %6139 = call ptr @strerror(i32 noundef %6138) #11
  %6140 = call ptr @__errno_location() #12
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6129, ptr noundef @.str, i32 noundef %6130, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 254, ptr noundef %6133, ptr noundef %6136, ptr noundef %6139, i32 noundef %6141) #11
  br label %6160

6143:                                             ; preds = %6121, %6114
  %6144 = load i32, ptr %119, align 4, !tbaa !5
  %6145 = call ptr @__errno_location() #12
  store i32 %6144, ptr %6145, align 4, !tbaa !5
  %6146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6147 = load i32, ptr @test_count, align 4, !tbaa !5
  %6148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call ptr @s2n_strerror(i32 noundef %6149, ptr noundef @.str.3)
  %6151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6152 = load i32, ptr %6151, align 4, !tbaa !5
  %6153 = call ptr @s2n_strerror_debug(i32 noundef %6152, ptr noundef @.str.3)
  %6154 = call ptr @__errno_location() #12
  %6155 = load i32, ptr %6154, align 4, !tbaa !5
  %6156 = call ptr @strerror(i32 noundef %6155) #11
  %6157 = call ptr @__errno_location() #12
  %6158 = load i32, ptr %6157, align 4, !tbaa !5
  %6159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6146, ptr noundef @.str.4, i32 noundef %6147, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 254, ptr noundef %6150, ptr noundef %6153, ptr noundef %6156, i32 noundef %6158) #11
  br label %6160

6160:                                             ; preds = %6143, %6126
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %6161

6161:                                             ; preds = %6160
  br label %6162

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

6163:                                             ; No predecessors!
  br label %6164

6164:                                             ; preds = %6163
  br label %6165

6165:                                             ; preds = %6164, %6103
  br label %6166

6166:                                             ; preds = %6165
  br label %6167

6167:                                             ; preds = %6166
  br label %6168

6168:                                             ; preds = %6167
  %6169 = load i32, ptr @test_count, align 4, !tbaa !5
  %6170 = add nsw i32 %6169, 1
  store i32 %6170, ptr @test_count, align 4, !tbaa !5
  %6171 = load ptr, ptr %6, align 8, !tbaa !9
  %6172 = getelementptr inbounds %struct.s2n_connection, ptr %6171, i32 0, i32 41
  %6173 = load ptr, ptr %6, align 8, !tbaa !9
  %6174 = getelementptr inbounds %struct.s2n_connection, ptr %6173, i32 0, i32 40
  %6175 = load ptr, ptr %6, align 8, !tbaa !9
  %6176 = getelementptr inbounds %struct.s2n_connection, ptr %6175, i32 0, i32 41
  %6177 = getelementptr inbounds %struct.s2n_stuffer, ptr %6176, i32 0, i32 2
  %6178 = load i32, ptr %6177, align 4, !tbaa !61
  %6179 = load ptr, ptr %6, align 8, !tbaa !9
  %6180 = getelementptr inbounds %struct.s2n_connection, ptr %6179, i32 0, i32 41
  %6181 = getelementptr inbounds %struct.s2n_stuffer, ptr %6180, i32 0, i32 1
  %6182 = load i32, ptr %6181, align 8, !tbaa !62
  %6183 = sub i32 %6178, %6182
  %6184 = call i32 @s2n_stuffer_copy(ptr noundef %6172, ptr noundef %6174, i32 noundef %6183)
  %6185 = icmp eq i32 %6184, -1
  br i1 %6185, label %6186, label %6239

6186:                                             ; preds = %6168
  br label %6187

6187:                                             ; preds = %6186
  br label %6188

6188:                                             ; preds = %6187
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  %6189 = call ptr @__errno_location() #12
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  store i32 %6190, ptr %120, 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) #11
  %6198 = call i32 @isatty(i32 noundef %6197) #11
  %6199 = icmp ne i32 %6198, 0
  br i1 %6199, label %6200, label %6217

6200:                                             ; preds = %6195
  %6201 = load i32, ptr %120, align 4, !tbaa !5
  %6202 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6211 = call ptr @__errno_location() #12
  %6212 = load i32, ptr %6211, align 4, !tbaa !5
  %6213 = call ptr @strerror(i32 noundef %6212) #11
  %6214 = call ptr @__errno_location() #12
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6203, ptr noundef @.str, i32 noundef %6204, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 255, ptr noundef %6207, ptr noundef %6210, ptr noundef %6213, i32 noundef %6215) #11
  br label %6234

6217:                                             ; preds = %6195, %6188
  %6218 = load i32, ptr %120, align 4, !tbaa !5
  %6219 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6228 = call ptr @__errno_location() #12
  %6229 = load i32, ptr %6228, align 4, !tbaa !5
  %6230 = call ptr @strerror(i32 noundef %6229) #11
  %6231 = call ptr @__errno_location() #12
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6220, ptr noundef @.str.4, i32 noundef %6221, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 255, ptr noundef %6224, ptr noundef %6227, ptr noundef %6230, i32 noundef %6232) #11
  br label %6234

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

6235:                                             ; preds = %6234
  br label %6236

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

6237:                                             ; No predecessors!
  br label %6238

6238:                                             ; preds = %6237
  br label %6239

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

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240
  %6242 = load ptr, ptr %6, align 8, !tbaa !9
  %6243 = getelementptr inbounds %struct.s2n_connection, ptr %6242, i32 0, i32 40
  %6244 = getelementptr inbounds %struct.s2n_stuffer, ptr %6243, i32 0, i32 0
  %6245 = getelementptr inbounds %struct.s2n_blob, ptr %6244, i32 0, i32 0
  %6246 = load ptr, ptr %6245, align 8, !tbaa !64
  %6247 = load i64, ptr %111, align 8, !tbaa !51
  %6248 = add i64 8, %6247
  %6249 = getelementptr inbounds i8, ptr %6246, i64 %6248
  %6250 = load i8, ptr %6249, align 1, !tbaa !59
  %6251 = add i8 %6250, 1
  store i8 %6251, ptr %6249, align 1, !tbaa !59
  br label %6252

6252:                                             ; preds = %6241
  %6253 = load i32, ptr @test_count, align 4, !tbaa !5
  %6254 = add nsw i32 %6253, 1
  store i32 %6254, ptr @test_count, align 4, !tbaa !5
  %6255 = load ptr, ptr %6, align 8, !tbaa !9
  %6256 = call i32 @s2n_record_header_parse(ptr noundef %6255, ptr noundef %52, ptr noundef %53)
  %6257 = icmp eq i32 %6256, -1
  br i1 %6257, label %6258, label %6311

6258:                                             ; preds = %6252
  br label %6259

6259:                                             ; preds = %6258
  br label %6260

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

6267:                                             ; preds = %6260
  %6268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6269 = call i32 @fileno(ptr noundef %6268) #11
  %6270 = call i32 @isatty(i32 noundef %6269) #11
  %6271 = icmp ne i32 %6270, 0
  br i1 %6271, label %6272, label %6289

6272:                                             ; preds = %6267
  %6273 = load i32, ptr %121, align 4, !tbaa !5
  %6274 = call ptr @__errno_location() #12
  store i32 %6273, ptr %6274, align 4, !tbaa !5
  %6275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6276 = load i32, ptr @test_count, align 4, !tbaa !5
  %6277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  %6279 = call ptr @s2n_strerror(i32 noundef %6278, ptr noundef @.str.3)
  %6280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6281 = load i32, ptr %6280, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror_debug(i32 noundef %6281, ptr noundef @.str.3)
  %6283 = call ptr @__errno_location() #12
  %6284 = load i32, ptr %6283, align 4, !tbaa !5
  %6285 = call ptr @strerror(i32 noundef %6284) #11
  %6286 = call ptr @__errno_location() #12
  %6287 = load i32, ptr %6286, align 4, !tbaa !5
  %6288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6275, ptr noundef @.str, i32 noundef %6276, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 257, ptr noundef %6279, ptr noundef %6282, ptr noundef %6285, i32 noundef %6287) #11
  br label %6306

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

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

6307:                                             ; preds = %6306
  br label %6308

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

6309:                                             ; No predecessors!
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310, %6252
  br label %6312

6312:                                             ; preds = %6311
  br label %6313

6313:                                             ; preds = %6312
  br label %6314

6314:                                             ; preds = %6313
  br label %6315

6315:                                             ; preds = %6314
  %6316 = load i32, ptr @test_count, align 4, !tbaa !5
  %6317 = add nsw i32 %6316, 1
  store i32 %6317, ptr @test_count, align 4, !tbaa !5
  %6318 = load ptr, ptr %6, align 8, !tbaa !9
  %6319 = call i32 @s2n_record_parse(ptr noundef %6318)
  %6320 = icmp eq i32 %6319, -1
  br i1 %6320, label %6374, label %6321

6321:                                             ; preds = %6315
  br label %6322

6322:                                             ; preds = %6321
  br label %6323

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

6330:                                             ; preds = %6323
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @fileno(ptr noundef %6331) #11
  %6333 = call i32 @isatty(i32 noundef %6332) #11
  %6334 = icmp ne i32 %6333, 0
  br i1 %6334, label %6335, label %6352

6335:                                             ; preds = %6330
  %6336 = load i32, ptr %122, align 4, !tbaa !5
  %6337 = call ptr @__errno_location() #12
  store i32 %6336, ptr %6337, align 4, !tbaa !5
  %6338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6339 = load i32, ptr @test_count, align 4, !tbaa !5
  %6340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6341 = load i32, ptr %6340, align 4, !tbaa !5
  %6342 = call ptr @s2n_strerror(i32 noundef %6341, ptr noundef @.str.3)
  %6343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call ptr @s2n_strerror_debug(i32 noundef %6344, ptr noundef @.str.3)
  %6346 = call ptr @__errno_location() #12
  %6347 = load i32, ptr %6346, align 4, !tbaa !5
  %6348 = call ptr @strerror(i32 noundef %6347) #11
  %6349 = call ptr @__errno_location() #12
  %6350 = load i32, ptr %6349, align 4, !tbaa !5
  %6351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6338, ptr noundef @.str, i32 noundef %6339, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 258, ptr noundef %6342, ptr noundef %6345, ptr noundef %6348, i32 noundef %6350) #11
  br label %6369

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

6369:                                             ; preds = %6352, %6335
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

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

6372:                                             ; No predecessors!
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373, %6315
  br label %6375

6375:                                             ; preds = %6374
  br label %6376

6376:                                             ; preds = %6375
  br label %6377

6377:                                             ; preds = %6376
  %6378 = load i32, ptr @test_count, align 4, !tbaa !5
  %6379 = add nsw i32 %6378, 1
  store i32 %6379, ptr @test_count, align 4, !tbaa !5
  %6380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6381 = load i32, ptr %6380, align 4, !tbaa !5
  %6382 = icmp eq i32 %6381, 0
  br i1 %6382, label %6383, label %6436

6383:                                             ; preds = %6377
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

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

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

6397:                                             ; preds = %6392
  %6398 = load i32, ptr %123, align 4, !tbaa !5
  %6399 = call ptr @__errno_location() #12
  store i32 %6398, ptr %6399, align 4, !tbaa !5
  %6400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6401 = load i32, ptr @test_count, align 4, !tbaa !5
  %6402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  %6404 = call ptr @s2n_strerror(i32 noundef %6403, ptr noundef @.str.3)
  %6405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6406 = load i32, ptr %6405, align 4, !tbaa !5
  %6407 = call ptr @s2n_strerror_debug(i32 noundef %6406, ptr noundef @.str.3)
  %6408 = call ptr @__errno_location() #12
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call ptr @strerror(i32 noundef %6409) #11
  %6411 = call ptr @__errno_location() #12
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6400, ptr noundef @.str, i32 noundef %6401, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 258, ptr noundef %6404, ptr noundef %6407, ptr noundef %6410, i32 noundef %6412) #11
  br label %6431

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

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

6432:                                             ; preds = %6431
  br label %6433

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

6434:                                             ; No predecessors!
  br label %6435

6435:                                             ; preds = %6434
  br label %6436

6436:                                             ; preds = %6435, %6377
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437
  br label %6439

6439:                                             ; preds = %6438
  %6440 = load i32, ptr @test_count, align 4, !tbaa !5
  %6441 = add nsw i32 %6440, 1
  store i32 %6441, ptr @test_count, align 4, !tbaa !5
  %6442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  %6444 = call ptr @s2n_strerror_debug(i32 noundef %6443, ptr noundef @.str.3)
  %6445 = icmp eq ptr %6444, null
  br i1 %6445, label %6446, label %6499

6446:                                             ; preds = %6439
  br label %6447

6447:                                             ; preds = %6446
  br label %6448

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

6455:                                             ; preds = %6448
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = call i32 @fileno(ptr noundef %6456) #11
  %6458 = call i32 @isatty(i32 noundef %6457) #11
  %6459 = icmp ne i32 %6458, 0
  br i1 %6459, label %6460, label %6477

6460:                                             ; preds = %6455
  %6461 = load i32, ptr %124, align 4, !tbaa !5
  %6462 = call ptr @__errno_location() #12
  store i32 %6461, ptr %6462, align 4, !tbaa !5
  %6463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6464 = load i32, ptr @test_count, align 4, !tbaa !5
  %6465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror(i32 noundef %6466, ptr noundef @.str.3)
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror_debug(i32 noundef %6469, ptr noundef @.str.3)
  %6471 = call ptr @__errno_location() #12
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @strerror(i32 noundef %6472) #11
  %6474 = call ptr @__errno_location() #12
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6463, ptr noundef @.str, i32 noundef %6464, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 258, ptr noundef %6467, ptr noundef %6470, ptr noundef %6473, i32 noundef %6475) #11
  br label %6494

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

6494:                                             ; preds = %6477, %6460
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

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

6497:                                             ; No predecessors!
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498, %6439
  br label %6500

6500:                                             ; preds = %6499
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501
  %6503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6503, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6504 = call ptr @__errno_location() #12
  store i32 0, ptr %6504, align 4, !tbaa !5
  br label %6505

6505:                                             ; preds = %6502
  br label %6506

6506:                                             ; preds = %6505
  br label %6507

6507:                                             ; preds = %6506
  br label %6508

6508:                                             ; preds = %6507
  br label %6509

6509:                                             ; preds = %6508
  %6510 = load i32, ptr @test_count, align 4, !tbaa !5
  %6511 = add nsw i32 %6510, 1
  store i32 %6511, ptr @test_count, align 4, !tbaa !5
  %6512 = load i8, ptr %52, align 1, !tbaa !59
  %6513 = zext i8 %6512 to i32
  %6514 = icmp eq i32 %6513, 23
  br i1 %6514, label %6568, label %6515

6515:                                             ; preds = %6509
  br label %6516

6516:                                             ; preds = %6515
  br label %6517

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

6524:                                             ; preds = %6517
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = call i32 @fileno(ptr noundef %6525) #11
  %6527 = call i32 @isatty(i32 noundef %6526) #11
  %6528 = icmp ne i32 %6527, 0
  br i1 %6528, label %6529, label %6546

6529:                                             ; preds = %6524
  %6530 = load i32, ptr %125, align 4, !tbaa !5
  %6531 = call ptr @__errno_location() #12
  store i32 %6530, ptr %6531, align 4, !tbaa !5
  %6532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6533 = load i32, ptr @test_count, align 4, !tbaa !5
  %6534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call ptr @s2n_strerror(i32 noundef %6535, ptr noundef @.str.3)
  %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_debug(i32 noundef %6538, ptr noundef @.str.3)
  %6540 = call ptr @__errno_location() #12
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @strerror(i32 noundef %6541) #11
  %6543 = call ptr @__errno_location() #12
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6532, ptr noundef @.str, i32 noundef %6533, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 259, ptr noundef %6536, ptr noundef %6539, ptr noundef %6542, i32 noundef %6544) #11
  br label %6563

6546:                                             ; preds = %6524, %6517
  %6547 = load i32, ptr %125, align 4, !tbaa !5
  %6548 = call ptr @__errno_location() #12
  store i32 %6547, ptr %6548, align 4, !tbaa !5
  %6549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6550 = load i32, ptr @test_count, align 4, !tbaa !5
  %6551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call ptr @s2n_strerror(i32 noundef %6552, ptr noundef @.str.3)
  %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_debug(i32 noundef %6555, ptr noundef @.str.3)
  %6557 = call ptr @__errno_location() #12
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call ptr @strerror(i32 noundef %6558) #11
  %6560 = call ptr @__errno_location() #12
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6549, ptr noundef @.str.4, i32 noundef %6550, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 259, ptr noundef %6553, ptr noundef %6556, ptr noundef %6559, i32 noundef %6561) #11
  br label %6563

6563:                                             ; preds = %6546, %6529
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6564

6564:                                             ; preds = %6563
  br label %6565

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

6566:                                             ; No predecessors!
  br label %6567

6567:                                             ; preds = %6566
  br label %6568

6568:                                             ; preds = %6567, %6509
  br label %6569

6569:                                             ; preds = %6568
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

6571:                                             ; preds = %6570
  %6572 = load i32, ptr @test_count, align 4, !tbaa !5
  %6573 = add nsw i32 %6572, 1
  store i32 %6573, ptr @test_count, align 4, !tbaa !5
  %6574 = load ptr, ptr %6, align 8, !tbaa !9
  %6575 = getelementptr inbounds %struct.s2n_connection, ptr %6574, i32 0, i32 38
  %6576 = call i32 @s2n_stuffer_wipe(ptr noundef %6575)
  %6577 = icmp eq i32 %6576, -1
  br i1 %6577, label %6578, label %6631

6578:                                             ; preds = %6571
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

6580:                                             ; preds = %6579
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6581 = call ptr @__errno_location() #12
  %6582 = load i32, ptr %6581, align 4, !tbaa !5
  store i32 %6582, ptr %126, align 4, !tbaa !5
  %6583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6584 = call i32 @s2n_print_stacktrace(ptr noundef %6583)
  %6585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6586 = trunc i8 %6585 to i1
  br i1 %6586, label %6587, label %6609

6587:                                             ; preds = %6580
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = call i32 @fileno(ptr noundef %6588) #11
  %6590 = call i32 @isatty(i32 noundef %6589) #11
  %6591 = icmp ne i32 %6590, 0
  br i1 %6591, label %6592, label %6609

6592:                                             ; preds = %6587
  %6593 = load i32, ptr %126, align 4, !tbaa !5
  %6594 = call ptr @__errno_location() #12
  store i32 %6593, ptr %6594, align 4, !tbaa !5
  %6595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6596 = load i32, ptr @test_count, align 4, !tbaa !5
  %6597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call ptr @s2n_strerror(i32 noundef %6598, ptr noundef @.str.3)
  %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_debug(i32 noundef %6601, ptr noundef @.str.3)
  %6603 = call ptr @__errno_location() #12
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call ptr @strerror(i32 noundef %6604) #11
  %6606 = call ptr @__errno_location() #12
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6595, ptr noundef @.str, i32 noundef %6596, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 261, ptr noundef %6599, ptr noundef %6602, ptr noundef %6605, i32 noundef %6607) #11
  br label %6626

6609:                                             ; preds = %6587, %6580
  %6610 = load i32, ptr %126, align 4, !tbaa !5
  %6611 = call ptr @__errno_location() #12
  store i32 %6610, ptr %6611, align 4, !tbaa !5
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = load i32, ptr @test_count, align 4, !tbaa !5
  %6614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror(i32 noundef %6615, ptr noundef @.str.3)
  %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_debug(i32 noundef %6618, ptr noundef @.str.3)
  %6620 = call ptr @__errno_location() #12
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call ptr @strerror(i32 noundef %6621) #11
  %6623 = call ptr @__errno_location() #12
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6612, ptr noundef @.str.4, i32 noundef %6613, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 261, ptr noundef %6616, ptr noundef %6619, ptr noundef %6622, i32 noundef %6624) #11
  br label %6626

6626:                                             ; preds = %6609, %6592
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6627

6627:                                             ; preds = %6626
  br label %6628

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

6629:                                             ; No predecessors!
  br label %6630

6630:                                             ; preds = %6629
  br label %6631

6631:                                             ; preds = %6630, %6571
  br label %6632

6632:                                             ; preds = %6631
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

6634:                                             ; preds = %6633
  %6635 = load i32, ptr @test_count, align 4, !tbaa !5
  %6636 = add nsw i32 %6635, 1
  store i32 %6636, ptr @test_count, align 4, !tbaa !5
  %6637 = load ptr, ptr %6, align 8, !tbaa !9
  %6638 = getelementptr inbounds %struct.s2n_connection, ptr %6637, i32 0, i32 40
  %6639 = call i32 @s2n_stuffer_wipe(ptr noundef %6638)
  %6640 = icmp eq i32 %6639, -1
  br i1 %6640, label %6641, label %6694

6641:                                             ; preds = %6634
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

6643:                                             ; preds = %6642
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6644 = call ptr @__errno_location() #12
  %6645 = load i32, ptr %6644, align 4, !tbaa !5
  store i32 %6645, ptr %127, align 4, !tbaa !5
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = call i32 @s2n_print_stacktrace(ptr noundef %6646)
  %6648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6649 = trunc i8 %6648 to i1
  br i1 %6649, label %6650, label %6672

6650:                                             ; preds = %6643
  %6651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6652 = call i32 @fileno(ptr noundef %6651) #11
  %6653 = call i32 @isatty(i32 noundef %6652) #11
  %6654 = icmp ne i32 %6653, 0
  br i1 %6654, label %6655, label %6672

6655:                                             ; preds = %6650
  %6656 = load i32, ptr %127, align 4, !tbaa !5
  %6657 = call ptr @__errno_location() #12
  store i32 %6656, ptr %6657, align 4, !tbaa !5
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = load i32, ptr @test_count, align 4, !tbaa !5
  %6660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6661 = load i32, ptr %6660, align 4, !tbaa !5
  %6662 = call ptr @s2n_strerror(i32 noundef %6661, ptr noundef @.str.3)
  %6663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  %6665 = call ptr @s2n_strerror_debug(i32 noundef %6664, ptr noundef @.str.3)
  %6666 = call ptr @__errno_location() #12
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @strerror(i32 noundef %6667) #11
  %6669 = call ptr @__errno_location() #12
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6658, ptr noundef @.str, i32 noundef %6659, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 262, ptr noundef %6662, ptr noundef %6665, ptr noundef %6668, i32 noundef %6670) #11
  br label %6689

6672:                                             ; preds = %6650, %6643
  %6673 = load i32, ptr %127, align 4, !tbaa !5
  %6674 = call ptr @__errno_location() #12
  store i32 %6673, ptr %6674, align 4, !tbaa !5
  %6675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6676 = load i32, ptr @test_count, align 4, !tbaa !5
  %6677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6678 = load i32, ptr %6677, align 4, !tbaa !5
  %6679 = call ptr @s2n_strerror(i32 noundef %6678, ptr noundef @.str.3)
  %6680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6681 = load i32, ptr %6680, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror_debug(i32 noundef %6681, ptr noundef @.str.3)
  %6683 = call ptr @__errno_location() #12
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @strerror(i32 noundef %6684) #11
  %6686 = call ptr @__errno_location() #12
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6675, ptr noundef @.str.4, i32 noundef %6676, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 262, ptr noundef %6679, ptr noundef %6682, ptr noundef %6685, i32 noundef %6687) #11
  br label %6689

6689:                                             ; preds = %6672, %6655
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6690

6690:                                             ; preds = %6689
  br label %6691

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

6692:                                             ; No predecessors!
  br label %6693

6693:                                             ; preds = %6692
  br label %6694

6694:                                             ; preds = %6693, %6634
  br label %6695

6695:                                             ; preds = %6694
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

6697:                                             ; preds = %6696
  %6698 = load i64, ptr %111, align 8, !tbaa !51
  %6699 = add i64 %6698, 1
  store i64 %6699, ptr %111, align 8, !tbaa !51
  br label %5706, !llvm.loop !70

6700:                                             ; preds = %5710
  call void @llvm.lifetime.end.p0(i64 2, ptr %53) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #11
  br label %6701

6701:                                             ; preds = %6700
  %6702 = load i64, ptr %25, align 8, !tbaa !51
  %6703 = add i64 %6702, 1
  store i64 %6703, ptr %25, align 8, !tbaa !51
  br label %876, !llvm.loop !71

6704:                                             ; preds = %882
  br label %6705

6705:                                             ; preds = %6704
  %6706 = load i32, ptr @test_count, align 4, !tbaa !5
  %6707 = add nsw i32 %6706, 1
  store i32 %6707, ptr @test_count, align 4, !tbaa !5
  %6708 = load ptr, ptr %6, align 8, !tbaa !9
  %6709 = call i32 @destroy_server_keys(ptr noundef %6708)
  %6710 = icmp eq i32 %6709, -1
  br i1 %6710, label %6711, label %6764

6711:                                             ; preds = %6705
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6714 = call ptr @__errno_location() #12
  %6715 = load i32, ptr %6714, align 4, !tbaa !5
  store i32 %6715, ptr %128, align 4, !tbaa !5
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @s2n_print_stacktrace(ptr noundef %6716)
  %6718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6719 = trunc i8 %6718 to i1
  br i1 %6719, label %6720, label %6742

6720:                                             ; preds = %6713
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @fileno(ptr noundef %6721) #11
  %6723 = call i32 @isatty(i32 noundef %6722) #11
  %6724 = icmp ne i32 %6723, 0
  br i1 %6724, label %6725, label %6742

6725:                                             ; preds = %6720
  %6726 = load i32, ptr %128, align 4, !tbaa !5
  %6727 = call ptr @__errno_location() #12
  store i32 %6726, ptr %6727, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror(i32 noundef %6731, ptr noundef @.str.3)
  %6733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef @.str.3)
  %6736 = call ptr @__errno_location() #12
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #11
  %6739 = call ptr @__errno_location() #12
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef @.str, i32 noundef %6729, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 265, ptr noundef %6732, ptr noundef %6735, ptr noundef %6738, i32 noundef %6740) #11
  br label %6759

6742:                                             ; preds = %6720, %6713
  %6743 = load i32, ptr %128, align 4, !tbaa !5
  %6744 = call ptr @__errno_location() #12
  store i32 %6743, ptr %6744, align 4, !tbaa !5
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = load i32, ptr @test_count, align 4, !tbaa !5
  %6747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6748 = load i32, ptr %6747, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror(i32 noundef %6748, ptr noundef @.str.3)
  %6750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror_debug(i32 noundef %6751, ptr noundef @.str.3)
  %6753 = call ptr @__errno_location() #12
  %6754 = load i32, ptr %6753, align 4, !tbaa !5
  %6755 = call ptr @strerror(i32 noundef %6754) #11
  %6756 = call ptr @__errno_location() #12
  %6757 = load i32, ptr %6756, align 4, !tbaa !5
  %6758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6745, ptr noundef @.str.4, i32 noundef %6746, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 265, ptr noundef %6749, ptr noundef %6752, ptr noundef %6755, i32 noundef %6757) #11
  br label %6759

6759:                                             ; preds = %6742, %6725
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

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

6762:                                             ; No predecessors!
  br label %6763

6763:                                             ; preds = %6762
  br label %6764

6764:                                             ; preds = %6763, %6705
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

6766:                                             ; preds = %6765
  br label %6767

6767:                                             ; preds = %6766
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = add nsw i32 %6768, 1
  store i32 %6769, ptr @test_count, align 4, !tbaa !5
  %6770 = load ptr, ptr %6, align 8, !tbaa !9
  %6771 = call i32 @s2n_connection_free(ptr noundef %6770)
  %6772 = icmp eq i32 %6771, -1
  br i1 %6772, label %6773, label %6826

6773:                                             ; preds = %6767
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

6775:                                             ; preds = %6774
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6776 = call ptr @__errno_location() #12
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  store i32 %6777, ptr %129, 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) #11
  %6785 = call i32 @isatty(i32 noundef %6784) #11
  %6786 = icmp ne i32 %6785, 0
  br i1 %6786, label %6787, label %6804

6787:                                             ; preds = %6782
  %6788 = load i32, ptr %129, align 4, !tbaa !5
  %6789 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6798 = call ptr @__errno_location() #12
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @strerror(i32 noundef %6799) #11
  %6801 = call ptr @__errno_location() #12
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6790, ptr noundef @.str, i32 noundef %6791, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 266, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #11
  br label %6821

6804:                                             ; preds = %6782, %6775
  %6805 = load i32, ptr %129, align 4, !tbaa !5
  %6806 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6815 = call ptr @__errno_location() #12
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #11
  %6818 = call ptr @__errno_location() #12
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6807, ptr noundef @.str.4, i32 noundef %6808, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 266, ptr noundef %6811, ptr noundef %6814, ptr noundef %6817, i32 noundef %6819) #11
  br label %6821

6821:                                             ; preds = %6804, %6787
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6822

6822:                                             ; preds = %6821
  br label %6823

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

6824:                                             ; No predecessors!
  br label %6825

6825:                                             ; preds = %6824
  br label %6826

6826:                                             ; preds = %6825, %6767
  br label %6827

6827:                                             ; preds = %6826
  br label %6828

6828:                                             ; preds = %6827
  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 ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6832, ptr %6, align 8, !tbaa !9
  %6833 = icmp eq ptr %6832, null
  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 %130) #11
  %6837 = call ptr @__errno_location() #12
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  store i32 %6838, ptr %130, 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) #11
  %6846 = call i32 @isatty(i32 noundef %6845) #11
  %6847 = icmp ne i32 %6846, 0
  br i1 %6847, label %6848, label %6865

6848:                                             ; preds = %6843
  %6849 = load i32, ptr %130, align 4, !tbaa !5
  %6850 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6859 = call ptr @__errno_location() #12
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call ptr @strerror(i32 noundef %6860) #11
  %6862 = call ptr @__errno_location() #12
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  %6864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef @.str, i32 noundef %6852, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 269, ptr noundef %6855, ptr noundef %6858, ptr noundef %6861, i32 noundef %6863) #11
  br label %6882

6865:                                             ; preds = %6843, %6836
  %6866 = load i32, ptr %130, align 4, !tbaa !5
  %6867 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %6876 = call ptr @__errno_location() #12
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call ptr @strerror(i32 noundef %6877) #11
  %6879 = call ptr @__errno_location() #12
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6868, ptr noundef @.str.4, i32 noundef %6869, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 269, ptr noundef %6872, ptr noundef %6875, ptr noundef %6878, i32 noundef %6880) #11
  br label %6882

6882:                                             ; preds = %6865, %6848
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883
  call void @exit(i32 noundef 1) #13
  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 ptr, ptr %6, align 8, !tbaa !9
  %6891 = getelementptr inbounds %struct.s2n_connection, ptr %6890, i32 0, i32 26
  %6892 = load ptr, ptr %6891, align 8, !tbaa !15
  %6893 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %6892, i32 0, i32 0
  %6894 = load ptr, ptr %6893, align 8, !tbaa !44
  %6895 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %6894, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %6895, align 8, !tbaa !49
  br label %6896

6896:                                             ; preds = %6889
  %6897 = load i32, ptr @test_count, align 4, !tbaa !5
  %6898 = add nsw i32 %6897, 1
  store i32 %6898, ptr @test_count, align 4, !tbaa !5
  %6899 = load ptr, ptr %6, align 8, !tbaa !9
  %6900 = call i32 @setup_server_keys(ptr noundef %6899, ptr noundef %12)
  %6901 = icmp eq i32 %6900, -1
  br i1 %6901, label %6902, label %6955

6902:                                             ; preds = %6896
  br label %6903

6903:                                             ; preds = %6902
  br label %6904

6904:                                             ; preds = %6903
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6905 = call ptr @__errno_location() #12
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  store i32 %6906, ptr %131, align 4, !tbaa !5
  %6907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6908 = call i32 @s2n_print_stacktrace(ptr noundef %6907)
  %6909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6910 = trunc i8 %6909 to i1
  br i1 %6910, label %6911, label %6933

6911:                                             ; preds = %6904
  %6912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6913 = call i32 @fileno(ptr noundef %6912) #11
  %6914 = call i32 @isatty(i32 noundef %6913) #11
  %6915 = icmp ne i32 %6914, 0
  br i1 %6915, label %6916, label %6933

6916:                                             ; preds = %6911
  %6917 = load i32, ptr %131, align 4, !tbaa !5
  %6918 = call ptr @__errno_location() #12
  store i32 %6917, ptr %6918, align 4, !tbaa !5
  %6919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6922 = load i32, ptr %6921, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror(i32 noundef %6922, ptr noundef @.str.3)
  %6924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6925 = load i32, ptr %6924, align 4, !tbaa !5
  %6926 = call ptr @s2n_strerror_debug(i32 noundef %6925, ptr noundef @.str.3)
  %6927 = call ptr @__errno_location() #12
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  %6929 = call ptr @strerror(i32 noundef %6928) #11
  %6930 = call ptr @__errno_location() #12
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6919, ptr noundef @.str, i32 noundef %6920, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 271, ptr noundef %6923, ptr noundef %6926, ptr noundef %6929, i32 noundef %6931) #11
  br label %6950

6933:                                             ; preds = %6911, %6904
  %6934 = load i32, ptr %131, align 4, !tbaa !5
  %6935 = call ptr @__errno_location() #12
  store i32 %6934, ptr %6935, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = load i32, ptr @test_count, align 4, !tbaa !5
  %6938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6939 = load i32, ptr %6938, align 4, !tbaa !5
  %6940 = call ptr @s2n_strerror(i32 noundef %6939, ptr noundef @.str.3)
  %6941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  %6943 = call ptr @s2n_strerror_debug(i32 noundef %6942, ptr noundef @.str.3)
  %6944 = call ptr @__errno_location() #12
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @strerror(i32 noundef %6945) #11
  %6947 = call ptr @__errno_location() #12
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6936, ptr noundef @.str.4, i32 noundef %6937, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 271, ptr noundef %6940, ptr noundef %6943, ptr noundef %6946, i32 noundef %6948) #11
  br label %6950

6950:                                             ; preds = %6933, %6916
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6951

6951:                                             ; preds = %6950
  br label %6952

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

6953:                                             ; No predecessors!
  br label %6954

6954:                                             ; preds = %6953
  br label %6955

6955:                                             ; preds = %6954, %6896
  br label %6956

6956:                                             ; preds = %6955
  br label %6957

6957:                                             ; preds = %6956
  %6958 = load ptr, ptr %6, align 8, !tbaa !9
  %6959 = getelementptr inbounds %struct.s2n_connection, ptr %6958, i32 0, i32 23
  store i8 33, ptr %6959, align 4, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #11
  store i64 0, ptr %132, align 8, !tbaa !51
  br label %6960

6960:                                             ; preds = %12711, %6957
  %6961 = load i64, ptr %132, align 8, !tbaa !51
  %6962 = load i32, ptr %24, align 4, !tbaa !5
  %6963 = add nsw i32 %6962, 1
  %6964 = sext i32 %6963 to i64
  %6965 = icmp ule i64 %6961, %6964
  br i1 %6965, label %6967, label %6966

6966:                                             ; preds = %6960
  store i32 646, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #11
  br label %12714

6967:                                             ; preds = %6960
  call void @llvm.lifetime.start.p0(i64 24, ptr %133) #11
  call void @llvm.memset.p0.i64(ptr align 8 %133, i8 0, i64 24, i1 false)
  br label %6968

6968:                                             ; preds = %6967
  %6969 = load i32, ptr @test_count, align 4, !tbaa !5
  %6970 = add nsw i32 %6969, 1
  store i32 %6970, ptr @test_count, align 4, !tbaa !5
  %6971 = getelementptr inbounds [1436 x i8], ptr %7, i64 0, i64 0
  %6972 = load i64, ptr %132, align 8, !tbaa !51
  %6973 = trunc i64 %6972 to i32
  %6974 = call i32 @s2n_blob_init(ptr noundef %133, ptr noundef %6971, i32 noundef %6973)
  %6975 = icmp eq i32 %6974, -1
  br i1 %6975, label %6976, label %7029

6976:                                             ; preds = %6968
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

6978:                                             ; preds = %6977
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6979 = call ptr @__errno_location() #12
  %6980 = load i32, ptr %6979, align 4, !tbaa !5
  store i32 %6980, ptr %134, align 4, !tbaa !5
  %6981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6982 = call i32 @s2n_print_stacktrace(ptr noundef %6981)
  %6983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6984 = trunc i8 %6983 to i1
  br i1 %6984, label %6985, label %7007

6985:                                             ; preds = %6978
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = call i32 @fileno(ptr noundef %6986) #11
  %6988 = call i32 @isatty(i32 noundef %6987) #11
  %6989 = icmp ne i32 %6988, 0
  br i1 %6989, label %6990, label %7007

6990:                                             ; preds = %6985
  %6991 = load i32, ptr %134, align 4, !tbaa !5
  %6992 = call ptr @__errno_location() #12
  store i32 %6991, ptr %6992, align 4, !tbaa !5
  %6993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6994 = load i32, ptr @test_count, align 4, !tbaa !5
  %6995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6996 = load i32, ptr %6995, align 4, !tbaa !5
  %6997 = call ptr @s2n_strerror(i32 noundef %6996, ptr noundef @.str.3)
  %6998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6999 = load i32, ptr %6998, align 4, !tbaa !5
  %7000 = call ptr @s2n_strerror_debug(i32 noundef %6999, ptr noundef @.str.3)
  %7001 = call ptr @__errno_location() #12
  %7002 = load i32, ptr %7001, align 4, !tbaa !5
  %7003 = call ptr @strerror(i32 noundef %7002) #11
  %7004 = call ptr @__errno_location() #12
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6993, ptr noundef @.str, i32 noundef %6994, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 276, ptr noundef %6997, ptr noundef %7000, ptr noundef %7003, i32 noundef %7005) #11
  br label %7024

7007:                                             ; preds = %6985, %6978
  %7008 = load i32, ptr %134, align 4, !tbaa !5
  %7009 = call ptr @__errno_location() #12
  store i32 %7008, ptr %7009, align 4, !tbaa !5
  %7010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7011 = load i32, ptr @test_count, align 4, !tbaa !5
  %7012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @s2n_strerror(i32 noundef %7013, ptr noundef @.str.3)
  %7015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call ptr @s2n_strerror_debug(i32 noundef %7016, ptr noundef @.str.3)
  %7018 = call ptr @__errno_location() #12
  %7019 = load i32, ptr %7018, align 4, !tbaa !5
  %7020 = call ptr @strerror(i32 noundef %7019) #11
  %7021 = call ptr @__errno_location() #12
  %7022 = load i32, ptr %7021, align 4, !tbaa !5
  %7023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7010, ptr noundef @.str.4, i32 noundef %7011, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 276, ptr noundef %7014, ptr noundef %7017, ptr noundef %7020, i32 noundef %7022) #11
  br label %7024

7024:                                             ; preds = %7007, %6990
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %7025

7025:                                             ; preds = %7024
  br label %7026

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

7027:                                             ; No predecessors!
  br label %7028

7028:                                             ; preds = %7027
  br label %7029

7029:                                             ; preds = %7028, %6968
  br label %7030

7030:                                             ; preds = %7029
  br label %7031

7031:                                             ; preds = %7030
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  store i32 0, ptr %135, align 4, !tbaa !5
  br label %7032

7032:                                             ; preds = %7031
  %7033 = load i32, ptr @test_count, align 4, !tbaa !5
  %7034 = add nsw i32 %7033, 1
  store i32 %7034, ptr @test_count, align 4, !tbaa !5
  %7035 = load ptr, ptr %6, align 8, !tbaa !9
  %7036 = call i32 @s2n_connection_wipe(ptr noundef %7035)
  %7037 = icmp eq i32 %7036, -1
  br i1 %7037, label %7038, label %7091

7038:                                             ; preds = %7032
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

7040:                                             ; preds = %7039
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %7041 = call ptr @__errno_location() #12
  %7042 = load i32, ptr %7041, align 4, !tbaa !5
  store i32 %7042, ptr %136, align 4, !tbaa !5
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = call i32 @s2n_print_stacktrace(ptr noundef %7043)
  %7045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7046 = trunc i8 %7045 to i1
  br i1 %7046, label %7047, label %7069

7047:                                             ; preds = %7040
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = call i32 @fileno(ptr noundef %7048) #11
  %7050 = call i32 @isatty(i32 noundef %7049) #11
  %7051 = icmp ne i32 %7050, 0
  br i1 %7051, label %7052, label %7069

7052:                                             ; preds = %7047
  %7053 = load i32, ptr %136, align 4, !tbaa !5
  %7054 = call ptr @__errno_location() #12
  store i32 %7053, ptr %7054, align 4, !tbaa !5
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = load i32, ptr @test_count, align 4, !tbaa !5
  %7057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7058 = load i32, ptr %7057, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror(i32 noundef %7058, ptr noundef @.str.3)
  %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_debug(i32 noundef %7061, ptr noundef @.str.3)
  %7063 = call ptr @__errno_location() #12
  %7064 = load i32, ptr %7063, align 4, !tbaa !5
  %7065 = call ptr @strerror(i32 noundef %7064) #11
  %7066 = call ptr @__errno_location() #12
  %7067 = load i32, ptr %7066, align 4, !tbaa !5
  %7068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7055, ptr noundef @.str, i32 noundef %7056, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 279, ptr noundef %7059, ptr noundef %7062, ptr noundef %7065, i32 noundef %7067) #11
  br label %7086

7069:                                             ; preds = %7047, %7040
  %7070 = load i32, ptr %136, align 4, !tbaa !5
  %7071 = call ptr @__errno_location() #12
  store i32 %7070, ptr %7071, align 4, !tbaa !5
  %7072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7073 = load i32, ptr @test_count, align 4, !tbaa !5
  %7074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  %7076 = call ptr @s2n_strerror(i32 noundef %7075, ptr noundef @.str.3)
  %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_debug(i32 noundef %7078, ptr noundef @.str.3)
  %7080 = call ptr @__errno_location() #12
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  %7082 = call ptr @strerror(i32 noundef %7081) #11
  %7083 = call ptr @__errno_location() #12
  %7084 = load i32, ptr %7083, align 4, !tbaa !5
  %7085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7072, ptr noundef @.str.4, i32 noundef %7073, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 279, ptr noundef %7076, ptr noundef %7079, ptr noundef %7082, i32 noundef %7084) #11
  br label %7086

7086:                                             ; preds = %7069, %7052
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %7087

7087:                                             ; preds = %7086
  br label %7088

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

7089:                                             ; No predecessors!
  br label %7090

7090:                                             ; preds = %7089
  br label %7091

7091:                                             ; preds = %7090, %7032
  br label %7092

7092:                                             ; preds = %7091
  br label %7093

7093:                                             ; preds = %7092
  br label %7094

7094:                                             ; preds = %7093
  %7095 = load i32, ptr @test_count, align 4, !tbaa !5
  %7096 = add nsw i32 %7095, 1
  store i32 %7096, ptr @test_count, align 4, !tbaa !5
  %7097 = load ptr, ptr %6, align 8, !tbaa !9
  %7098 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %7097)
  %7099 = icmp eq i32 %7098, -1
  br i1 %7099, label %7100, label %7153

7100:                                             ; preds = %7094
  br label %7101

7101:                                             ; preds = %7100
  br label %7102

7102:                                             ; preds = %7101
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %7103 = call ptr @__errno_location() #12
  %7104 = load i32, ptr %7103, align 4, !tbaa !5
  store i32 %7104, ptr %137, align 4, !tbaa !5
  %7105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7106 = call i32 @s2n_print_stacktrace(ptr noundef %7105)
  %7107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7108 = trunc i8 %7107 to i1
  br i1 %7108, label %7109, label %7131

7109:                                             ; preds = %7102
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = call i32 @fileno(ptr noundef %7110) #11
  %7112 = call i32 @isatty(i32 noundef %7111) #11
  %7113 = icmp ne i32 %7112, 0
  br i1 %7113, label %7114, label %7131

7114:                                             ; preds = %7109
  %7115 = load i32, ptr %137, align 4, !tbaa !5
  %7116 = call ptr @__errno_location() #12
  store i32 %7115, ptr %7116, align 4, !tbaa !5
  %7117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7118 = load i32, ptr @test_count, align 4, !tbaa !5
  %7119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  %7121 = call ptr @s2n_strerror(i32 noundef %7120, ptr noundef @.str.3)
  %7122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7123 = load i32, ptr %7122, align 4, !tbaa !5
  %7124 = call ptr @s2n_strerror_debug(i32 noundef %7123, ptr noundef @.str.3)
  %7125 = call ptr @__errno_location() #12
  %7126 = load i32, ptr %7125, align 4, !tbaa !5
  %7127 = call ptr @strerror(i32 noundef %7126) #11
  %7128 = call ptr @__errno_location() #12
  %7129 = load i32, ptr %7128, align 4, !tbaa !5
  %7130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7117, ptr noundef @.str, i32 noundef %7118, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 281, ptr noundef %7121, ptr noundef %7124, ptr noundef %7127, i32 noundef %7129) #11
  br label %7148

7131:                                             ; preds = %7109, %7102
  %7132 = load i32, ptr %137, align 4, !tbaa !5
  %7133 = call ptr @__errno_location() #12
  store i32 %7132, ptr %7133, align 4, !tbaa !5
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = load i32, ptr @test_count, align 4, !tbaa !5
  %7136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7137 = load i32, ptr %7136, align 4, !tbaa !5
  %7138 = call ptr @s2n_strerror(i32 noundef %7137, ptr noundef @.str.3)
  %7139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7140 = load i32, ptr %7139, align 4, !tbaa !5
  %7141 = call ptr @s2n_strerror_debug(i32 noundef %7140, ptr noundef @.str.3)
  %7142 = call ptr @__errno_location() #12
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  %7144 = call ptr @strerror(i32 noundef %7143) #11
  %7145 = call ptr @__errno_location() #12
  %7146 = load i32, ptr %7145, align 4, !tbaa !5
  %7147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7134, ptr noundef @.str.4, i32 noundef %7135, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 281, ptr noundef %7138, ptr noundef %7141, ptr noundef %7144, i32 noundef %7146) #11
  br label %7148

7148:                                             ; preds = %7131, %7114
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %7149

7149:                                             ; preds = %7148
  br label %7150

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

7151:                                             ; No predecessors!
  br label %7152

7152:                                             ; preds = %7151
  br label %7153

7153:                                             ; preds = %7152, %7094
  br label %7154

7154:                                             ; preds = %7153
  br label %7155

7155:                                             ; preds = %7154
  %7156 = load ptr, ptr %6, align 8, !tbaa !9
  %7157 = getelementptr inbounds %struct.s2n_connection, ptr %7156, i32 0, i32 25
  store i8 1, ptr %7157, align 2, !tbaa !52
  %7158 = load ptr, ptr %6, align 8, !tbaa !9
  %7159 = getelementptr inbounds %struct.s2n_connection, ptr %7158, i32 0, i32 22
  store i8 33, ptr %7159, align 1, !tbaa !53
  %7160 = load ptr, ptr %6, align 8, !tbaa !9
  %7161 = getelementptr inbounds %struct.s2n_connection, ptr %7160, i32 0, i32 21
  store i8 33, ptr %7161, align 2, !tbaa !54
  %7162 = load ptr, ptr %6, align 8, !tbaa !9
  %7163 = getelementptr inbounds %struct.s2n_connection, ptr %7162, i32 0, i32 23
  store i8 33, ptr %7163, align 4, !tbaa !55
  %7164 = load ptr, ptr %6, align 8, !tbaa !9
  %7165 = getelementptr inbounds %struct.s2n_connection, ptr %7164, i32 0, i32 26
  %7166 = load ptr, ptr %7165, align 8, !tbaa !15
  %7167 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7166, i32 0, i32 0
  %7168 = load ptr, ptr %7167, align 8, !tbaa !44
  %7169 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7168, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %7169, align 8, !tbaa !49
  br label %7170

7170:                                             ; preds = %7155
  %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 = load ptr, ptr %6, align 8, !tbaa !9
  %7174 = call i32 @destroy_server_keys(ptr noundef %7173)
  %7175 = icmp eq i32 %7174, -1
  br i1 %7175, label %7176, label %7229

7176:                                             ; preds = %7170
  br label %7177

7177:                                             ; preds = %7176
  br label %7178

7178:                                             ; preds = %7177
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %7179 = call ptr @__errno_location() #12
  %7180 = load i32, ptr %7179, align 4, !tbaa !5
  store i32 %7180, ptr %138, align 4, !tbaa !5
  %7181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7182 = call i32 @s2n_print_stacktrace(ptr noundef %7181)
  %7183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7184 = trunc i8 %7183 to i1
  br i1 %7184, label %7185, label %7207

7185:                                             ; preds = %7178
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = call i32 @fileno(ptr noundef %7186) #11
  %7188 = call i32 @isatty(i32 noundef %7187) #11
  %7189 = icmp ne i32 %7188, 0
  br i1 %7189, label %7190, label %7207

7190:                                             ; preds = %7185
  %7191 = load i32, ptr %138, align 4, !tbaa !5
  %7192 = call ptr @__errno_location() #12
  store i32 %7191, ptr %7192, align 4, !tbaa !5
  %7193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7194 = load i32, ptr @test_count, align 4, !tbaa !5
  %7195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7196 = load i32, ptr %7195, align 4, !tbaa !5
  %7197 = call ptr @s2n_strerror(i32 noundef %7196, ptr noundef @.str.3)
  %7198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call ptr @s2n_strerror_debug(i32 noundef %7199, ptr noundef @.str.3)
  %7201 = call ptr @__errno_location() #12
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call ptr @strerror(i32 noundef %7202) #11
  %7204 = call ptr @__errno_location() #12
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7193, ptr noundef @.str, i32 noundef %7194, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 287, ptr noundef %7197, ptr noundef %7200, ptr noundef %7203, i32 noundef %7205) #11
  br label %7224

7207:                                             ; preds = %7185, %7178
  %7208 = load i32, ptr %138, align 4, !tbaa !5
  %7209 = call ptr @__errno_location() #12
  store i32 %7208, ptr %7209, align 4, !tbaa !5
  %7210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7211 = load i32, ptr @test_count, align 4, !tbaa !5
  %7212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7213 = load i32, ptr %7212, align 4, !tbaa !5
  %7214 = call ptr @s2n_strerror(i32 noundef %7213, ptr noundef @.str.3)
  %7215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call ptr @s2n_strerror_debug(i32 noundef %7216, ptr noundef @.str.3)
  %7218 = call ptr @__errno_location() #12
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  %7220 = call ptr @strerror(i32 noundef %7219) #11
  %7221 = call ptr @__errno_location() #12
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7210, ptr noundef @.str.4, i32 noundef %7211, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 287, ptr noundef %7214, ptr noundef %7217, ptr noundef %7220, i32 noundef %7222) #11
  br label %7224

7224:                                             ; preds = %7207, %7190
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %7225

7225:                                             ; preds = %7224
  br label %7226

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

7227:                                             ; No predecessors!
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

7229:                                             ; preds = %7228, %7170
  br label %7230

7230:                                             ; preds = %7229
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231
  %7233 = load i32, ptr @test_count, align 4, !tbaa !5
  %7234 = add nsw i32 %7233, 1
  store i32 %7234, ptr @test_count, align 4, !tbaa !5
  %7235 = load ptr, ptr %6, align 8, !tbaa !9
  %7236 = call i32 @setup_server_keys(ptr noundef %7235, ptr noundef %12)
  %7237 = icmp eq i32 %7236, -1
  br i1 %7237, label %7238, label %7291

7238:                                             ; preds = %7232
  br label %7239

7239:                                             ; preds = %7238
  br label %7240

7240:                                             ; preds = %7239
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %7241 = call ptr @__errno_location() #12
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  store i32 %7242, ptr %139, align 4, !tbaa !5
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = call i32 @s2n_print_stacktrace(ptr noundef %7243)
  %7245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7246 = trunc i8 %7245 to i1
  br i1 %7246, label %7247, label %7269

7247:                                             ; preds = %7240
  %7248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7249 = call i32 @fileno(ptr noundef %7248) #11
  %7250 = call i32 @isatty(i32 noundef %7249) #11
  %7251 = icmp ne i32 %7250, 0
  br i1 %7251, label %7252, label %7269

7252:                                             ; preds = %7247
  %7253 = load i32, ptr %139, align 4, !tbaa !5
  %7254 = call ptr @__errno_location() #12
  store i32 %7253, ptr %7254, align 4, !tbaa !5
  %7255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7256 = load i32, ptr @test_count, align 4, !tbaa !5
  %7257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror(i32 noundef %7258, ptr noundef @.str.3)
  %7260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call ptr @s2n_strerror_debug(i32 noundef %7261, ptr noundef @.str.3)
  %7263 = call ptr @__errno_location() #12
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call ptr @strerror(i32 noundef %7264) #11
  %7266 = call ptr @__errno_location() #12
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7255, ptr noundef @.str, i32 noundef %7256, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 288, ptr noundef %7259, ptr noundef %7262, ptr noundef %7265, i32 noundef %7267) #11
  br label %7286

7269:                                             ; preds = %7247, %7240
  %7270 = load i32, ptr %139, align 4, !tbaa !5
  %7271 = call ptr @__errno_location() #12
  store i32 %7270, ptr %7271, align 4, !tbaa !5
  %7272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7273 = load i32, ptr @test_count, align 4, !tbaa !5
  %7274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror(i32 noundef %7275, ptr noundef @.str.3)
  %7277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call ptr @s2n_strerror_debug(i32 noundef %7278, ptr noundef @.str.3)
  %7280 = call ptr @__errno_location() #12
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @strerror(i32 noundef %7281) #11
  %7283 = call ptr @__errno_location() #12
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7272, ptr noundef @.str.4, i32 noundef %7273, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 288, ptr noundef %7276, ptr noundef %7279, ptr noundef %7282, i32 noundef %7284) #11
  br label %7286

7286:                                             ; preds = %7269, %7252
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %7287

7287:                                             ; preds = %7286
  br label %7288

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

7289:                                             ; No predecessors!
  br label %7290

7290:                                             ; preds = %7289
  br label %7291

7291:                                             ; preds = %7290, %7232
  br label %7292

7292:                                             ; preds = %7291
  br label %7293

7293:                                             ; preds = %7292
  %7294 = load ptr, ptr %6, align 8, !tbaa !9
  %7295 = getelementptr inbounds %struct.s2n_connection, ptr %7294, i32 0, i32 23
  store i8 33, ptr %7295, align 4, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %7296 = load ptr, ptr %6, align 8, !tbaa !9
  %7297 = call i32 @s2n_record_write(ptr noundef %7296, i8 noundef zeroext 23, ptr noundef %133)
  %7298 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  store i32 %7297, ptr %7298, align 4
  %7299 = load i64, ptr %132, align 8, !tbaa !51
  %7300 = load i32, ptr %24, align 4, !tbaa !5
  %7301 = sext i32 %7300 to i64
  %7302 = icmp ule i64 %7299, %7301
  br i1 %7302, label %7303, label %7368

7303:                                             ; preds = %7293
  br label %7304

7304:                                             ; preds = %7303
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = add nsw i32 %7305, 1
  store i32 %7306, ptr @test_count, align 4, !tbaa !5
  %7307 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  %7308 = load i32, ptr %7307, align 4
  %7309 = call zeroext i1 @s2n_result_is_ok(i32 %7308)
  br i1 %7309, label %7363, label %7310

7310:                                             ; preds = %7304
  br label %7311

7311:                                             ; preds = %7310
  br label %7312

7312:                                             ; preds = %7311
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %7313 = call ptr @__errno_location() #12
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  store i32 %7314, ptr %141, align 4, !tbaa !5
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = call i32 @s2n_print_stacktrace(ptr noundef %7315)
  %7317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7318 = trunc i8 %7317 to i1
  br i1 %7318, label %7319, label %7341

7319:                                             ; preds = %7312
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = call i32 @fileno(ptr noundef %7320) #11
  %7322 = call i32 @isatty(i32 noundef %7321) #11
  %7323 = icmp ne i32 %7322, 0
  br i1 %7323, label %7324, label %7341

7324:                                             ; preds = %7319
  %7325 = load i32, ptr %141, align 4, !tbaa !5
  %7326 = call ptr @__errno_location() #12
  store i32 %7325, ptr %7326, align 4, !tbaa !5
  %7327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7328 = load i32, ptr @test_count, align 4, !tbaa !5
  %7329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7330 = load i32, ptr %7329, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror(i32 noundef %7330, ptr noundef @.str.3)
  %7332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call ptr @s2n_strerror_debug(i32 noundef %7333, ptr noundef @.str.3)
  %7335 = call ptr @__errno_location() #12
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  %7337 = call ptr @strerror(i32 noundef %7336) #11
  %7338 = call ptr @__errno_location() #12
  %7339 = load i32, ptr %7338, align 4, !tbaa !5
  %7340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7327, ptr noundef @.str, i32 noundef %7328, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 293, ptr noundef %7331, ptr noundef %7334, ptr noundef %7337, i32 noundef %7339) #11
  br label %7358

7341:                                             ; preds = %7319, %7312
  %7342 = load i32, ptr %141, align 4, !tbaa !5
  %7343 = call ptr @__errno_location() #12
  store i32 %7342, ptr %7343, align 4, !tbaa !5
  %7344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7345 = load i32, ptr @test_count, align 4, !tbaa !5
  %7346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  %7348 = call ptr @s2n_strerror(i32 noundef %7347, ptr noundef @.str.3)
  %7349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror_debug(i32 noundef %7350, ptr noundef @.str.3)
  %7352 = call ptr @__errno_location() #12
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call ptr @strerror(i32 noundef %7353) #11
  %7355 = call ptr @__errno_location() #12
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  %7357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7344, ptr noundef @.str.4, i32 noundef %7345, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 293, ptr noundef %7348, ptr noundef %7351, ptr noundef %7354, i32 noundef %7356) #11
  br label %7358

7358:                                             ; preds = %7341, %7324
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %7359

7359:                                             ; preds = %7358
  br label %7360

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

7361:                                             ; No predecessors!
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

7363:                                             ; preds = %7362, %7304
  br label %7364

7364:                                             ; preds = %7363
  br label %7365

7365:                                             ; preds = %7364
  %7366 = load i64, ptr %132, align 8, !tbaa !51
  %7367 = trunc i64 %7366 to i32
  store i32 %7367, ptr %135, align 4, !tbaa !5
  br label %7568

7368:                                             ; preds = %7293
  br label %7369

7369:                                             ; preds = %7368
  br label %7370

7370:                                             ; preds = %7369
  br label %7371

7371:                                             ; preds = %7370
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = add nsw i32 %7372, 1
  store i32 %7373, ptr @test_count, align 4, !tbaa !5
  %7374 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  %7375 = load i32, ptr %7374, align 4
  %7376 = call zeroext i1 @s2n_result_is_error(i32 %7375)
  br i1 %7376, label %7430, label %7377

7377:                                             ; preds = %7371
  br label %7378

7378:                                             ; preds = %7377
  br label %7379

7379:                                             ; preds = %7378
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7380 = call ptr @__errno_location() #12
  %7381 = load i32, ptr %7380, align 4, !tbaa !5
  store i32 %7381, ptr %142, align 4, !tbaa !5
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = call i32 @s2n_print_stacktrace(ptr noundef %7382)
  %7384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7385 = trunc i8 %7384 to i1
  br i1 %7385, label %7386, label %7408

7386:                                             ; preds = %7379
  %7387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7388 = call i32 @fileno(ptr noundef %7387) #11
  %7389 = call i32 @isatty(i32 noundef %7388) #11
  %7390 = icmp ne i32 %7389, 0
  br i1 %7390, label %7391, label %7408

7391:                                             ; preds = %7386
  %7392 = load i32, ptr %142, align 4, !tbaa !5
  %7393 = call ptr @__errno_location() #12
  store i32 %7392, ptr %7393, align 4, !tbaa !5
  %7394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7395 = load i32, ptr @test_count, align 4, !tbaa !5
  %7396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @s2n_strerror(i32 noundef %7397, ptr noundef @.str.3)
  %7399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call ptr @s2n_strerror_debug(i32 noundef %7400, ptr noundef @.str.3)
  %7402 = call ptr @__errno_location() #12
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @strerror(i32 noundef %7403) #11
  %7405 = call ptr @__errno_location() #12
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7394, ptr noundef @.str, i32 noundef %7395, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7398, ptr noundef %7401, ptr noundef %7404, i32 noundef %7406) #11
  br label %7425

7408:                                             ; preds = %7386, %7379
  %7409 = load i32, ptr %142, align 4, !tbaa !5
  %7410 = call ptr @__errno_location() #12
  store i32 %7409, ptr %7410, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @s2n_strerror(i32 noundef %7414, ptr noundef @.str.3)
  %7416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call ptr @s2n_strerror_debug(i32 noundef %7417, ptr noundef @.str.3)
  %7419 = call ptr @__errno_location() #12
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @strerror(i32 noundef %7420) #11
  %7422 = call ptr @__errno_location() #12
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7411, ptr noundef @.str.4, i32 noundef %7412, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7415, ptr noundef %7418, ptr noundef %7421, i32 noundef %7423) #11
  br label %7425

7425:                                             ; preds = %7408, %7391
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7426

7426:                                             ; preds = %7425
  br label %7427

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

7428:                                             ; No predecessors!
  br label %7429

7429:                                             ; preds = %7428
  br label %7430

7430:                                             ; preds = %7429, %7371
  br label %7431

7431:                                             ; preds = %7430
  br label %7432

7432:                                             ; preds = %7431
  br label %7433

7433:                                             ; preds = %7432
  %7434 = load i32, ptr @test_count, align 4, !tbaa !5
  %7435 = add nsw i32 %7434, 1
  store i32 %7435, ptr @test_count, align 4, !tbaa !5
  %7436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = icmp eq i32 %7437, 335544390
  br i1 %7438, label %7492, label %7439

7439:                                             ; preds = %7433
  br label %7440

7440:                                             ; preds = %7439
  br label %7441

7441:                                             ; preds = %7440
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7442 = call ptr @__errno_location() #12
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  store i32 %7443, ptr %143, align 4, !tbaa !5
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @s2n_print_stacktrace(ptr noundef %7444)
  %7446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7447 = trunc i8 %7446 to i1
  br i1 %7447, label %7448, label %7470

7448:                                             ; preds = %7441
  %7449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7450 = call i32 @fileno(ptr noundef %7449) #11
  %7451 = call i32 @isatty(i32 noundef %7450) #11
  %7452 = icmp ne i32 %7451, 0
  br i1 %7452, label %7453, label %7470

7453:                                             ; preds = %7448
  %7454 = load i32, ptr %143, align 4, !tbaa !5
  %7455 = call ptr @__errno_location() #12
  store i32 %7454, ptr %7455, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7459, ptr noundef @.str.3)
  %7461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror_debug(i32 noundef %7462, ptr noundef @.str.3)
  %7464 = call ptr @__errno_location() #12
  %7465 = load i32, ptr %7464, align 4, !tbaa !5
  %7466 = call ptr @strerror(i32 noundef %7465) #11
  %7467 = call ptr @__errno_location() #12
  %7468 = load i32, ptr %7467, align 4, !tbaa !5
  %7469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7456, ptr noundef @.str, i32 noundef %7457, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7460, ptr noundef %7463, ptr noundef %7466, i32 noundef %7468) #11
  br label %7487

7470:                                             ; preds = %7448, %7441
  %7471 = load i32, ptr %143, align 4, !tbaa !5
  %7472 = call ptr @__errno_location() #12
  store i32 %7471, ptr %7472, align 4, !tbaa !5
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7476, ptr noundef @.str.3)
  %7478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  %7480 = call ptr @s2n_strerror_debug(i32 noundef %7479, ptr noundef @.str.3)
  %7481 = call ptr @__errno_location() #12
  %7482 = load i32, ptr %7481, align 4, !tbaa !5
  %7483 = call ptr @strerror(i32 noundef %7482) #11
  %7484 = call ptr @__errno_location() #12
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  %7486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7473, ptr noundef @.str.4, i32 noundef %7474, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7477, ptr noundef %7480, ptr noundef %7483, i32 noundef %7485) #11
  br label %7487

7487:                                             ; preds = %7470, %7453
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

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

7490:                                             ; No predecessors!
  br label %7491

7491:                                             ; preds = %7490
  br label %7492

7492:                                             ; preds = %7491, %7433
  br label %7493

7493:                                             ; preds = %7492
  br label %7494

7494:                                             ; preds = %7493
  br label %7495

7495:                                             ; preds = %7494
  %7496 = load i32, ptr @test_count, align 4, !tbaa !5
  %7497 = add nsw i32 %7496, 1
  store i32 %7497, ptr @test_count, align 4, !tbaa !5
  %7498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call ptr @s2n_strerror_debug(i32 noundef %7499, ptr noundef @.str.3)
  %7501 = icmp eq ptr %7500, null
  br i1 %7501, label %7502, label %7555

7502:                                             ; preds = %7495
  br label %7503

7503:                                             ; preds = %7502
  br label %7504

7504:                                             ; preds = %7503
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7505 = call ptr @__errno_location() #12
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  store i32 %7506, ptr %144, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @s2n_print_stacktrace(ptr noundef %7507)
  %7509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7510 = trunc i8 %7509 to i1
  br i1 %7510, label %7511, label %7533

7511:                                             ; preds = %7504
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = call i32 @fileno(ptr noundef %7512) #11
  %7514 = call i32 @isatty(i32 noundef %7513) #11
  %7515 = icmp ne i32 %7514, 0
  br i1 %7515, label %7516, label %7533

7516:                                             ; preds = %7511
  %7517 = load i32, ptr %144, align 4, !tbaa !5
  %7518 = call ptr @__errno_location() #12
  store i32 %7517, ptr %7518, align 4, !tbaa !5
  %7519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7520 = load i32, ptr @test_count, align 4, !tbaa !5
  %7521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7522 = load i32, ptr %7521, align 4, !tbaa !5
  %7523 = call ptr @s2n_strerror(i32 noundef %7522, ptr noundef @.str.3)
  %7524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7525 = load i32, ptr %7524, align 4, !tbaa !5
  %7526 = call ptr @s2n_strerror_debug(i32 noundef %7525, ptr noundef @.str.3)
  %7527 = call ptr @__errno_location() #12
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  %7529 = call ptr @strerror(i32 noundef %7528) #11
  %7530 = call ptr @__errno_location() #12
  %7531 = load i32, ptr %7530, align 4, !tbaa !5
  %7532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7519, ptr noundef @.str, i32 noundef %7520, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7523, ptr noundef %7526, ptr noundef %7529, i32 noundef %7531) #11
  br label %7550

7533:                                             ; preds = %7511, %7504
  %7534 = load i32, ptr %144, align 4, !tbaa !5
  %7535 = call ptr @__errno_location() #12
  store i32 %7534, ptr %7535, align 4, !tbaa !5
  %7536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7537 = load i32, ptr @test_count, align 4, !tbaa !5
  %7538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call ptr @s2n_strerror(i32 noundef %7539, ptr noundef @.str.3)
  %7541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7542 = load i32, ptr %7541, align 4, !tbaa !5
  %7543 = call ptr @s2n_strerror_debug(i32 noundef %7542, ptr noundef @.str.3)
  %7544 = call ptr @__errno_location() #12
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  %7546 = call ptr @strerror(i32 noundef %7545) #11
  %7547 = call ptr @__errno_location() #12
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  %7549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7536, ptr noundef @.str.4, i32 noundef %7537, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7540, ptr noundef %7543, ptr noundef %7546, i32 noundef %7548) #11
  br label %7550

7550:                                             ; preds = %7533, %7516
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7551

7551:                                             ; preds = %7550
  br label %7552

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

7553:                                             ; No predecessors!
  br label %7554

7554:                                             ; preds = %7553
  br label %7555

7555:                                             ; preds = %7554, %7495
  br label %7556

7556:                                             ; preds = %7555
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

7558:                                             ; preds = %7557
  br label %7559

7559:                                             ; preds = %7558
  br label %7560

7560:                                             ; preds = %7559
  %7561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7561, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7562 = call ptr @__errno_location() #12
  store i32 0, ptr %7562, align 4, !tbaa !5
  br label %7563

7563:                                             ; preds = %7560
  br label %7564

7564:                                             ; preds = %7563
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565
  %7567 = load i32, ptr %24, align 4, !tbaa !5
  store i32 %7567, ptr %135, align 4, !tbaa !5
  br label %7568

7568:                                             ; preds = %7566, %7365
  call void @llvm.lifetime.start.p0(i64 2, ptr %145) #11
  %7569 = load i32, ptr %135, align 4, !tbaa !5
  %7570 = trunc i32 %7569 to i16
  store i16 %7570, ptr %145, align 2, !tbaa !56
  %7571 = load ptr, ptr %6, align 8, !tbaa !9
  %7572 = getelementptr inbounds %struct.s2n_connection, ptr %7571, i32 0, i32 26
  %7573 = load ptr, ptr %7572, align 8, !tbaa !15
  %7574 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7573, i32 0, i32 0
  %7575 = load ptr, ptr %7574, align 8, !tbaa !44
  %7576 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7575, i32 0, i32 6
  %7577 = load ptr, ptr %7576, align 8, !tbaa !49
  %7578 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %7577, i32 0, i32 0
  %7579 = load ptr, ptr %7578, align 8, !tbaa !57
  %7580 = getelementptr inbounds %struct.s2n_cipher, ptr %7579, i32 0, i32 1
  %7581 = getelementptr inbounds %struct.s2n_aead_cipher, ptr %7580, i32 0, i32 1
  %7582 = load i8, ptr %7581, align 1, !tbaa !59
  %7583 = zext i8 %7582 to i32
  %7584 = load i16, ptr %145, align 2, !tbaa !56
  %7585 = zext i16 %7584 to i32
  %7586 = add nsw i32 %7585, %7583
  %7587 = trunc i32 %7586 to i16
  store i16 %7587, ptr %145, align 2, !tbaa !56
  %7588 = load ptr, ptr %6, align 8, !tbaa !9
  %7589 = getelementptr inbounds %struct.s2n_connection, ptr %7588, i32 0, i32 26
  %7590 = load ptr, ptr %7589, align 8, !tbaa !15
  %7591 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7590, i32 0, i32 0
  %7592 = load ptr, ptr %7591, align 8, !tbaa !44
  %7593 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7592, i32 0, i32 6
  %7594 = load ptr, ptr %7593, align 8, !tbaa !49
  %7595 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %7594, i32 0, i32 0
  %7596 = load ptr, ptr %7595, align 8, !tbaa !57
  %7597 = getelementptr inbounds %struct.s2n_cipher, ptr %7596, i32 0, i32 1
  %7598 = getelementptr inbounds %struct.s2n_aead_cipher, ptr %7597, i32 0, i32 2
  %7599 = load i8, ptr %7598, align 2, !tbaa !59
  %7600 = zext i8 %7599 to i32
  %7601 = load i16, ptr %145, align 2, !tbaa !56
  %7602 = zext i16 %7601 to i32
  %7603 = add nsw i32 %7602, %7600
  %7604 = trunc i32 %7603 to i16
  store i16 %7604, ptr %145, align 2, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  store i32 24, ptr %146, align 4, !tbaa !5
  br label %7605

7605:                                             ; preds = %7568
  %7606 = load i32, ptr @test_count, align 4, !tbaa !5
  %7607 = add nsw i32 %7606, 1
  store i32 %7607, ptr @test_count, align 4, !tbaa !5
  %7608 = load i16, ptr %145, align 2, !tbaa !56
  %7609 = zext i16 %7608 to i32
  %7610 = load i32, ptr %135, align 4, !tbaa !5
  %7611 = add nsw i32 %7610, 24
  %7612 = icmp eq i32 %7609, %7611
  br i1 %7612, label %7666, label %7613

7613:                                             ; preds = %7605
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7616 = call ptr @__errno_location() #12
  %7617 = load i32, ptr %7616, align 4, !tbaa !5
  store i32 %7617, ptr %147, align 4, !tbaa !5
  %7618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7619 = call i32 @s2n_print_stacktrace(ptr noundef %7618)
  %7620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7621 = trunc i8 %7620 to i1
  br i1 %7621, label %7622, label %7644

7622:                                             ; preds = %7615
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = call i32 @fileno(ptr noundef %7623) #11
  %7625 = call i32 @isatty(i32 noundef %7624) #11
  %7626 = icmp ne i32 %7625, 0
  br i1 %7626, label %7627, label %7644

7627:                                             ; preds = %7622
  %7628 = load i32, ptr %147, align 4, !tbaa !5
  %7629 = call ptr @__errno_location() #12
  store i32 %7628, ptr %7629, align 4, !tbaa !5
  %7630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7631 = load i32, ptr @test_count, align 4, !tbaa !5
  %7632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7633 = load i32, ptr %7632, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror(i32 noundef %7633, ptr noundef @.str.3)
  %7635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call ptr @s2n_strerror_debug(i32 noundef %7636, ptr noundef @.str.3)
  %7638 = call ptr @__errno_location() #12
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call ptr @strerror(i32 noundef %7639) #11
  %7641 = call ptr @__errno_location() #12
  %7642 = load i32, ptr %7641, align 4, !tbaa !5
  %7643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7630, ptr noundef @.str, i32 noundef %7631, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 306, ptr noundef %7634, ptr noundef %7637, ptr noundef %7640, i32 noundef %7642) #11
  br label %7661

7644:                                             ; preds = %7622, %7615
  %7645 = load i32, ptr %147, align 4, !tbaa !5
  %7646 = call ptr @__errno_location() #12
  store i32 %7645, ptr %7646, align 4, !tbaa !5
  %7647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7648 = load i32, ptr @test_count, align 4, !tbaa !5
  %7649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @s2n_strerror(i32 noundef %7650, ptr noundef @.str.3)
  %7652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call ptr @s2n_strerror_debug(i32 noundef %7653, ptr noundef @.str.3)
  %7655 = call ptr @__errno_location() #12
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call ptr @strerror(i32 noundef %7656) #11
  %7658 = call ptr @__errno_location() #12
  %7659 = load i32, ptr %7658, align 4, !tbaa !5
  %7660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7647, ptr noundef @.str.4, i32 noundef %7648, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 306, ptr noundef %7651, ptr noundef %7654, ptr noundef %7657, i32 noundef %7659) #11
  br label %7661

7661:                                             ; preds = %7644, %7627
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7662

7662:                                             ; preds = %7661
  br label %7663

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

7664:                                             ; No predecessors!
  br label %7665

7665:                                             ; preds = %7664
  br label %7666

7666:                                             ; preds = %7665, %7605
  br label %7667

7667:                                             ; preds = %7666
  br label %7668

7668:                                             ; preds = %7667
  br label %7669

7669:                                             ; preds = %7668
  %7670 = load i32, ptr @test_count, align 4, !tbaa !5
  %7671 = add nsw i32 %7670, 1
  store i32 %7671, ptr @test_count, align 4, !tbaa !5
  %7672 = load ptr, ptr %6, align 8, !tbaa !9
  %7673 = getelementptr inbounds %struct.s2n_connection, ptr %7672, i32 0, i32 41
  %7674 = getelementptr inbounds %struct.s2n_stuffer, ptr %7673, i32 0, i32 0
  %7675 = getelementptr inbounds %struct.s2n_blob, ptr %7674, i32 0, i32 0
  %7676 = load ptr, ptr %7675, align 8, !tbaa !60
  %7677 = getelementptr inbounds i8, ptr %7676, i64 0
  %7678 = load i8, ptr %7677, align 1, !tbaa !59
  %7679 = zext i8 %7678 to i32
  %7680 = icmp eq i32 %7679, 23
  br i1 %7680, label %7734, label %7681

7681:                                             ; preds = %7669
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

7683:                                             ; preds = %7682
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7684 = call ptr @__errno_location() #12
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  store i32 %7685, ptr %148, align 4, !tbaa !5
  %7686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7687 = call i32 @s2n_print_stacktrace(ptr noundef %7686)
  %7688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7689 = trunc i8 %7688 to i1
  br i1 %7689, label %7690, label %7712

7690:                                             ; preds = %7683
  %7691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7692 = call i32 @fileno(ptr noundef %7691) #11
  %7693 = call i32 @isatty(i32 noundef %7692) #11
  %7694 = icmp ne i32 %7693, 0
  br i1 %7694, label %7695, label %7712

7695:                                             ; preds = %7690
  %7696 = load i32, ptr %148, align 4, !tbaa !5
  %7697 = call ptr @__errno_location() #12
  store i32 %7696, ptr %7697, align 4, !tbaa !5
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = load i32, ptr @test_count, align 4, !tbaa !5
  %7700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call ptr @s2n_strerror(i32 noundef %7701, ptr noundef @.str.3)
  %7703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror_debug(i32 noundef %7704, ptr noundef @.str.3)
  %7706 = call ptr @__errno_location() #12
  %7707 = load i32, ptr %7706, align 4, !tbaa !5
  %7708 = call ptr @strerror(i32 noundef %7707) #11
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7698, ptr noundef @.str, i32 noundef %7699, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 308, ptr noundef %7702, ptr noundef %7705, ptr noundef %7708, i32 noundef %7710) #11
  br label %7729

7712:                                             ; preds = %7690, %7683
  %7713 = load i32, ptr %148, align 4, !tbaa !5
  %7714 = call ptr @__errno_location() #12
  store i32 %7713, ptr %7714, align 4, !tbaa !5
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = load i32, ptr @test_count, align 4, !tbaa !5
  %7717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call ptr @s2n_strerror(i32 noundef %7718, ptr noundef @.str.3)
  %7720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7721 = load i32, ptr %7720, align 4, !tbaa !5
  %7722 = call ptr @s2n_strerror_debug(i32 noundef %7721, ptr noundef @.str.3)
  %7723 = call ptr @__errno_location() #12
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  %7725 = call ptr @strerror(i32 noundef %7724) #11
  %7726 = call ptr @__errno_location() #12
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  %7728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7715, ptr noundef @.str.4, i32 noundef %7716, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 308, ptr noundef %7719, ptr noundef %7722, ptr noundef %7725, i32 noundef %7727) #11
  br label %7729

7729:                                             ; preds = %7712, %7695
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

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

7732:                                             ; No predecessors!
  br label %7733

7733:                                             ; preds = %7732
  br label %7734

7734:                                             ; preds = %7733, %7669
  br label %7735

7735:                                             ; preds = %7734
  br label %7736

7736:                                             ; preds = %7735
  br label %7737

7737:                                             ; preds = %7736
  %7738 = load i32, ptr @test_count, align 4, !tbaa !5
  %7739 = add nsw i32 %7738, 1
  store i32 %7739, ptr @test_count, align 4, !tbaa !5
  %7740 = load ptr, ptr %6, align 8, !tbaa !9
  %7741 = getelementptr inbounds %struct.s2n_connection, ptr %7740, i32 0, i32 41
  %7742 = getelementptr inbounds %struct.s2n_stuffer, ptr %7741, i32 0, i32 0
  %7743 = getelementptr inbounds %struct.s2n_blob, ptr %7742, i32 0, i32 0
  %7744 = load ptr, ptr %7743, align 8, !tbaa !60
  %7745 = getelementptr inbounds i8, ptr %7744, i64 1
  %7746 = load i8, ptr %7745, align 1, !tbaa !59
  %7747 = zext i8 %7746 to i32
  %7748 = icmp eq i32 %7747, 3
  br i1 %7748, label %7802, label %7749

7749:                                             ; preds = %7737
  br label %7750

7750:                                             ; preds = %7749
  br label %7751

7751:                                             ; preds = %7750
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7752 = call ptr @__errno_location() #12
  %7753 = load i32, ptr %7752, align 4, !tbaa !5
  store i32 %7753, ptr %149, align 4, !tbaa !5
  %7754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7755 = call i32 @s2n_print_stacktrace(ptr noundef %7754)
  %7756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7757 = trunc i8 %7756 to i1
  br i1 %7757, label %7758, label %7780

7758:                                             ; preds = %7751
  %7759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7760 = call i32 @fileno(ptr noundef %7759) #11
  %7761 = call i32 @isatty(i32 noundef %7760) #11
  %7762 = icmp ne i32 %7761, 0
  br i1 %7762, label %7763, label %7780

7763:                                             ; preds = %7758
  %7764 = load i32, ptr %149, align 4, !tbaa !5
  %7765 = call ptr @__errno_location() #12
  store i32 %7764, ptr %7765, align 4, !tbaa !5
  %7766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7767 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7769, ptr noundef @.str.3)
  %7771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @s2n_strerror_debug(i32 noundef %7772, ptr noundef @.str.3)
  %7774 = call ptr @__errno_location() #12
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call ptr @strerror(i32 noundef %7775) #11
  %7777 = call ptr @__errno_location() #12
  %7778 = load i32, ptr %7777, align 4, !tbaa !5
  %7779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7766, ptr noundef @.str, i32 noundef %7767, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 309, ptr noundef %7770, ptr noundef %7773, ptr noundef %7776, i32 noundef %7778) #11
  br label %7797

7780:                                             ; preds = %7758, %7751
  %7781 = load i32, ptr %149, align 4, !tbaa !5
  %7782 = call ptr @__errno_location() #12
  store i32 %7781, ptr %7782, align 4, !tbaa !5
  %7783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7784 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7786, ptr noundef @.str.3)
  %7788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7789 = load i32, ptr %7788, align 4, !tbaa !5
  %7790 = call ptr @s2n_strerror_debug(i32 noundef %7789, ptr noundef @.str.3)
  %7791 = call ptr @__errno_location() #12
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  %7793 = call ptr @strerror(i32 noundef %7792) #11
  %7794 = call ptr @__errno_location() #12
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  %7796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7783, ptr noundef @.str.4, i32 noundef %7784, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 309, ptr noundef %7787, ptr noundef %7790, ptr noundef %7793, i32 noundef %7795) #11
  br label %7797

7797:                                             ; preds = %7780, %7763
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7798

7798:                                             ; preds = %7797
  br label %7799

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

7800:                                             ; No predecessors!
  br label %7801

7801:                                             ; preds = %7800
  br label %7802

7802:                                             ; preds = %7801, %7737
  br label %7803

7803:                                             ; preds = %7802
  br label %7804

7804:                                             ; preds = %7803
  br label %7805

7805:                                             ; preds = %7804
  %7806 = load i32, ptr @test_count, align 4, !tbaa !5
  %7807 = add nsw i32 %7806, 1
  store i32 %7807, ptr @test_count, align 4, !tbaa !5
  %7808 = load ptr, ptr %6, align 8, !tbaa !9
  %7809 = getelementptr inbounds %struct.s2n_connection, ptr %7808, i32 0, i32 41
  %7810 = getelementptr inbounds %struct.s2n_stuffer, ptr %7809, i32 0, i32 0
  %7811 = getelementptr inbounds %struct.s2n_blob, ptr %7810, i32 0, i32 0
  %7812 = load ptr, ptr %7811, align 8, !tbaa !60
  %7813 = getelementptr inbounds i8, ptr %7812, i64 2
  %7814 = load i8, ptr %7813, align 1, !tbaa !59
  %7815 = zext i8 %7814 to i32
  %7816 = icmp eq i32 %7815, 3
  br i1 %7816, label %7870, label %7817

7817:                                             ; preds = %7805
  br label %7818

7818:                                             ; preds = %7817
  br label %7819

7819:                                             ; preds = %7818
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7820 = call ptr @__errno_location() #12
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  store i32 %7821, ptr %150, align 4, !tbaa !5
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = call i32 @s2n_print_stacktrace(ptr noundef %7822)
  %7824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7825 = trunc i8 %7824 to i1
  br i1 %7825, label %7826, label %7848

7826:                                             ; preds = %7819
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @fileno(ptr noundef %7827) #11
  %7829 = call i32 @isatty(i32 noundef %7828) #11
  %7830 = icmp ne i32 %7829, 0
  br i1 %7830, label %7831, label %7848

7831:                                             ; preds = %7826
  %7832 = load i32, ptr %150, align 4, !tbaa !5
  %7833 = call ptr @__errno_location() #12
  store i32 %7832, ptr %7833, align 4, !tbaa !5
  %7834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7835 = load i32, ptr @test_count, align 4, !tbaa !5
  %7836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7837 = load i32, ptr %7836, align 4, !tbaa !5
  %7838 = call ptr @s2n_strerror(i32 noundef %7837, ptr noundef @.str.3)
  %7839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7840 = load i32, ptr %7839, align 4, !tbaa !5
  %7841 = call ptr @s2n_strerror_debug(i32 noundef %7840, ptr noundef @.str.3)
  %7842 = call ptr @__errno_location() #12
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  %7844 = call ptr @strerror(i32 noundef %7843) #11
  %7845 = call ptr @__errno_location() #12
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7834, ptr noundef @.str, i32 noundef %7835, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 310, ptr noundef %7838, ptr noundef %7841, ptr noundef %7844, i32 noundef %7846) #11
  br label %7865

7848:                                             ; preds = %7826, %7819
  %7849 = load i32, ptr %150, align 4, !tbaa !5
  %7850 = call ptr @__errno_location() #12
  store i32 %7849, ptr %7850, align 4, !tbaa !5
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = load i32, ptr @test_count, align 4, !tbaa !5
  %7853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call ptr @s2n_strerror(i32 noundef %7854, ptr noundef @.str.3)
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror_debug(i32 noundef %7857, ptr noundef @.str.3)
  %7859 = call ptr @__errno_location() #12
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @strerror(i32 noundef %7860) #11
  %7862 = call ptr @__errno_location() #12
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef @.str.4, i32 noundef %7852, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 310, ptr noundef %7855, ptr noundef %7858, ptr noundef %7861, i32 noundef %7863) #11
  br label %7865

7865:                                             ; preds = %7848, %7831
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7866

7866:                                             ; preds = %7865
  br label %7867

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

7868:                                             ; No predecessors!
  br label %7869

7869:                                             ; preds = %7868
  br label %7870

7870:                                             ; preds = %7869, %7805
  br label %7871

7871:                                             ; preds = %7870
  br label %7872

7872:                                             ; preds = %7871
  br label %7873

7873:                                             ; preds = %7872
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = add nsw i32 %7874, 1
  store i32 %7875, ptr @test_count, align 4, !tbaa !5
  %7876 = load ptr, ptr %6, align 8, !tbaa !9
  %7877 = getelementptr inbounds %struct.s2n_connection, ptr %7876, i32 0, i32 41
  %7878 = getelementptr inbounds %struct.s2n_stuffer, ptr %7877, i32 0, i32 0
  %7879 = getelementptr inbounds %struct.s2n_blob, ptr %7878, i32 0, i32 0
  %7880 = load ptr, ptr %7879, align 8, !tbaa !60
  %7881 = getelementptr inbounds i8, ptr %7880, i64 3
  %7882 = load i8, ptr %7881, align 1, !tbaa !59
  %7883 = zext i8 %7882 to i32
  %7884 = load i16, ptr %145, align 2, !tbaa !56
  %7885 = zext i16 %7884 to i32
  %7886 = ashr i32 %7885, 8
  %7887 = and i32 %7886, 255
  %7888 = icmp eq i32 %7883, %7887
  br i1 %7888, label %7942, label %7889

7889:                                             ; preds = %7873
  br label %7890

7890:                                             ; preds = %7889
  br label %7891

7891:                                             ; preds = %7890
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7892 = call ptr @__errno_location() #12
  %7893 = load i32, ptr %7892, align 4, !tbaa !5
  store i32 %7893, ptr %151, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = call i32 @s2n_print_stacktrace(ptr noundef %7894)
  %7896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7897 = trunc i8 %7896 to i1
  br i1 %7897, label %7898, label %7920

7898:                                             ; preds = %7891
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @fileno(ptr noundef %7899) #11
  %7901 = call i32 @isatty(i32 noundef %7900) #11
  %7902 = icmp ne i32 %7901, 0
  br i1 %7902, label %7903, label %7920

7903:                                             ; preds = %7898
  %7904 = load i32, ptr %151, align 4, !tbaa !5
  %7905 = call ptr @__errno_location() #12
  store i32 %7904, ptr %7905, align 4, !tbaa !5
  %7906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7907 = load i32, ptr @test_count, align 4, !tbaa !5
  %7908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7909 = load i32, ptr %7908, align 4, !tbaa !5
  %7910 = call ptr @s2n_strerror(i32 noundef %7909, ptr noundef @.str.3)
  %7911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7912 = load i32, ptr %7911, align 4, !tbaa !5
  %7913 = call ptr @s2n_strerror_debug(i32 noundef %7912, ptr noundef @.str.3)
  %7914 = call ptr @__errno_location() #12
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @strerror(i32 noundef %7915) #11
  %7917 = call ptr @__errno_location() #12
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7906, ptr noundef @.str, i32 noundef %7907, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 311, ptr noundef %7910, ptr noundef %7913, ptr noundef %7916, i32 noundef %7918) #11
  br label %7937

7920:                                             ; preds = %7898, %7891
  %7921 = load i32, ptr %151, align 4, !tbaa !5
  %7922 = call ptr @__errno_location() #12
  store i32 %7921, ptr %7922, align 4, !tbaa !5
  %7923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7924 = load i32, ptr @test_count, align 4, !tbaa !5
  %7925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call ptr @s2n_strerror(i32 noundef %7926, ptr noundef @.str.3)
  %7928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7929 = load i32, ptr %7928, align 4, !tbaa !5
  %7930 = call ptr @s2n_strerror_debug(i32 noundef %7929, ptr noundef @.str.3)
  %7931 = call ptr @__errno_location() #12
  %7932 = load i32, ptr %7931, align 4, !tbaa !5
  %7933 = call ptr @strerror(i32 noundef %7932) #11
  %7934 = call ptr @__errno_location() #12
  %7935 = load i32, ptr %7934, align 4, !tbaa !5
  %7936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7923, ptr noundef @.str.4, i32 noundef %7924, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 311, ptr noundef %7927, ptr noundef %7930, ptr noundef %7933, i32 noundef %7935) #11
  br label %7937

7937:                                             ; preds = %7920, %7903
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7938

7938:                                             ; preds = %7937
  br label %7939

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

7940:                                             ; No predecessors!
  br label %7941

7941:                                             ; preds = %7940
  br label %7942

7942:                                             ; preds = %7941, %7873
  br label %7943

7943:                                             ; preds = %7942
  br label %7944

7944:                                             ; preds = %7943
  br label %7945

7945:                                             ; preds = %7944
  %7946 = load i32, ptr @test_count, align 4, !tbaa !5
  %7947 = add nsw i32 %7946, 1
  store i32 %7947, ptr @test_count, align 4, !tbaa !5
  %7948 = load ptr, ptr %6, align 8, !tbaa !9
  %7949 = getelementptr inbounds %struct.s2n_connection, ptr %7948, i32 0, i32 41
  %7950 = getelementptr inbounds %struct.s2n_stuffer, ptr %7949, i32 0, i32 0
  %7951 = getelementptr inbounds %struct.s2n_blob, ptr %7950, i32 0, i32 0
  %7952 = load ptr, ptr %7951, align 8, !tbaa !60
  %7953 = getelementptr inbounds i8, ptr %7952, i64 4
  %7954 = load i8, ptr %7953, align 1, !tbaa !59
  %7955 = zext i8 %7954 to i32
  %7956 = load i16, ptr %145, align 2, !tbaa !56
  %7957 = zext i16 %7956 to i32
  %7958 = and i32 %7957, 255
  %7959 = icmp eq i32 %7955, %7958
  br i1 %7959, label %8013, label %7960

7960:                                             ; preds = %7945
  br label %7961

7961:                                             ; preds = %7960
  br label %7962

7962:                                             ; preds = %7961
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7963 = call ptr @__errno_location() #12
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  store i32 %7964, ptr %152, align 4, !tbaa !5
  %7965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7966 = call i32 @s2n_print_stacktrace(ptr noundef %7965)
  %7967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7968 = trunc i8 %7967 to i1
  br i1 %7968, label %7969, label %7991

7969:                                             ; preds = %7962
  %7970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7971 = call i32 @fileno(ptr noundef %7970) #11
  %7972 = call i32 @isatty(i32 noundef %7971) #11
  %7973 = icmp ne i32 %7972, 0
  br i1 %7973, label %7974, label %7991

7974:                                             ; preds = %7969
  %7975 = load i32, ptr %152, align 4, !tbaa !5
  %7976 = call ptr @__errno_location() #12
  store i32 %7975, ptr %7976, align 4, !tbaa !5
  %7977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7978 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7980, ptr noundef @.str.3)
  %7982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call ptr @s2n_strerror_debug(i32 noundef %7983, ptr noundef @.str.3)
  %7985 = call ptr @__errno_location() #12
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  %7987 = call ptr @strerror(i32 noundef %7986) #11
  %7988 = call ptr @__errno_location() #12
  %7989 = load i32, ptr %7988, align 4, !tbaa !5
  %7990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7977, ptr noundef @.str, i32 noundef %7978, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 312, ptr noundef %7981, ptr noundef %7984, ptr noundef %7987, i32 noundef %7989) #11
  br label %8008

7991:                                             ; preds = %7969, %7962
  %7992 = load i32, ptr %152, align 4, !tbaa !5
  %7993 = call ptr @__errno_location() #12
  store i32 %7992, ptr %7993, align 4, !tbaa !5
  %7994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7995 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7997, ptr noundef @.str.3)
  %7999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @s2n_strerror_debug(i32 noundef %8000, ptr noundef @.str.3)
  %8002 = call ptr @__errno_location() #12
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call ptr @strerror(i32 noundef %8003) #11
  %8005 = call ptr @__errno_location() #12
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7994, ptr noundef @.str.4, i32 noundef %7995, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 312, ptr noundef %7998, ptr noundef %8001, ptr noundef %8004, i32 noundef %8006) #11
  br label %8008

8008:                                             ; preds = %7991, %7974
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %8009

8009:                                             ; preds = %8008
  br label %8010

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

8011:                                             ; No predecessors!
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012, %7945
  br label %8014

8014:                                             ; preds = %8013
  br label %8015

8015:                                             ; preds = %8014
  %8016 = load i32, ptr %135, align 4, !tbaa !5
  %8017 = icmp sgt i32 %8016, 10
  br i1 %8017, label %8018, label %8089

8018:                                             ; preds = %8015
  br label %8019

8019:                                             ; preds = %8018
  %8020 = load i32, ptr @test_count, align 4, !tbaa !5
  %8021 = add nsw i32 %8020, 1
  store i32 %8021, ptr @test_count, align 4, !tbaa !5
  %8022 = load ptr, ptr %6, align 8, !tbaa !9
  %8023 = getelementptr inbounds %struct.s2n_connection, ptr %8022, i32 0, i32 41
  %8024 = getelementptr inbounds %struct.s2n_stuffer, ptr %8023, i32 0, i32 0
  %8025 = getelementptr inbounds %struct.s2n_blob, ptr %8024, i32 0, i32 0
  %8026 = load ptr, ptr %8025, align 8, !tbaa !60
  %8027 = getelementptr inbounds i8, ptr %8026, i64 5
  %8028 = getelementptr inbounds [1436 x i8], ptr %7, i64 0, i64 0
  %8029 = load i32, ptr %135, align 4, !tbaa !5
  %8030 = sext i32 %8029 to i64
  %8031 = call i32 @memcmp(ptr noundef %8027, ptr noundef %8028, i64 noundef %8030) #14
  %8032 = icmp eq i32 %8031, 0
  br i1 %8032, label %8033, label %8086

8033:                                             ; preds = %8019
  br label %8034

8034:                                             ; preds = %8033
  br label %8035

8035:                                             ; preds = %8034
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %8036 = call ptr @__errno_location() #12
  %8037 = load i32, ptr %8036, align 4, !tbaa !5
  store i32 %8037, ptr %153, align 4, !tbaa !5
  %8038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8039 = call i32 @s2n_print_stacktrace(ptr noundef %8038)
  %8040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8041 = trunc i8 %8040 to i1
  br i1 %8041, label %8042, label %8064

8042:                                             ; preds = %8035
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = call i32 @fileno(ptr noundef %8043) #11
  %8045 = call i32 @isatty(i32 noundef %8044) #11
  %8046 = icmp ne i32 %8045, 0
  br i1 %8046, label %8047, label %8064

8047:                                             ; preds = %8042
  %8048 = load i32, ptr %153, align 4, !tbaa !5
  %8049 = call ptr @__errno_location() #12
  store i32 %8048, ptr %8049, align 4, !tbaa !5
  %8050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8051 = load i32, ptr @test_count, align 4, !tbaa !5
  %8052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8053 = load i32, ptr %8052, align 4, !tbaa !5
  %8054 = call ptr @s2n_strerror(i32 noundef %8053, ptr noundef @.str.3)
  %8055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror_debug(i32 noundef %8056, ptr noundef @.str.3)
  %8058 = call ptr @__errno_location() #12
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @strerror(i32 noundef %8059) #11
  %8061 = call ptr @__errno_location() #12
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8050, ptr noundef @.str, i32 noundef %8051, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 316, ptr noundef %8054, ptr noundef %8057, ptr noundef %8060, i32 noundef %8062) #11
  br label %8081

8064:                                             ; preds = %8042, %8035
  %8065 = load i32, ptr %153, align 4, !tbaa !5
  %8066 = call ptr @__errno_location() #12
  store i32 %8065, ptr %8066, align 4, !tbaa !5
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = load i32, ptr @test_count, align 4, !tbaa !5
  %8069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8070 = load i32, ptr %8069, align 4, !tbaa !5
  %8071 = call ptr @s2n_strerror(i32 noundef %8070, ptr noundef @.str.3)
  %8072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror_debug(i32 noundef %8073, ptr noundef @.str.3)
  %8075 = call ptr @__errno_location() #12
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @strerror(i32 noundef %8076) #11
  %8078 = call ptr @__errno_location() #12
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8067, ptr noundef @.str.4, i32 noundef %8068, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 316, ptr noundef %8071, ptr noundef %8074, ptr noundef %8077, i32 noundef %8079) #11
  br label %8081

8081:                                             ; preds = %8064, %8047
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

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

8084:                                             ; No predecessors!
  br label %8085

8085:                                             ; preds = %8084
  br label %8086

8086:                                             ; preds = %8085, %8019
  br label %8087

8087:                                             ; preds = %8086
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

8089:                                             ; preds = %8088, %8015
  br label %8090

8090:                                             ; preds = %8089
  %8091 = load i32, ptr @test_count, align 4, !tbaa !5
  %8092 = add nsw i32 %8091, 1
  store i32 %8092, ptr @test_count, align 4, !tbaa !5
  %8093 = load ptr, ptr %6, align 8, !tbaa !9
  %8094 = getelementptr inbounds %struct.s2n_connection, ptr %8093, i32 0, i32 40
  %8095 = call i32 @s2n_stuffer_wipe(ptr noundef %8094)
  %8096 = icmp eq i32 %8095, -1
  br i1 %8096, label %8097, label %8150

8097:                                             ; preds = %8090
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

8099:                                             ; preds = %8098
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %8100 = call ptr @__errno_location() #12
  %8101 = load i32, ptr %8100, align 4, !tbaa !5
  store i32 %8101, ptr %154, align 4, !tbaa !5
  %8102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8103 = call i32 @s2n_print_stacktrace(ptr noundef %8102)
  %8104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8105 = trunc i8 %8104 to i1
  br i1 %8105, label %8106, label %8128

8106:                                             ; preds = %8099
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = call i32 @fileno(ptr noundef %8107) #11
  %8109 = call i32 @isatty(i32 noundef %8108) #11
  %8110 = icmp ne i32 %8109, 0
  br i1 %8110, label %8111, label %8128

8111:                                             ; preds = %8106
  %8112 = load i32, ptr %154, align 4, !tbaa !5
  %8113 = call ptr @__errno_location() #12
  store i32 %8112, ptr %8113, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = load i32, ptr @test_count, align 4, !tbaa !5
  %8116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call ptr @s2n_strerror(i32 noundef %8117, ptr noundef @.str.3)
  %8119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8120 = load i32, ptr %8119, align 4, !tbaa !5
  %8121 = call ptr @s2n_strerror_debug(i32 noundef %8120, ptr noundef @.str.3)
  %8122 = call ptr @__errno_location() #12
  %8123 = load i32, ptr %8122, align 4, !tbaa !5
  %8124 = call ptr @strerror(i32 noundef %8123) #11
  %8125 = call ptr @__errno_location() #12
  %8126 = load i32, ptr %8125, align 4, !tbaa !5
  %8127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8114, ptr noundef @.str, i32 noundef %8115, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 320, ptr noundef %8118, ptr noundef %8121, ptr noundef %8124, i32 noundef %8126) #11
  br label %8145

8128:                                             ; preds = %8106, %8099
  %8129 = load i32, ptr %154, align 4, !tbaa !5
  %8130 = call ptr @__errno_location() #12
  store i32 %8129, ptr %8130, align 4, !tbaa !5
  %8131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8132 = load i32, ptr @test_count, align 4, !tbaa !5
  %8133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call ptr @s2n_strerror(i32 noundef %8134, ptr noundef @.str.3)
  %8136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8137 = load i32, ptr %8136, align 4, !tbaa !5
  %8138 = call ptr @s2n_strerror_debug(i32 noundef %8137, ptr noundef @.str.3)
  %8139 = call ptr @__errno_location() #12
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call ptr @strerror(i32 noundef %8140) #11
  %8142 = call ptr @__errno_location() #12
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8131, ptr noundef @.str.4, i32 noundef %8132, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 320, ptr noundef %8135, ptr noundef %8138, ptr noundef %8141, i32 noundef %8143) #11
  br label %8145

8145:                                             ; preds = %8128, %8111
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %8146

8146:                                             ; preds = %8145
  br label %8147

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

8148:                                             ; No predecessors!
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149, %8090
  br label %8151

8151:                                             ; preds = %8150
  br label %8152

8152:                                             ; preds = %8151
  br label %8153

8153:                                             ; preds = %8152
  %8154 = load i32, ptr @test_count, align 4, !tbaa !5
  %8155 = add nsw i32 %8154, 1
  store i32 %8155, ptr @test_count, align 4, !tbaa !5
  %8156 = load ptr, ptr %6, align 8, !tbaa !9
  %8157 = getelementptr inbounds %struct.s2n_connection, ptr %8156, i32 0, i32 38
  %8158 = call i32 @s2n_stuffer_wipe(ptr noundef %8157)
  %8159 = icmp eq i32 %8158, -1
  br i1 %8159, label %8160, label %8213

8160:                                             ; preds = %8153
  br label %8161

8161:                                             ; preds = %8160
  br label %8162

8162:                                             ; preds = %8161
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %8163 = call ptr @__errno_location() #12
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  store i32 %8164, ptr %155, align 4, !tbaa !5
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = call i32 @s2n_print_stacktrace(ptr noundef %8165)
  %8167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8168 = trunc i8 %8167 to i1
  br i1 %8168, label %8169, label %8191

8169:                                             ; preds = %8162
  %8170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8171 = call i32 @fileno(ptr noundef %8170) #11
  %8172 = call i32 @isatty(i32 noundef %8171) #11
  %8173 = icmp ne i32 %8172, 0
  br i1 %8173, label %8174, label %8191

8174:                                             ; preds = %8169
  %8175 = load i32, ptr %155, align 4, !tbaa !5
  %8176 = call ptr @__errno_location() #12
  store i32 %8175, ptr %8176, align 4, !tbaa !5
  %8177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8178 = load i32, ptr @test_count, align 4, !tbaa !5
  %8179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  %8181 = call ptr @s2n_strerror(i32 noundef %8180, ptr noundef @.str.3)
  %8182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8183 = load i32, ptr %8182, align 4, !tbaa !5
  %8184 = call ptr @s2n_strerror_debug(i32 noundef %8183, ptr noundef @.str.3)
  %8185 = call ptr @__errno_location() #12
  %8186 = load i32, ptr %8185, align 4, !tbaa !5
  %8187 = call ptr @strerror(i32 noundef %8186) #11
  %8188 = call ptr @__errno_location() #12
  %8189 = load i32, ptr %8188, align 4, !tbaa !5
  %8190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8177, ptr noundef @.str, i32 noundef %8178, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 321, ptr noundef %8181, ptr noundef %8184, ptr noundef %8187, i32 noundef %8189) #11
  br label %8208

8191:                                             ; preds = %8169, %8162
  %8192 = load i32, ptr %155, align 4, !tbaa !5
  %8193 = call ptr @__errno_location() #12
  store i32 %8192, ptr %8193, align 4, !tbaa !5
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = load i32, ptr @test_count, align 4, !tbaa !5
  %8196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call ptr @s2n_strerror(i32 noundef %8197, ptr noundef @.str.3)
  %8199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8200 = load i32, ptr %8199, align 4, !tbaa !5
  %8201 = call ptr @s2n_strerror_debug(i32 noundef %8200, ptr noundef @.str.3)
  %8202 = call ptr @__errno_location() #12
  %8203 = load i32, ptr %8202, align 4, !tbaa !5
  %8204 = call ptr @strerror(i32 noundef %8203) #11
  %8205 = call ptr @__errno_location() #12
  %8206 = load i32, ptr %8205, align 4, !tbaa !5
  %8207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8194, ptr noundef @.str.4, i32 noundef %8195, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 321, ptr noundef %8198, ptr noundef %8201, ptr noundef %8204, i32 noundef %8206) #11
  br label %8208

8208:                                             ; preds = %8191, %8174
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %8209

8209:                                             ; preds = %8208
  br label %8210

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

8211:                                             ; No predecessors!
  br label %8212

8212:                                             ; preds = %8211
  br label %8213

8213:                                             ; preds = %8212, %8153
  br label %8214

8214:                                             ; preds = %8213
  br label %8215

8215:                                             ; preds = %8214
  br label %8216

8216:                                             ; preds = %8215
  %8217 = load i32, ptr @test_count, align 4, !tbaa !5
  %8218 = add nsw i32 %8217, 1
  store i32 %8218, ptr @test_count, align 4, !tbaa !5
  %8219 = load ptr, ptr %6, align 8, !tbaa !9
  %8220 = getelementptr inbounds %struct.s2n_connection, ptr %8219, i32 0, i32 41
  %8221 = load ptr, ptr %6, align 8, !tbaa !9
  %8222 = getelementptr inbounds %struct.s2n_connection, ptr %8221, i32 0, i32 38
  %8223 = call i32 @s2n_stuffer_copy(ptr noundef %8220, ptr noundef %8222, i32 noundef 5)
  %8224 = icmp eq i32 %8223, -1
  br i1 %8224, label %8225, label %8278

8225:                                             ; preds = %8216
  br label %8226

8226:                                             ; preds = %8225
  br label %8227

8227:                                             ; preds = %8226
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %8228 = call ptr @__errno_location() #12
  %8229 = load i32, ptr %8228, align 4, !tbaa !5
  store i32 %8229, ptr %156, align 4, !tbaa !5
  %8230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8231 = call i32 @s2n_print_stacktrace(ptr noundef %8230)
  %8232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8233 = trunc i8 %8232 to i1
  br i1 %8233, label %8234, label %8256

8234:                                             ; preds = %8227
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = call i32 @fileno(ptr noundef %8235) #11
  %8237 = call i32 @isatty(i32 noundef %8236) #11
  %8238 = icmp ne i32 %8237, 0
  br i1 %8238, label %8239, label %8256

8239:                                             ; preds = %8234
  %8240 = load i32, ptr %156, align 4, !tbaa !5
  %8241 = call ptr @__errno_location() #12
  store i32 %8240, ptr %8241, align 4, !tbaa !5
  %8242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8243 = load i32, ptr @test_count, align 4, !tbaa !5
  %8244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call ptr @s2n_strerror(i32 noundef %8245, ptr noundef @.str.3)
  %8247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call ptr @s2n_strerror_debug(i32 noundef %8248, ptr noundef @.str.3)
  %8250 = call ptr @__errno_location() #12
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @strerror(i32 noundef %8251) #11
  %8253 = call ptr @__errno_location() #12
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8242, ptr noundef @.str, i32 noundef %8243, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 322, ptr noundef %8246, ptr noundef %8249, ptr noundef %8252, i32 noundef %8254) #11
  br label %8273

8256:                                             ; preds = %8234, %8227
  %8257 = load i32, ptr %156, align 4, !tbaa !5
  %8258 = call ptr @__errno_location() #12
  store i32 %8257, ptr %8258, align 4, !tbaa !5
  %8259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8260 = load i32, ptr @test_count, align 4, !tbaa !5
  %8261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror(i32 noundef %8262, ptr noundef @.str.3)
  %8264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror_debug(i32 noundef %8265, ptr noundef @.str.3)
  %8267 = call ptr @__errno_location() #12
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @strerror(i32 noundef %8268) #11
  %8270 = call ptr @__errno_location() #12
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8259, ptr noundef @.str.4, i32 noundef %8260, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 322, ptr noundef %8263, ptr noundef %8266, ptr noundef %8269, i32 noundef %8271) #11
  br label %8273

8273:                                             ; preds = %8256, %8239
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %8274

8274:                                             ; preds = %8273
  br label %8275

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

8276:                                             ; No predecessors!
  br label %8277

8277:                                             ; preds = %8276
  br label %8278

8278:                                             ; preds = %8277, %8216
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  %8282 = load i32, ptr @test_count, align 4, !tbaa !5
  %8283 = add nsw i32 %8282, 1
  store i32 %8283, ptr @test_count, align 4, !tbaa !5
  %8284 = load ptr, ptr %6, align 8, !tbaa !9
  %8285 = getelementptr inbounds %struct.s2n_connection, ptr %8284, i32 0, i32 41
  %8286 = load ptr, ptr %6, align 8, !tbaa !9
  %8287 = getelementptr inbounds %struct.s2n_connection, ptr %8286, i32 0, i32 40
  %8288 = load ptr, ptr %6, align 8, !tbaa !9
  %8289 = getelementptr inbounds %struct.s2n_connection, ptr %8288, i32 0, i32 41
  %8290 = getelementptr inbounds %struct.s2n_stuffer, ptr %8289, i32 0, i32 2
  %8291 = load i32, ptr %8290, align 4, !tbaa !61
  %8292 = load ptr, ptr %6, align 8, !tbaa !9
  %8293 = getelementptr inbounds %struct.s2n_connection, ptr %8292, i32 0, i32 41
  %8294 = getelementptr inbounds %struct.s2n_stuffer, ptr %8293, i32 0, i32 1
  %8295 = load i32, ptr %8294, align 8, !tbaa !62
  %8296 = sub i32 %8291, %8295
  %8297 = call i32 @s2n_stuffer_copy(ptr noundef %8285, ptr noundef %8287, i32 noundef %8296)
  %8298 = icmp eq i32 %8297, -1
  br i1 %8298, label %8299, label %8352

8299:                                             ; preds = %8281
  br label %8300

8300:                                             ; preds = %8299
  br label %8301

8301:                                             ; preds = %8300
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8302 = call ptr @__errno_location() #12
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  store i32 %8303, ptr %157, align 4, !tbaa !5
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = call i32 @s2n_print_stacktrace(ptr noundef %8304)
  %8306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8307 = trunc i8 %8306 to i1
  br i1 %8307, label %8308, label %8330

8308:                                             ; preds = %8301
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = call i32 @fileno(ptr noundef %8309) #11
  %8311 = call i32 @isatty(i32 noundef %8310) #11
  %8312 = icmp ne i32 %8311, 0
  br i1 %8312, label %8313, label %8330

8313:                                             ; preds = %8308
  %8314 = load i32, ptr %157, align 4, !tbaa !5
  %8315 = call ptr @__errno_location() #12
  store i32 %8314, ptr %8315, align 4, !tbaa !5
  %8316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8317 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8319, ptr noundef @.str.3)
  %8321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  %8323 = call ptr @s2n_strerror_debug(i32 noundef %8322, ptr noundef @.str.3)
  %8324 = call ptr @__errno_location() #12
  %8325 = load i32, ptr %8324, align 4, !tbaa !5
  %8326 = call ptr @strerror(i32 noundef %8325) #11
  %8327 = call ptr @__errno_location() #12
  %8328 = load i32, ptr %8327, align 4, !tbaa !5
  %8329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8316, ptr noundef @.str, i32 noundef %8317, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 323, ptr noundef %8320, ptr noundef %8323, ptr noundef %8326, i32 noundef %8328) #11
  br label %8347

8330:                                             ; preds = %8308, %8301
  %8331 = load i32, ptr %157, align 4, !tbaa !5
  %8332 = call ptr @__errno_location() #12
  store i32 %8331, ptr %8332, align 4, !tbaa !5
  %8333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8334 = load i32, ptr @test_count, align 4, !tbaa !5
  %8335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  %8337 = call ptr @s2n_strerror(i32 noundef %8336, ptr noundef @.str.3)
  %8338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror_debug(i32 noundef %8339, ptr noundef @.str.3)
  %8341 = call ptr @__errno_location() #12
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call ptr @strerror(i32 noundef %8342) #11
  %8344 = call ptr @__errno_location() #12
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8333, ptr noundef @.str.4, i32 noundef %8334, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 323, ptr noundef %8337, ptr noundef %8340, ptr noundef %8343, i32 noundef %8345) #11
  br label %8347

8347:                                             ; preds = %8330, %8313
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8348

8348:                                             ; preds = %8347
  br label %8349

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

8350:                                             ; No predecessors!
  br label %8351

8351:                                             ; preds = %8350
  br label %8352

8352:                                             ; preds = %8351, %8281
  br label %8353

8353:                                             ; preds = %8352
  br label %8354

8354:                                             ; preds = %8353
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #11
  store i8 0, ptr %158, align 1, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 2, ptr %159) #11
  store i16 0, ptr %159, align 2, !tbaa !56
  br label %8355

8355:                                             ; preds = %8354
  %8356 = load i32, ptr @test_count, align 4, !tbaa !5
  %8357 = add nsw i32 %8356, 1
  store i32 %8357, ptr @test_count, align 4, !tbaa !5
  %8358 = load ptr, ptr %6, align 8, !tbaa !9
  %8359 = call i32 @s2n_record_header_parse(ptr noundef %8358, ptr noundef %158, ptr noundef %159)
  %8360 = icmp eq i32 %8359, -1
  br i1 %8360, label %8361, label %8414

8361:                                             ; preds = %8355
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

8363:                                             ; preds = %8362
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %8364 = call ptr @__errno_location() #12
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  store i32 %8365, ptr %160, align 4, !tbaa !5
  %8366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8367 = call i32 @s2n_print_stacktrace(ptr noundef %8366)
  %8368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8369 = trunc i8 %8368 to i1
  br i1 %8369, label %8370, label %8392

8370:                                             ; preds = %8363
  %8371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8372 = call i32 @fileno(ptr noundef %8371) #11
  %8373 = call i32 @isatty(i32 noundef %8372) #11
  %8374 = icmp ne i32 %8373, 0
  br i1 %8374, label %8375, label %8392

8375:                                             ; preds = %8370
  %8376 = load i32, ptr %160, align 4, !tbaa !5
  %8377 = call ptr @__errno_location() #12
  store i32 %8376, ptr %8377, align 4, !tbaa !5
  %8378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8379 = load i32, ptr @test_count, align 4, !tbaa !5
  %8380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call ptr @s2n_strerror(i32 noundef %8381, ptr noundef @.str.3)
  %8383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8384 = load i32, ptr %8383, align 4, !tbaa !5
  %8385 = call ptr @s2n_strerror_debug(i32 noundef %8384, ptr noundef @.str.3)
  %8386 = call ptr @__errno_location() #12
  %8387 = load i32, ptr %8386, align 4, !tbaa !5
  %8388 = call ptr @strerror(i32 noundef %8387) #11
  %8389 = call ptr @__errno_location() #12
  %8390 = load i32, ptr %8389, align 4, !tbaa !5
  %8391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8378, ptr noundef @.str, i32 noundef %8379, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 328, ptr noundef %8382, ptr noundef %8385, ptr noundef %8388, i32 noundef %8390) #11
  br label %8409

8392:                                             ; preds = %8370, %8363
  %8393 = load i32, ptr %160, align 4, !tbaa !5
  %8394 = call ptr @__errno_location() #12
  store i32 %8393, ptr %8394, align 4, !tbaa !5
  %8395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8396 = load i32, ptr @test_count, align 4, !tbaa !5
  %8397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call ptr @s2n_strerror(i32 noundef %8398, ptr noundef @.str.3)
  %8400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8401 = load i32, ptr %8400, align 4, !tbaa !5
  %8402 = call ptr @s2n_strerror_debug(i32 noundef %8401, ptr noundef @.str.3)
  %8403 = call ptr @__errno_location() #12
  %8404 = load i32, ptr %8403, align 4, !tbaa !5
  %8405 = call ptr @strerror(i32 noundef %8404) #11
  %8406 = call ptr @__errno_location() #12
  %8407 = load i32, ptr %8406, align 4, !tbaa !5
  %8408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8395, ptr noundef @.str.4, i32 noundef %8396, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 328, ptr noundef %8399, ptr noundef %8402, ptr noundef %8405, i32 noundef %8407) #11
  br label %8409

8409:                                             ; preds = %8392, %8375
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %8410

8410:                                             ; preds = %8409
  br label %8411

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

8412:                                             ; No predecessors!
  br label %8413

8413:                                             ; preds = %8412
  br label %8414

8414:                                             ; preds = %8413, %8355
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415
  br label %8417

8417:                                             ; preds = %8416
  %8418 = load i32, ptr @test_count, align 4, !tbaa !5
  %8419 = add nsw i32 %8418, 1
  store i32 %8419, ptr @test_count, align 4, !tbaa !5
  %8420 = load ptr, ptr %6, align 8, !tbaa !9
  %8421 = call i32 @s2n_record_parse(ptr noundef %8420)
  %8422 = icmp eq i32 %8421, -1
  br i1 %8422, label %8423, label %8476

8423:                                             ; preds = %8417
  br label %8424

8424:                                             ; preds = %8423
  br label %8425

8425:                                             ; preds = %8424
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %8426 = call ptr @__errno_location() #12
  %8427 = load i32, ptr %8426, align 4, !tbaa !5
  store i32 %8427, ptr %161, align 4, !tbaa !5
  %8428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8429 = call i32 @s2n_print_stacktrace(ptr noundef %8428)
  %8430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8431 = trunc i8 %8430 to i1
  br i1 %8431, label %8432, label %8454

8432:                                             ; preds = %8425
  %8433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8434 = call i32 @fileno(ptr noundef %8433) #11
  %8435 = call i32 @isatty(i32 noundef %8434) #11
  %8436 = icmp ne i32 %8435, 0
  br i1 %8436, label %8437, label %8454

8437:                                             ; preds = %8432
  %8438 = load i32, ptr %161, align 4, !tbaa !5
  %8439 = call ptr @__errno_location() #12
  store i32 %8438, ptr %8439, align 4, !tbaa !5
  %8440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8441 = load i32, ptr @test_count, align 4, !tbaa !5
  %8442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call ptr @s2n_strerror(i32 noundef %8443, ptr noundef @.str.3)
  %8445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8446 = load i32, ptr %8445, align 4, !tbaa !5
  %8447 = call ptr @s2n_strerror_debug(i32 noundef %8446, ptr noundef @.str.3)
  %8448 = call ptr @__errno_location() #12
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call ptr @strerror(i32 noundef %8449) #11
  %8451 = call ptr @__errno_location() #12
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8440, ptr noundef @.str, i32 noundef %8441, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 329, ptr noundef %8444, ptr noundef %8447, ptr noundef %8450, i32 noundef %8452) #11
  br label %8471

8454:                                             ; preds = %8432, %8425
  %8455 = load i32, ptr %161, align 4, !tbaa !5
  %8456 = call ptr @__errno_location() #12
  store i32 %8455, ptr %8456, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = load i32, ptr @test_count, align 4, !tbaa !5
  %8459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call ptr @s2n_strerror(i32 noundef %8460, ptr noundef @.str.3)
  %8462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  %8464 = call ptr @s2n_strerror_debug(i32 noundef %8463, ptr noundef @.str.3)
  %8465 = call ptr @__errno_location() #12
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @strerror(i32 noundef %8466) #11
  %8468 = call ptr @__errno_location() #12
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8457, ptr noundef @.str.4, i32 noundef %8458, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 329, ptr noundef %8461, ptr noundef %8464, ptr noundef %8467, i32 noundef %8469) #11
  br label %8471

8471:                                             ; preds = %8454, %8437
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %8472

8472:                                             ; preds = %8471
  br label %8473

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

8474:                                             ; No predecessors!
  br label %8475

8475:                                             ; preds = %8474
  br label %8476

8476:                                             ; preds = %8475, %8417
  br label %8477

8477:                                             ; preds = %8476
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

8479:                                             ; preds = %8478
  %8480 = load i32, ptr @test_count, align 4, !tbaa !5
  %8481 = add nsw i32 %8480, 1
  store i32 %8481, ptr @test_count, align 4, !tbaa !5
  %8482 = load i8, ptr %158, align 1, !tbaa !59
  %8483 = zext i8 %8482 to i32
  %8484 = icmp eq i32 %8483, 23
  br i1 %8484, label %8538, label %8485

8485:                                             ; preds = %8479
  br label %8486

8486:                                             ; preds = %8485
  br label %8487

8487:                                             ; preds = %8486
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %8488 = call ptr @__errno_location() #12
  %8489 = load i32, ptr %8488, align 4, !tbaa !5
  store i32 %8489, ptr %162, align 4, !tbaa !5
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = call i32 @s2n_print_stacktrace(ptr noundef %8490)
  %8492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8493 = trunc i8 %8492 to i1
  br i1 %8493, label %8494, label %8516

8494:                                             ; preds = %8487
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = call i32 @fileno(ptr noundef %8495) #11
  %8497 = call i32 @isatty(i32 noundef %8496) #11
  %8498 = icmp ne i32 %8497, 0
  br i1 %8498, label %8499, label %8516

8499:                                             ; preds = %8494
  %8500 = load i32, ptr %162, align 4, !tbaa !5
  %8501 = call ptr @__errno_location() #12
  store i32 %8500, ptr %8501, align 4, !tbaa !5
  %8502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8503 = load i32, ptr @test_count, align 4, !tbaa !5
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror(i32 noundef %8505, ptr noundef @.str.3)
  %8507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror_debug(i32 noundef %8508, ptr noundef @.str.3)
  %8510 = call ptr @__errno_location() #12
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @strerror(i32 noundef %8511) #11
  %8513 = call ptr @__errno_location() #12
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8502, ptr noundef @.str, i32 noundef %8503, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 330, ptr noundef %8506, ptr noundef %8509, ptr noundef %8512, i32 noundef %8514) #11
  br label %8533

8516:                                             ; preds = %8494, %8487
  %8517 = load i32, ptr %162, align 4, !tbaa !5
  %8518 = call ptr @__errno_location() #12
  store i32 %8517, ptr %8518, align 4, !tbaa !5
  %8519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8520 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8522, ptr noundef @.str.3)
  %8524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @s2n_strerror_debug(i32 noundef %8525, ptr noundef @.str.3)
  %8527 = call ptr @__errno_location() #12
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call ptr @strerror(i32 noundef %8528) #11
  %8530 = call ptr @__errno_location() #12
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  %8532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8519, ptr noundef @.str.4, i32 noundef %8520, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 330, ptr noundef %8523, ptr noundef %8526, ptr noundef %8529, i32 noundef %8531) #11
  br label %8533

8533:                                             ; preds = %8516, %8499
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

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

8536:                                             ; No predecessors!
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537, %8479
  br label %8539

8539:                                             ; preds = %8538
  br label %8540

8540:                                             ; preds = %8539
  br label %8541

8541:                                             ; preds = %8540
  %8542 = load i32, ptr @test_count, align 4, !tbaa !5
  %8543 = add nsw i32 %8542, 1
  store i32 %8543, ptr @test_count, align 4, !tbaa !5
  %8544 = load i16, ptr %159, align 2, !tbaa !56
  %8545 = zext i16 %8544 to i32
  %8546 = load i16, ptr %145, align 2, !tbaa !56
  %8547 = zext i16 %8546 to i32
  %8548 = icmp eq i32 %8545, %8547
  br i1 %8548, label %8602, label %8549

8549:                                             ; preds = %8541
  br label %8550

8550:                                             ; preds = %8549
  br label %8551

8551:                                             ; preds = %8550
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8552 = call ptr @__errno_location() #12
  %8553 = load i32, ptr %8552, align 4, !tbaa !5
  store i32 %8553, ptr %163, align 4, !tbaa !5
  %8554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8555 = call i32 @s2n_print_stacktrace(ptr noundef %8554)
  %8556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8557 = trunc i8 %8556 to i1
  br i1 %8557, label %8558, label %8580

8558:                                             ; preds = %8551
  %8559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8560 = call i32 @fileno(ptr noundef %8559) #11
  %8561 = call i32 @isatty(i32 noundef %8560) #11
  %8562 = icmp ne i32 %8561, 0
  br i1 %8562, label %8563, label %8580

8563:                                             ; preds = %8558
  %8564 = load i32, ptr %163, align 4, !tbaa !5
  %8565 = call ptr @__errno_location() #12
  store i32 %8564, ptr %8565, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  %8570 = call ptr @s2n_strerror(i32 noundef %8569, ptr noundef @.str.3)
  %8571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8572 = load i32, ptr %8571, align 4, !tbaa !5
  %8573 = call ptr @s2n_strerror_debug(i32 noundef %8572, ptr noundef @.str.3)
  %8574 = call ptr @__errno_location() #12
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call ptr @strerror(i32 noundef %8575) #11
  %8577 = call ptr @__errno_location() #12
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef @.str, i32 noundef %8567, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 331, ptr noundef %8570, ptr noundef %8573, ptr noundef %8576, i32 noundef %8578) #11
  br label %8597

8580:                                             ; preds = %8558, %8551
  %8581 = load i32, ptr %163, align 4, !tbaa !5
  %8582 = call ptr @__errno_location() #12
  store i32 %8581, ptr %8582, align 4, !tbaa !5
  %8583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8584 = load i32, ptr @test_count, align 4, !tbaa !5
  %8585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8586 = load i32, ptr %8585, align 4, !tbaa !5
  %8587 = call ptr @s2n_strerror(i32 noundef %8586, ptr noundef @.str.3)
  %8588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8589 = load i32, ptr %8588, align 4, !tbaa !5
  %8590 = call ptr @s2n_strerror_debug(i32 noundef %8589, ptr noundef @.str.3)
  %8591 = call ptr @__errno_location() #12
  %8592 = load i32, ptr %8591, align 4, !tbaa !5
  %8593 = call ptr @strerror(i32 noundef %8592) #11
  %8594 = call ptr @__errno_location() #12
  %8595 = load i32, ptr %8594, align 4, !tbaa !5
  %8596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8583, ptr noundef @.str.4, i32 noundef %8584, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 331, ptr noundef %8587, ptr noundef %8590, ptr noundef %8593, i32 noundef %8595) #11
  br label %8597

8597:                                             ; preds = %8580, %8563
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8598

8598:                                             ; preds = %8597
  br label %8599

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

8600:                                             ; No predecessors!
  br label %8601

8601:                                             ; preds = %8600
  br label %8602

8602:                                             ; preds = %8601, %8541
  br label %8603

8603:                                             ; preds = %8602
  br label %8604

8604:                                             ; preds = %8603
  br label %8605

8605:                                             ; preds = %8604
  %8606 = load i32, ptr @test_count, align 4, !tbaa !5
  %8607 = add nsw i32 %8606, 1
  store i32 %8607, ptr @test_count, align 4, !tbaa !5
  %8608 = load ptr, ptr %6, align 8, !tbaa !9
  %8609 = getelementptr inbounds %struct.s2n_connection, ptr %8608, i32 0, i32 38
  %8610 = call i32 @s2n_stuffer_wipe(ptr noundef %8609)
  %8611 = icmp eq i32 %8610, -1
  br i1 %8611, label %8612, label %8665

8612:                                             ; preds = %8605
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

8614:                                             ; preds = %8613
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8615 = call ptr @__errno_location() #12
  %8616 = load i32, ptr %8615, align 4, !tbaa !5
  store i32 %8616, ptr %164, 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) #11
  %8624 = call i32 @isatty(i32 noundef %8623) #11
  %8625 = icmp ne i32 %8624, 0
  br i1 %8625, label %8626, label %8643

8626:                                             ; preds = %8621
  %8627 = load i32, ptr %164, align 4, !tbaa !5
  %8628 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %8637 = call ptr @__errno_location() #12
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call ptr @strerror(i32 noundef %8638) #11
  %8640 = call ptr @__errno_location() #12
  %8641 = load i32, ptr %8640, align 4, !tbaa !5
  %8642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8629, ptr noundef @.str, i32 noundef %8630, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 333, ptr noundef %8633, ptr noundef %8636, ptr noundef %8639, i32 noundef %8641) #11
  br label %8660

8643:                                             ; preds = %8621, %8614
  %8644 = load i32, ptr %164, align 4, !tbaa !5
  %8645 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %8654 = call ptr @__errno_location() #12
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @strerror(i32 noundef %8655) #11
  %8657 = call ptr @__errno_location() #12
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8646, ptr noundef @.str.4, i32 noundef %8647, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 333, ptr noundef %8650, ptr noundef %8653, ptr noundef %8656, i32 noundef %8658) #11
  br label %8660

8660:                                             ; preds = %8643, %8626
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

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

8663:                                             ; No predecessors!
  br label %8664

8664:                                             ; preds = %8663
  br label %8665

8665:                                             ; preds = %8664, %8605
  br label %8666

8666:                                             ; preds = %8665
  br label %8667

8667:                                             ; preds = %8666
  br label %8668

8668:                                             ; preds = %8667
  %8669 = load i32, ptr @test_count, align 4, !tbaa !5
  %8670 = add nsw i32 %8669, 1
  store i32 %8670, ptr @test_count, align 4, !tbaa !5
  %8671 = load ptr, ptr %6, align 8, !tbaa !9
  %8672 = getelementptr inbounds %struct.s2n_connection, ptr %8671, i32 0, i32 40
  %8673 = call i32 @s2n_stuffer_wipe(ptr noundef %8672)
  %8674 = icmp eq i32 %8673, -1
  br i1 %8674, label %8675, label %8728

8675:                                             ; preds = %8668
  br label %8676

8676:                                             ; preds = %8675
  br label %8677

8677:                                             ; preds = %8676
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %8678 = call ptr @__errno_location() #12
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  store i32 %8679, ptr %165, 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) #11
  %8687 = call i32 @isatty(i32 noundef %8686) #11
  %8688 = icmp ne i32 %8687, 0
  br i1 %8688, label %8689, label %8706

8689:                                             ; preds = %8684
  %8690 = load i32, ptr %165, align 4, !tbaa !5
  %8691 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %8700 = call ptr @__errno_location() #12
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call ptr @strerror(i32 noundef %8701) #11
  %8703 = call ptr @__errno_location() #12
  %8704 = load i32, ptr %8703, align 4, !tbaa !5
  %8705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8692, ptr noundef @.str, i32 noundef %8693, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 334, ptr noundef %8696, ptr noundef %8699, ptr noundef %8702, i32 noundef %8704) #11
  br label %8723

8706:                                             ; preds = %8684, %8677
  %8707 = load i32, ptr %165, align 4, !tbaa !5
  %8708 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %8717 = call ptr @__errno_location() #12
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @strerror(i32 noundef %8718) #11
  %8720 = call ptr @__errno_location() #12
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef @.str.4, i32 noundef %8710, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 334, ptr noundef %8713, ptr noundef %8716, ptr noundef %8719, i32 noundef %8721) #11
  br label %8723

8723:                                             ; preds = %8706, %8689
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

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

8726:                                             ; No predecessors!
  br label %8727

8727:                                             ; preds = %8726
  br label %8728

8728:                                             ; preds = %8727, %8668
  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 %6, align 8, !tbaa !9
  %8735 = call i32 @s2n_connection_wipe(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 %166) #11
  %8740 = call ptr @__errno_location() #12
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  store i32 %8741, ptr %166, 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) #11
  %8749 = call i32 @isatty(i32 noundef %8748) #11
  %8750 = icmp ne i32 %8749, 0
  br i1 %8750, label %8751, label %8768

8751:                                             ; preds = %8746
  %8752 = load i32, ptr %166, align 4, !tbaa !5
  %8753 = call ptr @__errno_location() #12
  store i32 %8752, ptr %8753, align 4, !tbaa !5
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = load i32, ptr @test_count, align 4, !tbaa !5
  %8756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8757 = load i32, ptr %8756, align 4, !tbaa !5
  %8758 = call ptr @s2n_strerror(i32 noundef %8757, ptr noundef @.str.3)
  %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.3)
  %8762 = call ptr @__errno_location() #12
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  %8764 = call ptr @strerror(i32 noundef %8763) #11
  %8765 = call ptr @__errno_location() #12
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8754, ptr noundef @.str, i32 noundef %8755, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 336, ptr noundef %8758, ptr noundef %8761, ptr noundef %8764, i32 noundef %8766) #11
  br label %8785

8768:                                             ; preds = %8746, %8739
  %8769 = load i32, ptr %166, align 4, !tbaa !5
  %8770 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %8779 = call ptr @__errno_location() #12
  %8780 = load i32, ptr %8779, align 4, !tbaa !5
  %8781 = call ptr @strerror(i32 noundef %8780) #11
  %8782 = call ptr @__errno_location() #12
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8771, ptr noundef @.str.4, i32 noundef %8772, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 336, ptr noundef %8775, ptr noundef %8778, ptr noundef %8781, i32 noundef %8783) #11
  br label %8785

8785:                                             ; preds = %8768, %8751
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8786

8786:                                             ; preds = %8785
  br label %8787

8787:                                             ; preds = %8786
  call void @exit(i32 noundef 1) #13
  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
  %8793 = load ptr, ptr %6, align 8, !tbaa !9
  %8794 = getelementptr inbounds %struct.s2n_connection, ptr %8793, i32 0, i32 22
  store i8 33, ptr %8794, align 1, !tbaa !53
  %8795 = load ptr, ptr %6, align 8, !tbaa !9
  %8796 = getelementptr inbounds %struct.s2n_connection, ptr %8795, i32 0, i32 21
  store i8 33, ptr %8796, align 2, !tbaa !54
  %8797 = load ptr, ptr %6, align 8, !tbaa !9
  %8798 = getelementptr inbounds %struct.s2n_connection, ptr %8797, i32 0, i32 23
  store i8 33, ptr %8798, align 4, !tbaa !55
  %8799 = load ptr, ptr %6, align 8, !tbaa !9
  %8800 = getelementptr inbounds %struct.s2n_connection, ptr %8799, i32 0, i32 26
  %8801 = load ptr, ptr %8800, align 8, !tbaa !15
  %8802 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %8801, i32 0, i32 0
  %8803 = load ptr, ptr %8802, align 8, !tbaa !44
  %8804 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %8803, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %8804, align 8, !tbaa !49
  br label %8805

8805:                                             ; preds = %8792
  %8806 = load i32, ptr @test_count, align 4, !tbaa !5
  %8807 = add nsw i32 %8806, 1
  store i32 %8807, ptr @test_count, align 4, !tbaa !5
  %8808 = load ptr, ptr %6, align 8, !tbaa !9
  %8809 = call i32 @destroy_server_keys(ptr noundef %8808)
  %8810 = icmp eq i32 %8809, -1
  br i1 %8810, label %8811, label %8864

8811:                                             ; preds = %8805
  br label %8812

8812:                                             ; preds = %8811
  br label %8813

8813:                                             ; preds = %8812
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8814 = call ptr @__errno_location() #12
  %8815 = load i32, ptr %8814, align 4, !tbaa !5
  store i32 %8815, ptr %167, align 4, !tbaa !5
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = call i32 @s2n_print_stacktrace(ptr noundef %8816)
  %8818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8819 = trunc i8 %8818 to i1
  br i1 %8819, label %8820, label %8842

8820:                                             ; preds = %8813
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = call i32 @fileno(ptr noundef %8821) #11
  %8823 = call i32 @isatty(i32 noundef %8822) #11
  %8824 = icmp ne i32 %8823, 0
  br i1 %8824, label %8825, label %8842

8825:                                             ; preds = %8820
  %8826 = load i32, ptr %167, align 4, !tbaa !5
  %8827 = call ptr @__errno_location() #12
  store i32 %8826, ptr %8827, align 4, !tbaa !5
  %8828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8829 = load i32, ptr @test_count, align 4, !tbaa !5
  %8830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @s2n_strerror(i32 noundef %8831, ptr noundef @.str.3)
  %8833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call ptr @s2n_strerror_debug(i32 noundef %8834, ptr noundef @.str.3)
  %8836 = call ptr @__errno_location() #12
  %8837 = load i32, ptr %8836, align 4, !tbaa !5
  %8838 = call ptr @strerror(i32 noundef %8837) #11
  %8839 = call ptr @__errno_location() #12
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8828, ptr noundef @.str, i32 noundef %8829, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 341, ptr noundef %8832, ptr noundef %8835, ptr noundef %8838, i32 noundef %8840) #11
  br label %8859

8842:                                             ; preds = %8820, %8813
  %8843 = load i32, ptr %167, align 4, !tbaa !5
  %8844 = call ptr @__errno_location() #12
  store i32 %8843, ptr %8844, align 4, !tbaa !5
  %8845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8846 = load i32, ptr @test_count, align 4, !tbaa !5
  %8847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror(i32 noundef %8848, ptr noundef @.str.3)
  %8850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef @.str.3)
  %8853 = call ptr @__errno_location() #12
  %8854 = load i32, ptr %8853, align 4, !tbaa !5
  %8855 = call ptr @strerror(i32 noundef %8854) #11
  %8856 = call ptr @__errno_location() #12
  %8857 = load i32, ptr %8856, align 4, !tbaa !5
  %8858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8845, ptr noundef @.str.4, i32 noundef %8846, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 341, ptr noundef %8849, ptr noundef %8852, ptr noundef %8855, i32 noundef %8857) #11
  br label %8859

8859:                                             ; preds = %8842, %8825
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %8860

8860:                                             ; preds = %8859
  br label %8861

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

8862:                                             ; No predecessors!
  br label %8863

8863:                                             ; preds = %8862
  br label %8864

8864:                                             ; preds = %8863, %8805
  br label %8865

8865:                                             ; preds = %8864
  br label %8866

8866:                                             ; preds = %8865
  br label %8867

8867:                                             ; preds = %8866
  %8868 = load i32, ptr @test_count, align 4, !tbaa !5
  %8869 = add nsw i32 %8868, 1
  store i32 %8869, ptr @test_count, align 4, !tbaa !5
  %8870 = load ptr, ptr %6, align 8, !tbaa !9
  %8871 = call i32 @setup_server_keys(ptr noundef %8870, ptr noundef %12)
  %8872 = icmp eq i32 %8871, -1
  br i1 %8872, label %8873, label %8926

8873:                                             ; preds = %8867
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8876 = call ptr @__errno_location() #12
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  store i32 %8877, ptr %168, align 4, !tbaa !5
  %8878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8879 = call i32 @s2n_print_stacktrace(ptr noundef %8878)
  %8880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8881 = trunc i8 %8880 to i1
  br i1 %8881, label %8882, label %8904

8882:                                             ; preds = %8875
  %8883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8884 = call i32 @fileno(ptr noundef %8883) #11
  %8885 = call i32 @isatty(i32 noundef %8884) #11
  %8886 = icmp ne i32 %8885, 0
  br i1 %8886, label %8887, label %8904

8887:                                             ; preds = %8882
  %8888 = load i32, ptr %168, align 4, !tbaa !5
  %8889 = call ptr @__errno_location() #12
  store i32 %8888, ptr %8889, align 4, !tbaa !5
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = load i32, ptr @test_count, align 4, !tbaa !5
  %8892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @s2n_strerror(i32 noundef %8893, ptr noundef @.str.3)
  %8895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror_debug(i32 noundef %8896, ptr noundef @.str.3)
  %8898 = call ptr @__errno_location() #12
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call ptr @strerror(i32 noundef %8899) #11
  %8901 = call ptr @__errno_location() #12
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8890, ptr noundef @.str, i32 noundef %8891, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 342, ptr noundef %8894, ptr noundef %8897, ptr noundef %8900, i32 noundef %8902) #11
  br label %8921

8904:                                             ; preds = %8882, %8875
  %8905 = load i32, ptr %168, align 4, !tbaa !5
  %8906 = call ptr @__errno_location() #12
  store i32 %8905, ptr %8906, align 4, !tbaa !5
  %8907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8908 = load i32, ptr @test_count, align 4, !tbaa !5
  %8909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @s2n_strerror(i32 noundef %8910, ptr noundef @.str.3)
  %8912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call ptr @s2n_strerror_debug(i32 noundef %8913, ptr noundef @.str.3)
  %8915 = call ptr @__errno_location() #12
  %8916 = load i32, ptr %8915, align 4, !tbaa !5
  %8917 = call ptr @strerror(i32 noundef %8916) #11
  %8918 = call ptr @__errno_location() #12
  %8919 = load i32, ptr %8918, align 4, !tbaa !5
  %8920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8907, ptr noundef @.str.4, i32 noundef %8908, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 342, ptr noundef %8911, ptr noundef %8914, ptr noundef %8917, i32 noundef %8919) #11
  br label %8921

8921:                                             ; preds = %8904, %8887
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

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

8924:                                             ; No predecessors!
  br label %8925

8925:                                             ; preds = %8924
  br label %8926

8926:                                             ; preds = %8925, %8867
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

8928:                                             ; preds = %8927
  %8929 = load ptr, ptr %6, align 8, !tbaa !9
  %8930 = getelementptr inbounds %struct.s2n_connection, ptr %8929, i32 0, i32 23
  store i8 33, ptr %8930, align 4, !tbaa !55
  br label %8931

8931:                                             ; preds = %8928
  %8932 = load i32, ptr @test_count, align 4, !tbaa !5
  %8933 = add nsw i32 %8932, 1
  store i32 %8933, ptr @test_count, align 4, !tbaa !5
  %8934 = load ptr, ptr %6, align 8, !tbaa !9
  %8935 = call i32 @s2n_record_write(ptr noundef %8934, i8 noundef zeroext 23, ptr noundef %133)
  %8936 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  store i32 %8935, ptr %8936, align 4
  %8937 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  %8938 = load i32, ptr %8937, align 4
  %8939 = call zeroext i1 @s2n_result_is_ok(i32 %8938)
  br i1 %8939, label %8993, label %8940

8940:                                             ; preds = %8931
  br label %8941

8941:                                             ; preds = %8940
  br label %8942

8942:                                             ; preds = %8941
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8943 = call ptr @__errno_location() #12
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  store i32 %8944, ptr %170, align 4, !tbaa !5
  %8945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8946 = call i32 @s2n_print_stacktrace(ptr noundef %8945)
  %8947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8948 = trunc i8 %8947 to i1
  br i1 %8948, label %8949, label %8971

8949:                                             ; preds = %8942
  %8950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8951 = call i32 @fileno(ptr noundef %8950) #11
  %8952 = call i32 @isatty(i32 noundef %8951) #11
  %8953 = icmp ne i32 %8952, 0
  br i1 %8953, label %8954, label %8971

8954:                                             ; preds = %8949
  %8955 = load i32, ptr %170, align 4, !tbaa !5
  %8956 = call ptr @__errno_location() #12
  store i32 %8955, ptr %8956, align 4, !tbaa !5
  %8957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8958 = load i32, ptr @test_count, align 4, !tbaa !5
  %8959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror(i32 noundef %8960, ptr noundef @.str.3)
  %8962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call ptr @s2n_strerror_debug(i32 noundef %8963, ptr noundef @.str.3)
  %8965 = call ptr @__errno_location() #12
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call ptr @strerror(i32 noundef %8966) #11
  %8968 = call ptr @__errno_location() #12
  %8969 = load i32, ptr %8968, align 4, !tbaa !5
  %8970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8957, ptr noundef @.str, i32 noundef %8958, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 344, ptr noundef %8961, ptr noundef %8964, ptr noundef %8967, i32 noundef %8969) #11
  br label %8988

8971:                                             ; preds = %8949, %8942
  %8972 = load i32, ptr %170, align 4, !tbaa !5
  %8973 = call ptr @__errno_location() #12
  store i32 %8972, ptr %8973, align 4, !tbaa !5
  %8974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8975 = load i32, ptr @test_count, align 4, !tbaa !5
  %8976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror(i32 noundef %8977, ptr noundef @.str.3)
  %8979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8980 = load i32, ptr %8979, align 4, !tbaa !5
  %8981 = call ptr @s2n_strerror_debug(i32 noundef %8980, ptr noundef @.str.3)
  %8982 = call ptr @__errno_location() #12
  %8983 = load i32, ptr %8982, align 4, !tbaa !5
  %8984 = call ptr @strerror(i32 noundef %8983) #11
  %8985 = call ptr @__errno_location() #12
  %8986 = load i32, ptr %8985, align 4, !tbaa !5
  %8987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8974, ptr noundef @.str.4, i32 noundef %8975, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 344, ptr noundef %8978, ptr noundef %8981, ptr noundef %8984, i32 noundef %8986) #11
  br label %8988

8988:                                             ; preds = %8971, %8954
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8989

8989:                                             ; preds = %8988
  br label %8990

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

8991:                                             ; No predecessors!
  br label %8992

8992:                                             ; preds = %8991
  br label %8993

8993:                                             ; preds = %8992, %8931
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994
  br label %8996

8996:                                             ; preds = %8995
  %8997 = load i32, ptr @test_count, align 4, !tbaa !5
  %8998 = add nsw i32 %8997, 1
  store i32 %8998, ptr @test_count, align 4, !tbaa !5
  %8999 = load ptr, ptr %6, align 8, !tbaa !9
  %9000 = getelementptr inbounds %struct.s2n_connection, ptr %8999, i32 0, i32 40
  %9001 = call i32 @s2n_stuffer_wipe(ptr noundef %9000)
  %9002 = icmp eq i32 %9001, -1
  br i1 %9002, label %9003, label %9056

9003:                                             ; preds = %8996
  br label %9004

9004:                                             ; preds = %9003
  br label %9005

9005:                                             ; preds = %9004
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %9006 = call ptr @__errno_location() #12
  %9007 = load i32, ptr %9006, align 4, !tbaa !5
  store i32 %9007, ptr %171, align 4, !tbaa !5
  %9008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9009 = call i32 @s2n_print_stacktrace(ptr noundef %9008)
  %9010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9011 = trunc i8 %9010 to i1
  br i1 %9011, label %9012, label %9034

9012:                                             ; preds = %9005
  %9013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9014 = call i32 @fileno(ptr noundef %9013) #11
  %9015 = call i32 @isatty(i32 noundef %9014) #11
  %9016 = icmp ne i32 %9015, 0
  br i1 %9016, label %9017, label %9034

9017:                                             ; preds = %9012
  %9018 = load i32, ptr %171, align 4, !tbaa !5
  %9019 = call ptr @__errno_location() #12
  store i32 %9018, ptr %9019, align 4, !tbaa !5
  %9020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9021 = load i32, ptr @test_count, align 4, !tbaa !5
  %9022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @s2n_strerror(i32 noundef %9023, ptr noundef @.str.3)
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror_debug(i32 noundef %9026, ptr noundef @.str.3)
  %9028 = call ptr @__errno_location() #12
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @strerror(i32 noundef %9029) #11
  %9031 = call ptr @__errno_location() #12
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9020, ptr noundef @.str, i32 noundef %9021, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 348, ptr noundef %9024, ptr noundef %9027, ptr noundef %9030, i32 noundef %9032) #11
  br label %9051

9034:                                             ; preds = %9012, %9005
  %9035 = load i32, ptr %171, align 4, !tbaa !5
  %9036 = call ptr @__errno_location() #12
  store i32 %9035, ptr %9036, align 4, !tbaa !5
  %9037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9038 = load i32, ptr @test_count, align 4, !tbaa !5
  %9039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror(i32 noundef %9040, ptr noundef @.str.3)
  %9042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror_debug(i32 noundef %9043, ptr noundef @.str.3)
  %9045 = call ptr @__errno_location() #12
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call ptr @strerror(i32 noundef %9046) #11
  %9048 = call ptr @__errno_location() #12
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9037, ptr noundef @.str.4, i32 noundef %9038, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 348, ptr noundef %9041, ptr noundef %9044, ptr noundef %9047, i32 noundef %9049) #11
  br label %9051

9051:                                             ; preds = %9034, %9017
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

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

9054:                                             ; No predecessors!
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055, %8996
  br label %9057

9057:                                             ; preds = %9056
  br label %9058

9058:                                             ; preds = %9057
  br label %9059

9059:                                             ; preds = %9058
  %9060 = load i32, ptr @test_count, align 4, !tbaa !5
  %9061 = add nsw i32 %9060, 1
  store i32 %9061, ptr @test_count, align 4, !tbaa !5
  %9062 = load ptr, ptr %6, align 8, !tbaa !9
  %9063 = getelementptr inbounds %struct.s2n_connection, ptr %9062, i32 0, i32 38
  %9064 = call i32 @s2n_stuffer_wipe(ptr noundef %9063)
  %9065 = icmp eq i32 %9064, -1
  br i1 %9065, label %9066, label %9119

9066:                                             ; preds = %9059
  br label %9067

9067:                                             ; preds = %9066
  br label %9068

9068:                                             ; preds = %9067
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %9069 = call ptr @__errno_location() #12
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  store i32 %9070, ptr %172, align 4, !tbaa !5
  %9071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9072 = call i32 @s2n_print_stacktrace(ptr noundef %9071)
  %9073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9074 = trunc i8 %9073 to i1
  br i1 %9074, label %9075, label %9097

9075:                                             ; preds = %9068
  %9076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9077 = call i32 @fileno(ptr noundef %9076) #11
  %9078 = call i32 @isatty(i32 noundef %9077) #11
  %9079 = icmp ne i32 %9078, 0
  br i1 %9079, label %9080, label %9097

9080:                                             ; preds = %9075
  %9081 = load i32, ptr %172, align 4, !tbaa !5
  %9082 = call ptr @__errno_location() #12
  store i32 %9081, ptr %9082, align 4, !tbaa !5
  %9083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9084 = load i32, ptr @test_count, align 4, !tbaa !5
  %9085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9086 = load i32, ptr %9085, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef @.str.3)
  %9088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9089 = load i32, ptr %9088, align 4, !tbaa !5
  %9090 = call ptr @s2n_strerror_debug(i32 noundef %9089, ptr noundef @.str.3)
  %9091 = call ptr @__errno_location() #12
  %9092 = load i32, ptr %9091, align 4, !tbaa !5
  %9093 = call ptr @strerror(i32 noundef %9092) #11
  %9094 = call ptr @__errno_location() #12
  %9095 = load i32, ptr %9094, align 4, !tbaa !5
  %9096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9083, ptr noundef @.str, i32 noundef %9084, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 349, ptr noundef %9087, ptr noundef %9090, ptr noundef %9093, i32 noundef %9095) #11
  br label %9114

9097:                                             ; preds = %9075, %9068
  %9098 = load i32, ptr %172, align 4, !tbaa !5
  %9099 = call ptr @__errno_location() #12
  store i32 %9098, ptr %9099, align 4, !tbaa !5
  %9100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9101 = load i32, ptr @test_count, align 4, !tbaa !5
  %9102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9103 = load i32, ptr %9102, align 4, !tbaa !5
  %9104 = call ptr @s2n_strerror(i32 noundef %9103, ptr noundef @.str.3)
  %9105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9106 = load i32, ptr %9105, align 4, !tbaa !5
  %9107 = call ptr @s2n_strerror_debug(i32 noundef %9106, ptr noundef @.str.3)
  %9108 = call ptr @__errno_location() #12
  %9109 = load i32, ptr %9108, align 4, !tbaa !5
  %9110 = call ptr @strerror(i32 noundef %9109) #11
  %9111 = call ptr @__errno_location() #12
  %9112 = load i32, ptr %9111, align 4, !tbaa !5
  %9113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9100, ptr noundef @.str.4, i32 noundef %9101, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 349, ptr noundef %9104, ptr noundef %9107, ptr noundef %9110, i32 noundef %9112) #11
  br label %9114

9114:                                             ; preds = %9097, %9080
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %9115

9115:                                             ; preds = %9114
  br label %9116

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

9117:                                             ; No predecessors!
  br label %9118

9118:                                             ; preds = %9117
  br label %9119

9119:                                             ; preds = %9118, %9059
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120
  br label %9122

9122:                                             ; preds = %9121
  %9123 = load i32, ptr @test_count, align 4, !tbaa !5
  %9124 = add nsw i32 %9123, 1
  store i32 %9124, ptr @test_count, align 4, !tbaa !5
  %9125 = load ptr, ptr %6, align 8, !tbaa !9
  %9126 = getelementptr inbounds %struct.s2n_connection, ptr %9125, i32 0, i32 41
  %9127 = load ptr, ptr %6, align 8, !tbaa !9
  %9128 = getelementptr inbounds %struct.s2n_connection, ptr %9127, i32 0, i32 38
  %9129 = call i32 @s2n_stuffer_copy(ptr noundef %9126, ptr noundef %9128, i32 noundef 5)
  %9130 = icmp eq i32 %9129, -1
  br i1 %9130, label %9131, label %9184

9131:                                             ; preds = %9122
  br label %9132

9132:                                             ; preds = %9131
  br label %9133

9133:                                             ; preds = %9132
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %9134 = call ptr @__errno_location() #12
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  store i32 %9135, ptr %173, align 4, !tbaa !5
  %9136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9137 = call i32 @s2n_print_stacktrace(ptr noundef %9136)
  %9138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9139 = trunc i8 %9138 to i1
  br i1 %9139, label %9140, label %9162

9140:                                             ; preds = %9133
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = call i32 @fileno(ptr noundef %9141) #11
  %9143 = call i32 @isatty(i32 noundef %9142) #11
  %9144 = icmp ne i32 %9143, 0
  br i1 %9144, label %9145, label %9162

9145:                                             ; preds = %9140
  %9146 = load i32, ptr %173, align 4, !tbaa !5
  %9147 = call ptr @__errno_location() #12
  store i32 %9146, ptr %9147, align 4, !tbaa !5
  %9148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9149 = load i32, ptr @test_count, align 4, !tbaa !5
  %9150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call ptr @s2n_strerror(i32 noundef %9151, ptr noundef @.str.3)
  %9153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call ptr @s2n_strerror_debug(i32 noundef %9154, ptr noundef @.str.3)
  %9156 = call ptr @__errno_location() #12
  %9157 = load i32, ptr %9156, align 4, !tbaa !5
  %9158 = call ptr @strerror(i32 noundef %9157) #11
  %9159 = call ptr @__errno_location() #12
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9148, ptr noundef @.str, i32 noundef %9149, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 350, ptr noundef %9152, ptr noundef %9155, ptr noundef %9158, i32 noundef %9160) #11
  br label %9179

9162:                                             ; preds = %9140, %9133
  %9163 = load i32, ptr %173, align 4, !tbaa !5
  %9164 = call ptr @__errno_location() #12
  store i32 %9163, ptr %9164, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = load i32, ptr @test_count, align 4, !tbaa !5
  %9167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9168 = load i32, ptr %9167, align 4, !tbaa !5
  %9169 = call ptr @s2n_strerror(i32 noundef %9168, ptr noundef @.str.3)
  %9170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9171 = load i32, ptr %9170, align 4, !tbaa !5
  %9172 = call ptr @s2n_strerror_debug(i32 noundef %9171, ptr noundef @.str.3)
  %9173 = call ptr @__errno_location() #12
  %9174 = load i32, ptr %9173, align 4, !tbaa !5
  %9175 = call ptr @strerror(i32 noundef %9174) #11
  %9176 = call ptr @__errno_location() #12
  %9177 = load i32, ptr %9176, align 4, !tbaa !5
  %9178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9165, ptr noundef @.str.4, i32 noundef %9166, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 350, ptr noundef %9169, ptr noundef %9172, ptr noundef %9175, i32 noundef %9177) #11
  br label %9179

9179:                                             ; preds = %9162, %9145
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %9180

9180:                                             ; preds = %9179
  br label %9181

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

9182:                                             ; No predecessors!
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183, %9122
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

9186:                                             ; preds = %9185
  br label %9187

9187:                                             ; preds = %9186
  %9188 = load i32, ptr @test_count, align 4, !tbaa !5
  %9189 = add nsw i32 %9188, 1
  store i32 %9189, ptr @test_count, align 4, !tbaa !5
  %9190 = load ptr, ptr %6, align 8, !tbaa !9
  %9191 = getelementptr inbounds %struct.s2n_connection, ptr %9190, i32 0, i32 41
  %9192 = load ptr, ptr %6, align 8, !tbaa !9
  %9193 = getelementptr inbounds %struct.s2n_connection, ptr %9192, i32 0, i32 40
  %9194 = load ptr, ptr %6, align 8, !tbaa !9
  %9195 = getelementptr inbounds %struct.s2n_connection, ptr %9194, i32 0, i32 41
  %9196 = getelementptr inbounds %struct.s2n_stuffer, ptr %9195, i32 0, i32 2
  %9197 = load i32, ptr %9196, align 4, !tbaa !61
  %9198 = load ptr, ptr %6, align 8, !tbaa !9
  %9199 = getelementptr inbounds %struct.s2n_connection, ptr %9198, i32 0, i32 41
  %9200 = getelementptr inbounds %struct.s2n_stuffer, ptr %9199, i32 0, i32 1
  %9201 = load i32, ptr %9200, align 8, !tbaa !62
  %9202 = sub i32 %9197, %9201
  %9203 = call i32 @s2n_stuffer_copy(ptr noundef %9191, ptr noundef %9193, i32 noundef %9202)
  %9204 = icmp eq i32 %9203, -1
  br i1 %9204, label %9205, label %9258

9205:                                             ; preds = %9187
  br label %9206

9206:                                             ; preds = %9205
  br label %9207

9207:                                             ; preds = %9206
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %9208 = call ptr @__errno_location() #12
  %9209 = load i32, ptr %9208, align 4, !tbaa !5
  store i32 %9209, ptr %174, align 4, !tbaa !5
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = call i32 @s2n_print_stacktrace(ptr noundef %9210)
  %9212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9213 = trunc i8 %9212 to i1
  br i1 %9213, label %9214, label %9236

9214:                                             ; preds = %9207
  %9215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9216 = call i32 @fileno(ptr noundef %9215) #11
  %9217 = call i32 @isatty(i32 noundef %9216) #11
  %9218 = icmp ne i32 %9217, 0
  br i1 %9218, label %9219, label %9236

9219:                                             ; preds = %9214
  %9220 = load i32, ptr %174, align 4, !tbaa !5
  %9221 = call ptr @__errno_location() #12
  store i32 %9220, ptr %9221, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9225, ptr noundef @.str.3)
  %9227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call ptr @s2n_strerror_debug(i32 noundef %9228, ptr noundef @.str.3)
  %9230 = call ptr @__errno_location() #12
  %9231 = load i32, ptr %9230, align 4, !tbaa !5
  %9232 = call ptr @strerror(i32 noundef %9231) #11
  %9233 = call ptr @__errno_location() #12
  %9234 = load i32, ptr %9233, align 4, !tbaa !5
  %9235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9222, ptr noundef @.str, i32 noundef %9223, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 351, ptr noundef %9226, ptr noundef %9229, ptr noundef %9232, i32 noundef %9234) #11
  br label %9253

9236:                                             ; preds = %9214, %9207
  %9237 = load i32, ptr %174, align 4, !tbaa !5
  %9238 = call ptr @__errno_location() #12
  store i32 %9237, ptr %9238, align 4, !tbaa !5
  %9239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9240 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9242, ptr noundef @.str.3)
  %9244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9245 = load i32, ptr %9244, align 4, !tbaa !5
  %9246 = call ptr @s2n_strerror_debug(i32 noundef %9245, ptr noundef @.str.3)
  %9247 = call ptr @__errno_location() #12
  %9248 = load i32, ptr %9247, align 4, !tbaa !5
  %9249 = call ptr @strerror(i32 noundef %9248) #11
  %9250 = call ptr @__errno_location() #12
  %9251 = load i32, ptr %9250, align 4, !tbaa !5
  %9252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9239, ptr noundef @.str.4, i32 noundef %9240, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 351, ptr noundef %9243, ptr noundef %9246, ptr noundef %9249, i32 noundef %9251) #11
  br label %9253

9253:                                             ; preds = %9236, %9219
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %9254

9254:                                             ; preds = %9253
  br label %9255

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

9256:                                             ; No predecessors!
  br label %9257

9257:                                             ; preds = %9256
  br label %9258

9258:                                             ; preds = %9257, %9187
  br label %9259

9259:                                             ; preds = %9258
  br label %9260

9260:                                             ; preds = %9259
  %9261 = load ptr, ptr %6, align 8, !tbaa !9
  %9262 = getelementptr inbounds %struct.s2n_connection, ptr %9261, i32 0, i32 40
  %9263 = getelementptr inbounds %struct.s2n_stuffer, ptr %9262, i32 0, i32 0
  %9264 = getelementptr inbounds %struct.s2n_blob, ptr %9263, i32 0, i32 0
  %9265 = load ptr, ptr %9264, align 8, !tbaa !64
  %9266 = getelementptr inbounds i8, ptr %9265, i64 2
  store i8 2, ptr %9266, align 1, !tbaa !59
  br label %9267

9267:                                             ; preds = %9260
  %9268 = load i32, ptr @test_count, align 4, !tbaa !5
  %9269 = add nsw i32 %9268, 1
  store i32 %9269, ptr @test_count, align 4, !tbaa !5
  %9270 = load ptr, ptr %6, align 8, !tbaa !9
  %9271 = call i32 @s2n_record_header_parse(ptr noundef %9270, ptr noundef %158, ptr noundef %159)
  %9272 = icmp eq i32 %9271, -1
  br i1 %9272, label %9273, label %9326

9273:                                             ; preds = %9267
  br label %9274

9274:                                             ; preds = %9273
  br label %9275

9275:                                             ; preds = %9274
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %9276 = call ptr @__errno_location() #12
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  store i32 %9277, ptr %175, align 4, !tbaa !5
  %9278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9279 = call i32 @s2n_print_stacktrace(ptr noundef %9278)
  %9280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9281 = trunc i8 %9280 to i1
  br i1 %9281, label %9282, label %9304

9282:                                             ; preds = %9275
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = call i32 @fileno(ptr noundef %9283) #11
  %9285 = call i32 @isatty(i32 noundef %9284) #11
  %9286 = icmp ne i32 %9285, 0
  br i1 %9286, label %9287, label %9304

9287:                                             ; preds = %9282
  %9288 = load i32, ptr %175, align 4, !tbaa !5
  %9289 = call ptr @__errno_location() #12
  store i32 %9288, ptr %9289, align 4, !tbaa !5
  %9290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9291 = load i32, ptr @test_count, align 4, !tbaa !5
  %9292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9293 = load i32, ptr %9292, align 4, !tbaa !5
  %9294 = call ptr @s2n_strerror(i32 noundef %9293, ptr noundef @.str.3)
  %9295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9296 = load i32, ptr %9295, align 4, !tbaa !5
  %9297 = call ptr @s2n_strerror_debug(i32 noundef %9296, ptr noundef @.str.3)
  %9298 = call ptr @__errno_location() #12
  %9299 = load i32, ptr %9298, align 4, !tbaa !5
  %9300 = call ptr @strerror(i32 noundef %9299) #11
  %9301 = call ptr @__errno_location() #12
  %9302 = load i32, ptr %9301, align 4, !tbaa !5
  %9303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9290, ptr noundef @.str, i32 noundef %9291, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 355, ptr noundef %9294, ptr noundef %9297, ptr noundef %9300, i32 noundef %9302) #11
  br label %9321

9304:                                             ; preds = %9282, %9275
  %9305 = load i32, ptr %175, align 4, !tbaa !5
  %9306 = call ptr @__errno_location() #12
  store i32 %9305, ptr %9306, align 4, !tbaa !5
  %9307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9308 = load i32, ptr @test_count, align 4, !tbaa !5
  %9309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9310 = load i32, ptr %9309, align 4, !tbaa !5
  %9311 = call ptr @s2n_strerror(i32 noundef %9310, ptr noundef @.str.3)
  %9312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9313 = load i32, ptr %9312, align 4, !tbaa !5
  %9314 = call ptr @s2n_strerror_debug(i32 noundef %9313, ptr noundef @.str.3)
  %9315 = call ptr @__errno_location() #12
  %9316 = load i32, ptr %9315, align 4, !tbaa !5
  %9317 = call ptr @strerror(i32 noundef %9316) #11
  %9318 = call ptr @__errno_location() #12
  %9319 = load i32, ptr %9318, align 4, !tbaa !5
  %9320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9307, ptr noundef @.str.4, i32 noundef %9308, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 355, ptr noundef %9311, ptr noundef %9314, ptr noundef %9317, i32 noundef %9319) #11
  br label %9321

9321:                                             ; preds = %9304, %9287
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %9322

9322:                                             ; preds = %9321
  br label %9323

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

9324:                                             ; No predecessors!
  br label %9325

9325:                                             ; preds = %9324
  br label %9326

9326:                                             ; preds = %9325, %9267
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

9328:                                             ; preds = %9327
  br label %9329

9329:                                             ; preds = %9328
  br label %9330

9330:                                             ; preds = %9329
  %9331 = load i32, ptr @test_count, align 4, !tbaa !5
  %9332 = add nsw i32 %9331, 1
  store i32 %9332, ptr @test_count, align 4, !tbaa !5
  %9333 = load ptr, ptr %6, align 8, !tbaa !9
  %9334 = call i32 @s2n_record_parse(ptr noundef %9333)
  %9335 = icmp eq i32 %9334, -1
  br i1 %9335, label %9389, label %9336

9336:                                             ; preds = %9330
  br label %9337

9337:                                             ; preds = %9336
  br label %9338

9338:                                             ; preds = %9337
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %9339 = call ptr @__errno_location() #12
  %9340 = load i32, ptr %9339, align 4, !tbaa !5
  store i32 %9340, ptr %176, align 4, !tbaa !5
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = call i32 @s2n_print_stacktrace(ptr noundef %9341)
  %9343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9344 = trunc i8 %9343 to i1
  br i1 %9344, label %9345, label %9367

9345:                                             ; preds = %9338
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = call i32 @fileno(ptr noundef %9346) #11
  %9348 = call i32 @isatty(i32 noundef %9347) #11
  %9349 = icmp ne i32 %9348, 0
  br i1 %9349, label %9350, label %9367

9350:                                             ; preds = %9345
  %9351 = load i32, ptr %176, align 4, !tbaa !5
  %9352 = call ptr @__errno_location() #12
  store i32 %9351, ptr %9352, align 4, !tbaa !5
  %9353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9354 = load i32, ptr @test_count, align 4, !tbaa !5
  %9355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9356 = load i32, ptr %9355, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror(i32 noundef %9356, ptr noundef @.str.3)
  %9358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9359 = load i32, ptr %9358, align 4, !tbaa !5
  %9360 = call ptr @s2n_strerror_debug(i32 noundef %9359, ptr noundef @.str.3)
  %9361 = call ptr @__errno_location() #12
  %9362 = load i32, ptr %9361, align 4, !tbaa !5
  %9363 = call ptr @strerror(i32 noundef %9362) #11
  %9364 = call ptr @__errno_location() #12
  %9365 = load i32, ptr %9364, align 4, !tbaa !5
  %9366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9353, ptr noundef @.str, i32 noundef %9354, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9357, ptr noundef %9360, ptr noundef %9363, i32 noundef %9365) #11
  br label %9384

9367:                                             ; preds = %9345, %9338
  %9368 = load i32, ptr %176, align 4, !tbaa !5
  %9369 = call ptr @__errno_location() #12
  store i32 %9368, ptr %9369, align 4, !tbaa !5
  %9370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9371 = load i32, ptr @test_count, align 4, !tbaa !5
  %9372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9373 = load i32, ptr %9372, align 4, !tbaa !5
  %9374 = call ptr @s2n_strerror(i32 noundef %9373, ptr noundef @.str.3)
  %9375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9376 = load i32, ptr %9375, align 4, !tbaa !5
  %9377 = call ptr @s2n_strerror_debug(i32 noundef %9376, ptr noundef @.str.3)
  %9378 = call ptr @__errno_location() #12
  %9379 = load i32, ptr %9378, align 4, !tbaa !5
  %9380 = call ptr @strerror(i32 noundef %9379) #11
  %9381 = call ptr @__errno_location() #12
  %9382 = load i32, ptr %9381, align 4, !tbaa !5
  %9383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9370, ptr noundef @.str.4, i32 noundef %9371, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9374, ptr noundef %9377, ptr noundef %9380, i32 noundef %9382) #11
  br label %9384

9384:                                             ; preds = %9367, %9350
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %9385

9385:                                             ; preds = %9384
  br label %9386

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

9387:                                             ; No predecessors!
  br label %9388

9388:                                             ; preds = %9387
  br label %9389

9389:                                             ; preds = %9388, %9330
  br label %9390

9390:                                             ; preds = %9389
  br label %9391

9391:                                             ; preds = %9390
  br label %9392

9392:                                             ; preds = %9391
  %9393 = load i32, ptr @test_count, align 4, !tbaa !5
  %9394 = add nsw i32 %9393, 1
  store i32 %9394, ptr @test_count, align 4, !tbaa !5
  %9395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = icmp eq i32 %9396, 0
  br i1 %9397, label %9398, label %9451

9398:                                             ; preds = %9392
  br label %9399

9399:                                             ; preds = %9398
  br label %9400

9400:                                             ; preds = %9399
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %9401 = call ptr @__errno_location() #12
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  store i32 %9402, ptr %177, 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) #11
  %9410 = call i32 @isatty(i32 noundef %9409) #11
  %9411 = icmp ne i32 %9410, 0
  br i1 %9411, label %9412, label %9429

9412:                                             ; preds = %9407
  %9413 = load i32, ptr %177, align 4, !tbaa !5
  %9414 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9423 = call ptr @__errno_location() #12
  %9424 = load i32, ptr %9423, align 4, !tbaa !5
  %9425 = call ptr @strerror(i32 noundef %9424) #11
  %9426 = call ptr @__errno_location() #12
  %9427 = load i32, ptr %9426, align 4, !tbaa !5
  %9428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9415, ptr noundef @.str, i32 noundef %9416, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9419, ptr noundef %9422, ptr noundef %9425, i32 noundef %9427) #11
  br label %9446

9429:                                             ; preds = %9407, %9400
  %9430 = load i32, ptr %177, align 4, !tbaa !5
  %9431 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9440 = call ptr @__errno_location() #12
  %9441 = load i32, ptr %9440, align 4, !tbaa !5
  %9442 = call ptr @strerror(i32 noundef %9441) #11
  %9443 = call ptr @__errno_location() #12
  %9444 = load i32, ptr %9443, align 4, !tbaa !5
  %9445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9432, ptr noundef @.str.4, i32 noundef %9433, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9436, ptr noundef %9439, ptr noundef %9442, i32 noundef %9444) #11
  br label %9446

9446:                                             ; preds = %9429, %9412
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %9447

9447:                                             ; preds = %9446
  br label %9448

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

9449:                                             ; No predecessors!
  br label %9450

9450:                                             ; preds = %9449
  br label %9451

9451:                                             ; preds = %9450, %9392
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9458 = load i32, ptr %9457, align 4, !tbaa !5
  %9459 = call ptr @s2n_strerror_debug(i32 noundef %9458, ptr noundef @.str.3)
  %9460 = icmp eq ptr %9459, null
  br i1 %9460, label %9461, label %9514

9461:                                             ; preds = %9454
  br label %9462

9462:                                             ; preds = %9461
  br label %9463

9463:                                             ; preds = %9462
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9464 = call ptr @__errno_location() #12
  %9465 = load i32, ptr %9464, align 4, !tbaa !5
  store i32 %9465, ptr %178, align 4, !tbaa !5
  %9466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9467 = call i32 @s2n_print_stacktrace(ptr noundef %9466)
  %9468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9469 = trunc i8 %9468 to i1
  br i1 %9469, label %9470, label %9492

9470:                                             ; preds = %9463
  %9471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9472 = call i32 @fileno(ptr noundef %9471) #11
  %9473 = call i32 @isatty(i32 noundef %9472) #11
  %9474 = icmp ne i32 %9473, 0
  br i1 %9474, label %9475, label %9492

9475:                                             ; preds = %9470
  %9476 = load i32, ptr %178, align 4, !tbaa !5
  %9477 = call ptr @__errno_location() #12
  store i32 %9476, ptr %9477, align 4, !tbaa !5
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = load i32, ptr @test_count, align 4, !tbaa !5
  %9480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror(i32 noundef %9481, ptr noundef @.str.3)
  %9483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call ptr @s2n_strerror_debug(i32 noundef %9484, ptr noundef @.str.3)
  %9486 = call ptr @__errno_location() #12
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @strerror(i32 noundef %9487) #11
  %9489 = call ptr @__errno_location() #12
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9478, ptr noundef @.str, i32 noundef %9479, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9482, ptr noundef %9485, ptr noundef %9488, i32 noundef %9490) #11
  br label %9509

9492:                                             ; preds = %9470, %9463
  %9493 = load i32, ptr %178, align 4, !tbaa !5
  %9494 = call ptr @__errno_location() #12
  store i32 %9493, ptr %9494, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror(i32 noundef %9498, ptr noundef @.str.3)
  %9500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call ptr @s2n_strerror_debug(i32 noundef %9501, ptr noundef @.str.3)
  %9503 = call ptr @__errno_location() #12
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @strerror(i32 noundef %9504) #11
  %9506 = call ptr @__errno_location() #12
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9495, ptr noundef @.str.4, i32 noundef %9496, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9499, ptr noundef %9502, ptr noundef %9505, i32 noundef %9507) #11
  br label %9509

9509:                                             ; preds = %9492, %9475
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9510

9510:                                             ; preds = %9509
  br label %9511

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

9512:                                             ; No predecessors!
  br label %9513

9513:                                             ; preds = %9512
  br label %9514

9514:                                             ; preds = %9513, %9454
  br label %9515

9515:                                             ; preds = %9514
  br label %9516

9516:                                             ; preds = %9515
  br label %9517

9517:                                             ; preds = %9516
  %9518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9518, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9519 = call ptr @__errno_location() #12
  store i32 0, ptr %9519, align 4, !tbaa !5
  br label %9520

9520:                                             ; preds = %9517
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

9523:                                             ; preds = %9522
  br label %9524

9524:                                             ; preds = %9523
  %9525 = load i32, ptr @test_count, align 4, !tbaa !5
  %9526 = add nsw i32 %9525, 1
  store i32 %9526, ptr @test_count, align 4, !tbaa !5
  %9527 = load i8, ptr %158, align 1, !tbaa !59
  %9528 = zext i8 %9527 to i32
  %9529 = icmp eq i32 %9528, 23
  br i1 %9529, label %9583, label %9530

9530:                                             ; preds = %9524
  br label %9531

9531:                                             ; preds = %9530
  br label %9532

9532:                                             ; preds = %9531
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9533 = call ptr @__errno_location() #12
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  store i32 %9534, ptr %179, 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) #11
  %9542 = call i32 @isatty(i32 noundef %9541) #11
  %9543 = icmp ne i32 %9542, 0
  br i1 %9543, label %9544, label %9561

9544:                                             ; preds = %9539
  %9545 = load i32, ptr %179, align 4, !tbaa !5
  %9546 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9555 = call ptr @__errno_location() #12
  %9556 = load i32, ptr %9555, align 4, !tbaa !5
  %9557 = call ptr @strerror(i32 noundef %9556) #11
  %9558 = call ptr @__errno_location() #12
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  %9560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9547, ptr noundef @.str, i32 noundef %9548, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 357, ptr noundef %9551, ptr noundef %9554, ptr noundef %9557, i32 noundef %9559) #11
  br label %9578

9561:                                             ; preds = %9539, %9532
  %9562 = load i32, ptr %179, align 4, !tbaa !5
  %9563 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9572 = call ptr @__errno_location() #12
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  %9574 = call ptr @strerror(i32 noundef %9573) #11
  %9575 = call ptr @__errno_location() #12
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  %9577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9564, ptr noundef @.str.4, i32 noundef %9565, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 357, ptr noundef %9568, ptr noundef %9571, ptr noundef %9574, i32 noundef %9576) #11
  br label %9578

9578:                                             ; preds = %9561, %9544
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9579

9579:                                             ; preds = %9578
  br label %9580

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

9581:                                             ; No predecessors!
  br label %9582

9582:                                             ; preds = %9581
  br label %9583

9583:                                             ; preds = %9582, %9524
  br label %9584

9584:                                             ; preds = %9583
  br label %9585

9585:                                             ; preds = %9584
  br label %9586

9586:                                             ; preds = %9585
  %9587 = load i32, ptr @test_count, align 4, !tbaa !5
  %9588 = add nsw i32 %9587, 1
  store i32 %9588, ptr @test_count, align 4, !tbaa !5
  %9589 = load ptr, ptr %6, align 8, !tbaa !9
  %9590 = getelementptr inbounds %struct.s2n_connection, ptr %9589, i32 0, i32 38
  %9591 = call i32 @s2n_stuffer_wipe(ptr noundef %9590)
  %9592 = icmp eq i32 %9591, -1
  br i1 %9592, label %9593, label %9646

9593:                                             ; preds = %9586
  br label %9594

9594:                                             ; preds = %9593
  br label %9595

9595:                                             ; preds = %9594
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9596 = call ptr @__errno_location() #12
  %9597 = load i32, ptr %9596, align 4, !tbaa !5
  store i32 %9597, ptr %180, align 4, !tbaa !5
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = call i32 @s2n_print_stacktrace(ptr noundef %9598)
  %9600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9601 = trunc i8 %9600 to i1
  br i1 %9601, label %9602, label %9624

9602:                                             ; preds = %9595
  %9603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9604 = call i32 @fileno(ptr noundef %9603) #11
  %9605 = call i32 @isatty(i32 noundef %9604) #11
  %9606 = icmp ne i32 %9605, 0
  br i1 %9606, label %9607, label %9624

9607:                                             ; preds = %9602
  %9608 = load i32, ptr %180, align 4, !tbaa !5
  %9609 = call ptr @__errno_location() #12
  store i32 %9608, ptr %9609, align 4, !tbaa !5
  %9610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9611 = load i32, ptr @test_count, align 4, !tbaa !5
  %9612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9613 = load i32, ptr %9612, align 4, !tbaa !5
  %9614 = call ptr @s2n_strerror(i32 noundef %9613, ptr noundef @.str.3)
  %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_debug(i32 noundef %9616, ptr noundef @.str.3)
  %9618 = call ptr @__errno_location() #12
  %9619 = load i32, ptr %9618, align 4, !tbaa !5
  %9620 = call ptr @strerror(i32 noundef %9619) #11
  %9621 = call ptr @__errno_location() #12
  %9622 = load i32, ptr %9621, align 4, !tbaa !5
  %9623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9610, ptr noundef @.str, i32 noundef %9611, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 359, ptr noundef %9614, ptr noundef %9617, ptr noundef %9620, i32 noundef %9622) #11
  br label %9641

9624:                                             ; preds = %9602, %9595
  %9625 = load i32, ptr %180, align 4, !tbaa !5
  %9626 = call ptr @__errno_location() #12
  store i32 %9625, ptr %9626, align 4, !tbaa !5
  %9627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9628 = load i32, ptr @test_count, align 4, !tbaa !5
  %9629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9630 = load i32, ptr %9629, align 4, !tbaa !5
  %9631 = call ptr @s2n_strerror(i32 noundef %9630, ptr noundef @.str.3)
  %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_debug(i32 noundef %9633, ptr noundef @.str.3)
  %9635 = call ptr @__errno_location() #12
  %9636 = load i32, ptr %9635, align 4, !tbaa !5
  %9637 = call ptr @strerror(i32 noundef %9636) #11
  %9638 = call ptr @__errno_location() #12
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9627, ptr noundef @.str.4, i32 noundef %9628, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 359, ptr noundef %9631, ptr noundef %9634, ptr noundef %9637, i32 noundef %9639) #11
  br label %9641

9641:                                             ; preds = %9624, %9607
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9642

9642:                                             ; preds = %9641
  br label %9643

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

9644:                                             ; No predecessors!
  br label %9645

9645:                                             ; preds = %9644
  br label %9646

9646:                                             ; preds = %9645, %9586
  br label %9647

9647:                                             ; preds = %9646
  br label %9648

9648:                                             ; preds = %9647
  br label %9649

9649:                                             ; preds = %9648
  %9650 = load i32, ptr @test_count, align 4, !tbaa !5
  %9651 = add nsw i32 %9650, 1
  store i32 %9651, ptr @test_count, align 4, !tbaa !5
  %9652 = load ptr, ptr %6, align 8, !tbaa !9
  %9653 = getelementptr inbounds %struct.s2n_connection, ptr %9652, i32 0, i32 40
  %9654 = call i32 @s2n_stuffer_wipe(ptr noundef %9653)
  %9655 = icmp eq i32 %9654, -1
  br i1 %9655, label %9656, label %9709

9656:                                             ; preds = %9649
  br label %9657

9657:                                             ; preds = %9656
  br label %9658

9658:                                             ; preds = %9657
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %9659 = call ptr @__errno_location() #12
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  store i32 %9660, ptr %181, align 4, !tbaa !5
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = call i32 @s2n_print_stacktrace(ptr noundef %9661)
  %9663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9664 = trunc i8 %9663 to i1
  br i1 %9664, label %9665, label %9687

9665:                                             ; preds = %9658
  %9666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9667 = call i32 @fileno(ptr noundef %9666) #11
  %9668 = call i32 @isatty(i32 noundef %9667) #11
  %9669 = icmp ne i32 %9668, 0
  br i1 %9669, label %9670, label %9687

9670:                                             ; preds = %9665
  %9671 = load i32, ptr %181, align 4, !tbaa !5
  %9672 = call ptr @__errno_location() #12
  store i32 %9671, ptr %9672, align 4, !tbaa !5
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = load i32, ptr @test_count, align 4, !tbaa !5
  %9675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9676 = load i32, ptr %9675, align 4, !tbaa !5
  %9677 = call ptr @s2n_strerror(i32 noundef %9676, ptr noundef @.str.3)
  %9678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9679 = load i32, ptr %9678, align 4, !tbaa !5
  %9680 = call ptr @s2n_strerror_debug(i32 noundef %9679, ptr noundef @.str.3)
  %9681 = call ptr @__errno_location() #12
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  %9683 = call ptr @strerror(i32 noundef %9682) #11
  %9684 = call ptr @__errno_location() #12
  %9685 = load i32, ptr %9684, align 4, !tbaa !5
  %9686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9673, ptr noundef @.str, i32 noundef %9674, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 360, ptr noundef %9677, ptr noundef %9680, ptr noundef %9683, i32 noundef %9685) #11
  br label %9704

9687:                                             ; preds = %9665, %9658
  %9688 = load i32, ptr %181, align 4, !tbaa !5
  %9689 = call ptr @__errno_location() #12
  store i32 %9688, ptr %9689, align 4, !tbaa !5
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = load i32, ptr @test_count, align 4, !tbaa !5
  %9692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9693 = load i32, ptr %9692, align 4, !tbaa !5
  %9694 = call ptr @s2n_strerror(i32 noundef %9693, ptr noundef @.str.3)
  %9695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9696 = load i32, ptr %9695, align 4, !tbaa !5
  %9697 = call ptr @s2n_strerror_debug(i32 noundef %9696, ptr noundef @.str.3)
  %9698 = call ptr @__errno_location() #12
  %9699 = load i32, ptr %9698, align 4, !tbaa !5
  %9700 = call ptr @strerror(i32 noundef %9699) #11
  %9701 = call ptr @__errno_location() #12
  %9702 = load i32, ptr %9701, align 4, !tbaa !5
  %9703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9690, ptr noundef @.str.4, i32 noundef %9691, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 360, ptr noundef %9694, ptr noundef %9697, ptr noundef %9700, i32 noundef %9702) #11
  br label %9704

9704:                                             ; preds = %9687, %9670
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %9705

9705:                                             ; preds = %9704
  br label %9706

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

9707:                                             ; No predecessors!
  br label %9708

9708:                                             ; preds = %9707
  br label %9709

9709:                                             ; preds = %9708, %9649
  br label %9710

9710:                                             ; preds = %9709
  br label %9711

9711:                                             ; preds = %9710
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #11
  store i64 0, ptr %182, align 8, !tbaa !51
  br label %9712

9712:                                             ; preds = %10703, %9711
  %9713 = load i64, ptr %182, align 8, !tbaa !51
  %9714 = icmp ult i64 %9713, 8
  br i1 %9714, label %9716, label %9715

9715:                                             ; preds = %9712
  store i32 905, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #11
  br label %10706

9716:                                             ; preds = %9712
  br label %9717

9717:                                             ; preds = %9716
  %9718 = load i32, ptr @test_count, align 4, !tbaa !5
  %9719 = add nsw i32 %9718, 1
  store i32 %9719, ptr @test_count, align 4, !tbaa !5
  %9720 = load ptr, ptr %6, align 8, !tbaa !9
  %9721 = call i32 @s2n_connection_wipe(ptr noundef %9720)
  %9722 = icmp eq i32 %9721, -1
  br i1 %9722, label %9723, label %9776

9723:                                             ; preds = %9717
  br label %9724

9724:                                             ; preds = %9723
  br label %9725

9725:                                             ; preds = %9724
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %9726 = call ptr @__errno_location() #12
  %9727 = load i32, ptr %9726, align 4, !tbaa !5
  store i32 %9727, ptr %183, align 4, !tbaa !5
  %9728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9729 = call i32 @s2n_print_stacktrace(ptr noundef %9728)
  %9730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9731 = trunc i8 %9730 to i1
  br i1 %9731, label %9732, label %9754

9732:                                             ; preds = %9725
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = call i32 @fileno(ptr noundef %9733) #11
  %9735 = call i32 @isatty(i32 noundef %9734) #11
  %9736 = icmp ne i32 %9735, 0
  br i1 %9736, label %9737, label %9754

9737:                                             ; preds = %9732
  %9738 = load i32, ptr %183, align 4, !tbaa !5
  %9739 = call ptr @__errno_location() #12
  store i32 %9738, ptr %9739, align 4, !tbaa !5
  %9740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9741 = load i32, ptr @test_count, align 4, !tbaa !5
  %9742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9743 = load i32, ptr %9742, align 4, !tbaa !5
  %9744 = call ptr @s2n_strerror(i32 noundef %9743, ptr noundef @.str.3)
  %9745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9746 = load i32, ptr %9745, align 4, !tbaa !5
  %9747 = call ptr @s2n_strerror_debug(i32 noundef %9746, ptr noundef @.str.3)
  %9748 = call ptr @__errno_location() #12
  %9749 = load i32, ptr %9748, align 4, !tbaa !5
  %9750 = call ptr @strerror(i32 noundef %9749) #11
  %9751 = call ptr @__errno_location() #12
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  %9753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9740, ptr noundef @.str, i32 noundef %9741, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 364, ptr noundef %9744, ptr noundef %9747, ptr noundef %9750, i32 noundef %9752) #11
  br label %9771

9754:                                             ; preds = %9732, %9725
  %9755 = load i32, ptr %183, align 4, !tbaa !5
  %9756 = call ptr @__errno_location() #12
  store i32 %9755, ptr %9756, align 4, !tbaa !5
  %9757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9758 = load i32, ptr @test_count, align 4, !tbaa !5
  %9759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9760 = load i32, ptr %9759, align 4, !tbaa !5
  %9761 = call ptr @s2n_strerror(i32 noundef %9760, ptr noundef @.str.3)
  %9762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9763 = load i32, ptr %9762, align 4, !tbaa !5
  %9764 = call ptr @s2n_strerror_debug(i32 noundef %9763, ptr noundef @.str.3)
  %9765 = call ptr @__errno_location() #12
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  %9767 = call ptr @strerror(i32 noundef %9766) #11
  %9768 = call ptr @__errno_location() #12
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9757, ptr noundef @.str.4, i32 noundef %9758, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 364, ptr noundef %9761, ptr noundef %9764, ptr noundef %9767, i32 noundef %9769) #11
  br label %9771

9771:                                             ; preds = %9754, %9737
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %9772

9772:                                             ; preds = %9771
  br label %9773

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

9774:                                             ; No predecessors!
  br label %9775

9775:                                             ; preds = %9774
  br label %9776

9776:                                             ; preds = %9775, %9717
  br label %9777

9777:                                             ; preds = %9776
  br label %9778

9778:                                             ; preds = %9777
  %9779 = load ptr, ptr %6, align 8, !tbaa !9
  %9780 = getelementptr inbounds %struct.s2n_connection, ptr %9779, i32 0, i32 25
  store i8 1, ptr %9780, align 2, !tbaa !52
  %9781 = load ptr, ptr %6, align 8, !tbaa !9
  %9782 = getelementptr inbounds %struct.s2n_connection, ptr %9781, i32 0, i32 22
  store i8 33, ptr %9782, align 1, !tbaa !53
  %9783 = load ptr, ptr %6, align 8, !tbaa !9
  %9784 = getelementptr inbounds %struct.s2n_connection, ptr %9783, i32 0, i32 21
  store i8 33, ptr %9784, align 2, !tbaa !54
  %9785 = load ptr, ptr %6, align 8, !tbaa !9
  %9786 = getelementptr inbounds %struct.s2n_connection, ptr %9785, i32 0, i32 23
  store i8 33, ptr %9786, align 4, !tbaa !55
  %9787 = load ptr, ptr %6, align 8, !tbaa !9
  %9788 = getelementptr inbounds %struct.s2n_connection, ptr %9787, i32 0, i32 26
  %9789 = load ptr, ptr %9788, align 8, !tbaa !15
  %9790 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9789, i32 0, i32 0
  %9791 = load ptr, ptr %9790, align 8, !tbaa !44
  %9792 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %9791, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %9792, align 8, !tbaa !49
  br label %9793

9793:                                             ; preds = %9778
  %9794 = load i32, ptr @test_count, align 4, !tbaa !5
  %9795 = add nsw i32 %9794, 1
  store i32 %9795, ptr @test_count, align 4, !tbaa !5
  %9796 = load ptr, ptr %6, align 8, !tbaa !9
  %9797 = call i32 @destroy_server_keys(ptr noundef %9796)
  %9798 = icmp eq i32 %9797, -1
  br i1 %9798, label %9799, label %9852

9799:                                             ; preds = %9793
  br label %9800

9800:                                             ; preds = %9799
  br label %9801

9801:                                             ; preds = %9800
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %9802 = call ptr @__errno_location() #12
  %9803 = load i32, ptr %9802, align 4, !tbaa !5
  store i32 %9803, ptr %184, 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) #11
  %9811 = call i32 @isatty(i32 noundef %9810) #11
  %9812 = icmp ne i32 %9811, 0
  br i1 %9812, label %9813, label %9830

9813:                                             ; preds = %9808
  %9814 = load i32, ptr %184, align 4, !tbaa !5
  %9815 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9824 = call ptr @__errno_location() #12
  %9825 = load i32, ptr %9824, align 4, !tbaa !5
  %9826 = call ptr @strerror(i32 noundef %9825) #11
  %9827 = call ptr @__errno_location() #12
  %9828 = load i32, ptr %9827, align 4, !tbaa !5
  %9829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9816, ptr noundef @.str, i32 noundef %9817, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 370, ptr noundef %9820, ptr noundef %9823, ptr noundef %9826, i32 noundef %9828) #11
  br label %9847

9830:                                             ; preds = %9808, %9801
  %9831 = load i32, ptr %184, align 4, !tbaa !5
  %9832 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %9841 = call ptr @__errno_location() #12
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call ptr @strerror(i32 noundef %9842) #11
  %9844 = call ptr @__errno_location() #12
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9833, ptr noundef @.str.4, i32 noundef %9834, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 370, ptr noundef %9837, ptr noundef %9840, ptr noundef %9843, i32 noundef %9845) #11
  br label %9847

9847:                                             ; preds = %9830, %9813
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %9848

9848:                                             ; preds = %9847
  br label %9849

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

9850:                                             ; No predecessors!
  br label %9851

9851:                                             ; preds = %9850
  br label %9852

9852:                                             ; preds = %9851, %9793
  br label %9853

9853:                                             ; preds = %9852
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  %9856 = load i32, ptr @test_count, align 4, !tbaa !5
  %9857 = add nsw i32 %9856, 1
  store i32 %9857, ptr @test_count, align 4, !tbaa !5
  %9858 = load ptr, ptr %6, align 8, !tbaa !9
  %9859 = call i32 @setup_server_keys(ptr noundef %9858, ptr noundef %12)
  %9860 = icmp eq i32 %9859, -1
  br i1 %9860, label %9861, label %9914

9861:                                             ; preds = %9855
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %9864 = call ptr @__errno_location() #12
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  store i32 %9865, ptr %185, align 4, !tbaa !5
  %9866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9867 = call i32 @s2n_print_stacktrace(ptr noundef %9866)
  %9868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9869 = trunc i8 %9868 to i1
  br i1 %9869, label %9870, label %9892

9870:                                             ; preds = %9863
  %9871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9872 = call i32 @fileno(ptr noundef %9871) #11
  %9873 = call i32 @isatty(i32 noundef %9872) #11
  %9874 = icmp ne i32 %9873, 0
  br i1 %9874, label %9875, label %9892

9875:                                             ; preds = %9870
  %9876 = load i32, ptr %185, align 4, !tbaa !5
  %9877 = call ptr @__errno_location() #12
  store i32 %9876, ptr %9877, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = load i32, ptr @test_count, align 4, !tbaa !5
  %9880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9881 = load i32, ptr %9880, align 4, !tbaa !5
  %9882 = call ptr @s2n_strerror(i32 noundef %9881, ptr noundef @.str.3)
  %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_debug(i32 noundef %9884, ptr noundef @.str.3)
  %9886 = call ptr @__errno_location() #12
  %9887 = load i32, ptr %9886, align 4, !tbaa !5
  %9888 = call ptr @strerror(i32 noundef %9887) #11
  %9889 = call ptr @__errno_location() #12
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9878, ptr noundef @.str, i32 noundef %9879, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 371, ptr noundef %9882, ptr noundef %9885, ptr noundef %9888, i32 noundef %9890) #11
  br label %9909

9892:                                             ; preds = %9870, %9863
  %9893 = load i32, ptr %185, align 4, !tbaa !5
  %9894 = call ptr @__errno_location() #12
  store i32 %9893, ptr %9894, align 4, !tbaa !5
  %9895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9896 = load i32, ptr @test_count, align 4, !tbaa !5
  %9897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call ptr @s2n_strerror(i32 noundef %9898, ptr noundef @.str.3)
  %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_debug(i32 noundef %9901, ptr noundef @.str.3)
  %9903 = call ptr @__errno_location() #12
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @strerror(i32 noundef %9904) #11
  %9906 = call ptr @__errno_location() #12
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9895, ptr noundef @.str.4, i32 noundef %9896, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 371, ptr noundef %9899, ptr noundef %9902, ptr noundef %9905, i32 noundef %9907) #11
  br label %9909

9909:                                             ; preds = %9892, %9875
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %9910

9910:                                             ; preds = %9909
  br label %9911

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

9912:                                             ; No predecessors!
  br label %9913

9913:                                             ; preds = %9912
  br label %9914

9914:                                             ; preds = %9913, %9855
  br label %9915

9915:                                             ; preds = %9914
  br label %9916

9916:                                             ; preds = %9915
  %9917 = load ptr, ptr %6, align 8, !tbaa !9
  %9918 = getelementptr inbounds %struct.s2n_connection, ptr %9917, i32 0, i32 23
  store i8 33, ptr %9918, align 4, !tbaa !55
  br label %9919

9919:                                             ; preds = %9916
  %9920 = load i32, ptr @test_count, align 4, !tbaa !5
  %9921 = add nsw i32 %9920, 1
  store i32 %9921, ptr @test_count, align 4, !tbaa !5
  %9922 = load ptr, ptr %6, align 8, !tbaa !9
  %9923 = call i32 @s2n_record_write(ptr noundef %9922, i8 noundef zeroext 23, ptr noundef %133)
  %9924 = getelementptr inbounds %struct.s2n_result, ptr %186, i32 0, i32 0
  store i32 %9923, ptr %9924, align 4
  %9925 = getelementptr inbounds %struct.s2n_result, ptr %186, i32 0, i32 0
  %9926 = load i32, ptr %9925, align 4
  %9927 = call zeroext i1 @s2n_result_is_ok(i32 %9926)
  br i1 %9927, label %9981, label %9928

9928:                                             ; preds = %9919
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %9931 = call ptr @__errno_location() #12
  %9932 = load i32, ptr %9931, align 4, !tbaa !5
  store i32 %9932, ptr %187, align 4, !tbaa !5
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = call i32 @s2n_print_stacktrace(ptr noundef %9933)
  %9935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9936 = trunc i8 %9935 to i1
  br i1 %9936, label %9937, label %9959

9937:                                             ; preds = %9930
  %9938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9939 = call i32 @fileno(ptr noundef %9938) #11
  %9940 = call i32 @isatty(i32 noundef %9939) #11
  %9941 = icmp ne i32 %9940, 0
  br i1 %9941, label %9942, label %9959

9942:                                             ; preds = %9937
  %9943 = load i32, ptr %187, align 4, !tbaa !5
  %9944 = call ptr @__errno_location() #12
  store i32 %9943, ptr %9944, align 4, !tbaa !5
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = load i32, ptr @test_count, align 4, !tbaa !5
  %9947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call ptr @s2n_strerror(i32 noundef %9948, ptr noundef @.str.3)
  %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_debug(i32 noundef %9951, ptr noundef @.str.3)
  %9953 = call ptr @__errno_location() #12
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call ptr @strerror(i32 noundef %9954) #11
  %9956 = call ptr @__errno_location() #12
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9945, ptr noundef @.str, i32 noundef %9946, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 373, ptr noundef %9949, ptr noundef %9952, ptr noundef %9955, i32 noundef %9957) #11
  br label %9976

9959:                                             ; preds = %9937, %9930
  %9960 = load i32, ptr %187, align 4, !tbaa !5
  %9961 = call ptr @__errno_location() #12
  store i32 %9960, ptr %9961, align 4, !tbaa !5
  %9962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9963 = load i32, ptr @test_count, align 4, !tbaa !5
  %9964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror(i32 noundef %9965, ptr noundef @.str.3)
  %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_debug(i32 noundef %9968, ptr noundef @.str.3)
  %9970 = call ptr @__errno_location() #12
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @strerror(i32 noundef %9971) #11
  %9973 = call ptr @__errno_location() #12
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9962, ptr noundef @.str.4, i32 noundef %9963, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 373, ptr noundef %9966, ptr noundef %9969, ptr noundef %9972, i32 noundef %9974) #11
  br label %9976

9976:                                             ; preds = %9959, %9942
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9977

9977:                                             ; preds = %9976
  br label %9978

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

9979:                                             ; No predecessors!
  br label %9980

9980:                                             ; preds = %9979
  br label %9981

9981:                                             ; preds = %9980, %9919
  br label %9982

9982:                                             ; preds = %9981
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

9984:                                             ; preds = %9983
  %9985 = load i32, ptr @test_count, align 4, !tbaa !5
  %9986 = add nsw i32 %9985, 1
  store i32 %9986, ptr @test_count, align 4, !tbaa !5
  %9987 = load ptr, ptr %6, align 8, !tbaa !9
  %9988 = getelementptr inbounds %struct.s2n_connection, ptr %9987, i32 0, i32 40
  %9989 = call i32 @s2n_stuffer_wipe(ptr noundef %9988)
  %9990 = icmp eq i32 %9989, -1
  br i1 %9990, label %9991, label %10044

9991:                                             ; preds = %9984
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9994 = call ptr @__errno_location() #12
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  store i32 %9995, ptr %188, align 4, !tbaa !5
  %9996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9997 = call i32 @s2n_print_stacktrace(ptr noundef %9996)
  %9998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9999 = trunc i8 %9998 to i1
  br i1 %9999, label %10000, label %10022

10000:                                            ; preds = %9993
  %10001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10002 = call i32 @fileno(ptr noundef %10001) #11
  %10003 = call i32 @isatty(i32 noundef %10002) #11
  %10004 = icmp ne i32 %10003, 0
  br i1 %10004, label %10005, label %10022

10005:                                            ; preds = %10000
  %10006 = load i32, ptr %188, align 4, !tbaa !5
  %10007 = call ptr @__errno_location() #12
  store i32 %10006, ptr %10007, align 4, !tbaa !5
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = load i32, ptr @test_count, align 4, !tbaa !5
  %10010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10011 = load i32, ptr %10010, align 4, !tbaa !5
  %10012 = call ptr @s2n_strerror(i32 noundef %10011, ptr noundef @.str.3)
  %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_debug(i32 noundef %10014, ptr noundef @.str.3)
  %10016 = call ptr @__errno_location() #12
  %10017 = load i32, ptr %10016, align 4, !tbaa !5
  %10018 = call ptr @strerror(i32 noundef %10017) #11
  %10019 = call ptr @__errno_location() #12
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  %10021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10008, ptr noundef @.str, i32 noundef %10009, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 376, ptr noundef %10012, ptr noundef %10015, ptr noundef %10018, i32 noundef %10020) #11
  br label %10039

10022:                                            ; preds = %10000, %9993
  %10023 = load i32, ptr %188, align 4, !tbaa !5
  %10024 = call ptr @__errno_location() #12
  store i32 %10023, ptr %10024, align 4, !tbaa !5
  %10025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10026 = load i32, ptr @test_count, align 4, !tbaa !5
  %10027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @s2n_strerror(i32 noundef %10028, ptr noundef @.str.3)
  %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_debug(i32 noundef %10031, ptr noundef @.str.3)
  %10033 = call ptr @__errno_location() #12
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call ptr @strerror(i32 noundef %10034) #11
  %10036 = call ptr @__errno_location() #12
  %10037 = load i32, ptr %10036, align 4, !tbaa !5
  %10038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10025, ptr noundef @.str.4, i32 noundef %10026, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 376, ptr noundef %10029, ptr noundef %10032, ptr noundef %10035, i32 noundef %10037) #11
  br label %10039

10039:                                            ; preds = %10022, %10005
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %10040

10040:                                            ; preds = %10039
  br label %10041

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

10042:                                            ; No predecessors!
  br label %10043

10043:                                            ; preds = %10042
  br label %10044

10044:                                            ; preds = %10043, %9984
  br label %10045

10045:                                            ; preds = %10044
  br label %10046

10046:                                            ; preds = %10045
  br label %10047

10047:                                            ; preds = %10046
  %10048 = load i32, ptr @test_count, align 4, !tbaa !5
  %10049 = add nsw i32 %10048, 1
  store i32 %10049, ptr @test_count, align 4, !tbaa !5
  %10050 = load ptr, ptr %6, align 8, !tbaa !9
  %10051 = getelementptr inbounds %struct.s2n_connection, ptr %10050, i32 0, i32 38
  %10052 = call i32 @s2n_stuffer_wipe(ptr noundef %10051)
  %10053 = icmp eq i32 %10052, -1
  br i1 %10053, label %10054, label %10107

10054:                                            ; preds = %10047
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %10057 = call ptr @__errno_location() #12
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  store i32 %10058, ptr %189, align 4, !tbaa !5
  %10059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10060 = call i32 @s2n_print_stacktrace(ptr noundef %10059)
  %10061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10062 = trunc i8 %10061 to i1
  br i1 %10062, label %10063, label %10085

10063:                                            ; preds = %10056
  %10064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10065 = call i32 @fileno(ptr noundef %10064) #11
  %10066 = call i32 @isatty(i32 noundef %10065) #11
  %10067 = icmp ne i32 %10066, 0
  br i1 %10067, label %10068, label %10085

10068:                                            ; preds = %10063
  %10069 = load i32, ptr %189, align 4, !tbaa !5
  %10070 = call ptr @__errno_location() #12
  store i32 %10069, ptr %10070, align 4, !tbaa !5
  %10071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10072 = load i32, ptr @test_count, align 4, !tbaa !5
  %10073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10074 = load i32, ptr %10073, align 4, !tbaa !5
  %10075 = call ptr @s2n_strerror(i32 noundef %10074, ptr noundef @.str.3)
  %10076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10077 = load i32, ptr %10076, align 4, !tbaa !5
  %10078 = call ptr @s2n_strerror_debug(i32 noundef %10077, ptr noundef @.str.3)
  %10079 = call ptr @__errno_location() #12
  %10080 = load i32, ptr %10079, align 4, !tbaa !5
  %10081 = call ptr @strerror(i32 noundef %10080) #11
  %10082 = call ptr @__errno_location() #12
  %10083 = load i32, ptr %10082, align 4, !tbaa !5
  %10084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10071, ptr noundef @.str, i32 noundef %10072, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 377, ptr noundef %10075, ptr noundef %10078, ptr noundef %10081, i32 noundef %10083) #11
  br label %10102

10085:                                            ; preds = %10063, %10056
  %10086 = load i32, ptr %189, align 4, !tbaa !5
  %10087 = call ptr @__errno_location() #12
  store i32 %10086, ptr %10087, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = load i32, ptr @test_count, align 4, !tbaa !5
  %10090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call ptr @s2n_strerror(i32 noundef %10091, ptr noundef @.str.3)
  %10093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10094 = load i32, ptr %10093, align 4, !tbaa !5
  %10095 = call ptr @s2n_strerror_debug(i32 noundef %10094, ptr noundef @.str.3)
  %10096 = call ptr @__errno_location() #12
  %10097 = load i32, ptr %10096, align 4, !tbaa !5
  %10098 = call ptr @strerror(i32 noundef %10097) #11
  %10099 = call ptr @__errno_location() #12
  %10100 = load i32, ptr %10099, align 4, !tbaa !5
  %10101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10088, ptr noundef @.str.4, i32 noundef %10089, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 377, ptr noundef %10092, ptr noundef %10095, ptr noundef %10098, i32 noundef %10100) #11
  br label %10102

10102:                                            ; preds = %10085, %10068
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %10103

10103:                                            ; preds = %10102
  br label %10104

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

10105:                                            ; No predecessors!
  br label %10106

10106:                                            ; preds = %10105
  br label %10107

10107:                                            ; preds = %10106, %10047
  br label %10108

10108:                                            ; preds = %10107
  br label %10109

10109:                                            ; preds = %10108
  br label %10110

10110:                                            ; preds = %10109
  %10111 = load i32, ptr @test_count, align 4, !tbaa !5
  %10112 = add nsw i32 %10111, 1
  store i32 %10112, ptr @test_count, align 4, !tbaa !5
  %10113 = load ptr, ptr %6, align 8, !tbaa !9
  %10114 = getelementptr inbounds %struct.s2n_connection, ptr %10113, i32 0, i32 41
  %10115 = load ptr, ptr %6, align 8, !tbaa !9
  %10116 = getelementptr inbounds %struct.s2n_connection, ptr %10115, i32 0, i32 38
  %10117 = call i32 @s2n_stuffer_copy(ptr noundef %10114, ptr noundef %10116, i32 noundef 5)
  %10118 = icmp eq i32 %10117, -1
  br i1 %10118, label %10119, label %10172

10119:                                            ; preds = %10110
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

10121:                                            ; preds = %10120
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %10122 = call ptr @__errno_location() #12
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  store i32 %10123, ptr %190, align 4, !tbaa !5
  %10124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10125 = call i32 @s2n_print_stacktrace(ptr noundef %10124)
  %10126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10127 = trunc i8 %10126 to i1
  br i1 %10127, label %10128, label %10150

10128:                                            ; preds = %10121
  %10129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10130 = call i32 @fileno(ptr noundef %10129) #11
  %10131 = call i32 @isatty(i32 noundef %10130) #11
  %10132 = icmp ne i32 %10131, 0
  br i1 %10132, label %10133, label %10150

10133:                                            ; preds = %10128
  %10134 = load i32, ptr %190, align 4, !tbaa !5
  %10135 = call ptr @__errno_location() #12
  store i32 %10134, ptr %10135, align 4, !tbaa !5
  %10136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10137 = load i32, ptr @test_count, align 4, !tbaa !5
  %10138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10139 = load i32, ptr %10138, align 4, !tbaa !5
  %10140 = call ptr @s2n_strerror(i32 noundef %10139, ptr noundef @.str.3)
  %10141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  %10143 = call ptr @s2n_strerror_debug(i32 noundef %10142, ptr noundef @.str.3)
  %10144 = call ptr @__errno_location() #12
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @strerror(i32 noundef %10145) #11
  %10147 = call ptr @__errno_location() #12
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10136, ptr noundef @.str, i32 noundef %10137, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 378, ptr noundef %10140, ptr noundef %10143, ptr noundef %10146, i32 noundef %10148) #11
  br label %10167

10150:                                            ; preds = %10128, %10121
  %10151 = load i32, ptr %190, align 4, !tbaa !5
  %10152 = call ptr @__errno_location() #12
  store i32 %10151, ptr %10152, align 4, !tbaa !5
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = load i32, ptr @test_count, align 4, !tbaa !5
  %10155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call ptr @s2n_strerror(i32 noundef %10156, ptr noundef @.str.3)
  %10158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call ptr @s2n_strerror_debug(i32 noundef %10159, ptr noundef @.str.3)
  %10161 = call ptr @__errno_location() #12
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @strerror(i32 noundef %10162) #11
  %10164 = call ptr @__errno_location() #12
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10153, ptr noundef @.str.4, i32 noundef %10154, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 378, ptr noundef %10157, ptr noundef %10160, ptr noundef %10163, i32 noundef %10165) #11
  br label %10167

10167:                                            ; preds = %10150, %10133
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %10168

10168:                                            ; preds = %10167
  br label %10169

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

10170:                                            ; No predecessors!
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

10172:                                            ; preds = %10171, %10110
  br label %10173

10173:                                            ; preds = %10172
  br label %10174

10174:                                            ; preds = %10173
  br label %10175

10175:                                            ; preds = %10174
  %10176 = load i32, ptr @test_count, align 4, !tbaa !5
  %10177 = add nsw i32 %10176, 1
  store i32 %10177, ptr @test_count, align 4, !tbaa !5
  %10178 = load ptr, ptr %6, align 8, !tbaa !9
  %10179 = getelementptr inbounds %struct.s2n_connection, ptr %10178, i32 0, i32 41
  %10180 = load ptr, ptr %6, align 8, !tbaa !9
  %10181 = getelementptr inbounds %struct.s2n_connection, ptr %10180, i32 0, i32 40
  %10182 = load ptr, ptr %6, align 8, !tbaa !9
  %10183 = getelementptr inbounds %struct.s2n_connection, ptr %10182, i32 0, i32 41
  %10184 = getelementptr inbounds %struct.s2n_stuffer, ptr %10183, i32 0, i32 2
  %10185 = load i32, ptr %10184, align 4, !tbaa !61
  %10186 = load ptr, ptr %6, align 8, !tbaa !9
  %10187 = getelementptr inbounds %struct.s2n_connection, ptr %10186, i32 0, i32 41
  %10188 = getelementptr inbounds %struct.s2n_stuffer, ptr %10187, i32 0, i32 1
  %10189 = load i32, ptr %10188, align 8, !tbaa !62
  %10190 = sub i32 %10185, %10189
  %10191 = call i32 @s2n_stuffer_copy(ptr noundef %10179, ptr noundef %10181, i32 noundef %10190)
  %10192 = icmp eq i32 %10191, -1
  br i1 %10192, label %10193, label %10246

10193:                                            ; preds = %10175
  br label %10194

10194:                                            ; preds = %10193
  br label %10195

10195:                                            ; preds = %10194
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %10196 = call ptr @__errno_location() #12
  %10197 = load i32, ptr %10196, align 4, !tbaa !5
  store i32 %10197, ptr %191, align 4, !tbaa !5
  %10198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10199 = call i32 @s2n_print_stacktrace(ptr noundef %10198)
  %10200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10201 = trunc i8 %10200 to i1
  br i1 %10201, label %10202, label %10224

10202:                                            ; preds = %10195
  %10203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10204 = call i32 @fileno(ptr noundef %10203) #11
  %10205 = call i32 @isatty(i32 noundef %10204) #11
  %10206 = icmp ne i32 %10205, 0
  br i1 %10206, label %10207, label %10224

10207:                                            ; preds = %10202
  %10208 = load i32, ptr %191, align 4, !tbaa !5
  %10209 = call ptr @__errno_location() #12
  store i32 %10208, ptr %10209, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call ptr @s2n_strerror(i32 noundef %10213, ptr noundef @.str.3)
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror_debug(i32 noundef %10216, ptr noundef @.str.3)
  %10218 = call ptr @__errno_location() #12
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @strerror(i32 noundef %10219) #11
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10210, ptr noundef @.str, i32 noundef %10211, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 379, ptr noundef %10214, ptr noundef %10217, ptr noundef %10220, i32 noundef %10222) #11
  br label %10241

10224:                                            ; preds = %10202, %10195
  %10225 = load i32, ptr %191, align 4, !tbaa !5
  %10226 = call ptr @__errno_location() #12
  store i32 %10225, ptr %10226, align 4, !tbaa !5
  %10227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10228 = load i32, ptr @test_count, align 4, !tbaa !5
  %10229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror(i32 noundef %10230, ptr noundef @.str.3)
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror_debug(i32 noundef %10233, ptr noundef @.str.3)
  %10235 = call ptr @__errno_location() #12
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @strerror(i32 noundef %10236) #11
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10227, ptr noundef @.str.4, i32 noundef %10228, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 379, ptr noundef %10231, ptr noundef %10234, ptr noundef %10237, i32 noundef %10239) #11
  br label %10241

10241:                                            ; preds = %10224, %10207
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %10242

10242:                                            ; preds = %10241
  br label %10243

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

10244:                                            ; No predecessors!
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245, %10175
  br label %10247

10247:                                            ; preds = %10246
  br label %10248

10248:                                            ; preds = %10247
  %10249 = load ptr, ptr %6, align 8, !tbaa !9
  %10250 = getelementptr inbounds %struct.s2n_connection, ptr %10249, i32 0, i32 40
  %10251 = getelementptr inbounds %struct.s2n_stuffer, ptr %10250, i32 0, i32 0
  %10252 = getelementptr inbounds %struct.s2n_blob, ptr %10251, i32 0, i32 0
  %10253 = load ptr, ptr %10252, align 8, !tbaa !64
  %10254 = load i64, ptr %182, align 8, !tbaa !51
  %10255 = getelementptr inbounds i8, ptr %10253, i64 %10254
  %10256 = load i8, ptr %10255, align 1, !tbaa !59
  %10257 = add i8 %10256, 1
  store i8 %10257, ptr %10255, align 1, !tbaa !59
  br label %10258

10258:                                            ; preds = %10248
  %10259 = load i32, ptr @test_count, align 4, !tbaa !5
  %10260 = add nsw i32 %10259, 1
  store i32 %10260, ptr @test_count, align 4, !tbaa !5
  %10261 = load ptr, ptr %6, align 8, !tbaa !9
  %10262 = call i32 @s2n_record_header_parse(ptr noundef %10261, ptr noundef %158, ptr noundef %159)
  %10263 = icmp eq i32 %10262, -1
  br i1 %10263, label %10264, label %10317

10264:                                            ; preds = %10258
  br label %10265

10265:                                            ; preds = %10264
  br label %10266

10266:                                            ; preds = %10265
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %10267 = call ptr @__errno_location() #12
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  store i32 %10268, ptr %192, align 4, !tbaa !5
  %10269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10270 = call i32 @s2n_print_stacktrace(ptr noundef %10269)
  %10271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10272 = trunc i8 %10271 to i1
  br i1 %10272, label %10273, label %10295

10273:                                            ; preds = %10266
  %10274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10275 = call i32 @fileno(ptr noundef %10274) #11
  %10276 = call i32 @isatty(i32 noundef %10275) #11
  %10277 = icmp ne i32 %10276, 0
  br i1 %10277, label %10278, label %10295

10278:                                            ; preds = %10273
  %10279 = load i32, ptr %192, align 4, !tbaa !5
  %10280 = call ptr @__errno_location() #12
  store i32 %10279, ptr %10280, align 4, !tbaa !5
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = load i32, ptr @test_count, align 4, !tbaa !5
  %10283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10284 = load i32, ptr %10283, align 4, !tbaa !5
  %10285 = call ptr @s2n_strerror(i32 noundef %10284, ptr noundef @.str.3)
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror_debug(i32 noundef %10287, ptr noundef @.str.3)
  %10289 = call ptr @__errno_location() #12
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @strerror(i32 noundef %10290) #11
  %10292 = call ptr @__errno_location() #12
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10281, ptr noundef @.str, i32 noundef %10282, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 381, ptr noundef %10285, ptr noundef %10288, ptr noundef %10291, i32 noundef %10293) #11
  br label %10312

10295:                                            ; preds = %10273, %10266
  %10296 = load i32, ptr %192, align 4, !tbaa !5
  %10297 = call ptr @__errno_location() #12
  store i32 %10296, ptr %10297, align 4, !tbaa !5
  %10298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10299 = load i32, ptr @test_count, align 4, !tbaa !5
  %10300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10301 = load i32, ptr %10300, align 4, !tbaa !5
  %10302 = call ptr @s2n_strerror(i32 noundef %10301, ptr noundef @.str.3)
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror_debug(i32 noundef %10304, ptr noundef @.str.3)
  %10306 = call ptr @__errno_location() #12
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @strerror(i32 noundef %10307) #11
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10298, ptr noundef @.str.4, i32 noundef %10299, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 381, ptr noundef %10302, ptr noundef %10305, ptr noundef %10308, i32 noundef %10310) #11
  br label %10312

10312:                                            ; preds = %10295, %10278
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %10313

10313:                                            ; preds = %10312
  br label %10314

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

10315:                                            ; No predecessors!
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

10317:                                            ; preds = %10316, %10258
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  %10322 = load i32, ptr @test_count, align 4, !tbaa !5
  %10323 = add nsw i32 %10322, 1
  store i32 %10323, ptr @test_count, align 4, !tbaa !5
  %10324 = load ptr, ptr %6, align 8, !tbaa !9
  %10325 = call i32 @s2n_record_parse(ptr noundef %10324)
  %10326 = icmp eq i32 %10325, -1
  br i1 %10326, label %10380, label %10327

10327:                                            ; preds = %10321
  br label %10328

10328:                                            ; preds = %10327
  br label %10329

10329:                                            ; preds = %10328
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %10330 = call ptr @__errno_location() #12
  %10331 = load i32, ptr %10330, align 4, !tbaa !5
  store i32 %10331, ptr %193, align 4, !tbaa !5
  %10332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10333 = call i32 @s2n_print_stacktrace(ptr noundef %10332)
  %10334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10335 = trunc i8 %10334 to i1
  br i1 %10335, label %10336, label %10358

10336:                                            ; preds = %10329
  %10337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10338 = call i32 @fileno(ptr noundef %10337) #11
  %10339 = call i32 @isatty(i32 noundef %10338) #11
  %10340 = icmp ne i32 %10339, 0
  br i1 %10340, label %10341, label %10358

10341:                                            ; preds = %10336
  %10342 = load i32, ptr %193, align 4, !tbaa !5
  %10343 = call ptr @__errno_location() #12
  store i32 %10342, ptr %10343, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10347 = load i32, ptr %10346, align 4, !tbaa !5
  %10348 = call ptr @s2n_strerror(i32 noundef %10347, ptr noundef @.str.3)
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef @.str.3)
  %10352 = call ptr @__errno_location() #12
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @strerror(i32 noundef %10353) #11
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef @.str, i32 noundef %10345, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10348, ptr noundef %10351, ptr noundef %10354, i32 noundef %10356) #11
  br label %10375

10358:                                            ; preds = %10336, %10329
  %10359 = load i32, ptr %193, align 4, !tbaa !5
  %10360 = call ptr @__errno_location() #12
  store i32 %10359, ptr %10360, align 4, !tbaa !5
  %10361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10362 = load i32, ptr @test_count, align 4, !tbaa !5
  %10363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10364 = load i32, ptr %10363, align 4, !tbaa !5
  %10365 = call ptr @s2n_strerror(i32 noundef %10364, ptr noundef @.str.3)
  %10366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10367 = load i32, ptr %10366, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror_debug(i32 noundef %10367, ptr noundef @.str.3)
  %10369 = call ptr @__errno_location() #12
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @strerror(i32 noundef %10370) #11
  %10372 = call ptr @__errno_location() #12
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10361, ptr noundef @.str.4, i32 noundef %10362, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10365, ptr noundef %10368, ptr noundef %10371, i32 noundef %10373) #11
  br label %10375

10375:                                            ; preds = %10358, %10341
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %10376

10376:                                            ; preds = %10375
  br label %10377

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

10378:                                            ; No predecessors!
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

10380:                                            ; preds = %10379, %10321
  br label %10381

10381:                                            ; preds = %10380
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382
  %10384 = load i32, ptr @test_count, align 4, !tbaa !5
  %10385 = add nsw i32 %10384, 1
  store i32 %10385, ptr @test_count, align 4, !tbaa !5
  %10386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10387 = load i32, ptr %10386, align 4, !tbaa !5
  %10388 = icmp eq i32 %10387, 0
  br i1 %10388, label %10389, label %10442

10389:                                            ; preds = %10383
  br label %10390

10390:                                            ; preds = %10389
  br label %10391

10391:                                            ; preds = %10390
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %10392 = call ptr @__errno_location() #12
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  store i32 %10393, ptr %194, align 4, !tbaa !5
  %10394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10395 = call i32 @s2n_print_stacktrace(ptr noundef %10394)
  %10396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10397 = trunc i8 %10396 to i1
  br i1 %10397, label %10398, label %10420

10398:                                            ; preds = %10391
  %10399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10400 = call i32 @fileno(ptr noundef %10399) #11
  %10401 = call i32 @isatty(i32 noundef %10400) #11
  %10402 = icmp ne i32 %10401, 0
  br i1 %10402, label %10403, label %10420

10403:                                            ; preds = %10398
  %10404 = load i32, ptr %194, align 4, !tbaa !5
  %10405 = call ptr @__errno_location() #12
  store i32 %10404, ptr %10405, align 4, !tbaa !5
  %10406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10407 = load i32, ptr @test_count, align 4, !tbaa !5
  %10408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10409 = load i32, ptr %10408, align 4, !tbaa !5
  %10410 = call ptr @s2n_strerror(i32 noundef %10409, ptr noundef @.str.3)
  %10411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10412 = load i32, ptr %10411, align 4, !tbaa !5
  %10413 = call ptr @s2n_strerror_debug(i32 noundef %10412, ptr noundef @.str.3)
  %10414 = call ptr @__errno_location() #12
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  %10416 = call ptr @strerror(i32 noundef %10415) #11
  %10417 = call ptr @__errno_location() #12
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10406, ptr noundef @.str, i32 noundef %10407, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10410, ptr noundef %10413, ptr noundef %10416, i32 noundef %10418) #11
  br label %10437

10420:                                            ; preds = %10398, %10391
  %10421 = load i32, ptr %194, align 4, !tbaa !5
  %10422 = call ptr @__errno_location() #12
  store i32 %10421, ptr %10422, align 4, !tbaa !5
  %10423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10424 = load i32, ptr @test_count, align 4, !tbaa !5
  %10425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10426 = load i32, ptr %10425, align 4, !tbaa !5
  %10427 = call ptr @s2n_strerror(i32 noundef %10426, ptr noundef @.str.3)
  %10428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10429 = load i32, ptr %10428, align 4, !tbaa !5
  %10430 = call ptr @s2n_strerror_debug(i32 noundef %10429, ptr noundef @.str.3)
  %10431 = call ptr @__errno_location() #12
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  %10433 = call ptr @strerror(i32 noundef %10432) #11
  %10434 = call ptr @__errno_location() #12
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10423, ptr noundef @.str.4, i32 noundef %10424, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10427, ptr noundef %10430, ptr noundef %10433, i32 noundef %10435) #11
  br label %10437

10437:                                            ; preds = %10420, %10403
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %10438

10438:                                            ; preds = %10437
  br label %10439

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

10440:                                            ; No predecessors!
  br label %10441

10441:                                            ; preds = %10440
  br label %10442

10442:                                            ; preds = %10441, %10383
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

10444:                                            ; preds = %10443
  br label %10445

10445:                                            ; preds = %10444
  %10446 = load i32, ptr @test_count, align 4, !tbaa !5
  %10447 = add nsw i32 %10446, 1
  store i32 %10447, ptr @test_count, align 4, !tbaa !5
  %10448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10449 = load i32, ptr %10448, align 4, !tbaa !5
  %10450 = call ptr @s2n_strerror_debug(i32 noundef %10449, ptr noundef @.str.3)
  %10451 = icmp eq ptr %10450, null
  br i1 %10451, label %10452, label %10505

10452:                                            ; preds = %10445
  br label %10453

10453:                                            ; preds = %10452
  br label %10454

10454:                                            ; preds = %10453
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %10455 = call ptr @__errno_location() #12
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  store i32 %10456, ptr %195, align 4, !tbaa !5
  %10457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10458 = call i32 @s2n_print_stacktrace(ptr noundef %10457)
  %10459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10460 = trunc i8 %10459 to i1
  br i1 %10460, label %10461, label %10483

10461:                                            ; preds = %10454
  %10462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10463 = call i32 @fileno(ptr noundef %10462) #11
  %10464 = call i32 @isatty(i32 noundef %10463) #11
  %10465 = icmp ne i32 %10464, 0
  br i1 %10465, label %10466, label %10483

10466:                                            ; preds = %10461
  %10467 = load i32, ptr %195, align 4, !tbaa !5
  %10468 = call ptr @__errno_location() #12
  store i32 %10467, ptr %10468, align 4, !tbaa !5
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = load i32, ptr @test_count, align 4, !tbaa !5
  %10471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror(i32 noundef %10472, ptr noundef @.str.3)
  %10474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10475 = load i32, ptr %10474, align 4, !tbaa !5
  %10476 = call ptr @s2n_strerror_debug(i32 noundef %10475, ptr noundef @.str.3)
  %10477 = call ptr @__errno_location() #12
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call ptr @strerror(i32 noundef %10478) #11
  %10480 = call ptr @__errno_location() #12
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10469, ptr noundef @.str, i32 noundef %10470, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10473, ptr noundef %10476, ptr noundef %10479, i32 noundef %10481) #11
  br label %10500

10483:                                            ; preds = %10461, %10454
  %10484 = load i32, ptr %195, align 4, !tbaa !5
  %10485 = call ptr @__errno_location() #12
  store i32 %10484, ptr %10485, align 4, !tbaa !5
  %10486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10489 = load i32, ptr %10488, align 4, !tbaa !5
  %10490 = call ptr @s2n_strerror(i32 noundef %10489, ptr noundef @.str.3)
  %10491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10492 = load i32, ptr %10491, align 4, !tbaa !5
  %10493 = call ptr @s2n_strerror_debug(i32 noundef %10492, ptr noundef @.str.3)
  %10494 = call ptr @__errno_location() #12
  %10495 = load i32, ptr %10494, align 4, !tbaa !5
  %10496 = call ptr @strerror(i32 noundef %10495) #11
  %10497 = call ptr @__errno_location() #12
  %10498 = load i32, ptr %10497, align 4, !tbaa !5
  %10499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10486, ptr noundef @.str.4, i32 noundef %10487, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 382, ptr noundef %10490, ptr noundef %10493, ptr noundef %10496, i32 noundef %10498) #11
  br label %10500

10500:                                            ; preds = %10483, %10466
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %10501

10501:                                            ; preds = %10500
  br label %10502

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

10503:                                            ; No predecessors!
  br label %10504

10504:                                            ; preds = %10503
  br label %10505

10505:                                            ; preds = %10504, %10445
  br label %10506

10506:                                            ; preds = %10505
  br label %10507

10507:                                            ; preds = %10506
  br label %10508

10508:                                            ; preds = %10507
  %10509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10509, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10510 = call ptr @__errno_location() #12
  store i32 0, ptr %10510, align 4, !tbaa !5
  br label %10511

10511:                                            ; preds = %10508
  br label %10512

10512:                                            ; preds = %10511
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514
  %10516 = load i32, ptr @test_count, align 4, !tbaa !5
  %10517 = add nsw i32 %10516, 1
  store i32 %10517, ptr @test_count, align 4, !tbaa !5
  %10518 = load i8, ptr %158, align 1, !tbaa !59
  %10519 = zext i8 %10518 to i32
  %10520 = icmp eq i32 %10519, 23
  br i1 %10520, label %10574, label %10521

10521:                                            ; preds = %10515
  br label %10522

10522:                                            ; preds = %10521
  br label %10523

10523:                                            ; preds = %10522
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %10524 = call ptr @__errno_location() #12
  %10525 = load i32, ptr %10524, align 4, !tbaa !5
  store i32 %10525, ptr %196, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = call i32 @s2n_print_stacktrace(ptr noundef %10526)
  %10528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10529 = trunc i8 %10528 to i1
  br i1 %10529, label %10530, label %10552

10530:                                            ; preds = %10523
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = call i32 @fileno(ptr noundef %10531) #11
  %10533 = call i32 @isatty(i32 noundef %10532) #11
  %10534 = icmp ne i32 %10533, 0
  br i1 %10534, label %10535, label %10552

10535:                                            ; preds = %10530
  %10536 = load i32, ptr %196, align 4, !tbaa !5
  %10537 = call ptr @__errno_location() #12
  store i32 %10536, ptr %10537, align 4, !tbaa !5
  %10538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10541 = load i32, ptr %10540, align 4, !tbaa !5
  %10542 = call ptr @s2n_strerror(i32 noundef %10541, ptr noundef @.str.3)
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror_debug(i32 noundef %10544, ptr noundef @.str.3)
  %10546 = call ptr @__errno_location() #12
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @strerror(i32 noundef %10547) #11
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10538, ptr noundef @.str, i32 noundef %10539, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 383, ptr noundef %10542, ptr noundef %10545, ptr noundef %10548, i32 noundef %10550) #11
  br label %10569

10552:                                            ; preds = %10530, %10523
  %10553 = load i32, ptr %196, align 4, !tbaa !5
  %10554 = call ptr @__errno_location() #12
  store i32 %10553, ptr %10554, align 4, !tbaa !5
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef @.str.3)
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror_debug(i32 noundef %10561, ptr noundef @.str.3)
  %10563 = call ptr @__errno_location() #12
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @strerror(i32 noundef %10564) #11
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10555, ptr noundef @.str.4, i32 noundef %10556, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 383, ptr noundef %10559, ptr noundef %10562, ptr noundef %10565, i32 noundef %10567) #11
  br label %10569

10569:                                            ; preds = %10552, %10535
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

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

10572:                                            ; No predecessors!
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573, %10515
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576
  %10578 = load i32, ptr @test_count, align 4, !tbaa !5
  %10579 = add nsw i32 %10578, 1
  store i32 %10579, ptr @test_count, align 4, !tbaa !5
  %10580 = load ptr, ptr %6, align 8, !tbaa !9
  %10581 = getelementptr inbounds %struct.s2n_connection, ptr %10580, i32 0, i32 38
  %10582 = call i32 @s2n_stuffer_wipe(ptr noundef %10581)
  %10583 = icmp eq i32 %10582, -1
  br i1 %10583, label %10584, label %10637

10584:                                            ; preds = %10577
  br label %10585

10585:                                            ; preds = %10584
  br label %10586

10586:                                            ; preds = %10585
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %10587 = call ptr @__errno_location() #12
  %10588 = load i32, ptr %10587, align 4, !tbaa !5
  store i32 %10588, ptr %197, align 4, !tbaa !5
  %10589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10590 = call i32 @s2n_print_stacktrace(ptr noundef %10589)
  %10591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10592 = trunc i8 %10591 to i1
  br i1 %10592, label %10593, label %10615

10593:                                            ; preds = %10586
  %10594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10595 = call i32 @fileno(ptr noundef %10594) #11
  %10596 = call i32 @isatty(i32 noundef %10595) #11
  %10597 = icmp ne i32 %10596, 0
  br i1 %10597, label %10598, label %10615

10598:                                            ; preds = %10593
  %10599 = load i32, ptr %197, align 4, !tbaa !5
  %10600 = call ptr @__errno_location() #12
  store i32 %10599, ptr %10600, align 4, !tbaa !5
  %10601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10602 = load i32, ptr @test_count, align 4, !tbaa !5
  %10603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10604 = load i32, ptr %10603, align 4, !tbaa !5
  %10605 = call ptr @s2n_strerror(i32 noundef %10604, ptr noundef @.str.3)
  %10606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @s2n_strerror_debug(i32 noundef %10607, ptr noundef @.str.3)
  %10609 = call ptr @__errno_location() #12
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call ptr @strerror(i32 noundef %10610) #11
  %10612 = call ptr @__errno_location() #12
  %10613 = load i32, ptr %10612, align 4, !tbaa !5
  %10614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10601, ptr noundef @.str, i32 noundef %10602, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 385, ptr noundef %10605, ptr noundef %10608, ptr noundef %10611, i32 noundef %10613) #11
  br label %10632

10615:                                            ; preds = %10593, %10586
  %10616 = load i32, ptr %197, align 4, !tbaa !5
  %10617 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %10626 = call ptr @__errno_location() #12
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @strerror(i32 noundef %10627) #11
  %10629 = call ptr @__errno_location() #12
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10618, ptr noundef @.str.4, i32 noundef %10619, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 385, ptr noundef %10622, ptr noundef %10625, ptr noundef %10628, i32 noundef %10630) #11
  br label %10632

10632:                                            ; preds = %10615, %10598
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

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

10635:                                            ; No predecessors!
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636, %10577
  br label %10638

10638:                                            ; preds = %10637
  br label %10639

10639:                                            ; preds = %10638
  br label %10640

10640:                                            ; preds = %10639
  %10641 = load i32, ptr @test_count, align 4, !tbaa !5
  %10642 = add nsw i32 %10641, 1
  store i32 %10642, ptr @test_count, align 4, !tbaa !5
  %10643 = load ptr, ptr %6, align 8, !tbaa !9
  %10644 = getelementptr inbounds %struct.s2n_connection, ptr %10643, i32 0, i32 40
  %10645 = call i32 @s2n_stuffer_wipe(ptr noundef %10644)
  %10646 = icmp eq i32 %10645, -1
  br i1 %10646, label %10647, label %10700

10647:                                            ; preds = %10640
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

10649:                                            ; preds = %10648
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %10650 = call ptr @__errno_location() #12
  %10651 = load i32, ptr %10650, align 4, !tbaa !5
  store i32 %10651, ptr %198, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = call i32 @s2n_print_stacktrace(ptr noundef %10652)
  %10654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10655 = trunc i8 %10654 to i1
  br i1 %10655, label %10656, label %10678

10656:                                            ; preds = %10649
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = call i32 @fileno(ptr noundef %10657) #11
  %10659 = call i32 @isatty(i32 noundef %10658) #11
  %10660 = icmp ne i32 %10659, 0
  br i1 %10660, label %10661, label %10678

10661:                                            ; preds = %10656
  %10662 = load i32, ptr %198, align 4, !tbaa !5
  %10663 = call ptr @__errno_location() #12
  store i32 %10662, ptr %10663, align 4, !tbaa !5
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = load i32, ptr @test_count, align 4, !tbaa !5
  %10666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10667 = load i32, ptr %10666, align 4, !tbaa !5
  %10668 = call ptr @s2n_strerror(i32 noundef %10667, ptr noundef @.str.3)
  %10669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10670 = load i32, ptr %10669, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror_debug(i32 noundef %10670, ptr noundef @.str.3)
  %10672 = call ptr @__errno_location() #12
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @strerror(i32 noundef %10673) #11
  %10675 = call ptr @__errno_location() #12
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10664, ptr noundef @.str, i32 noundef %10665, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 386, ptr noundef %10668, ptr noundef %10671, ptr noundef %10674, i32 noundef %10676) #11
  br label %10695

10678:                                            ; preds = %10656, %10649
  %10679 = load i32, ptr %198, align 4, !tbaa !5
  %10680 = call ptr @__errno_location() #12
  store i32 %10679, ptr %10680, align 4, !tbaa !5
  %10681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = call ptr @s2n_strerror(i32 noundef %10684, ptr noundef @.str.3)
  %10686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10687 = load i32, ptr %10686, align 4, !tbaa !5
  %10688 = call ptr @s2n_strerror_debug(i32 noundef %10687, ptr noundef @.str.3)
  %10689 = call ptr @__errno_location() #12
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #11
  %10692 = call ptr @__errno_location() #12
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef @.str.4, i32 noundef %10682, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 386, ptr noundef %10685, ptr noundef %10688, ptr noundef %10691, i32 noundef %10693) #11
  br label %10695

10695:                                            ; preds = %10678, %10661
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

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

10698:                                            ; No predecessors!
  br label %10699

10699:                                            ; preds = %10698
  br label %10700

10700:                                            ; preds = %10699, %10640
  br label %10701

10701:                                            ; preds = %10700
  br label %10702

10702:                                            ; preds = %10701
  br label %10703

10703:                                            ; preds = %10702
  %10704 = load i64, ptr %182, align 8, !tbaa !51
  %10705 = add i64 %10704, 1
  store i64 %10705, ptr %182, align 8, !tbaa !51
  br label %9712, !llvm.loop !72

10706:                                            ; preds = %9715
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #11
  store i64 0, ptr %199, align 8, !tbaa !51
  br label %10707

10707:                                            ; preds = %11710, %10706
  %10708 = load i64, ptr %199, align 8, !tbaa !51
  %10709 = icmp ult i64 %10708, 16
  br i1 %10709, label %10711, label %10710

10710:                                            ; preds = %10707
  store i32 1002, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #11
  br label %11713

10711:                                            ; preds = %10707
  br label %10712

10712:                                            ; preds = %10711
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = add nsw i32 %10713, 1
  store i32 %10714, ptr @test_count, align 4, !tbaa !5
  %10715 = load ptr, ptr %6, align 8, !tbaa !9
  %10716 = call i32 @s2n_connection_wipe(ptr noundef %10715)
  %10717 = icmp eq i32 %10716, -1
  br i1 %10717, label %10718, label %10771

10718:                                            ; preds = %10712
  br label %10719

10719:                                            ; preds = %10718
  br label %10720

10720:                                            ; preds = %10719
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10721 = call ptr @__errno_location() #12
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  store i32 %10722, ptr %200, align 4, !tbaa !5
  %10723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10724 = call i32 @s2n_print_stacktrace(ptr noundef %10723)
  %10725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10726 = trunc i8 %10725 to i1
  br i1 %10726, label %10727, label %10749

10727:                                            ; preds = %10720
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @fileno(ptr noundef %10728) #11
  %10730 = call i32 @isatty(i32 noundef %10729) #11
  %10731 = icmp ne i32 %10730, 0
  br i1 %10731, label %10732, label %10749

10732:                                            ; preds = %10727
  %10733 = load i32, ptr %200, align 4, !tbaa !5
  %10734 = call ptr @__errno_location() #12
  store i32 %10733, ptr %10734, align 4, !tbaa !5
  %10735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10736 = load i32, ptr @test_count, align 4, !tbaa !5
  %10737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  %10739 = call ptr @s2n_strerror(i32 noundef %10738, ptr noundef @.str.3)
  %10740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10741 = load i32, ptr %10740, align 4, !tbaa !5
  %10742 = call ptr @s2n_strerror_debug(i32 noundef %10741, ptr noundef @.str.3)
  %10743 = call ptr @__errno_location() #12
  %10744 = load i32, ptr %10743, align 4, !tbaa !5
  %10745 = call ptr @strerror(i32 noundef %10744) #11
  %10746 = call ptr @__errno_location() #12
  %10747 = load i32, ptr %10746, align 4, !tbaa !5
  %10748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10735, ptr noundef @.str, i32 noundef %10736, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 391, ptr noundef %10739, ptr noundef %10742, ptr noundef %10745, i32 noundef %10747) #11
  br label %10766

10749:                                            ; preds = %10727, %10720
  %10750 = load i32, ptr %200, align 4, !tbaa !5
  %10751 = call ptr @__errno_location() #12
  store i32 %10750, ptr %10751, align 4, !tbaa !5
  %10752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10753 = load i32, ptr @test_count, align 4, !tbaa !5
  %10754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10755 = load i32, ptr %10754, align 4, !tbaa !5
  %10756 = call ptr @s2n_strerror(i32 noundef %10755, ptr noundef @.str.3)
  %10757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10758 = load i32, ptr %10757, align 4, !tbaa !5
  %10759 = call ptr @s2n_strerror_debug(i32 noundef %10758, ptr noundef @.str.3)
  %10760 = call ptr @__errno_location() #12
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  %10762 = call ptr @strerror(i32 noundef %10761) #11
  %10763 = call ptr @__errno_location() #12
  %10764 = load i32, ptr %10763, align 4, !tbaa !5
  %10765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10752, ptr noundef @.str.4, i32 noundef %10753, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 391, ptr noundef %10756, ptr noundef %10759, ptr noundef %10762, i32 noundef %10764) #11
  br label %10766

10766:                                            ; preds = %10749, %10732
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10767

10767:                                            ; preds = %10766
  br label %10768

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

10769:                                            ; No predecessors!
  br label %10770

10770:                                            ; preds = %10769
  br label %10771

10771:                                            ; preds = %10770, %10712
  br label %10772

10772:                                            ; preds = %10771
  br label %10773

10773:                                            ; preds = %10772
  %10774 = load ptr, ptr %6, align 8, !tbaa !9
  %10775 = getelementptr inbounds %struct.s2n_connection, ptr %10774, i32 0, i32 25
  store i8 1, ptr %10775, align 2, !tbaa !52
  %10776 = load ptr, ptr %6, align 8, !tbaa !9
  %10777 = getelementptr inbounds %struct.s2n_connection, ptr %10776, i32 0, i32 22
  store i8 33, ptr %10777, align 1, !tbaa !53
  %10778 = load ptr, ptr %6, align 8, !tbaa !9
  %10779 = getelementptr inbounds %struct.s2n_connection, ptr %10778, i32 0, i32 21
  store i8 33, ptr %10779, align 2, !tbaa !54
  %10780 = load ptr, ptr %6, align 8, !tbaa !9
  %10781 = getelementptr inbounds %struct.s2n_connection, ptr %10780, i32 0, i32 23
  store i8 33, ptr %10781, align 4, !tbaa !55
  %10782 = load ptr, ptr %6, align 8, !tbaa !9
  %10783 = getelementptr inbounds %struct.s2n_connection, ptr %10782, i32 0, i32 26
  %10784 = load ptr, ptr %10783, align 8, !tbaa !15
  %10785 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10784, i32 0, i32 0
  %10786 = load ptr, ptr %10785, align 8, !tbaa !44
  %10787 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %10786, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %10787, align 8, !tbaa !49
  br label %10788

10788:                                            ; preds = %10773
  %10789 = load i32, ptr @test_count, align 4, !tbaa !5
  %10790 = add nsw i32 %10789, 1
  store i32 %10790, ptr @test_count, align 4, !tbaa !5
  %10791 = load ptr, ptr %6, align 8, !tbaa !9
  %10792 = call i32 @destroy_server_keys(ptr noundef %10791)
  %10793 = icmp eq i32 %10792, -1
  br i1 %10793, label %10794, label %10847

10794:                                            ; preds = %10788
  br label %10795

10795:                                            ; preds = %10794
  br label %10796

10796:                                            ; preds = %10795
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %10797 = call ptr @__errno_location() #12
  %10798 = load i32, ptr %10797, align 4, !tbaa !5
  store i32 %10798, ptr %201, align 4, !tbaa !5
  %10799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10800 = call i32 @s2n_print_stacktrace(ptr noundef %10799)
  %10801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10802 = trunc i8 %10801 to i1
  br i1 %10802, label %10803, label %10825

10803:                                            ; preds = %10796
  %10804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10805 = call i32 @fileno(ptr noundef %10804) #11
  %10806 = call i32 @isatty(i32 noundef %10805) #11
  %10807 = icmp ne i32 %10806, 0
  br i1 %10807, label %10808, label %10825

10808:                                            ; preds = %10803
  %10809 = load i32, ptr %201, align 4, !tbaa !5
  %10810 = call ptr @__errno_location() #12
  store i32 %10809, ptr %10810, align 4, !tbaa !5
  %10811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10812 = load i32, ptr @test_count, align 4, !tbaa !5
  %10813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10814 = load i32, ptr %10813, align 4, !tbaa !5
  %10815 = call ptr @s2n_strerror(i32 noundef %10814, ptr noundef @.str.3)
  %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_debug(i32 noundef %10817, ptr noundef @.str.3)
  %10819 = call ptr @__errno_location() #12
  %10820 = load i32, ptr %10819, align 4, !tbaa !5
  %10821 = call ptr @strerror(i32 noundef %10820) #11
  %10822 = call ptr @__errno_location() #12
  %10823 = load i32, ptr %10822, align 4, !tbaa !5
  %10824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10811, ptr noundef @.str, i32 noundef %10812, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 397, ptr noundef %10815, ptr noundef %10818, ptr noundef %10821, i32 noundef %10823) #11
  br label %10842

10825:                                            ; preds = %10803, %10796
  %10826 = load i32, ptr %201, align 4, !tbaa !5
  %10827 = call ptr @__errno_location() #12
  store i32 %10826, ptr %10827, align 4, !tbaa !5
  %10828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10829 = load i32, ptr @test_count, align 4, !tbaa !5
  %10830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call ptr @s2n_strerror(i32 noundef %10831, ptr noundef @.str.3)
  %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_debug(i32 noundef %10834, ptr noundef @.str.3)
  %10836 = call ptr @__errno_location() #12
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call ptr @strerror(i32 noundef %10837) #11
  %10839 = call ptr @__errno_location() #12
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  %10841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10828, ptr noundef @.str.4, i32 noundef %10829, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 397, ptr noundef %10832, ptr noundef %10835, ptr noundef %10838, i32 noundef %10840) #11
  br label %10842

10842:                                            ; preds = %10825, %10808
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

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

10845:                                            ; No predecessors!
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846, %10788
  br label %10848

10848:                                            ; preds = %10847
  br label %10849

10849:                                            ; preds = %10848
  br label %10850

10850:                                            ; preds = %10849
  %10851 = load i32, ptr @test_count, align 4, !tbaa !5
  %10852 = add nsw i32 %10851, 1
  store i32 %10852, ptr @test_count, align 4, !tbaa !5
  %10853 = load ptr, ptr %6, align 8, !tbaa !9
  %10854 = call i32 @setup_server_keys(ptr noundef %10853, ptr noundef %12)
  %10855 = icmp eq i32 %10854, -1
  br i1 %10855, label %10856, label %10909

10856:                                            ; preds = %10850
  br label %10857

10857:                                            ; preds = %10856
  br label %10858

10858:                                            ; preds = %10857
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10859 = call ptr @__errno_location() #12
  %10860 = load i32, ptr %10859, align 4, !tbaa !5
  store i32 %10860, ptr %202, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = call i32 @s2n_print_stacktrace(ptr noundef %10861)
  %10863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10864 = trunc i8 %10863 to i1
  br i1 %10864, label %10865, label %10887

10865:                                            ; preds = %10858
  %10866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10867 = call i32 @fileno(ptr noundef %10866) #11
  %10868 = call i32 @isatty(i32 noundef %10867) #11
  %10869 = icmp ne i32 %10868, 0
  br i1 %10869, label %10870, label %10887

10870:                                            ; preds = %10865
  %10871 = load i32, ptr %202, align 4, !tbaa !5
  %10872 = call ptr @__errno_location() #12
  store i32 %10871, ptr %10872, align 4, !tbaa !5
  %10873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10874 = load i32, ptr @test_count, align 4, !tbaa !5
  %10875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10876 = load i32, ptr %10875, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror(i32 noundef %10876, ptr noundef @.str.3)
  %10878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  %10880 = call ptr @s2n_strerror_debug(i32 noundef %10879, ptr noundef @.str.3)
  %10881 = call ptr @__errno_location() #12
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call ptr @strerror(i32 noundef %10882) #11
  %10884 = call ptr @__errno_location() #12
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10873, ptr noundef @.str, i32 noundef %10874, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 398, ptr noundef %10877, ptr noundef %10880, ptr noundef %10883, i32 noundef %10885) #11
  br label %10904

10887:                                            ; preds = %10865, %10858
  %10888 = load i32, ptr %202, align 4, !tbaa !5
  %10889 = call ptr @__errno_location() #12
  store i32 %10888, ptr %10889, align 4, !tbaa !5
  %10890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10891 = load i32, ptr @test_count, align 4, !tbaa !5
  %10892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10893 = load i32, ptr %10892, align 4, !tbaa !5
  %10894 = call ptr @s2n_strerror(i32 noundef %10893, ptr noundef @.str.3)
  %10895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10896 = load i32, ptr %10895, align 4, !tbaa !5
  %10897 = call ptr @s2n_strerror_debug(i32 noundef %10896, ptr noundef @.str.3)
  %10898 = call ptr @__errno_location() #12
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call ptr @strerror(i32 noundef %10899) #11
  %10901 = call ptr @__errno_location() #12
  %10902 = load i32, ptr %10901, align 4, !tbaa !5
  %10903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10890, ptr noundef @.str.4, i32 noundef %10891, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 398, ptr noundef %10894, ptr noundef %10897, ptr noundef %10900, i32 noundef %10902) #11
  br label %10904

10904:                                            ; preds = %10887, %10870
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10905

10905:                                            ; preds = %10904
  br label %10906

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

10907:                                            ; No predecessors!
  br label %10908

10908:                                            ; preds = %10907
  br label %10909

10909:                                            ; preds = %10908, %10850
  br label %10910

10910:                                            ; preds = %10909
  br label %10911

10911:                                            ; preds = %10910
  %10912 = load ptr, ptr %6, align 8, !tbaa !9
  %10913 = getelementptr inbounds %struct.s2n_connection, ptr %10912, i32 0, i32 23
  store i8 33, ptr %10913, align 4, !tbaa !55
  br label %10914

10914:                                            ; preds = %10911
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = add nsw i32 %10915, 1
  store i32 %10916, ptr @test_count, align 4, !tbaa !5
  %10917 = load ptr, ptr %6, align 8, !tbaa !9
  %10918 = call i32 @s2n_record_write(ptr noundef %10917, i8 noundef zeroext 23, ptr noundef %133)
  %10919 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %10918, ptr %10919, align 4
  %10920 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  %10921 = load i32, ptr %10920, align 4
  %10922 = call zeroext i1 @s2n_result_is_ok(i32 %10921)
  br i1 %10922, label %10976, label %10923

10923:                                            ; preds = %10914
  br label %10924

10924:                                            ; preds = %10923
  br label %10925

10925:                                            ; preds = %10924
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10926 = call ptr @__errno_location() #12
  %10927 = load i32, ptr %10926, align 4, !tbaa !5
  store i32 %10927, ptr %204, align 4, !tbaa !5
  %10928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10929 = call i32 @s2n_print_stacktrace(ptr noundef %10928)
  %10930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10931 = trunc i8 %10930 to i1
  br i1 %10931, label %10932, label %10954

10932:                                            ; preds = %10925
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = call i32 @fileno(ptr noundef %10933) #11
  %10935 = call i32 @isatty(i32 noundef %10934) #11
  %10936 = icmp ne i32 %10935, 0
  br i1 %10936, label %10937, label %10954

10937:                                            ; preds = %10932
  %10938 = load i32, ptr %204, align 4, !tbaa !5
  %10939 = call ptr @__errno_location() #12
  store i32 %10938, ptr %10939, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = load i32, ptr @test_count, align 4, !tbaa !5
  %10942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror(i32 noundef %10943, ptr noundef @.str.3)
  %10945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  %10947 = call ptr @s2n_strerror_debug(i32 noundef %10946, ptr noundef @.str.3)
  %10948 = call ptr @__errno_location() #12
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @strerror(i32 noundef %10949) #11
  %10951 = call ptr @__errno_location() #12
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10940, ptr noundef @.str, i32 noundef %10941, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 400, ptr noundef %10944, ptr noundef %10947, ptr noundef %10950, i32 noundef %10952) #11
  br label %10971

10954:                                            ; preds = %10932, %10925
  %10955 = load i32, ptr %204, align 4, !tbaa !5
  %10956 = call ptr @__errno_location() #12
  store i32 %10955, ptr %10956, align 4, !tbaa !5
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = load i32, ptr @test_count, align 4, !tbaa !5
  %10959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10960 = load i32, ptr %10959, align 4, !tbaa !5
  %10961 = call ptr @s2n_strerror(i32 noundef %10960, ptr noundef @.str.3)
  %10962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10963 = load i32, ptr %10962, align 4, !tbaa !5
  %10964 = call ptr @s2n_strerror_debug(i32 noundef %10963, ptr noundef @.str.3)
  %10965 = call ptr @__errno_location() #12
  %10966 = load i32, ptr %10965, align 4, !tbaa !5
  %10967 = call ptr @strerror(i32 noundef %10966) #11
  %10968 = call ptr @__errno_location() #12
  %10969 = load i32, ptr %10968, align 4, !tbaa !5
  %10970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10957, ptr noundef @.str.4, i32 noundef %10958, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 400, ptr noundef %10961, ptr noundef %10964, ptr noundef %10967, i32 noundef %10969) #11
  br label %10971

10971:                                            ; preds = %10954, %10937
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10972

10972:                                            ; preds = %10971
  br label %10973

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

10974:                                            ; No predecessors!
  br label %10975

10975:                                            ; preds = %10974
  br label %10976

10976:                                            ; preds = %10975, %10914
  br label %10977

10977:                                            ; preds = %10976
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  %10980 = load i32, ptr @test_count, align 4, !tbaa !5
  %10981 = add nsw i32 %10980, 1
  store i32 %10981, ptr @test_count, align 4, !tbaa !5
  %10982 = load ptr, ptr %6, align 8, !tbaa !9
  %10983 = getelementptr inbounds %struct.s2n_connection, ptr %10982, i32 0, i32 40
  %10984 = call i32 @s2n_stuffer_wipe(ptr noundef %10983)
  %10985 = icmp eq i32 %10984, -1
  br i1 %10985, label %10986, label %11039

10986:                                            ; preds = %10979
  br label %10987

10987:                                            ; preds = %10986
  br label %10988

10988:                                            ; preds = %10987
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %10989 = call ptr @__errno_location() #12
  %10990 = load i32, ptr %10989, align 4, !tbaa !5
  store i32 %10990, ptr %205, align 4, !tbaa !5
  %10991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10992 = call i32 @s2n_print_stacktrace(ptr noundef %10991)
  %10993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10994 = trunc i8 %10993 to i1
  br i1 %10994, label %10995, label %11017

10995:                                            ; preds = %10988
  %10996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10997 = call i32 @fileno(ptr noundef %10996) #11
  %10998 = call i32 @isatty(i32 noundef %10997) #11
  %10999 = icmp ne i32 %10998, 0
  br i1 %10999, label %11000, label %11017

11000:                                            ; preds = %10995
  %11001 = load i32, ptr %205, align 4, !tbaa !5
  %11002 = call ptr @__errno_location() #12
  store i32 %11001, ptr %11002, align 4, !tbaa !5
  %11003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11004 = load i32, ptr @test_count, align 4, !tbaa !5
  %11005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11006 = load i32, ptr %11005, align 4, !tbaa !5
  %11007 = call ptr @s2n_strerror(i32 noundef %11006, ptr noundef @.str.3)
  %11008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  %11010 = call ptr @s2n_strerror_debug(i32 noundef %11009, ptr noundef @.str.3)
  %11011 = call ptr @__errno_location() #12
  %11012 = load i32, ptr %11011, align 4, !tbaa !5
  %11013 = call ptr @strerror(i32 noundef %11012) #11
  %11014 = call ptr @__errno_location() #12
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11003, ptr noundef @.str, i32 noundef %11004, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 403, ptr noundef %11007, ptr noundef %11010, ptr noundef %11013, i32 noundef %11015) #11
  br label %11034

11017:                                            ; preds = %10995, %10988
  %11018 = load i32, ptr %205, align 4, !tbaa !5
  %11019 = call ptr @__errno_location() #12
  store i32 %11018, ptr %11019, align 4, !tbaa !5
  %11020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11021 = load i32, ptr @test_count, align 4, !tbaa !5
  %11022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11023 = load i32, ptr %11022, align 4, !tbaa !5
  %11024 = call ptr @s2n_strerror(i32 noundef %11023, ptr noundef @.str.3)
  %11025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call ptr @s2n_strerror_debug(i32 noundef %11026, ptr noundef @.str.3)
  %11028 = call ptr @__errno_location() #12
  %11029 = load i32, ptr %11028, align 4, !tbaa !5
  %11030 = call ptr @strerror(i32 noundef %11029) #11
  %11031 = call ptr @__errno_location() #12
  %11032 = load i32, ptr %11031, align 4, !tbaa !5
  %11033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11020, ptr noundef @.str.4, i32 noundef %11021, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 403, ptr noundef %11024, ptr noundef %11027, ptr noundef %11030, i32 noundef %11032) #11
  br label %11034

11034:                                            ; preds = %11017, %11000
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

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

11037:                                            ; No predecessors!
  br label %11038

11038:                                            ; preds = %11037
  br label %11039

11039:                                            ; preds = %11038, %10979
  br label %11040

11040:                                            ; preds = %11039
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

11042:                                            ; preds = %11041
  %11043 = load i32, ptr @test_count, align 4, !tbaa !5
  %11044 = add nsw i32 %11043, 1
  store i32 %11044, ptr @test_count, align 4, !tbaa !5
  %11045 = load ptr, ptr %6, align 8, !tbaa !9
  %11046 = getelementptr inbounds %struct.s2n_connection, ptr %11045, i32 0, i32 38
  %11047 = call i32 @s2n_stuffer_wipe(ptr noundef %11046)
  %11048 = icmp eq i32 %11047, -1
  br i1 %11048, label %11049, label %11102

11049:                                            ; preds = %11042
  br label %11050

11050:                                            ; preds = %11049
  br label %11051

11051:                                            ; preds = %11050
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %11052 = call ptr @__errno_location() #12
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  store i32 %11053, ptr %206, align 4, !tbaa !5
  %11054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11055 = call i32 @s2n_print_stacktrace(ptr noundef %11054)
  %11056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11057 = trunc i8 %11056 to i1
  br i1 %11057, label %11058, label %11080

11058:                                            ; preds = %11051
  %11059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11060 = call i32 @fileno(ptr noundef %11059) #11
  %11061 = call i32 @isatty(i32 noundef %11060) #11
  %11062 = icmp ne i32 %11061, 0
  br i1 %11062, label %11063, label %11080

11063:                                            ; preds = %11058
  %11064 = load i32, ptr %206, align 4, !tbaa !5
  %11065 = call ptr @__errno_location() #12
  store i32 %11064, ptr %11065, align 4, !tbaa !5
  %11066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11067 = load i32, ptr @test_count, align 4, !tbaa !5
  %11068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  %11070 = call ptr @s2n_strerror(i32 noundef %11069, ptr noundef @.str.3)
  %11071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11072 = load i32, ptr %11071, align 4, !tbaa !5
  %11073 = call ptr @s2n_strerror_debug(i32 noundef %11072, ptr noundef @.str.3)
  %11074 = call ptr @__errno_location() #12
  %11075 = load i32, ptr %11074, align 4, !tbaa !5
  %11076 = call ptr @strerror(i32 noundef %11075) #11
  %11077 = call ptr @__errno_location() #12
  %11078 = load i32, ptr %11077, align 4, !tbaa !5
  %11079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11066, ptr noundef @.str, i32 noundef %11067, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 404, ptr noundef %11070, ptr noundef %11073, ptr noundef %11076, i32 noundef %11078) #11
  br label %11097

11080:                                            ; preds = %11058, %11051
  %11081 = load i32, ptr %206, align 4, !tbaa !5
  %11082 = call ptr @__errno_location() #12
  store i32 %11081, ptr %11082, align 4, !tbaa !5
  %11083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11084 = load i32, ptr @test_count, align 4, !tbaa !5
  %11085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11086 = load i32, ptr %11085, align 4, !tbaa !5
  %11087 = call ptr @s2n_strerror(i32 noundef %11086, ptr noundef @.str.3)
  %11088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11089 = load i32, ptr %11088, align 4, !tbaa !5
  %11090 = call ptr @s2n_strerror_debug(i32 noundef %11089, ptr noundef @.str.3)
  %11091 = call ptr @__errno_location() #12
  %11092 = load i32, ptr %11091, align 4, !tbaa !5
  %11093 = call ptr @strerror(i32 noundef %11092) #11
  %11094 = call ptr @__errno_location() #12
  %11095 = load i32, ptr %11094, align 4, !tbaa !5
  %11096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11083, ptr noundef @.str.4, i32 noundef %11084, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 404, ptr noundef %11087, ptr noundef %11090, ptr noundef %11093, i32 noundef %11095) #11
  br label %11097

11097:                                            ; preds = %11080, %11063
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %11098

11098:                                            ; preds = %11097
  br label %11099

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

11100:                                            ; No predecessors!
  br label %11101

11101:                                            ; preds = %11100
  br label %11102

11102:                                            ; preds = %11101, %11042
  br label %11103

11103:                                            ; preds = %11102
  br label %11104

11104:                                            ; preds = %11103
  br label %11105

11105:                                            ; preds = %11104
  %11106 = load i32, ptr @test_count, align 4, !tbaa !5
  %11107 = add nsw i32 %11106, 1
  store i32 %11107, ptr @test_count, align 4, !tbaa !5
  %11108 = load ptr, ptr %6, align 8, !tbaa !9
  %11109 = getelementptr inbounds %struct.s2n_connection, ptr %11108, i32 0, i32 41
  %11110 = load ptr, ptr %6, align 8, !tbaa !9
  %11111 = getelementptr inbounds %struct.s2n_connection, ptr %11110, i32 0, i32 38
  %11112 = call i32 @s2n_stuffer_copy(ptr noundef %11109, ptr noundef %11111, i32 noundef 5)
  %11113 = icmp eq i32 %11112, -1
  br i1 %11113, label %11114, label %11167

11114:                                            ; preds = %11105
  br label %11115

11115:                                            ; preds = %11114
  br label %11116

11116:                                            ; preds = %11115
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %11117 = call ptr @__errno_location() #12
  %11118 = load i32, ptr %11117, align 4, !tbaa !5
  store i32 %11118, ptr %207, align 4, !tbaa !5
  %11119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11120 = call i32 @s2n_print_stacktrace(ptr noundef %11119)
  %11121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11122 = trunc i8 %11121 to i1
  br i1 %11122, label %11123, label %11145

11123:                                            ; preds = %11116
  %11124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11125 = call i32 @fileno(ptr noundef %11124) #11
  %11126 = call i32 @isatty(i32 noundef %11125) #11
  %11127 = icmp ne i32 %11126, 0
  br i1 %11127, label %11128, label %11145

11128:                                            ; preds = %11123
  %11129 = load i32, ptr %207, align 4, !tbaa !5
  %11130 = call ptr @__errno_location() #12
  store i32 %11129, ptr %11130, align 4, !tbaa !5
  %11131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11132 = load i32, ptr @test_count, align 4, !tbaa !5
  %11133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11134 = load i32, ptr %11133, align 4, !tbaa !5
  %11135 = call ptr @s2n_strerror(i32 noundef %11134, ptr noundef @.str.3)
  %11136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11137 = load i32, ptr %11136, align 4, !tbaa !5
  %11138 = call ptr @s2n_strerror_debug(i32 noundef %11137, ptr noundef @.str.3)
  %11139 = call ptr @__errno_location() #12
  %11140 = load i32, ptr %11139, align 4, !tbaa !5
  %11141 = call ptr @strerror(i32 noundef %11140) #11
  %11142 = call ptr @__errno_location() #12
  %11143 = load i32, ptr %11142, align 4, !tbaa !5
  %11144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11131, ptr noundef @.str, i32 noundef %11132, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 405, ptr noundef %11135, ptr noundef %11138, ptr noundef %11141, i32 noundef %11143) #11
  br label %11162

11145:                                            ; preds = %11123, %11116
  %11146 = load i32, ptr %207, align 4, !tbaa !5
  %11147 = call ptr @__errno_location() #12
  store i32 %11146, ptr %11147, align 4, !tbaa !5
  %11148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11149 = load i32, ptr @test_count, align 4, !tbaa !5
  %11150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11151 = load i32, ptr %11150, align 4, !tbaa !5
  %11152 = call ptr @s2n_strerror(i32 noundef %11151, ptr noundef @.str.3)
  %11153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11154 = load i32, ptr %11153, align 4, !tbaa !5
  %11155 = call ptr @s2n_strerror_debug(i32 noundef %11154, ptr noundef @.str.3)
  %11156 = call ptr @__errno_location() #12
  %11157 = load i32, ptr %11156, align 4, !tbaa !5
  %11158 = call ptr @strerror(i32 noundef %11157) #11
  %11159 = call ptr @__errno_location() #12
  %11160 = load i32, ptr %11159, align 4, !tbaa !5
  %11161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11148, ptr noundef @.str.4, i32 noundef %11149, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 405, ptr noundef %11152, ptr noundef %11155, ptr noundef %11158, i32 noundef %11160) #11
  br label %11162

11162:                                            ; preds = %11145, %11128
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %11163

11163:                                            ; preds = %11162
  br label %11164

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

11165:                                            ; No predecessors!
  br label %11166

11166:                                            ; preds = %11165
  br label %11167

11167:                                            ; preds = %11166, %11105
  br label %11168

11168:                                            ; preds = %11167
  br label %11169

11169:                                            ; preds = %11168
  br label %11170

11170:                                            ; preds = %11169
  %11171 = load i32, ptr @test_count, align 4, !tbaa !5
  %11172 = add nsw i32 %11171, 1
  store i32 %11172, ptr @test_count, align 4, !tbaa !5
  %11173 = load ptr, ptr %6, align 8, !tbaa !9
  %11174 = getelementptr inbounds %struct.s2n_connection, ptr %11173, i32 0, i32 41
  %11175 = load ptr, ptr %6, align 8, !tbaa !9
  %11176 = getelementptr inbounds %struct.s2n_connection, ptr %11175, i32 0, i32 40
  %11177 = load ptr, ptr %6, align 8, !tbaa !9
  %11178 = getelementptr inbounds %struct.s2n_connection, ptr %11177, i32 0, i32 41
  %11179 = getelementptr inbounds %struct.s2n_stuffer, ptr %11178, i32 0, i32 2
  %11180 = load i32, ptr %11179, align 4, !tbaa !61
  %11181 = load ptr, ptr %6, align 8, !tbaa !9
  %11182 = getelementptr inbounds %struct.s2n_connection, ptr %11181, i32 0, i32 41
  %11183 = getelementptr inbounds %struct.s2n_stuffer, ptr %11182, i32 0, i32 1
  %11184 = load i32, ptr %11183, align 8, !tbaa !62
  %11185 = sub i32 %11180, %11184
  %11186 = call i32 @s2n_stuffer_copy(ptr noundef %11174, ptr noundef %11176, i32 noundef %11185)
  %11187 = icmp eq i32 %11186, -1
  br i1 %11187, label %11188, label %11241

11188:                                            ; preds = %11170
  br label %11189

11189:                                            ; preds = %11188
  br label %11190

11190:                                            ; preds = %11189
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %11191 = call ptr @__errno_location() #12
  %11192 = load i32, ptr %11191, align 4, !tbaa !5
  store i32 %11192, ptr %208, align 4, !tbaa !5
  %11193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11194 = call i32 @s2n_print_stacktrace(ptr noundef %11193)
  %11195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11196 = trunc i8 %11195 to i1
  br i1 %11196, label %11197, label %11219

11197:                                            ; preds = %11190
  %11198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11199 = call i32 @fileno(ptr noundef %11198) #11
  %11200 = call i32 @isatty(i32 noundef %11199) #11
  %11201 = icmp ne i32 %11200, 0
  br i1 %11201, label %11202, label %11219

11202:                                            ; preds = %11197
  %11203 = load i32, ptr %208, align 4, !tbaa !5
  %11204 = call ptr @__errno_location() #12
  store i32 %11203, ptr %11204, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = load i32, ptr @test_count, align 4, !tbaa !5
  %11207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  %11209 = call ptr @s2n_strerror(i32 noundef %11208, ptr noundef @.str.3)
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror_debug(i32 noundef %11211, ptr noundef @.str.3)
  %11213 = call ptr @__errno_location() #12
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @strerror(i32 noundef %11214) #11
  %11216 = call ptr @__errno_location() #12
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11205, ptr noundef @.str, i32 noundef %11206, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 406, ptr noundef %11209, ptr noundef %11212, ptr noundef %11215, i32 noundef %11217) #11
  br label %11236

11219:                                            ; preds = %11197, %11190
  %11220 = load i32, ptr %208, align 4, !tbaa !5
  %11221 = call ptr @__errno_location() #12
  store i32 %11220, ptr %11221, align 4, !tbaa !5
  %11222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11223 = load i32, ptr @test_count, align 4, !tbaa !5
  %11224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11225 = load i32, ptr %11224, align 4, !tbaa !5
  %11226 = call ptr @s2n_strerror(i32 noundef %11225, ptr noundef @.str.3)
  %11227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror_debug(i32 noundef %11228, ptr noundef @.str.3)
  %11230 = call ptr @__errno_location() #12
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call ptr @strerror(i32 noundef %11231) #11
  %11233 = call ptr @__errno_location() #12
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11222, ptr noundef @.str.4, i32 noundef %11223, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 406, ptr noundef %11226, ptr noundef %11229, ptr noundef %11232, i32 noundef %11234) #11
  br label %11236

11236:                                            ; preds = %11219, %11202
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

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

11239:                                            ; No predecessors!
  br label %11240

11240:                                            ; preds = %11239
  br label %11241

11241:                                            ; preds = %11240, %11170
  br label %11242

11242:                                            ; preds = %11241
  br label %11243

11243:                                            ; preds = %11242
  %11244 = load ptr, ptr %6, align 8, !tbaa !9
  %11245 = getelementptr inbounds %struct.s2n_connection, ptr %11244, i32 0, i32 40
  %11246 = getelementptr inbounds %struct.s2n_stuffer, ptr %11245, i32 0, i32 0
  %11247 = getelementptr inbounds %struct.s2n_blob, ptr %11246, i32 0, i32 0
  %11248 = load ptr, ptr %11247, align 8, !tbaa !64
  %11249 = load ptr, ptr %6, align 8, !tbaa !9
  %11250 = getelementptr inbounds %struct.s2n_connection, ptr %11249, i32 0, i32 40
  %11251 = getelementptr inbounds %struct.s2n_stuffer, ptr %11250, i32 0, i32 2
  %11252 = load i32, ptr %11251, align 4, !tbaa !67
  %11253 = load ptr, ptr %6, align 8, !tbaa !9
  %11254 = getelementptr inbounds %struct.s2n_connection, ptr %11253, i32 0, i32 40
  %11255 = getelementptr inbounds %struct.s2n_stuffer, ptr %11254, i32 0, i32 1
  %11256 = load i32, ptr %11255, align 8, !tbaa !68
  %11257 = sub i32 %11252, %11256
  %11258 = zext i32 %11257 to i64
  %11259 = load i64, ptr %199, align 8, !tbaa !51
  %11260 = sub i64 %11258, %11259
  %11261 = sub i64 %11260, 1
  %11262 = getelementptr inbounds i8, ptr %11248, i64 %11261
  %11263 = load i8, ptr %11262, align 1, !tbaa !59
  %11264 = add i8 %11263, 1
  store i8 %11264, ptr %11262, align 1, !tbaa !59
  br label %11265

11265:                                            ; preds = %11243
  %11266 = load i32, ptr @test_count, align 4, !tbaa !5
  %11267 = add nsw i32 %11266, 1
  store i32 %11267, ptr @test_count, align 4, !tbaa !5
  %11268 = load ptr, ptr %6, align 8, !tbaa !9
  %11269 = call i32 @s2n_record_header_parse(ptr noundef %11268, ptr noundef %158, ptr noundef %159)
  %11270 = icmp eq i32 %11269, -1
  br i1 %11270, label %11271, label %11324

11271:                                            ; preds = %11265
  br label %11272

11272:                                            ; preds = %11271
  br label %11273

11273:                                            ; preds = %11272
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %11274 = call ptr @__errno_location() #12
  %11275 = load i32, ptr %11274, align 4, !tbaa !5
  store i32 %11275, ptr %209, align 4, !tbaa !5
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = call i32 @s2n_print_stacktrace(ptr noundef %11276)
  %11278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11279 = trunc i8 %11278 to i1
  br i1 %11279, label %11280, label %11302

11280:                                            ; preds = %11273
  %11281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11282 = call i32 @fileno(ptr noundef %11281) #11
  %11283 = call i32 @isatty(i32 noundef %11282) #11
  %11284 = icmp ne i32 %11283, 0
  br i1 %11284, label %11285, label %11302

11285:                                            ; preds = %11280
  %11286 = load i32, ptr %209, align 4, !tbaa !5
  %11287 = call ptr @__errno_location() #12
  store i32 %11286, ptr %11287, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11291 = load i32, ptr %11290, align 4, !tbaa !5
  %11292 = call ptr @s2n_strerror(i32 noundef %11291, ptr noundef @.str.3)
  %11293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11294 = load i32, ptr %11293, align 4, !tbaa !5
  %11295 = call ptr @s2n_strerror_debug(i32 noundef %11294, ptr noundef @.str.3)
  %11296 = call ptr @__errno_location() #12
  %11297 = load i32, ptr %11296, align 4, !tbaa !5
  %11298 = call ptr @strerror(i32 noundef %11297) #11
  %11299 = call ptr @__errno_location() #12
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11288, ptr noundef @.str, i32 noundef %11289, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 408, ptr noundef %11292, ptr noundef %11295, ptr noundef %11298, i32 noundef %11300) #11
  br label %11319

11302:                                            ; preds = %11280, %11273
  %11303 = load i32, ptr %209, align 4, !tbaa !5
  %11304 = call ptr @__errno_location() #12
  store i32 %11303, ptr %11304, align 4, !tbaa !5
  %11305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11306 = load i32, ptr @test_count, align 4, !tbaa !5
  %11307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11308 = load i32, ptr %11307, align 4, !tbaa !5
  %11309 = call ptr @s2n_strerror(i32 noundef %11308, ptr noundef @.str.3)
  %11310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11311 = load i32, ptr %11310, align 4, !tbaa !5
  %11312 = call ptr @s2n_strerror_debug(i32 noundef %11311, ptr noundef @.str.3)
  %11313 = call ptr @__errno_location() #12
  %11314 = load i32, ptr %11313, align 4, !tbaa !5
  %11315 = call ptr @strerror(i32 noundef %11314) #11
  %11316 = call ptr @__errno_location() #12
  %11317 = load i32, ptr %11316, align 4, !tbaa !5
  %11318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11305, ptr noundef @.str.4, i32 noundef %11306, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 408, ptr noundef %11309, ptr noundef %11312, ptr noundef %11315, i32 noundef %11317) #11
  br label %11319

11319:                                            ; preds = %11302, %11285
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %11320

11320:                                            ; preds = %11319
  br label %11321

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

11322:                                            ; No predecessors!
  br label %11323

11323:                                            ; preds = %11322
  br label %11324

11324:                                            ; preds = %11323, %11265
  br label %11325

11325:                                            ; preds = %11324
  br label %11326

11326:                                            ; preds = %11325
  br label %11327

11327:                                            ; preds = %11326
  br label %11328

11328:                                            ; preds = %11327
  %11329 = load i32, ptr @test_count, align 4, !tbaa !5
  %11330 = add nsw i32 %11329, 1
  store i32 %11330, ptr @test_count, align 4, !tbaa !5
  %11331 = load ptr, ptr %6, align 8, !tbaa !9
  %11332 = call i32 @s2n_record_parse(ptr noundef %11331)
  %11333 = icmp eq i32 %11332, -1
  br i1 %11333, label %11387, label %11334

11334:                                            ; preds = %11328
  br label %11335

11335:                                            ; preds = %11334
  br label %11336

11336:                                            ; preds = %11335
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %11337 = call ptr @__errno_location() #12
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  store i32 %11338, ptr %210, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = call i32 @s2n_print_stacktrace(ptr noundef %11339)
  %11341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11342 = trunc i8 %11341 to i1
  br i1 %11342, label %11343, label %11365

11343:                                            ; preds = %11336
  %11344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11345 = call i32 @fileno(ptr noundef %11344) #11
  %11346 = call i32 @isatty(i32 noundef %11345) #11
  %11347 = icmp ne i32 %11346, 0
  br i1 %11347, label %11348, label %11365

11348:                                            ; preds = %11343
  %11349 = load i32, ptr %210, align 4, !tbaa !5
  %11350 = call ptr @__errno_location() #12
  store i32 %11349, ptr %11350, align 4, !tbaa !5
  %11351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11354 = load i32, ptr %11353, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror(i32 noundef %11354, ptr noundef @.str.3)
  %11356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11357 = load i32, ptr %11356, align 4, !tbaa !5
  %11358 = call ptr @s2n_strerror_debug(i32 noundef %11357, ptr noundef @.str.3)
  %11359 = call ptr @__errno_location() #12
  %11360 = load i32, ptr %11359, align 4, !tbaa !5
  %11361 = call ptr @strerror(i32 noundef %11360) #11
  %11362 = call ptr @__errno_location() #12
  %11363 = load i32, ptr %11362, align 4, !tbaa !5
  %11364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11351, ptr noundef @.str, i32 noundef %11352, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11355, ptr noundef %11358, ptr noundef %11361, i32 noundef %11363) #11
  br label %11382

11365:                                            ; preds = %11343, %11336
  %11366 = load i32, ptr %210, align 4, !tbaa !5
  %11367 = call ptr @__errno_location() #12
  store i32 %11366, ptr %11367, align 4, !tbaa !5
  %11368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11369 = load i32, ptr @test_count, align 4, !tbaa !5
  %11370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11371 = load i32, ptr %11370, align 4, !tbaa !5
  %11372 = call ptr @s2n_strerror(i32 noundef %11371, ptr noundef @.str.3)
  %11373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11374 = load i32, ptr %11373, align 4, !tbaa !5
  %11375 = call ptr @s2n_strerror_debug(i32 noundef %11374, ptr noundef @.str.3)
  %11376 = call ptr @__errno_location() #12
  %11377 = load i32, ptr %11376, align 4, !tbaa !5
  %11378 = call ptr @strerror(i32 noundef %11377) #11
  %11379 = call ptr @__errno_location() #12
  %11380 = load i32, ptr %11379, align 4, !tbaa !5
  %11381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11368, ptr noundef @.str.4, i32 noundef %11369, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11372, ptr noundef %11375, ptr noundef %11378, i32 noundef %11380) #11
  br label %11382

11382:                                            ; preds = %11365, %11348
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %11383

11383:                                            ; preds = %11382
  br label %11384

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

11385:                                            ; No predecessors!
  br label %11386

11386:                                            ; preds = %11385
  br label %11387

11387:                                            ; preds = %11386, %11328
  br label %11388

11388:                                            ; preds = %11387
  br label %11389

11389:                                            ; preds = %11388
  br label %11390

11390:                                            ; preds = %11389
  %11391 = load i32, ptr @test_count, align 4, !tbaa !5
  %11392 = add nsw i32 %11391, 1
  store i32 %11392, ptr @test_count, align 4, !tbaa !5
  %11393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11394 = load i32, ptr %11393, align 4, !tbaa !5
  %11395 = icmp eq i32 %11394, 0
  br i1 %11395, label %11396, label %11449

11396:                                            ; preds = %11390
  br label %11397

11397:                                            ; preds = %11396
  br label %11398

11398:                                            ; preds = %11397
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %11399 = call ptr @__errno_location() #12
  %11400 = load i32, ptr %11399, align 4, !tbaa !5
  store i32 %11400, ptr %211, align 4, !tbaa !5
  %11401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11402 = call i32 @s2n_print_stacktrace(ptr noundef %11401)
  %11403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11404 = trunc i8 %11403 to i1
  br i1 %11404, label %11405, label %11427

11405:                                            ; preds = %11398
  %11406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11407 = call i32 @fileno(ptr noundef %11406) #11
  %11408 = call i32 @isatty(i32 noundef %11407) #11
  %11409 = icmp ne i32 %11408, 0
  br i1 %11409, label %11410, label %11427

11410:                                            ; preds = %11405
  %11411 = load i32, ptr %211, align 4, !tbaa !5
  %11412 = call ptr @__errno_location() #12
  store i32 %11411, ptr %11412, align 4, !tbaa !5
  %11413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11414 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11416, ptr noundef @.str.3)
  %11418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  %11420 = call ptr @s2n_strerror_debug(i32 noundef %11419, ptr noundef @.str.3)
  %11421 = call ptr @__errno_location() #12
  %11422 = load i32, ptr %11421, align 4, !tbaa !5
  %11423 = call ptr @strerror(i32 noundef %11422) #11
  %11424 = call ptr @__errno_location() #12
  %11425 = load i32, ptr %11424, align 4, !tbaa !5
  %11426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11413, ptr noundef @.str, i32 noundef %11414, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11417, ptr noundef %11420, ptr noundef %11423, i32 noundef %11425) #11
  br label %11444

11427:                                            ; preds = %11405, %11398
  %11428 = load i32, ptr %211, align 4, !tbaa !5
  %11429 = call ptr @__errno_location() #12
  store i32 %11428, ptr %11429, align 4, !tbaa !5
  %11430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11431 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11433, ptr noundef @.str.3)
  %11435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11436 = load i32, ptr %11435, align 4, !tbaa !5
  %11437 = call ptr @s2n_strerror_debug(i32 noundef %11436, ptr noundef @.str.3)
  %11438 = call ptr @__errno_location() #12
  %11439 = load i32, ptr %11438, align 4, !tbaa !5
  %11440 = call ptr @strerror(i32 noundef %11439) #11
  %11441 = call ptr @__errno_location() #12
  %11442 = load i32, ptr %11441, align 4, !tbaa !5
  %11443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11430, ptr noundef @.str.4, i32 noundef %11431, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11434, ptr noundef %11437, ptr noundef %11440, i32 noundef %11442) #11
  br label %11444

11444:                                            ; preds = %11427, %11410
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %11445

11445:                                            ; preds = %11444
  br label %11446

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

11447:                                            ; No predecessors!
  br label %11448

11448:                                            ; preds = %11447
  br label %11449

11449:                                            ; preds = %11448, %11390
  br label %11450

11450:                                            ; preds = %11449
  br label %11451

11451:                                            ; preds = %11450
  br label %11452

11452:                                            ; preds = %11451
  %11453 = load i32, ptr @test_count, align 4, !tbaa !5
  %11454 = add nsw i32 %11453, 1
  store i32 %11454, ptr @test_count, align 4, !tbaa !5
  %11455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11456 = load i32, ptr %11455, align 4, !tbaa !5
  %11457 = call ptr @s2n_strerror_debug(i32 noundef %11456, ptr noundef @.str.3)
  %11458 = icmp eq ptr %11457, null
  br i1 %11458, label %11459, label %11512

11459:                                            ; preds = %11452
  br label %11460

11460:                                            ; preds = %11459
  br label %11461

11461:                                            ; preds = %11460
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %11462 = call ptr @__errno_location() #12
  %11463 = load i32, ptr %11462, align 4, !tbaa !5
  store i32 %11463, ptr %212, align 4, !tbaa !5
  %11464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11465 = call i32 @s2n_print_stacktrace(ptr noundef %11464)
  %11466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11467 = trunc i8 %11466 to i1
  br i1 %11467, label %11468, label %11490

11468:                                            ; preds = %11461
  %11469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11470 = call i32 @fileno(ptr noundef %11469) #11
  %11471 = call i32 @isatty(i32 noundef %11470) #11
  %11472 = icmp ne i32 %11471, 0
  br i1 %11472, label %11473, label %11490

11473:                                            ; preds = %11468
  %11474 = load i32, ptr %212, align 4, !tbaa !5
  %11475 = call ptr @__errno_location() #12
  store i32 %11474, ptr %11475, align 4, !tbaa !5
  %11476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11477 = load i32, ptr @test_count, align 4, !tbaa !5
  %11478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11479 = load i32, ptr %11478, align 4, !tbaa !5
  %11480 = call ptr @s2n_strerror(i32 noundef %11479, ptr noundef @.str.3)
  %11481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call ptr @s2n_strerror_debug(i32 noundef %11482, ptr noundef @.str.3)
  %11484 = call ptr @__errno_location() #12
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = call ptr @strerror(i32 noundef %11485) #11
  %11487 = call ptr @__errno_location() #12
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11476, ptr noundef @.str, i32 noundef %11477, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11480, ptr noundef %11483, ptr noundef %11486, i32 noundef %11488) #11
  br label %11507

11490:                                            ; preds = %11468, %11461
  %11491 = load i32, ptr %212, align 4, !tbaa !5
  %11492 = call ptr @__errno_location() #12
  store i32 %11491, ptr %11492, align 4, !tbaa !5
  %11493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11494 = load i32, ptr @test_count, align 4, !tbaa !5
  %11495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11496 = load i32, ptr %11495, align 4, !tbaa !5
  %11497 = call ptr @s2n_strerror(i32 noundef %11496, ptr noundef @.str.3)
  %11498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11499 = load i32, ptr %11498, align 4, !tbaa !5
  %11500 = call ptr @s2n_strerror_debug(i32 noundef %11499, ptr noundef @.str.3)
  %11501 = call ptr @__errno_location() #12
  %11502 = load i32, ptr %11501, align 4, !tbaa !5
  %11503 = call ptr @strerror(i32 noundef %11502) #11
  %11504 = call ptr @__errno_location() #12
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11493, ptr noundef @.str.4, i32 noundef %11494, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 409, ptr noundef %11497, ptr noundef %11500, ptr noundef %11503, i32 noundef %11505) #11
  br label %11507

11507:                                            ; preds = %11490, %11473
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %11508

11508:                                            ; preds = %11507
  br label %11509

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

11510:                                            ; No predecessors!
  br label %11511

11511:                                            ; preds = %11510
  br label %11512

11512:                                            ; preds = %11511, %11452
  br label %11513

11513:                                            ; preds = %11512
  br label %11514

11514:                                            ; preds = %11513
  br label %11515

11515:                                            ; preds = %11514
  %11516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11516, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11517 = call ptr @__errno_location() #12
  store i32 0, ptr %11517, align 4, !tbaa !5
  br label %11518

11518:                                            ; preds = %11515
  br label %11519

11519:                                            ; preds = %11518
  br label %11520

11520:                                            ; preds = %11519
  br label %11521

11521:                                            ; preds = %11520
  br label %11522

11522:                                            ; preds = %11521
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = add nsw i32 %11523, 1
  store i32 %11524, ptr @test_count, align 4, !tbaa !5
  %11525 = load i8, ptr %158, align 1, !tbaa !59
  %11526 = zext i8 %11525 to i32
  %11527 = icmp eq i32 %11526, 23
  br i1 %11527, label %11581, label %11528

11528:                                            ; preds = %11522
  br label %11529

11529:                                            ; preds = %11528
  br label %11530

11530:                                            ; preds = %11529
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  store i32 %11532, ptr %213, align 4, !tbaa !5
  %11533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11534 = call i32 @s2n_print_stacktrace(ptr noundef %11533)
  %11535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11536 = trunc i8 %11535 to i1
  br i1 %11536, label %11537, label %11559

11537:                                            ; preds = %11530
  %11538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11539 = call i32 @fileno(ptr noundef %11538) #11
  %11540 = call i32 @isatty(i32 noundef %11539) #11
  %11541 = icmp ne i32 %11540, 0
  br i1 %11541, label %11542, label %11559

11542:                                            ; preds = %11537
  %11543 = load i32, ptr %213, align 4, !tbaa !5
  %11544 = call ptr @__errno_location() #12
  store i32 %11543, ptr %11544, align 4, !tbaa !5
  %11545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11546 = load i32, ptr @test_count, align 4, !tbaa !5
  %11547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror(i32 noundef %11548, ptr noundef @.str.3)
  %11550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror_debug(i32 noundef %11551, ptr noundef @.str.3)
  %11553 = call ptr @__errno_location() #12
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call ptr @strerror(i32 noundef %11554) #11
  %11556 = call ptr @__errno_location() #12
  %11557 = load i32, ptr %11556, align 4, !tbaa !5
  %11558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11545, ptr noundef @.str, i32 noundef %11546, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 410, ptr noundef %11549, ptr noundef %11552, ptr noundef %11555, i32 noundef %11557) #11
  br label %11576

11559:                                            ; preds = %11537, %11530
  %11560 = load i32, ptr %213, align 4, !tbaa !5
  %11561 = call ptr @__errno_location() #12
  store i32 %11560, ptr %11561, align 4, !tbaa !5
  %11562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11563 = load i32, ptr @test_count, align 4, !tbaa !5
  %11564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11565 = load i32, ptr %11564, align 4, !tbaa !5
  %11566 = call ptr @s2n_strerror(i32 noundef %11565, ptr noundef @.str.3)
  %11567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11568 = load i32, ptr %11567, align 4, !tbaa !5
  %11569 = call ptr @s2n_strerror_debug(i32 noundef %11568, ptr noundef @.str.3)
  %11570 = call ptr @__errno_location() #12
  %11571 = load i32, ptr %11570, align 4, !tbaa !5
  %11572 = call ptr @strerror(i32 noundef %11571) #11
  %11573 = call ptr @__errno_location() #12
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11562, ptr noundef @.str.4, i32 noundef %11563, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 410, ptr noundef %11566, ptr noundef %11569, ptr noundef %11572, i32 noundef %11574) #11
  br label %11576

11576:                                            ; preds = %11559, %11542
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %11577

11577:                                            ; preds = %11576
  br label %11578

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

11579:                                            ; No predecessors!
  br label %11580

11580:                                            ; preds = %11579
  br label %11581

11581:                                            ; preds = %11580, %11522
  br label %11582

11582:                                            ; preds = %11581
  br label %11583

11583:                                            ; preds = %11582
  br label %11584

11584:                                            ; preds = %11583
  %11585 = load i32, ptr @test_count, align 4, !tbaa !5
  %11586 = add nsw i32 %11585, 1
  store i32 %11586, ptr @test_count, align 4, !tbaa !5
  %11587 = load ptr, ptr %6, align 8, !tbaa !9
  %11588 = getelementptr inbounds %struct.s2n_connection, ptr %11587, i32 0, i32 38
  %11589 = call i32 @s2n_stuffer_wipe(ptr noundef %11588)
  %11590 = icmp eq i32 %11589, -1
  br i1 %11590, label %11591, label %11644

11591:                                            ; preds = %11584
  br label %11592

11592:                                            ; preds = %11591
  br label %11593

11593:                                            ; preds = %11592
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %11594 = call ptr @__errno_location() #12
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  store i32 %11595, ptr %214, align 4, !tbaa !5
  %11596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11597 = call i32 @s2n_print_stacktrace(ptr noundef %11596)
  %11598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11599 = trunc i8 %11598 to i1
  br i1 %11599, label %11600, label %11622

11600:                                            ; preds = %11593
  %11601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11602 = call i32 @fileno(ptr noundef %11601) #11
  %11603 = call i32 @isatty(i32 noundef %11602) #11
  %11604 = icmp ne i32 %11603, 0
  br i1 %11604, label %11605, label %11622

11605:                                            ; preds = %11600
  %11606 = load i32, ptr %214, align 4, !tbaa !5
  %11607 = call ptr @__errno_location() #12
  store i32 %11606, ptr %11607, align 4, !tbaa !5
  %11608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11609 = load i32, ptr @test_count, align 4, !tbaa !5
  %11610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  %11612 = call ptr @s2n_strerror(i32 noundef %11611, ptr noundef @.str.3)
  %11613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call ptr @s2n_strerror_debug(i32 noundef %11614, ptr noundef @.str.3)
  %11616 = call ptr @__errno_location() #12
  %11617 = load i32, ptr %11616, align 4, !tbaa !5
  %11618 = call ptr @strerror(i32 noundef %11617) #11
  %11619 = call ptr @__errno_location() #12
  %11620 = load i32, ptr %11619, align 4, !tbaa !5
  %11621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11608, ptr noundef @.str, i32 noundef %11609, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 412, ptr noundef %11612, ptr noundef %11615, ptr noundef %11618, i32 noundef %11620) #11
  br label %11639

11622:                                            ; preds = %11600, %11593
  %11623 = load i32, ptr %214, align 4, !tbaa !5
  %11624 = call ptr @__errno_location() #12
  store i32 %11623, ptr %11624, align 4, !tbaa !5
  %11625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror(i32 noundef %11628, ptr noundef @.str.3)
  %11630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11631 = load i32, ptr %11630, align 4, !tbaa !5
  %11632 = call ptr @s2n_strerror_debug(i32 noundef %11631, ptr noundef @.str.3)
  %11633 = call ptr @__errno_location() #12
  %11634 = load i32, ptr %11633, align 4, !tbaa !5
  %11635 = call ptr @strerror(i32 noundef %11634) #11
  %11636 = call ptr @__errno_location() #12
  %11637 = load i32, ptr %11636, align 4, !tbaa !5
  %11638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11625, ptr noundef @.str.4, i32 noundef %11626, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 412, ptr noundef %11629, ptr noundef %11632, ptr noundef %11635, i32 noundef %11637) #11
  br label %11639

11639:                                            ; preds = %11622, %11605
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %11640

11640:                                            ; preds = %11639
  br label %11641

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

11642:                                            ; No predecessors!
  br label %11643

11643:                                            ; preds = %11642
  br label %11644

11644:                                            ; preds = %11643, %11584
  br label %11645

11645:                                            ; preds = %11644
  br label %11646

11646:                                            ; preds = %11645
  br label %11647

11647:                                            ; preds = %11646
  %11648 = load i32, ptr @test_count, align 4, !tbaa !5
  %11649 = add nsw i32 %11648, 1
  store i32 %11649, ptr @test_count, align 4, !tbaa !5
  %11650 = load ptr, ptr %6, align 8, !tbaa !9
  %11651 = getelementptr inbounds %struct.s2n_connection, ptr %11650, i32 0, i32 40
  %11652 = call i32 @s2n_stuffer_wipe(ptr noundef %11651)
  %11653 = icmp eq i32 %11652, -1
  br i1 %11653, label %11654, label %11707

11654:                                            ; preds = %11647
  br label %11655

11655:                                            ; preds = %11654
  br label %11656

11656:                                            ; preds = %11655
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %11657 = call ptr @__errno_location() #12
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  store i32 %11658, ptr %215, align 4, !tbaa !5
  %11659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11660 = call i32 @s2n_print_stacktrace(ptr noundef %11659)
  %11661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11662 = trunc i8 %11661 to i1
  br i1 %11662, label %11663, label %11685

11663:                                            ; preds = %11656
  %11664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11665 = call i32 @fileno(ptr noundef %11664) #11
  %11666 = call i32 @isatty(i32 noundef %11665) #11
  %11667 = icmp ne i32 %11666, 0
  br i1 %11667, label %11668, label %11685

11668:                                            ; preds = %11663
  %11669 = load i32, ptr %215, align 4, !tbaa !5
  %11670 = call ptr @__errno_location() #12
  store i32 %11669, ptr %11670, align 4, !tbaa !5
  %11671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11672 = load i32, ptr @test_count, align 4, !tbaa !5
  %11673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11674 = load i32, ptr %11673, align 4, !tbaa !5
  %11675 = call ptr @s2n_strerror(i32 noundef %11674, ptr noundef @.str.3)
  %11676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11677 = load i32, ptr %11676, align 4, !tbaa !5
  %11678 = call ptr @s2n_strerror_debug(i32 noundef %11677, ptr noundef @.str.3)
  %11679 = call ptr @__errno_location() #12
  %11680 = load i32, ptr %11679, align 4, !tbaa !5
  %11681 = call ptr @strerror(i32 noundef %11680) #11
  %11682 = call ptr @__errno_location() #12
  %11683 = load i32, ptr %11682, align 4, !tbaa !5
  %11684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11671, ptr noundef @.str, i32 noundef %11672, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 413, ptr noundef %11675, ptr noundef %11678, ptr noundef %11681, i32 noundef %11683) #11
  br label %11702

11685:                                            ; preds = %11663, %11656
  %11686 = load i32, ptr %215, align 4, !tbaa !5
  %11687 = call ptr @__errno_location() #12
  store i32 %11686, ptr %11687, align 4, !tbaa !5
  %11688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11689 = load i32, ptr @test_count, align 4, !tbaa !5
  %11690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11691 = load i32, ptr %11690, align 4, !tbaa !5
  %11692 = call ptr @s2n_strerror(i32 noundef %11691, ptr noundef @.str.3)
  %11693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11694 = load i32, ptr %11693, align 4, !tbaa !5
  %11695 = call ptr @s2n_strerror_debug(i32 noundef %11694, ptr noundef @.str.3)
  %11696 = call ptr @__errno_location() #12
  %11697 = load i32, ptr %11696, align 4, !tbaa !5
  %11698 = call ptr @strerror(i32 noundef %11697) #11
  %11699 = call ptr @__errno_location() #12
  %11700 = load i32, ptr %11699, align 4, !tbaa !5
  %11701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11688, ptr noundef @.str.4, i32 noundef %11689, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 413, ptr noundef %11692, ptr noundef %11695, ptr noundef %11698, i32 noundef %11700) #11
  br label %11702

11702:                                            ; preds = %11685, %11668
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %11703

11703:                                            ; preds = %11702
  br label %11704

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

11705:                                            ; No predecessors!
  br label %11706

11706:                                            ; preds = %11705
  br label %11707

11707:                                            ; preds = %11706, %11647
  br label %11708

11708:                                            ; preds = %11707
  br label %11709

11709:                                            ; preds = %11708
  br label %11710

11710:                                            ; preds = %11709
  %11711 = load i64, ptr %199, align 8, !tbaa !51
  %11712 = add i64 %11711, 1
  store i64 %11712, ptr %199, align 8, !tbaa !51
  br label %10707, !llvm.loop !73

11713:                                            ; preds = %10710
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #11
  store i64 0, ptr %216, align 8, !tbaa !51
  br label %11714

11714:                                            ; preds = %12707, %11713
  %11715 = load i64, ptr %216, align 8, !tbaa !51
  %11716 = load i64, ptr %132, align 8, !tbaa !51
  %11717 = icmp ult i64 %11715, %11716
  br i1 %11717, label %11719, label %11718

11718:                                            ; preds = %11714
  store i32 1099, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #11
  br label %12710

11719:                                            ; preds = %11714
  br label %11720

11720:                                            ; preds = %11719
  %11721 = load i32, ptr @test_count, align 4, !tbaa !5
  %11722 = add nsw i32 %11721, 1
  store i32 %11722, ptr @test_count, align 4, !tbaa !5
  %11723 = load ptr, ptr %6, align 8, !tbaa !9
  %11724 = call i32 @s2n_connection_wipe(ptr noundef %11723)
  %11725 = icmp eq i32 %11724, -1
  br i1 %11725, label %11726, label %11779

11726:                                            ; preds = %11720
  br label %11727

11727:                                            ; preds = %11726
  br label %11728

11728:                                            ; preds = %11727
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %11729 = call ptr @__errno_location() #12
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  store i32 %11730, ptr %217, align 4, !tbaa !5
  %11731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11732 = call i32 @s2n_print_stacktrace(ptr noundef %11731)
  %11733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11734 = trunc i8 %11733 to i1
  br i1 %11734, label %11735, label %11757

11735:                                            ; preds = %11728
  %11736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11737 = call i32 @fileno(ptr noundef %11736) #11
  %11738 = call i32 @isatty(i32 noundef %11737) #11
  %11739 = icmp ne i32 %11738, 0
  br i1 %11739, label %11740, label %11757

11740:                                            ; preds = %11735
  %11741 = load i32, ptr %217, align 4, !tbaa !5
  %11742 = call ptr @__errno_location() #12
  store i32 %11741, ptr %11742, align 4, !tbaa !5
  %11743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11744 = load i32, ptr @test_count, align 4, !tbaa !5
  %11745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11746 = load i32, ptr %11745, align 4, !tbaa !5
  %11747 = call ptr @s2n_strerror(i32 noundef %11746, ptr noundef @.str.3)
  %11748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = call ptr @s2n_strerror_debug(i32 noundef %11749, ptr noundef @.str.3)
  %11751 = call ptr @__errno_location() #12
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call ptr @strerror(i32 noundef %11752) #11
  %11754 = call ptr @__errno_location() #12
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11743, ptr noundef @.str, i32 noundef %11744, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 418, ptr noundef %11747, ptr noundef %11750, ptr noundef %11753, i32 noundef %11755) #11
  br label %11774

11757:                                            ; preds = %11735, %11728
  %11758 = load i32, ptr %217, align 4, !tbaa !5
  %11759 = call ptr @__errno_location() #12
  store i32 %11758, ptr %11759, align 4, !tbaa !5
  %11760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11761 = load i32, ptr @test_count, align 4, !tbaa !5
  %11762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11763 = load i32, ptr %11762, align 4, !tbaa !5
  %11764 = call ptr @s2n_strerror(i32 noundef %11763, ptr noundef @.str.3)
  %11765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11766 = load i32, ptr %11765, align 4, !tbaa !5
  %11767 = call ptr @s2n_strerror_debug(i32 noundef %11766, ptr noundef @.str.3)
  %11768 = call ptr @__errno_location() #12
  %11769 = load i32, ptr %11768, align 4, !tbaa !5
  %11770 = call ptr @strerror(i32 noundef %11769) #11
  %11771 = call ptr @__errno_location() #12
  %11772 = load i32, ptr %11771, align 4, !tbaa !5
  %11773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11760, ptr noundef @.str.4, i32 noundef %11761, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 418, ptr noundef %11764, ptr noundef %11767, ptr noundef %11770, i32 noundef %11772) #11
  br label %11774

11774:                                            ; preds = %11757, %11740
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %11775

11775:                                            ; preds = %11774
  br label %11776

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

11777:                                            ; No predecessors!
  br label %11778

11778:                                            ; preds = %11777
  br label %11779

11779:                                            ; preds = %11778, %11720
  br label %11780

11780:                                            ; preds = %11779
  br label %11781

11781:                                            ; preds = %11780
  %11782 = load ptr, ptr %6, align 8, !tbaa !9
  %11783 = getelementptr inbounds %struct.s2n_connection, ptr %11782, i32 0, i32 25
  store i8 1, ptr %11783, align 2, !tbaa !52
  %11784 = load ptr, ptr %6, align 8, !tbaa !9
  %11785 = getelementptr inbounds %struct.s2n_connection, ptr %11784, i32 0, i32 22
  store i8 33, ptr %11785, align 1, !tbaa !53
  %11786 = load ptr, ptr %6, align 8, !tbaa !9
  %11787 = getelementptr inbounds %struct.s2n_connection, ptr %11786, i32 0, i32 21
  store i8 33, ptr %11787, align 2, !tbaa !54
  %11788 = load ptr, ptr %6, align 8, !tbaa !9
  %11789 = getelementptr inbounds %struct.s2n_connection, ptr %11788, i32 0, i32 23
  store i8 33, ptr %11789, align 4, !tbaa !55
  %11790 = load ptr, ptr %6, align 8, !tbaa !9
  %11791 = getelementptr inbounds %struct.s2n_connection, ptr %11790, i32 0, i32 26
  %11792 = load ptr, ptr %11791, align 8, !tbaa !15
  %11793 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11792, i32 0, i32 0
  %11794 = load ptr, ptr %11793, align 8, !tbaa !44
  %11795 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %11794, i32 0, i32 6
  store ptr @s2n_record_alg_aes256_gcm, ptr %11795, align 8, !tbaa !49
  br label %11796

11796:                                            ; preds = %11781
  %11797 = load i32, ptr @test_count, align 4, !tbaa !5
  %11798 = add nsw i32 %11797, 1
  store i32 %11798, ptr @test_count, align 4, !tbaa !5
  %11799 = load ptr, ptr %6, align 8, !tbaa !9
  %11800 = call i32 @destroy_server_keys(ptr noundef %11799)
  %11801 = icmp eq i32 %11800, -1
  br i1 %11801, label %11802, label %11855

11802:                                            ; preds = %11796
  br label %11803

11803:                                            ; preds = %11802
  br label %11804

11804:                                            ; preds = %11803
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %11805 = call ptr @__errno_location() #12
  %11806 = load i32, ptr %11805, align 4, !tbaa !5
  store i32 %11806, ptr %218, align 4, !tbaa !5
  %11807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11808 = call i32 @s2n_print_stacktrace(ptr noundef %11807)
  %11809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11810 = trunc i8 %11809 to i1
  br i1 %11810, label %11811, label %11833

11811:                                            ; preds = %11804
  %11812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11813 = call i32 @fileno(ptr noundef %11812) #11
  %11814 = call i32 @isatty(i32 noundef %11813) #11
  %11815 = icmp ne i32 %11814, 0
  br i1 %11815, label %11816, label %11833

11816:                                            ; preds = %11811
  %11817 = load i32, ptr %218, align 4, !tbaa !5
  %11818 = call ptr @__errno_location() #12
  store i32 %11817, ptr %11818, align 4, !tbaa !5
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = load i32, ptr @test_count, align 4, !tbaa !5
  %11821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11822 = load i32, ptr %11821, align 4, !tbaa !5
  %11823 = call ptr @s2n_strerror(i32 noundef %11822, ptr noundef @.str.3)
  %11824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11825 = load i32, ptr %11824, align 4, !tbaa !5
  %11826 = call ptr @s2n_strerror_debug(i32 noundef %11825, ptr noundef @.str.3)
  %11827 = call ptr @__errno_location() #12
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  %11829 = call ptr @strerror(i32 noundef %11828) #11
  %11830 = call ptr @__errno_location() #12
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11819, ptr noundef @.str, i32 noundef %11820, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 424, ptr noundef %11823, ptr noundef %11826, ptr noundef %11829, i32 noundef %11831) #11
  br label %11850

11833:                                            ; preds = %11811, %11804
  %11834 = load i32, ptr %218, align 4, !tbaa !5
  %11835 = call ptr @__errno_location() #12
  store i32 %11834, ptr %11835, align 4, !tbaa !5
  %11836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11837 = load i32, ptr @test_count, align 4, !tbaa !5
  %11838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11839 = load i32, ptr %11838, align 4, !tbaa !5
  %11840 = call ptr @s2n_strerror(i32 noundef %11839, ptr noundef @.str.3)
  %11841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11842 = load i32, ptr %11841, align 4, !tbaa !5
  %11843 = call ptr @s2n_strerror_debug(i32 noundef %11842, ptr noundef @.str.3)
  %11844 = call ptr @__errno_location() #12
  %11845 = load i32, ptr %11844, align 4, !tbaa !5
  %11846 = call ptr @strerror(i32 noundef %11845) #11
  %11847 = call ptr @__errno_location() #12
  %11848 = load i32, ptr %11847, align 4, !tbaa !5
  %11849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11836, ptr noundef @.str.4, i32 noundef %11837, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 424, ptr noundef %11840, ptr noundef %11843, ptr noundef %11846, i32 noundef %11848) #11
  br label %11850

11850:                                            ; preds = %11833, %11816
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %11851

11851:                                            ; preds = %11850
  br label %11852

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

11853:                                            ; No predecessors!
  br label %11854

11854:                                            ; preds = %11853
  br label %11855

11855:                                            ; preds = %11854, %11796
  br label %11856

11856:                                            ; preds = %11855
  br label %11857

11857:                                            ; preds = %11856
  br label %11858

11858:                                            ; preds = %11857
  %11859 = load i32, ptr @test_count, align 4, !tbaa !5
  %11860 = add nsw i32 %11859, 1
  store i32 %11860, ptr @test_count, align 4, !tbaa !5
  %11861 = load ptr, ptr %6, align 8, !tbaa !9
  %11862 = call i32 @setup_server_keys(ptr noundef %11861, ptr noundef %12)
  %11863 = icmp eq i32 %11862, -1
  br i1 %11863, label %11864, label %11917

11864:                                            ; preds = %11858
  br label %11865

11865:                                            ; preds = %11864
  br label %11866

11866:                                            ; preds = %11865
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %11867 = call ptr @__errno_location() #12
  %11868 = load i32, ptr %11867, align 4, !tbaa !5
  store i32 %11868, ptr %219, align 4, !tbaa !5
  %11869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11870 = call i32 @s2n_print_stacktrace(ptr noundef %11869)
  %11871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11872 = trunc i8 %11871 to i1
  br i1 %11872, label %11873, label %11895

11873:                                            ; preds = %11866
  %11874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11875 = call i32 @fileno(ptr noundef %11874) #11
  %11876 = call i32 @isatty(i32 noundef %11875) #11
  %11877 = icmp ne i32 %11876, 0
  br i1 %11877, label %11878, label %11895

11878:                                            ; preds = %11873
  %11879 = load i32, ptr %219, align 4, !tbaa !5
  %11880 = call ptr @__errno_location() #12
  store i32 %11879, ptr %11880, align 4, !tbaa !5
  %11881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11882 = load i32, ptr @test_count, align 4, !tbaa !5
  %11883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11884 = load i32, ptr %11883, align 4, !tbaa !5
  %11885 = call ptr @s2n_strerror(i32 noundef %11884, ptr noundef @.str.3)
  %11886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11887 = load i32, ptr %11886, align 4, !tbaa !5
  %11888 = call ptr @s2n_strerror_debug(i32 noundef %11887, ptr noundef @.str.3)
  %11889 = call ptr @__errno_location() #12
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  %11891 = call ptr @strerror(i32 noundef %11890) #11
  %11892 = call ptr @__errno_location() #12
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11881, ptr noundef @.str, i32 noundef %11882, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 425, ptr noundef %11885, ptr noundef %11888, ptr noundef %11891, i32 noundef %11893) #11
  br label %11912

11895:                                            ; preds = %11873, %11866
  %11896 = load i32, ptr %219, align 4, !tbaa !5
  %11897 = call ptr @__errno_location() #12
  store i32 %11896, ptr %11897, align 4, !tbaa !5
  %11898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11899 = load i32, ptr @test_count, align 4, !tbaa !5
  %11900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  %11902 = call ptr @s2n_strerror(i32 noundef %11901, ptr noundef @.str.3)
  %11903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11904 = load i32, ptr %11903, align 4, !tbaa !5
  %11905 = call ptr @s2n_strerror_debug(i32 noundef %11904, ptr noundef @.str.3)
  %11906 = call ptr @__errno_location() #12
  %11907 = load i32, ptr %11906, align 4, !tbaa !5
  %11908 = call ptr @strerror(i32 noundef %11907) #11
  %11909 = call ptr @__errno_location() #12
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11898, ptr noundef @.str.4, i32 noundef %11899, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 425, ptr noundef %11902, ptr noundef %11905, ptr noundef %11908, i32 noundef %11910) #11
  br label %11912

11912:                                            ; preds = %11895, %11878
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %11913

11913:                                            ; preds = %11912
  br label %11914

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

11915:                                            ; No predecessors!
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916, %11858
  br label %11918

11918:                                            ; preds = %11917
  br label %11919

11919:                                            ; preds = %11918
  %11920 = load ptr, ptr %6, align 8, !tbaa !9
  %11921 = getelementptr inbounds %struct.s2n_connection, ptr %11920, i32 0, i32 23
  store i8 33, ptr %11921, align 4, !tbaa !55
  br label %11922

11922:                                            ; preds = %11919
  %11923 = load i32, ptr @test_count, align 4, !tbaa !5
  %11924 = add nsw i32 %11923, 1
  store i32 %11924, ptr @test_count, align 4, !tbaa !5
  %11925 = load ptr, ptr %6, align 8, !tbaa !9
  %11926 = call i32 @s2n_record_write(ptr noundef %11925, i8 noundef zeroext 23, ptr noundef %133)
  %11927 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  store i32 %11926, ptr %11927, align 4
  %11928 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  %11929 = load i32, ptr %11928, align 4
  %11930 = call zeroext i1 @s2n_result_is_ok(i32 %11929)
  br i1 %11930, label %11984, label %11931

11931:                                            ; preds = %11922
  br label %11932

11932:                                            ; preds = %11931
  br label %11933

11933:                                            ; preds = %11932
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %11934 = call ptr @__errno_location() #12
  %11935 = load i32, ptr %11934, align 4, !tbaa !5
  store i32 %11935, ptr %221, align 4, !tbaa !5
  %11936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11937 = call i32 @s2n_print_stacktrace(ptr noundef %11936)
  %11938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11939 = trunc i8 %11938 to i1
  br i1 %11939, label %11940, label %11962

11940:                                            ; preds = %11933
  %11941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11942 = call i32 @fileno(ptr noundef %11941) #11
  %11943 = call i32 @isatty(i32 noundef %11942) #11
  %11944 = icmp ne i32 %11943, 0
  br i1 %11944, label %11945, label %11962

11945:                                            ; preds = %11940
  %11946 = load i32, ptr %221, align 4, !tbaa !5
  %11947 = call ptr @__errno_location() #12
  store i32 %11946, ptr %11947, align 4, !tbaa !5
  %11948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11949 = load i32, ptr @test_count, align 4, !tbaa !5
  %11950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11951 = load i32, ptr %11950, align 4, !tbaa !5
  %11952 = call ptr @s2n_strerror(i32 noundef %11951, ptr noundef @.str.3)
  %11953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11954 = load i32, ptr %11953, align 4, !tbaa !5
  %11955 = call ptr @s2n_strerror_debug(i32 noundef %11954, ptr noundef @.str.3)
  %11956 = call ptr @__errno_location() #12
  %11957 = load i32, ptr %11956, align 4, !tbaa !5
  %11958 = call ptr @strerror(i32 noundef %11957) #11
  %11959 = call ptr @__errno_location() #12
  %11960 = load i32, ptr %11959, align 4, !tbaa !5
  %11961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11948, ptr noundef @.str, i32 noundef %11949, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 427, ptr noundef %11952, ptr noundef %11955, ptr noundef %11958, i32 noundef %11960) #11
  br label %11979

11962:                                            ; preds = %11940, %11933
  %11963 = load i32, ptr %221, align 4, !tbaa !5
  %11964 = call ptr @__errno_location() #12
  store i32 %11963, ptr %11964, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = load i32, ptr @test_count, align 4, !tbaa !5
  %11967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11968 = load i32, ptr %11967, align 4, !tbaa !5
  %11969 = call ptr @s2n_strerror(i32 noundef %11968, ptr noundef @.str.3)
  %11970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  %11972 = call ptr @s2n_strerror_debug(i32 noundef %11971, ptr noundef @.str.3)
  %11973 = call ptr @__errno_location() #12
  %11974 = load i32, ptr %11973, align 4, !tbaa !5
  %11975 = call ptr @strerror(i32 noundef %11974) #11
  %11976 = call ptr @__errno_location() #12
  %11977 = load i32, ptr %11976, align 4, !tbaa !5
  %11978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11965, ptr noundef @.str.4, i32 noundef %11966, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 427, ptr noundef %11969, ptr noundef %11972, ptr noundef %11975, i32 noundef %11977) #11
  br label %11979

11979:                                            ; preds = %11962, %11945
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %11980

11980:                                            ; preds = %11979
  br label %11981

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

11982:                                            ; No predecessors!
  br label %11983

11983:                                            ; preds = %11982
  br label %11984

11984:                                            ; preds = %11983, %11922
  br label %11985

11985:                                            ; preds = %11984
  br label %11986

11986:                                            ; preds = %11985
  br label %11987

11987:                                            ; preds = %11986
  %11988 = load i32, ptr @test_count, align 4, !tbaa !5
  %11989 = add nsw i32 %11988, 1
  store i32 %11989, ptr @test_count, align 4, !tbaa !5
  %11990 = load ptr, ptr %6, align 8, !tbaa !9
  %11991 = getelementptr inbounds %struct.s2n_connection, ptr %11990, i32 0, i32 40
  %11992 = call i32 @s2n_stuffer_wipe(ptr noundef %11991)
  %11993 = icmp eq i32 %11992, -1
  br i1 %11993, label %11994, label %12047

11994:                                            ; preds = %11987
  br label %11995

11995:                                            ; preds = %11994
  br label %11996

11996:                                            ; preds = %11995
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %11997 = call ptr @__errno_location() #12
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  store i32 %11998, ptr %222, align 4, !tbaa !5
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = call i32 @s2n_print_stacktrace(ptr noundef %11999)
  %12001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12002 = trunc i8 %12001 to i1
  br i1 %12002, label %12003, label %12025

12003:                                            ; preds = %11996
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = call i32 @fileno(ptr noundef %12004) #11
  %12006 = call i32 @isatty(i32 noundef %12005) #11
  %12007 = icmp ne i32 %12006, 0
  br i1 %12007, label %12008, label %12025

12008:                                            ; preds = %12003
  %12009 = load i32, ptr %222, align 4, !tbaa !5
  %12010 = call ptr @__errno_location() #12
  store i32 %12009, ptr %12010, align 4, !tbaa !5
  %12011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12012 = load i32, ptr @test_count, align 4, !tbaa !5
  %12013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12014 = load i32, ptr %12013, align 4, !tbaa !5
  %12015 = call ptr @s2n_strerror(i32 noundef %12014, ptr noundef @.str.3)
  %12016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12017 = load i32, ptr %12016, align 4, !tbaa !5
  %12018 = call ptr @s2n_strerror_debug(i32 noundef %12017, ptr noundef @.str.3)
  %12019 = call ptr @__errno_location() #12
  %12020 = load i32, ptr %12019, align 4, !tbaa !5
  %12021 = call ptr @strerror(i32 noundef %12020) #11
  %12022 = call ptr @__errno_location() #12
  %12023 = load i32, ptr %12022, align 4, !tbaa !5
  %12024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12011, ptr noundef @.str, i32 noundef %12012, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 430, ptr noundef %12015, ptr noundef %12018, ptr noundef %12021, i32 noundef %12023) #11
  br label %12042

12025:                                            ; preds = %12003, %11996
  %12026 = load i32, ptr %222, align 4, !tbaa !5
  %12027 = call ptr @__errno_location() #12
  store i32 %12026, ptr %12027, align 4, !tbaa !5
  %12028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12029 = load i32, ptr @test_count, align 4, !tbaa !5
  %12030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12031 = load i32, ptr %12030, align 4, !tbaa !5
  %12032 = call ptr @s2n_strerror(i32 noundef %12031, ptr noundef @.str.3)
  %12033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12034 = load i32, ptr %12033, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror_debug(i32 noundef %12034, ptr noundef @.str.3)
  %12036 = call ptr @__errno_location() #12
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  %12038 = call ptr @strerror(i32 noundef %12037) #11
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12028, ptr noundef @.str.4, i32 noundef %12029, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 430, ptr noundef %12032, ptr noundef %12035, ptr noundef %12038, i32 noundef %12040) #11
  br label %12042

12042:                                            ; preds = %12025, %12008
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %12043

12043:                                            ; preds = %12042
  br label %12044

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

12045:                                            ; No predecessors!
  br label %12046

12046:                                            ; preds = %12045
  br label %12047

12047:                                            ; preds = %12046, %11987
  br label %12048

12048:                                            ; preds = %12047
  br label %12049

12049:                                            ; preds = %12048
  br label %12050

12050:                                            ; preds = %12049
  %12051 = load i32, ptr @test_count, align 4, !tbaa !5
  %12052 = add nsw i32 %12051, 1
  store i32 %12052, ptr @test_count, align 4, !tbaa !5
  %12053 = load ptr, ptr %6, align 8, !tbaa !9
  %12054 = getelementptr inbounds %struct.s2n_connection, ptr %12053, i32 0, i32 38
  %12055 = call i32 @s2n_stuffer_wipe(ptr noundef %12054)
  %12056 = icmp eq i32 %12055, -1
  br i1 %12056, label %12057, label %12110

12057:                                            ; preds = %12050
  br label %12058

12058:                                            ; preds = %12057
  br label %12059

12059:                                            ; preds = %12058
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %12060 = call ptr @__errno_location() #12
  %12061 = load i32, ptr %12060, align 4, !tbaa !5
  store i32 %12061, ptr %223, align 4, !tbaa !5
  %12062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12063 = call i32 @s2n_print_stacktrace(ptr noundef %12062)
  %12064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12065 = trunc i8 %12064 to i1
  br i1 %12065, label %12066, label %12088

12066:                                            ; preds = %12059
  %12067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12068 = call i32 @fileno(ptr noundef %12067) #11
  %12069 = call i32 @isatty(i32 noundef %12068) #11
  %12070 = icmp ne i32 %12069, 0
  br i1 %12070, label %12071, label %12088

12071:                                            ; preds = %12066
  %12072 = load i32, ptr %223, align 4, !tbaa !5
  %12073 = call ptr @__errno_location() #12
  store i32 %12072, ptr %12073, align 4, !tbaa !5
  %12074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12075 = load i32, ptr @test_count, align 4, !tbaa !5
  %12076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12077 = load i32, ptr %12076, align 4, !tbaa !5
  %12078 = call ptr @s2n_strerror(i32 noundef %12077, ptr noundef @.str.3)
  %12079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12080 = load i32, ptr %12079, align 4, !tbaa !5
  %12081 = call ptr @s2n_strerror_debug(i32 noundef %12080, ptr noundef @.str.3)
  %12082 = call ptr @__errno_location() #12
  %12083 = load i32, ptr %12082, align 4, !tbaa !5
  %12084 = call ptr @strerror(i32 noundef %12083) #11
  %12085 = call ptr @__errno_location() #12
  %12086 = load i32, ptr %12085, align 4, !tbaa !5
  %12087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12074, ptr noundef @.str, i32 noundef %12075, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 431, ptr noundef %12078, ptr noundef %12081, ptr noundef %12084, i32 noundef %12086) #11
  br label %12105

12088:                                            ; preds = %12066, %12059
  %12089 = load i32, ptr %223, align 4, !tbaa !5
  %12090 = call ptr @__errno_location() #12
  store i32 %12089, ptr %12090, align 4, !tbaa !5
  %12091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12092 = load i32, ptr @test_count, align 4, !tbaa !5
  %12093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  %12095 = call ptr @s2n_strerror(i32 noundef %12094, ptr noundef @.str.3)
  %12096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12097 = load i32, ptr %12096, align 4, !tbaa !5
  %12098 = call ptr @s2n_strerror_debug(i32 noundef %12097, ptr noundef @.str.3)
  %12099 = call ptr @__errno_location() #12
  %12100 = load i32, ptr %12099, align 4, !tbaa !5
  %12101 = call ptr @strerror(i32 noundef %12100) #11
  %12102 = call ptr @__errno_location() #12
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12091, ptr noundef @.str.4, i32 noundef %12092, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 431, ptr noundef %12095, ptr noundef %12098, ptr noundef %12101, i32 noundef %12103) #11
  br label %12105

12105:                                            ; preds = %12088, %12071
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %12106

12106:                                            ; preds = %12105
  br label %12107

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

12108:                                            ; No predecessors!
  br label %12109

12109:                                            ; preds = %12108
  br label %12110

12110:                                            ; preds = %12109, %12050
  br label %12111

12111:                                            ; preds = %12110
  br label %12112

12112:                                            ; preds = %12111
  br label %12113

12113:                                            ; preds = %12112
  %12114 = load i32, ptr @test_count, align 4, !tbaa !5
  %12115 = add nsw i32 %12114, 1
  store i32 %12115, ptr @test_count, align 4, !tbaa !5
  %12116 = load ptr, ptr %6, align 8, !tbaa !9
  %12117 = getelementptr inbounds %struct.s2n_connection, ptr %12116, i32 0, i32 41
  %12118 = load ptr, ptr %6, align 8, !tbaa !9
  %12119 = getelementptr inbounds %struct.s2n_connection, ptr %12118, i32 0, i32 38
  %12120 = call i32 @s2n_stuffer_copy(ptr noundef %12117, ptr noundef %12119, i32 noundef 5)
  %12121 = icmp eq i32 %12120, -1
  br i1 %12121, label %12122, label %12175

12122:                                            ; preds = %12113
  br label %12123

12123:                                            ; preds = %12122
  br label %12124

12124:                                            ; preds = %12123
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %12125 = call ptr @__errno_location() #12
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  store i32 %12126, ptr %224, align 4, !tbaa !5
  %12127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12128 = call i32 @s2n_print_stacktrace(ptr noundef %12127)
  %12129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12130 = trunc i8 %12129 to i1
  br i1 %12130, label %12131, label %12153

12131:                                            ; preds = %12124
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = call i32 @fileno(ptr noundef %12132) #11
  %12134 = call i32 @isatty(i32 noundef %12133) #11
  %12135 = icmp ne i32 %12134, 0
  br i1 %12135, label %12136, label %12153

12136:                                            ; preds = %12131
  %12137 = load i32, ptr %224, align 4, !tbaa !5
  %12138 = call ptr @__errno_location() #12
  store i32 %12137, ptr %12138, align 4, !tbaa !5
  %12139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12142 = load i32, ptr %12141, align 4, !tbaa !5
  %12143 = call ptr @s2n_strerror(i32 noundef %12142, ptr noundef @.str.3)
  %12144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror_debug(i32 noundef %12145, ptr noundef @.str.3)
  %12147 = call ptr @__errno_location() #12
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call ptr @strerror(i32 noundef %12148) #11
  %12150 = call ptr @__errno_location() #12
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12139, ptr noundef @.str, i32 noundef %12140, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 432, ptr noundef %12143, ptr noundef %12146, ptr noundef %12149, i32 noundef %12151) #11
  br label %12170

12153:                                            ; preds = %12131, %12124
  %12154 = load i32, ptr %224, align 4, !tbaa !5
  %12155 = call ptr @__errno_location() #12
  store i32 %12154, ptr %12155, align 4, !tbaa !5
  %12156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12157 = load i32, ptr @test_count, align 4, !tbaa !5
  %12158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12159 = load i32, ptr %12158, align 4, !tbaa !5
  %12160 = call ptr @s2n_strerror(i32 noundef %12159, ptr noundef @.str.3)
  %12161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  %12163 = call ptr @s2n_strerror_debug(i32 noundef %12162, ptr noundef @.str.3)
  %12164 = call ptr @__errno_location() #12
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @strerror(i32 noundef %12165) #11
  %12167 = call ptr @__errno_location() #12
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12156, ptr noundef @.str.4, i32 noundef %12157, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 432, ptr noundef %12160, ptr noundef %12163, ptr noundef %12166, i32 noundef %12168) #11
  br label %12170

12170:                                            ; preds = %12153, %12136
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %12171

12171:                                            ; preds = %12170
  br label %12172

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

12173:                                            ; No predecessors!
  br label %12174

12174:                                            ; preds = %12173
  br label %12175

12175:                                            ; preds = %12174, %12113
  br label %12176

12176:                                            ; preds = %12175
  br label %12177

12177:                                            ; preds = %12176
  br label %12178

12178:                                            ; preds = %12177
  %12179 = load i32, ptr @test_count, align 4, !tbaa !5
  %12180 = add nsw i32 %12179, 1
  store i32 %12180, ptr @test_count, align 4, !tbaa !5
  %12181 = load ptr, ptr %6, align 8, !tbaa !9
  %12182 = getelementptr inbounds %struct.s2n_connection, ptr %12181, i32 0, i32 41
  %12183 = load ptr, ptr %6, align 8, !tbaa !9
  %12184 = getelementptr inbounds %struct.s2n_connection, ptr %12183, i32 0, i32 40
  %12185 = load ptr, ptr %6, align 8, !tbaa !9
  %12186 = getelementptr inbounds %struct.s2n_connection, ptr %12185, i32 0, i32 41
  %12187 = getelementptr inbounds %struct.s2n_stuffer, ptr %12186, i32 0, i32 2
  %12188 = load i32, ptr %12187, align 4, !tbaa !61
  %12189 = load ptr, ptr %6, align 8, !tbaa !9
  %12190 = getelementptr inbounds %struct.s2n_connection, ptr %12189, i32 0, i32 41
  %12191 = getelementptr inbounds %struct.s2n_stuffer, ptr %12190, i32 0, i32 1
  %12192 = load i32, ptr %12191, align 8, !tbaa !62
  %12193 = sub i32 %12188, %12192
  %12194 = call i32 @s2n_stuffer_copy(ptr noundef %12182, ptr noundef %12184, i32 noundef %12193)
  %12195 = icmp eq i32 %12194, -1
  br i1 %12195, label %12196, label %12249

12196:                                            ; preds = %12178
  br label %12197

12197:                                            ; preds = %12196
  br label %12198

12198:                                            ; preds = %12197
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %12199 = call ptr @__errno_location() #12
  %12200 = load i32, ptr %12199, align 4, !tbaa !5
  store i32 %12200, ptr %225, align 4, !tbaa !5
  %12201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12202 = call i32 @s2n_print_stacktrace(ptr noundef %12201)
  %12203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12204 = trunc i8 %12203 to i1
  br i1 %12204, label %12205, label %12227

12205:                                            ; preds = %12198
  %12206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12207 = call i32 @fileno(ptr noundef %12206) #11
  %12208 = call i32 @isatty(i32 noundef %12207) #11
  %12209 = icmp ne i32 %12208, 0
  br i1 %12209, label %12210, label %12227

12210:                                            ; preds = %12205
  %12211 = load i32, ptr %225, align 4, !tbaa !5
  %12212 = call ptr @__errno_location() #12
  store i32 %12211, ptr %12212, align 4, !tbaa !5
  %12213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12214 = load i32, ptr @test_count, align 4, !tbaa !5
  %12215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @s2n_strerror(i32 noundef %12216, ptr noundef @.str.3)
  %12218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call ptr @s2n_strerror_debug(i32 noundef %12219, ptr noundef @.str.3)
  %12221 = call ptr @__errno_location() #12
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  %12223 = call ptr @strerror(i32 noundef %12222) #11
  %12224 = call ptr @__errno_location() #12
  %12225 = load i32, ptr %12224, align 4, !tbaa !5
  %12226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12213, ptr noundef @.str, i32 noundef %12214, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 433, ptr noundef %12217, ptr noundef %12220, ptr noundef %12223, i32 noundef %12225) #11
  br label %12244

12227:                                            ; preds = %12205, %12198
  %12228 = load i32, ptr %225, align 4, !tbaa !5
  %12229 = call ptr @__errno_location() #12
  store i32 %12228, ptr %12229, align 4, !tbaa !5
  %12230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12231 = load i32, ptr @test_count, align 4, !tbaa !5
  %12232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call ptr @s2n_strerror(i32 noundef %12233, ptr noundef @.str.3)
  %12235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  %12237 = call ptr @s2n_strerror_debug(i32 noundef %12236, ptr noundef @.str.3)
  %12238 = call ptr @__errno_location() #12
  %12239 = load i32, ptr %12238, align 4, !tbaa !5
  %12240 = call ptr @strerror(i32 noundef %12239) #11
  %12241 = call ptr @__errno_location() #12
  %12242 = load i32, ptr %12241, align 4, !tbaa !5
  %12243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12230, ptr noundef @.str.4, i32 noundef %12231, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 433, ptr noundef %12234, ptr noundef %12237, ptr noundef %12240, i32 noundef %12242) #11
  br label %12244

12244:                                            ; preds = %12227, %12210
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

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

12247:                                            ; No predecessors!
  br label %12248

12248:                                            ; preds = %12247
  br label %12249

12249:                                            ; preds = %12248, %12178
  br label %12250

12250:                                            ; preds = %12249
  br label %12251

12251:                                            ; preds = %12250
  %12252 = load ptr, ptr %6, align 8, !tbaa !9
  %12253 = getelementptr inbounds %struct.s2n_connection, ptr %12252, i32 0, i32 40
  %12254 = getelementptr inbounds %struct.s2n_stuffer, ptr %12253, i32 0, i32 0
  %12255 = getelementptr inbounds %struct.s2n_blob, ptr %12254, i32 0, i32 0
  %12256 = load ptr, ptr %12255, align 8, !tbaa !64
  %12257 = load i64, ptr %216, align 8, !tbaa !51
  %12258 = add i64 8, %12257
  %12259 = getelementptr inbounds i8, ptr %12256, i64 %12258
  %12260 = load i8, ptr %12259, align 1, !tbaa !59
  %12261 = add i8 %12260, 1
  store i8 %12261, ptr %12259, align 1, !tbaa !59
  br label %12262

12262:                                            ; preds = %12251
  %12263 = load i32, ptr @test_count, align 4, !tbaa !5
  %12264 = add nsw i32 %12263, 1
  store i32 %12264, ptr @test_count, align 4, !tbaa !5
  %12265 = load ptr, ptr %6, align 8, !tbaa !9
  %12266 = call i32 @s2n_record_header_parse(ptr noundef %12265, ptr noundef %158, ptr noundef %159)
  %12267 = icmp eq i32 %12266, -1
  br i1 %12267, label %12268, label %12321

12268:                                            ; preds = %12262
  br label %12269

12269:                                            ; preds = %12268
  br label %12270

12270:                                            ; preds = %12269
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %12271 = call ptr @__errno_location() #12
  %12272 = load i32, ptr %12271, align 4, !tbaa !5
  store i32 %12272, ptr %226, align 4, !tbaa !5
  %12273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12274 = call i32 @s2n_print_stacktrace(ptr noundef %12273)
  %12275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12276 = trunc i8 %12275 to i1
  br i1 %12276, label %12277, label %12299

12277:                                            ; preds = %12270
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = call i32 @fileno(ptr noundef %12278) #11
  %12280 = call i32 @isatty(i32 noundef %12279) #11
  %12281 = icmp ne i32 %12280, 0
  br i1 %12281, label %12282, label %12299

12282:                                            ; preds = %12277
  %12283 = load i32, ptr %226, align 4, !tbaa !5
  %12284 = call ptr @__errno_location() #12
  store i32 %12283, ptr %12284, align 4, !tbaa !5
  %12285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12286 = load i32, ptr @test_count, align 4, !tbaa !5
  %12287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12288 = load i32, ptr %12287, align 4, !tbaa !5
  %12289 = call ptr @s2n_strerror(i32 noundef %12288, ptr noundef @.str.3)
  %12290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12291 = load i32, ptr %12290, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror_debug(i32 noundef %12291, ptr noundef @.str.3)
  %12293 = call ptr @__errno_location() #12
  %12294 = load i32, ptr %12293, align 4, !tbaa !5
  %12295 = call ptr @strerror(i32 noundef %12294) #11
  %12296 = call ptr @__errno_location() #12
  %12297 = load i32, ptr %12296, align 4, !tbaa !5
  %12298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12285, ptr noundef @.str, i32 noundef %12286, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 435, ptr noundef %12289, ptr noundef %12292, ptr noundef %12295, i32 noundef %12297) #11
  br label %12316

12299:                                            ; preds = %12277, %12270
  %12300 = load i32, ptr %226, align 4, !tbaa !5
  %12301 = call ptr @__errno_location() #12
  store i32 %12300, ptr %12301, align 4, !tbaa !5
  %12302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12303 = load i32, ptr @test_count, align 4, !tbaa !5
  %12304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12305 = load i32, ptr %12304, align 4, !tbaa !5
  %12306 = call ptr @s2n_strerror(i32 noundef %12305, ptr noundef @.str.3)
  %12307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12308 = load i32, ptr %12307, align 4, !tbaa !5
  %12309 = call ptr @s2n_strerror_debug(i32 noundef %12308, ptr noundef @.str.3)
  %12310 = call ptr @__errno_location() #12
  %12311 = load i32, ptr %12310, align 4, !tbaa !5
  %12312 = call ptr @strerror(i32 noundef %12311) #11
  %12313 = call ptr @__errno_location() #12
  %12314 = load i32, ptr %12313, align 4, !tbaa !5
  %12315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12302, ptr noundef @.str.4, i32 noundef %12303, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 435, ptr noundef %12306, ptr noundef %12309, ptr noundef %12312, i32 noundef %12314) #11
  br label %12316

12316:                                            ; preds = %12299, %12282
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %12317

12317:                                            ; preds = %12316
  br label %12318

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

12319:                                            ; No predecessors!
  br label %12320

12320:                                            ; preds = %12319
  br label %12321

12321:                                            ; preds = %12320, %12262
  br label %12322

12322:                                            ; preds = %12321
  br label %12323

12323:                                            ; preds = %12322
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  %12326 = load i32, ptr @test_count, align 4, !tbaa !5
  %12327 = add nsw i32 %12326, 1
  store i32 %12327, ptr @test_count, align 4, !tbaa !5
  %12328 = load ptr, ptr %6, align 8, !tbaa !9
  %12329 = call i32 @s2n_record_parse(ptr noundef %12328)
  %12330 = icmp eq i32 %12329, -1
  br i1 %12330, label %12384, label %12331

12331:                                            ; preds = %12325
  br label %12332

12332:                                            ; preds = %12331
  br label %12333

12333:                                            ; preds = %12332
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %12334 = call ptr @__errno_location() #12
  %12335 = load i32, ptr %12334, align 4, !tbaa !5
  store i32 %12335, ptr %227, align 4, !tbaa !5
  %12336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12337 = call i32 @s2n_print_stacktrace(ptr noundef %12336)
  %12338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12339 = trunc i8 %12338 to i1
  br i1 %12339, label %12340, label %12362

12340:                                            ; preds = %12333
  %12341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12342 = call i32 @fileno(ptr noundef %12341) #11
  %12343 = call i32 @isatty(i32 noundef %12342) #11
  %12344 = icmp ne i32 %12343, 0
  br i1 %12344, label %12345, label %12362

12345:                                            ; preds = %12340
  %12346 = load i32, ptr %227, align 4, !tbaa !5
  %12347 = call ptr @__errno_location() #12
  store i32 %12346, ptr %12347, align 4, !tbaa !5
  %12348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12349 = load i32, ptr @test_count, align 4, !tbaa !5
  %12350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12351 = load i32, ptr %12350, align 4, !tbaa !5
  %12352 = call ptr @s2n_strerror(i32 noundef %12351, ptr noundef @.str.3)
  %12353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12354 = load i32, ptr %12353, align 4, !tbaa !5
  %12355 = call ptr @s2n_strerror_debug(i32 noundef %12354, ptr noundef @.str.3)
  %12356 = call ptr @__errno_location() #12
  %12357 = load i32, ptr %12356, align 4, !tbaa !5
  %12358 = call ptr @strerror(i32 noundef %12357) #11
  %12359 = call ptr @__errno_location() #12
  %12360 = load i32, ptr %12359, align 4, !tbaa !5
  %12361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12348, ptr noundef @.str, i32 noundef %12349, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12352, ptr noundef %12355, ptr noundef %12358, i32 noundef %12360) #11
  br label %12379

12362:                                            ; preds = %12340, %12333
  %12363 = load i32, ptr %227, align 4, !tbaa !5
  %12364 = call ptr @__errno_location() #12
  store i32 %12363, ptr %12364, align 4, !tbaa !5
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = load i32, ptr @test_count, align 4, !tbaa !5
  %12367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @s2n_strerror(i32 noundef %12368, ptr noundef @.str.3)
  %12370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call ptr @s2n_strerror_debug(i32 noundef %12371, ptr noundef @.str.3)
  %12373 = call ptr @__errno_location() #12
  %12374 = load i32, ptr %12373, align 4, !tbaa !5
  %12375 = call ptr @strerror(i32 noundef %12374) #11
  %12376 = call ptr @__errno_location() #12
  %12377 = load i32, ptr %12376, align 4, !tbaa !5
  %12378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12365, ptr noundef @.str.4, i32 noundef %12366, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12369, ptr noundef %12372, ptr noundef %12375, i32 noundef %12377) #11
  br label %12379

12379:                                            ; preds = %12362, %12345
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %12380

12380:                                            ; preds = %12379
  br label %12381

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

12382:                                            ; No predecessors!
  br label %12383

12383:                                            ; preds = %12382
  br label %12384

12384:                                            ; preds = %12383, %12325
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385
  br label %12387

12387:                                            ; preds = %12386
  %12388 = load i32, ptr @test_count, align 4, !tbaa !5
  %12389 = add nsw i32 %12388, 1
  store i32 %12389, ptr @test_count, align 4, !tbaa !5
  %12390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12391 = load i32, ptr %12390, align 4, !tbaa !5
  %12392 = icmp eq i32 %12391, 0
  br i1 %12392, label %12393, label %12446

12393:                                            ; preds = %12387
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %12396 = call ptr @__errno_location() #12
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  store i32 %12397, ptr %228, 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) #11
  %12405 = call i32 @isatty(i32 noundef %12404) #11
  %12406 = icmp ne i32 %12405, 0
  br i1 %12406, label %12407, label %12424

12407:                                            ; preds = %12402
  %12408 = load i32, ptr %228, align 4, !tbaa !5
  %12409 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %12418 = call ptr @__errno_location() #12
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @strerror(i32 noundef %12419) #11
  %12421 = call ptr @__errno_location() #12
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12410, ptr noundef @.str, i32 noundef %12411, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12414, ptr noundef %12417, ptr noundef %12420, i32 noundef %12422) #11
  br label %12441

12424:                                            ; preds = %12402, %12395
  %12425 = load i32, ptr %228, align 4, !tbaa !5
  %12426 = call ptr @__errno_location() #12
  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.3)
  %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.3)
  %12435 = call ptr @__errno_location() #12
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @strerror(i32 noundef %12436) #11
  %12438 = call ptr @__errno_location() #12
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12427, ptr noundef @.str.4, i32 noundef %12428, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12431, ptr noundef %12434, ptr noundef %12437, i32 noundef %12439) #11
  br label %12441

12441:                                            ; preds = %12424, %12407
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %12442

12442:                                            ; preds = %12441
  br label %12443

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

12444:                                            ; No predecessors!
  br label %12445

12445:                                            ; preds = %12444
  br label %12446

12446:                                            ; preds = %12445, %12387
  br label %12447

12447:                                            ; preds = %12446
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448
  %12450 = load i32, ptr @test_count, align 4, !tbaa !5
  %12451 = add nsw i32 %12450, 1
  store i32 %12451, ptr @test_count, align 4, !tbaa !5
  %12452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12453 = load i32, ptr %12452, align 4, !tbaa !5
  %12454 = call ptr @s2n_strerror_debug(i32 noundef %12453, ptr noundef @.str.3)
  %12455 = icmp eq ptr %12454, null
  br i1 %12455, label %12456, label %12509

12456:                                            ; preds = %12449
  br label %12457

12457:                                            ; preds = %12456
  br label %12458

12458:                                            ; preds = %12457
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %12459 = call ptr @__errno_location() #12
  %12460 = load i32, ptr %12459, align 4, !tbaa !5
  store i32 %12460, ptr %229, align 4, !tbaa !5
  %12461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12462 = call i32 @s2n_print_stacktrace(ptr noundef %12461)
  %12463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12464 = trunc i8 %12463 to i1
  br i1 %12464, label %12465, label %12487

12465:                                            ; preds = %12458
  %12466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12467 = call i32 @fileno(ptr noundef %12466) #11
  %12468 = call i32 @isatty(i32 noundef %12467) #11
  %12469 = icmp ne i32 %12468, 0
  br i1 %12469, label %12470, label %12487

12470:                                            ; preds = %12465
  %12471 = load i32, ptr %229, align 4, !tbaa !5
  %12472 = call ptr @__errno_location() #12
  store i32 %12471, ptr %12472, align 4, !tbaa !5
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = load i32, ptr @test_count, align 4, !tbaa !5
  %12475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12476 = load i32, ptr %12475, align 4, !tbaa !5
  %12477 = call ptr @s2n_strerror(i32 noundef %12476, ptr noundef @.str.3)
  %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_debug(i32 noundef %12479, ptr noundef @.str.3)
  %12481 = call ptr @__errno_location() #12
  %12482 = load i32, ptr %12481, align 4, !tbaa !5
  %12483 = call ptr @strerror(i32 noundef %12482) #11
  %12484 = call ptr @__errno_location() #12
  %12485 = load i32, ptr %12484, align 4, !tbaa !5
  %12486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12473, ptr noundef @.str, i32 noundef %12474, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12477, ptr noundef %12480, ptr noundef %12483, i32 noundef %12485) #11
  br label %12504

12487:                                            ; preds = %12465, %12458
  %12488 = load i32, ptr %229, align 4, !tbaa !5
  %12489 = call ptr @__errno_location() #12
  store i32 %12488, ptr %12489, align 4, !tbaa !5
  %12490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12491 = load i32, ptr @test_count, align 4, !tbaa !5
  %12492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12493 = load i32, ptr %12492, align 4, !tbaa !5
  %12494 = call ptr @s2n_strerror(i32 noundef %12493, ptr noundef @.str.3)
  %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_debug(i32 noundef %12496, ptr noundef @.str.3)
  %12498 = call ptr @__errno_location() #12
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call ptr @strerror(i32 noundef %12499) #11
  %12501 = call ptr @__errno_location() #12
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12490, ptr noundef @.str.4, i32 noundef %12491, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 436, ptr noundef %12494, ptr noundef %12497, ptr noundef %12500, i32 noundef %12502) #11
  br label %12504

12504:                                            ; preds = %12487, %12470
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %12505

12505:                                            ; preds = %12504
  br label %12506

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

12507:                                            ; No predecessors!
  br label %12508

12508:                                            ; preds = %12507
  br label %12509

12509:                                            ; preds = %12508, %12449
  br label %12510

12510:                                            ; preds = %12509
  br label %12511

12511:                                            ; preds = %12510
  br label %12512

12512:                                            ; preds = %12511
  %12513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12513, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12514 = call ptr @__errno_location() #12
  store i32 0, ptr %12514, align 4, !tbaa !5
  br label %12515

12515:                                            ; preds = %12512
  br label %12516

12516:                                            ; preds = %12515
  br label %12517

12517:                                            ; preds = %12516
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

12519:                                            ; preds = %12518
  %12520 = load i32, ptr @test_count, align 4, !tbaa !5
  %12521 = add nsw i32 %12520, 1
  store i32 %12521, ptr @test_count, align 4, !tbaa !5
  %12522 = load i8, ptr %158, align 1, !tbaa !59
  %12523 = zext i8 %12522 to i32
  %12524 = icmp eq i32 %12523, 23
  br i1 %12524, label %12578, label %12525

12525:                                            ; preds = %12519
  br label %12526

12526:                                            ; preds = %12525
  br label %12527

12527:                                            ; preds = %12526
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %12528 = call ptr @__errno_location() #12
  %12529 = load i32, ptr %12528, align 4, !tbaa !5
  store i32 %12529, ptr %230, align 4, !tbaa !5
  %12530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12531 = call i32 @s2n_print_stacktrace(ptr noundef %12530)
  %12532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12533 = trunc i8 %12532 to i1
  br i1 %12533, label %12534, label %12556

12534:                                            ; preds = %12527
  %12535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12536 = call i32 @fileno(ptr noundef %12535) #11
  %12537 = call i32 @isatty(i32 noundef %12536) #11
  %12538 = icmp ne i32 %12537, 0
  br i1 %12538, label %12539, label %12556

12539:                                            ; preds = %12534
  %12540 = load i32, ptr %230, align 4, !tbaa !5
  %12541 = call ptr @__errno_location() #12
  store i32 %12540, ptr %12541, align 4, !tbaa !5
  %12542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12543 = load i32, ptr @test_count, align 4, !tbaa !5
  %12544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12545 = load i32, ptr %12544, align 4, !tbaa !5
  %12546 = call ptr @s2n_strerror(i32 noundef %12545, ptr noundef @.str.3)
  %12547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12548 = load i32, ptr %12547, align 4, !tbaa !5
  %12549 = call ptr @s2n_strerror_debug(i32 noundef %12548, ptr noundef @.str.3)
  %12550 = call ptr @__errno_location() #12
  %12551 = load i32, ptr %12550, align 4, !tbaa !5
  %12552 = call ptr @strerror(i32 noundef %12551) #11
  %12553 = call ptr @__errno_location() #12
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12542, ptr noundef @.str, i32 noundef %12543, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 437, ptr noundef %12546, ptr noundef %12549, ptr noundef %12552, i32 noundef %12554) #11
  br label %12573

12556:                                            ; preds = %12534, %12527
  %12557 = load i32, ptr %230, align 4, !tbaa !5
  %12558 = call ptr @__errno_location() #12
  store i32 %12557, ptr %12558, align 4, !tbaa !5
  %12559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12560 = load i32, ptr @test_count, align 4, !tbaa !5
  %12561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror(i32 noundef %12562, ptr noundef @.str.3)
  %12564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror_debug(i32 noundef %12565, ptr noundef @.str.3)
  %12567 = call ptr @__errno_location() #12
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  %12569 = call ptr @strerror(i32 noundef %12568) #11
  %12570 = call ptr @__errno_location() #12
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12559, ptr noundef @.str.4, i32 noundef %12560, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 437, ptr noundef %12563, ptr noundef %12566, ptr noundef %12569, i32 noundef %12571) #11
  br label %12573

12573:                                            ; preds = %12556, %12539
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %12574

12574:                                            ; preds = %12573
  br label %12575

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

12576:                                            ; No predecessors!
  br label %12577

12577:                                            ; preds = %12576
  br label %12578

12578:                                            ; preds = %12577, %12519
  br label %12579

12579:                                            ; preds = %12578
  br label %12580

12580:                                            ; preds = %12579
  br label %12581

12581:                                            ; preds = %12580
  %12582 = load i32, ptr @test_count, align 4, !tbaa !5
  %12583 = add nsw i32 %12582, 1
  store i32 %12583, ptr @test_count, align 4, !tbaa !5
  %12584 = load ptr, ptr %6, align 8, !tbaa !9
  %12585 = getelementptr inbounds %struct.s2n_connection, ptr %12584, i32 0, i32 38
  %12586 = call i32 @s2n_stuffer_wipe(ptr noundef %12585)
  %12587 = icmp eq i32 %12586, -1
  br i1 %12587, label %12588, label %12641

12588:                                            ; preds = %12581
  br label %12589

12589:                                            ; preds = %12588
  br label %12590

12590:                                            ; preds = %12589
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %12591 = call ptr @__errno_location() #12
  %12592 = load i32, ptr %12591, align 4, !tbaa !5
  store i32 %12592, ptr %231, align 4, !tbaa !5
  %12593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12594 = call i32 @s2n_print_stacktrace(ptr noundef %12593)
  %12595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12596 = trunc i8 %12595 to i1
  br i1 %12596, label %12597, label %12619

12597:                                            ; preds = %12590
  %12598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12599 = call i32 @fileno(ptr noundef %12598) #11
  %12600 = call i32 @isatty(i32 noundef %12599) #11
  %12601 = icmp ne i32 %12600, 0
  br i1 %12601, label %12602, label %12619

12602:                                            ; preds = %12597
  %12603 = load i32, ptr %231, align 4, !tbaa !5
  %12604 = call ptr @__errno_location() #12
  store i32 %12603, ptr %12604, align 4, !tbaa !5
  %12605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12606 = load i32, ptr @test_count, align 4, !tbaa !5
  %12607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12608 = load i32, ptr %12607, align 4, !tbaa !5
  %12609 = call ptr @s2n_strerror(i32 noundef %12608, ptr noundef @.str.3)
  %12610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12611 = load i32, ptr %12610, align 4, !tbaa !5
  %12612 = call ptr @s2n_strerror_debug(i32 noundef %12611, ptr noundef @.str.3)
  %12613 = call ptr @__errno_location() #12
  %12614 = load i32, ptr %12613, align 4, !tbaa !5
  %12615 = call ptr @strerror(i32 noundef %12614) #11
  %12616 = call ptr @__errno_location() #12
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12605, ptr noundef @.str, i32 noundef %12606, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 439, ptr noundef %12609, ptr noundef %12612, ptr noundef %12615, i32 noundef %12617) #11
  br label %12636

12619:                                            ; preds = %12597, %12590
  %12620 = load i32, ptr %231, align 4, !tbaa !5
  %12621 = call ptr @__errno_location() #12
  store i32 %12620, ptr %12621, align 4, !tbaa !5
  %12622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12623 = load i32, ptr @test_count, align 4, !tbaa !5
  %12624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @s2n_strerror(i32 noundef %12625, ptr noundef @.str.3)
  %12627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call ptr @s2n_strerror_debug(i32 noundef %12628, ptr noundef @.str.3)
  %12630 = call ptr @__errno_location() #12
  %12631 = load i32, ptr %12630, align 4, !tbaa !5
  %12632 = call ptr @strerror(i32 noundef %12631) #11
  %12633 = call ptr @__errno_location() #12
  %12634 = load i32, ptr %12633, align 4, !tbaa !5
  %12635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12622, ptr noundef @.str.4, i32 noundef %12623, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 439, ptr noundef %12626, ptr noundef %12629, ptr noundef %12632, i32 noundef %12634) #11
  br label %12636

12636:                                            ; preds = %12619, %12602
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %12637

12637:                                            ; preds = %12636
  br label %12638

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

12639:                                            ; No predecessors!
  br label %12640

12640:                                            ; preds = %12639
  br label %12641

12641:                                            ; preds = %12640, %12581
  br label %12642

12642:                                            ; preds = %12641
  br label %12643

12643:                                            ; preds = %12642
  br label %12644

12644:                                            ; preds = %12643
  %12645 = load i32, ptr @test_count, align 4, !tbaa !5
  %12646 = add nsw i32 %12645, 1
  store i32 %12646, ptr @test_count, align 4, !tbaa !5
  %12647 = load ptr, ptr %6, align 8, !tbaa !9
  %12648 = getelementptr inbounds %struct.s2n_connection, ptr %12647, i32 0, i32 40
  %12649 = call i32 @s2n_stuffer_wipe(ptr noundef %12648)
  %12650 = icmp eq i32 %12649, -1
  br i1 %12650, label %12651, label %12704

12651:                                            ; preds = %12644
  br label %12652

12652:                                            ; preds = %12651
  br label %12653

12653:                                            ; preds = %12652
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %12654 = call ptr @__errno_location() #12
  %12655 = load i32, ptr %12654, align 4, !tbaa !5
  store i32 %12655, ptr %232, align 4, !tbaa !5
  %12656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12657 = call i32 @s2n_print_stacktrace(ptr noundef %12656)
  %12658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12659 = trunc i8 %12658 to i1
  br i1 %12659, label %12660, label %12682

12660:                                            ; preds = %12653
  %12661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12662 = call i32 @fileno(ptr noundef %12661) #11
  %12663 = call i32 @isatty(i32 noundef %12662) #11
  %12664 = icmp ne i32 %12663, 0
  br i1 %12664, label %12665, label %12682

12665:                                            ; preds = %12660
  %12666 = load i32, ptr %232, align 4, !tbaa !5
  %12667 = call ptr @__errno_location() #12
  store i32 %12666, ptr %12667, align 4, !tbaa !5
  %12668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12669 = load i32, ptr @test_count, align 4, !tbaa !5
  %12670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror(i32 noundef %12671, ptr noundef @.str.3)
  %12673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12674 = load i32, ptr %12673, align 4, !tbaa !5
  %12675 = call ptr @s2n_strerror_debug(i32 noundef %12674, ptr noundef @.str.3)
  %12676 = call ptr @__errno_location() #12
  %12677 = load i32, ptr %12676, align 4, !tbaa !5
  %12678 = call ptr @strerror(i32 noundef %12677) #11
  %12679 = call ptr @__errno_location() #12
  %12680 = load i32, ptr %12679, align 4, !tbaa !5
  %12681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12668, ptr noundef @.str, i32 noundef %12669, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 440, ptr noundef %12672, ptr noundef %12675, ptr noundef %12678, i32 noundef %12680) #11
  br label %12699

12682:                                            ; preds = %12660, %12653
  %12683 = load i32, ptr %232, align 4, !tbaa !5
  %12684 = call ptr @__errno_location() #12
  store i32 %12683, ptr %12684, align 4, !tbaa !5
  %12685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12686 = load i32, ptr @test_count, align 4, !tbaa !5
  %12687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @s2n_strerror(i32 noundef %12688, ptr noundef @.str.3)
  %12690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call ptr @s2n_strerror_debug(i32 noundef %12691, ptr noundef @.str.3)
  %12693 = call ptr @__errno_location() #12
  %12694 = load i32, ptr %12693, align 4, !tbaa !5
  %12695 = call ptr @strerror(i32 noundef %12694) #11
  %12696 = call ptr @__errno_location() #12
  %12697 = load i32, ptr %12696, align 4, !tbaa !5
  %12698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef @.str.4, i32 noundef %12686, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 440, ptr noundef %12689, ptr noundef %12692, ptr noundef %12695, i32 noundef %12697) #11
  br label %12699

12699:                                            ; preds = %12682, %12665
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %12700

12700:                                            ; preds = %12699
  br label %12701

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

12702:                                            ; No predecessors!
  br label %12703

12703:                                            ; preds = %12702
  br label %12704

12704:                                            ; preds = %12703, %12644
  br label %12705

12705:                                            ; preds = %12704
  br label %12706

12706:                                            ; preds = %12705
  br label %12707

12707:                                            ; preds = %12706
  %12708 = load i64, ptr %216, align 8, !tbaa !51
  %12709 = add i64 %12708, 1
  store i64 %12709, ptr %216, align 8, !tbaa !51
  br label %11714, !llvm.loop !74

12710:                                            ; preds = %11718
  call void @llvm.lifetime.end.p0(i64 2, ptr %159) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %145) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %133) #11
  br label %12711

12711:                                            ; preds = %12710
  %12712 = load i64, ptr %132, align 8, !tbaa !51
  %12713 = add i64 %12712, 1
  store i64 %12713, ptr %132, align 8, !tbaa !51
  br label %6960, !llvm.loop !75

12714:                                            ; preds = %6966
  br label %12715

12715:                                            ; preds = %12714
  %12716 = load i32, ptr @test_count, align 4, !tbaa !5
  %12717 = add nsw i32 %12716, 1
  store i32 %12717, ptr @test_count, align 4, !tbaa !5
  %12718 = load ptr, ptr %6, align 8, !tbaa !9
  %12719 = call i32 @destroy_server_keys(ptr noundef %12718)
  %12720 = icmp eq i32 %12719, -1
  br i1 %12720, label %12721, label %12774

12721:                                            ; preds = %12715
  br label %12722

12722:                                            ; preds = %12721
  br label %12723

12723:                                            ; preds = %12722
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %12724 = call ptr @__errno_location() #12
  %12725 = load i32, ptr %12724, align 4, !tbaa !5
  store i32 %12725, ptr %233, align 4, !tbaa !5
  %12726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12727 = call i32 @s2n_print_stacktrace(ptr noundef %12726)
  %12728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12729 = trunc i8 %12728 to i1
  br i1 %12729, label %12730, label %12752

12730:                                            ; preds = %12723
  %12731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12732 = call i32 @fileno(ptr noundef %12731) #11
  %12733 = call i32 @isatty(i32 noundef %12732) #11
  %12734 = icmp ne i32 %12733, 0
  br i1 %12734, label %12735, label %12752

12735:                                            ; preds = %12730
  %12736 = load i32, ptr %233, align 4, !tbaa !5
  %12737 = call ptr @__errno_location() #12
  store i32 %12736, ptr %12737, align 4, !tbaa !5
  %12738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12739 = load i32, ptr @test_count, align 4, !tbaa !5
  %12740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12741 = load i32, ptr %12740, align 4, !tbaa !5
  %12742 = call ptr @s2n_strerror(i32 noundef %12741, ptr noundef @.str.3)
  %12743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12744 = load i32, ptr %12743, align 4, !tbaa !5
  %12745 = call ptr @s2n_strerror_debug(i32 noundef %12744, ptr noundef @.str.3)
  %12746 = call ptr @__errno_location() #12
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @strerror(i32 noundef %12747) #11
  %12749 = call ptr @__errno_location() #12
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12738, ptr noundef @.str, i32 noundef %12739, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 443, ptr noundef %12742, ptr noundef %12745, ptr noundef %12748, i32 noundef %12750) #11
  br label %12769

12752:                                            ; preds = %12730, %12723
  %12753 = load i32, ptr %233, align 4, !tbaa !5
  %12754 = call ptr @__errno_location() #12
  store i32 %12753, ptr %12754, align 4, !tbaa !5
  %12755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12756 = load i32, ptr @test_count, align 4, !tbaa !5
  %12757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  %12759 = call ptr @s2n_strerror(i32 noundef %12758, ptr noundef @.str.3)
  %12760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call ptr @s2n_strerror_debug(i32 noundef %12761, ptr noundef @.str.3)
  %12763 = call ptr @__errno_location() #12
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @strerror(i32 noundef %12764) #11
  %12766 = call ptr @__errno_location() #12
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12755, ptr noundef @.str.4, i32 noundef %12756, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 443, ptr noundef %12759, ptr noundef %12762, ptr noundef %12765, i32 noundef %12767) #11
  br label %12769

12769:                                            ; preds = %12752, %12735
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %12770

12770:                                            ; preds = %12769
  br label %12771

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

12772:                                            ; No predecessors!
  br label %12773

12773:                                            ; preds = %12772
  br label %12774

12774:                                            ; preds = %12773, %12715
  br label %12775

12775:                                            ; preds = %12774
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776
  %12778 = load i32, ptr @test_count, align 4, !tbaa !5
  %12779 = add nsw i32 %12778, 1
  store i32 %12779, ptr @test_count, align 4, !tbaa !5
  %12780 = load ptr, ptr %6, align 8, !tbaa !9
  %12781 = call i32 @s2n_connection_free(ptr noundef %12780)
  %12782 = icmp eq i32 %12781, -1
  br i1 %12782, label %12783, label %12836

12783:                                            ; preds = %12777
  br label %12784

12784:                                            ; preds = %12783
  br label %12785

12785:                                            ; preds = %12784
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %12786 = call ptr @__errno_location() #12
  %12787 = load i32, ptr %12786, align 4, !tbaa !5
  store i32 %12787, ptr %234, align 4, !tbaa !5
  %12788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12789 = call i32 @s2n_print_stacktrace(ptr noundef %12788)
  %12790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12791 = trunc i8 %12790 to i1
  br i1 %12791, label %12792, label %12814

12792:                                            ; preds = %12785
  %12793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12794 = call i32 @fileno(ptr noundef %12793) #11
  %12795 = call i32 @isatty(i32 noundef %12794) #11
  %12796 = icmp ne i32 %12795, 0
  br i1 %12796, label %12797, label %12814

12797:                                            ; preds = %12792
  %12798 = load i32, ptr %234, align 4, !tbaa !5
  %12799 = call ptr @__errno_location() #12
  store i32 %12798, ptr %12799, align 4, !tbaa !5
  %12800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12801 = load i32, ptr @test_count, align 4, !tbaa !5
  %12802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12803 = load i32, ptr %12802, align 4, !tbaa !5
  %12804 = call ptr @s2n_strerror(i32 noundef %12803, ptr noundef @.str.3)
  %12805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call ptr @s2n_strerror_debug(i32 noundef %12806, ptr noundef @.str.3)
  %12808 = call ptr @__errno_location() #12
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call ptr @strerror(i32 noundef %12809) #11
  %12811 = call ptr @__errno_location() #12
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12800, ptr noundef @.str, i32 noundef %12801, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 444, ptr noundef %12804, ptr noundef %12807, ptr noundef %12810, i32 noundef %12812) #11
  br label %12831

12814:                                            ; preds = %12792, %12785
  %12815 = load i32, ptr %234, align 4, !tbaa !5
  %12816 = call ptr @__errno_location() #12
  store i32 %12815, ptr %12816, align 4, !tbaa !5
  %12817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12818 = load i32, ptr @test_count, align 4, !tbaa !5
  %12819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call ptr @s2n_strerror(i32 noundef %12820, ptr noundef @.str.3)
  %12822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror_debug(i32 noundef %12823, ptr noundef @.str.3)
  %12825 = call ptr @__errno_location() #12
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @strerror(i32 noundef %12826) #11
  %12828 = call ptr @__errno_location() #12
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12817, ptr noundef @.str.4, i32 noundef %12818, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 444, ptr noundef %12821, ptr noundef %12824, ptr noundef %12827, i32 noundef %12829) #11
  br label %12831

12831:                                            ; preds = %12814, %12797
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %12832

12832:                                            ; preds = %12831
  br label %12833

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

12834:                                            ; No predecessors!
  br label %12835

12835:                                            ; preds = %12834
  br label %12836

12836:                                            ; preds = %12835, %12777
  br label %12837

12837:                                            ; preds = %12836
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838
  br label %12840

12840:                                            ; preds = %12839
  %12841 = call i32 @s2n_cleanup()
  %12842 = icmp eq i32 %12841, -1
  br i1 %12842, label %12843, label %12896

12843:                                            ; preds = %12840
  br label %12844

12844:                                            ; preds = %12843
  br label %12845

12845:                                            ; preds = %12844
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %12846 = call ptr @__errno_location() #12
  %12847 = load i32, ptr %12846, align 4, !tbaa !5
  store i32 %12847, ptr %235, align 4, !tbaa !5
  %12848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12849 = call i32 @s2n_print_stacktrace(ptr noundef %12848)
  %12850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12851 = trunc i8 %12850 to i1
  br i1 %12851, label %12852, label %12874

12852:                                            ; preds = %12845
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = call i32 @fileno(ptr noundef %12853) #11
  %12855 = call i32 @isatty(i32 noundef %12854) #11
  %12856 = icmp ne i32 %12855, 0
  br i1 %12856, label %12857, label %12874

12857:                                            ; preds = %12852
  %12858 = load i32, ptr %235, align 4, !tbaa !5
  %12859 = call ptr @__errno_location() #12
  store i32 %12858, ptr %12859, align 4, !tbaa !5
  %12860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12861 = load i32, ptr @test_count, align 4, !tbaa !5
  %12862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  %12864 = call ptr @s2n_strerror(i32 noundef %12863, ptr noundef @.str.3)
  %12865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12866 = load i32, ptr %12865, align 4, !tbaa !5
  %12867 = call ptr @s2n_strerror_debug(i32 noundef %12866, ptr noundef @.str.3)
  %12868 = call ptr @__errno_location() #12
  %12869 = load i32, ptr %12868, align 4, !tbaa !5
  %12870 = call ptr @strerror(i32 noundef %12869) #11
  %12871 = call ptr @__errno_location() #12
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12860, ptr noundef @.str, i32 noundef %12861, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 446, ptr noundef %12864, ptr noundef %12867, ptr noundef %12870, i32 noundef %12872) #11
  br label %12891

12874:                                            ; preds = %12852, %12845
  %12875 = load i32, ptr %235, align 4, !tbaa !5
  %12876 = call ptr @__errno_location() #12
  store i32 %12875, ptr %12876, align 4, !tbaa !5
  %12877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12878 = load i32, ptr @test_count, align 4, !tbaa !5
  %12879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12880 = load i32, ptr %12879, align 4, !tbaa !5
  %12881 = call ptr @s2n_strerror(i32 noundef %12880, ptr noundef @.str.3)
  %12882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12883 = load i32, ptr %12882, align 4, !tbaa !5
  %12884 = call ptr @s2n_strerror_debug(i32 noundef %12883, ptr noundef @.str.3)
  %12885 = call ptr @__errno_location() #12
  %12886 = load i32, ptr %12885, align 4, !tbaa !5
  %12887 = call ptr @strerror(i32 noundef %12886) #11
  %12888 = call ptr @__errno_location() #12
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12877, ptr noundef @.str.4, i32 noundef %12878, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 446, ptr noundef %12881, ptr noundef %12884, ptr noundef %12887, i32 noundef %12889) #11
  br label %12891

12891:                                            ; preds = %12874, %12857
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %12892

12892:                                            ; preds = %12891
  br label %12893

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

12894:                                            ; No predecessors!
  br label %12895

12895:                                            ; preds = %12894
  br label %12896

12896:                                            ; preds = %12895, %12840
  br label %12897

12897:                                            ; preds = %12896
  br label %12898

12898:                                            ; preds = %12897
  br label %12899

12899:                                            ; preds = %12898
  br label %12900

12900:                                            ; preds = %12899
  %12901 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %12902 = icmp eq i32 %12901, -1
  br i1 %12902, label %12903, label %12956

12903:                                            ; preds = %12900
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %12906 = call ptr @__errno_location() #12
  %12907 = load i32, ptr %12906, align 4, !tbaa !5
  store i32 %12907, ptr %236, align 4, !tbaa !5
  %12908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12909 = call i32 @s2n_print_stacktrace(ptr noundef %12908)
  %12910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12911 = trunc i8 %12910 to i1
  br i1 %12911, label %12912, label %12934

12912:                                            ; preds = %12905
  %12913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12914 = call i32 @fileno(ptr noundef %12913) #11
  %12915 = call i32 @isatty(i32 noundef %12914) #11
  %12916 = icmp ne i32 %12915, 0
  br i1 %12916, label %12917, label %12934

12917:                                            ; preds = %12912
  %12918 = load i32, ptr %236, align 4, !tbaa !5
  %12919 = call ptr @__errno_location() #12
  store i32 %12918, ptr %12919, align 4, !tbaa !5
  %12920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12921 = load i32, ptr @test_count, align 4, !tbaa !5
  %12922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12923 = load i32, ptr %12922, align 4, !tbaa !5
  %12924 = call ptr @s2n_strerror(i32 noundef %12923, ptr noundef @.str.3)
  %12925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  %12927 = call ptr @s2n_strerror_debug(i32 noundef %12926, ptr noundef @.str.3)
  %12928 = call ptr @__errno_location() #12
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call ptr @strerror(i32 noundef %12929) #11
  %12931 = call ptr @__errno_location() #12
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12920, ptr noundef @.str, i32 noundef %12921, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 446, ptr noundef %12924, ptr noundef %12927, ptr noundef %12930, i32 noundef %12932) #11
  br label %12951

12934:                                            ; preds = %12912, %12905
  %12935 = load i32, ptr %236, align 4, !tbaa !5
  %12936 = call ptr @__errno_location() #12
  store i32 %12935, ptr %12936, align 4, !tbaa !5
  %12937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12938 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12940, ptr noundef @.str.3)
  %12942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @s2n_strerror_debug(i32 noundef %12943, ptr noundef @.str.3)
  %12945 = call ptr @__errno_location() #12
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call ptr @strerror(i32 noundef %12946) #11
  %12948 = call ptr @__errno_location() #12
  %12949 = load i32, ptr %12948, align 4, !tbaa !5
  %12950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12937, ptr noundef @.str.4, i32 noundef %12938, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 446, ptr noundef %12941, ptr noundef %12944, ptr noundef %12947, i32 noundef %12949) #11
  br label %12951

12951:                                            ; preds = %12934, %12917
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

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

12954:                                            ; No predecessors!
  br label %12955

12955:                                            ; preds = %12954
  br label %12956

12956:                                            ; preds = %12955, %12900
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  %12959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12960 = trunc i8 %12959 to i1
  br i1 %12960, label %12961, label %12977

12961:                                            ; preds = %12958
  %12962 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12963 = call i32 @fileno(ptr noundef %12962) #11
  %12964 = call i32 @isatty(i32 noundef %12963) #11
  %12965 = icmp ne i32 %12964, 0
  br i1 %12965, label %12966, label %12977

12966:                                            ; preds = %12961
  %12967 = load i32, ptr @test_count, align 4, !tbaa !5
  %12968 = icmp ne i32 %12967, 0
  br i1 %12968, label %12969, label %12973

12969:                                            ; preds = %12966
  %12970 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12971 = load i32, ptr @test_count, align 4, !tbaa !5
  %12972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12970, ptr noundef @.str.47, i32 noundef %12971) #11
  br label %12976

12973:                                            ; preds = %12966
  %12974 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12974, ptr noundef @.str.48) #11
  br label %12976

12976:                                            ; preds = %12973, %12969
  br label %12988

12977:                                            ; preds = %12961, %12958
  %12978 = load i32, ptr @test_count, align 4, !tbaa !5
  %12979 = icmp ne i32 %12978, 0
  br i1 %12979, label %12980, label %12984

12980:                                            ; preds = %12977
  %12981 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12982 = load i32, ptr @test_count, align 4, !tbaa !5
  %12983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12981, ptr noundef @.str.49, i32 noundef %12982) #11
  br label %12987

12984:                                            ; preds = %12977
  %12985 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12985, ptr noundef @.str.50) #11
  br label %12987

12987:                                            ; preds = %12984, %12980
  br label %12988

12988:                                            ; preds = %12987, %12976
  store i32 0, ptr %3, align 4
  store i32 1, ptr %26, align 4
  br label %12993

12989:                                            ; No predecessors!
  br label %12990

12990:                                            ; preds = %12989
  br label %12991

12991:                                            ; preds = %12990
  br label %12992

12992:                                            ; preds = %12991
  store i32 0, ptr %26, align 4
  br label %12993

12993:                                            ; preds = %12992, %12988
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #11
  call void @llvm.lifetime.end.p0(i64 1436, ptr %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #11
  %12994 = load i32, ptr %26, align 4
  switch i32 %12994, label %12997 [
    i32 0, label %12995
    i32 1, label %12995
  ]

12995:                                            ; preds = %12993, %12993
  %12996 = load i32, ptr %3, align 4
  ret i32 %12996

12997:                                            ; preds = %12993
  unreachable
}

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

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

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

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #5

declare i32 @s2n_print_stacktrace(ptr noundef) #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #6

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #6

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #6

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #4

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #6

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #8

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

declare i32 @s2n_disable_tls13_in_test(...) #4

declare ptr @s2n_connection_new(i32 noundef) #4

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

declare i32 @s2n_get_public_random_data(ptr noundef) #4

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

declare i32 @s2n_connection_wipe(ptr noundef) #4

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) #4

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

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) #4

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

declare void @s2n_debug_info_reset() #4

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

declare i32 @s2n_stuffer_wipe(ptr noundef) #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_record_header_parse(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_record_parse(ptr noundef) #4

declare i32 @s2n_connection_free(ptr noundef) #4

declare i32 @s2n_cleanup() #4

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { 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 willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 224}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !10, i64 640}
!43 = !{!16, !10, i64 632}
!44 = !{!45, !10, i64 0}
!45 = !{!"s2n_crypto_parameters", !10, i64 0, !46, i64 8, !46, i64 16, !47, i64 24, !47, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!46 = !{!"s2n_session_key", !10, i64 0}
!47 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !48, i64 16, !48, i64 72, !48, i64 128, !48, i64 184, !7, i64 240, !7, i64 368}
!48 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!49 = !{!50, !10, i64 48}
!50 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!51 = !{!18, !18, i64 0}
!52 = !{!16, !7, i64 222}
!53 = !{!16, !7, i64 219}
!54 = !{!16, !7, i64 218}
!55 = !{!16, !7, i64 220}
!56 = !{!31, !31, i64 0}
!57 = !{!58, !10, i64 0}
!58 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !18, i64 16}
!59 = !{!7, !7, i64 0}
!60 = !{!16, !10, i64 1896}
!61 = !{!16, !6, i64 1924}
!62 = !{!16, !6, i64 1920}
!63 = !{!16, !10, i64 1776}
!64 = !{!16, !10, i64 1856}
!65 = distinct !{!65, !66}
!66 = !{!"llvm.loop.mustprogress"}
!67 = !{!16, !6, i64 1884}
!68 = !{!16, !6, i64 1880}
!69 = distinct !{!69, !66}
!70 = distinct !{!70, !66}
!71 = distinct !{!71, !66}
!72 = distinct !{!72, !66}
!73 = distinct !{!73, !66}
!74 = distinct !{!74, !66}
!75 = distinct !{!75, !66}


; 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_record_algorithm = type { ptr, i32, i32, i64 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@__const.main.aes128_key = external hidden unnamed_addr constant [16 x i8], align 16
@__const.main.aes256_key = external hidden unnamed_addr constant [32 x i8], align 16
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stderr = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [76 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [80 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [62 x i8], align 1
@s2n_record_alg_aes128_gcm = external constant %struct.s2n_record_algorithm, align 8
@.str.14 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [54 x i8], align 1
@s2n_record_alg_aes256_gcm = external constant %struct.s2n_record_algorithm, align 8
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.50 = 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 [1436 x i8], align 16
  %4 = alloca [16 x i8], align 16
  %5 = alloca [32 x i8], align 16
  %6 = alloca %struct.s2n_blob, align 8
  %7 = alloca %struct.s2n_blob, align 8
  %8 = alloca %struct.s2n_blob, align 8
  %9 = alloca %struct.s2n_blob, align 8
  %10 = alloca i8, align 1
  %11 = alloca i16, align 2
  %12 = alloca %struct.s2n_blob, align 8
  %13 = alloca i8, align 1
  %14 = alloca i16, align 2
  call void @llvm.lifetime.start.p0(i64 1436, ptr nonnull %3) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %4, ptr noundef nonnull align 16 dereferenceable(16) @__const.main.aes128_key, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %5, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.aes256_key, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false)
  %15 = load i32, ptr @test_count, align 4, !tbaa !5
  %16 = add nsw i32 %15, 1
  store i32 %16, ptr @test_count, align 4, !tbaa !5
  %17 = call i32 @s2n_blob_init(ptr noundef nonnull %6, ptr noundef nonnull %4, i32 noundef 16) #12
  %18 = icmp eq i32 %17, -1
  br i1 %18, label %19, label %43

19:                                               ; preds = %2
  %20 = tail call ptr @__errno_location() #13
  %21 = load i32, ptr %20, align 4, !tbaa !5
  %22 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23 = call i32 @s2n_print_stacktrace(ptr noundef %22) #12
  %24 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25 = trunc nuw i8 %24 to i1
  br i1 %25, label %26, label %30

26:                                               ; preds = %19
  %27 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28 = call i32 @fileno(ptr noundef %27) #12
  %29 = call i32 @isatty(i32 noundef %28) #12
  %.not923 = icmp eq i32 %29, 0
  br i1 %.not923, label %30, label %31

30:                                               ; preds = %26, %19
  br label %31

31:                                               ; preds = %26, %30
  %.str.4.sink = phi ptr [ @.str.4, %30 ], [ @.str, %26 ]
  store i32 %21, ptr %20, align 4, !tbaa !5
  %32 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33 = load i32, ptr @test_count, align 4, !tbaa !5
  %34 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35 = load i32, ptr %34, align 4, !tbaa !5
  %36 = call ptr @s2n_strerror(i32 noundef %35, ptr noundef nonnull @.str.3) #12
  %37 = load i32, ptr %34, align 4, !tbaa !5
  %38 = call ptr @s2n_strerror_debug(i32 noundef %37, ptr noundef nonnull @.str.3) #12
  %39 = load i32, ptr %20, align 4, !tbaa !5
  %40 = call ptr @strerror(i32 noundef %39) #12
  %41 = load i32, ptr %20, align 4, !tbaa !5
  %42 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32, ptr noundef nonnull %.str.4.sink, i32 noundef %33, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.2, i32 noundef 55, ptr noundef %36, ptr noundef %38, ptr noundef %40, i32 noundef %41) #14
  call void @exit(i32 noundef 1) #15
  unreachable

43:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, i8 0, i64 24, i1 false)
  %44 = load i32, ptr @test_count, align 4, !tbaa !5
  %45 = add nsw i32 %44, 1
  store i32 %45, ptr @test_count, align 4, !tbaa !5
  %46 = call i32 @s2n_blob_init(ptr noundef nonnull %7, ptr noundef nonnull %5, i32 noundef 32) #12
  %47 = icmp eq i32 %46, -1
  br i1 %47, label %48, label %72

48:                                               ; preds = %43
  %49 = tail call ptr @__errno_location() #13
  %50 = load i32, ptr %49, align 4, !tbaa !5
  %51 = load ptr, ptr @stderr, align 8, !tbaa !9
  %52 = call i32 @s2n_print_stacktrace(ptr noundef %51) #12
  %53 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %54 = trunc nuw i8 %53 to i1
  br i1 %54, label %55, label %59

55:                                               ; preds = %48
  %56 = load ptr, ptr @stderr, align 8, !tbaa !9
  %57 = call i32 @fileno(ptr noundef %56) #12
  %58 = call i32 @isatty(i32 noundef %57) #12
  %.not922 = icmp eq i32 %58, 0
  br i1 %.not922, label %59, label %60

59:                                               ; preds = %55, %48
  br label %60

60:                                               ; preds = %55, %59
  %.str.4.sink1299 = phi ptr [ @.str.4, %59 ], [ @.str, %55 ]
  store i32 %50, ptr %49, align 4, !tbaa !5
  %61 = load ptr, ptr @stderr, align 8, !tbaa !9
  %62 = load i32, ptr @test_count, align 4, !tbaa !5
  %63 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %64 = load i32, ptr %63, align 4, !tbaa !5
  %65 = call ptr @s2n_strerror(i32 noundef %64, ptr noundef nonnull @.str.3) #12
  %66 = load i32, ptr %63, align 4, !tbaa !5
  %67 = call ptr @s2n_strerror_debug(i32 noundef %66, ptr noundef nonnull @.str.3) #12
  %68 = load i32, ptr %49, align 4, !tbaa !5
  %69 = call ptr @strerror(i32 noundef %68) #12
  %70 = load i32, ptr %49, align 4, !tbaa !5
  %71 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %61, ptr noundef nonnull %.str.4.sink1299, i32 noundef %62, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.2, i32 noundef 57, ptr noundef %65, ptr noundef %67, ptr noundef %69, i32 noundef %70) #14
  call void @exit(i32 noundef 1) #15
  unreachable

72:                                               ; preds = %43
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false)
  %73 = load i32, ptr @test_count, align 4, !tbaa !5
  %74 = add nsw i32 %73, 1
  store i32 %74, ptr @test_count, align 4, !tbaa !5
  %75 = call i32 @s2n_blob_init(ptr noundef nonnull %8, ptr noundef nonnull %3, i32 noundef 1436) #12
  %76 = icmp eq i32 %75, -1
  br i1 %76, label %77, label %101

77:                                               ; preds = %72
  %78 = tail call ptr @__errno_location() #13
  %79 = load i32, ptr %78, align 4, !tbaa !5
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = call i32 @s2n_print_stacktrace(ptr noundef %80) #12
  %82 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %83 = trunc nuw i8 %82 to i1
  br i1 %83, label %84, label %88

84:                                               ; preds = %77
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = call i32 @fileno(ptr noundef %85) #12
  %87 = call i32 @isatty(i32 noundef %86) #12
  %.not921 = icmp eq i32 %87, 0
  br i1 %.not921, label %88, label %89

88:                                               ; preds = %84, %77
  br label %89

89:                                               ; preds = %84, %88
  %.str.4.sink1310 = phi ptr [ @.str.4, %88 ], [ @.str, %84 ]
  store i32 %79, ptr %78, align 4, !tbaa !5
  %90 = load ptr, ptr @stderr, align 8, !tbaa !9
  %91 = load i32, ptr @test_count, align 4, !tbaa !5
  %92 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %93 = load i32, ptr %92, align 4, !tbaa !5
  %94 = call ptr @s2n_strerror(i32 noundef %93, ptr noundef nonnull @.str.3) #12
  %95 = load i32, ptr %92, align 4, !tbaa !5
  %96 = call ptr @s2n_strerror_debug(i32 noundef %95, ptr noundef nonnull @.str.3) #12
  %97 = load i32, ptr %78, align 4, !tbaa !5
  %98 = call ptr @strerror(i32 noundef %97) #12
  %99 = load i32, ptr %78, align 4, !tbaa !5
  %100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %90, ptr noundef nonnull %.str.4.sink1310, i32 noundef %91, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 59, ptr noundef %94, ptr noundef %96, ptr noundef %98, i32 noundef %99) #14
  call void @exit(i32 noundef 1) #15
  unreachable

101:                                              ; preds = %72
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %102 = load ptr, ptr @stdout, align 8, !tbaa !9
  %103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %102, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2) #12
  %104 = load ptr, ptr @stdout, align 8, !tbaa !9
  %105 = call i32 @fflush(ptr noundef %104)
  %106 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %107 = icmp eq i32 %106, -1
  br i1 %107, label %108, label %132

108:                                              ; preds = %101
  %109 = tail call ptr @__errno_location() #13
  %110 = load i32, ptr %109, align 4, !tbaa !5
  %111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %112 = call i32 @s2n_print_stacktrace(ptr noundef %111) #12
  %113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %114 = trunc nuw i8 %113 to i1
  br i1 %114, label %115, label %119

115:                                              ; preds = %108
  %116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %117 = call i32 @fileno(ptr noundef %116) #12
  %118 = call i32 @isatty(i32 noundef %117) #12
  %.not920 = icmp eq i32 %118, 0
  br i1 %.not920, label %119, label %120

119:                                              ; preds = %115, %108
  br label %120

120:                                              ; preds = %115, %119
  %.str.4.sink1321 = phi ptr [ @.str.4, %119 ], [ @.str, %115 ]
  store i32 %110, ptr %109, align 4, !tbaa !5
  %121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %122 = load i32, ptr @test_count, align 4, !tbaa !5
  %123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = call ptr @s2n_strerror(i32 noundef %124, ptr noundef nonnull @.str.3) #12
  %126 = load i32, ptr %123, align 4, !tbaa !5
  %127 = call ptr @s2n_strerror_debug(i32 noundef %126, ptr noundef nonnull @.str.3) #12
  %128 = load i32, ptr %109, align 4, !tbaa !5
  %129 = call ptr @strerror(i32 noundef %128) #12
  %130 = load i32, ptr %109, align 4, !tbaa !5
  %131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %121, ptr noundef nonnull %.str.4.sink1321, i32 noundef %122, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 61, ptr noundef %125, ptr noundef %127, ptr noundef %129, i32 noundef %130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

132:                                              ; preds = %101
  %133 = load i32, ptr @test_count, align 4, !tbaa !5
  %134 = add nsw i32 %133, 1
  store i32 %134, ptr @test_count, align 4, !tbaa !5
  %135 = call i32 @s2n_enable_atexit() #12
  %136 = icmp eq i32 %135, -1
  br i1 %136, label %137, label %161

137:                                              ; preds = %132
  %138 = tail call ptr @__errno_location() #13
  %139 = load i32, ptr %138, align 4, !tbaa !5
  %140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %141 = call i32 @s2n_print_stacktrace(ptr noundef %140) #12
  %142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %143 = trunc nuw i8 %142 to i1
  br i1 %143, label %144, label %148

144:                                              ; preds = %137
  %145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %146 = call i32 @fileno(ptr noundef %145) #12
  %147 = call i32 @isatty(i32 noundef %146) #12
  %.not919 = icmp eq i32 %147, 0
  br i1 %.not919, label %148, label %149

148:                                              ; preds = %144, %137
  br label %149

149:                                              ; preds = %144, %148
  %.str.4.sink1332 = phi ptr [ @.str.4, %148 ], [ @.str, %144 ]
  store i32 %139, ptr %138, align 4, !tbaa !5
  %150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %151 = load i32, ptr @test_count, align 4, !tbaa !5
  %152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = call ptr @s2n_strerror(i32 noundef %153, ptr noundef nonnull @.str.3) #12
  %155 = load i32, ptr %152, align 4, !tbaa !5
  %156 = call ptr @s2n_strerror_debug(i32 noundef %155, ptr noundef nonnull @.str.3) #12
  %157 = load i32, ptr %138, align 4, !tbaa !5
  %158 = call ptr @strerror(i32 noundef %157) #12
  %159 = load i32, ptr %138, align 4, !tbaa !5
  %160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %150, ptr noundef nonnull %.str.4.sink1332, i32 noundef %151, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 61, ptr noundef %154, ptr noundef %156, ptr noundef %158, i32 noundef %159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

161:                                              ; preds = %132
  %162 = call i32 @s2n_init() #12
  %163 = icmp eq i32 %162, -1
  br i1 %163, label %164, label %188

164:                                              ; preds = %161
  %165 = tail call ptr @__errno_location() #13
  %166 = load i32, ptr %165, align 4, !tbaa !5
  %167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %168 = call i32 @s2n_print_stacktrace(ptr noundef %167) #12
  %169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %170 = trunc nuw i8 %169 to i1
  br i1 %170, label %171, label %175

171:                                              ; preds = %164
  %172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %173 = call i32 @fileno(ptr noundef %172) #12
  %174 = call i32 @isatty(i32 noundef %173) #12
  %.not918 = icmp eq i32 %174, 0
  br i1 %.not918, label %175, label %176

175:                                              ; preds = %171, %164
  br label %176

176:                                              ; preds = %171, %175
  %.str.4.sink1343 = phi ptr [ @.str.4, %175 ], [ @.str, %171 ]
  store i32 %166, ptr %165, align 4, !tbaa !5
  %177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %178 = load i32, ptr @test_count, align 4, !tbaa !5
  %179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %180 = load i32, ptr %179, align 4, !tbaa !5
  %181 = call ptr @s2n_strerror(i32 noundef %180, ptr noundef nonnull @.str.3) #12
  %182 = load i32, ptr %179, align 4, !tbaa !5
  %183 = call ptr @s2n_strerror_debug(i32 noundef %182, ptr noundef nonnull @.str.3) #12
  %184 = load i32, ptr %165, align 4, !tbaa !5
  %185 = call ptr @strerror(i32 noundef %184) #12
  %186 = load i32, ptr %165, align 4, !tbaa !5
  %187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %177, ptr noundef nonnull %.str.4.sink1343, i32 noundef %178, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i32 noundef 61, ptr noundef %181, ptr noundef %183, ptr noundef %185, i32 noundef %186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

188:                                              ; preds = %161
  %189 = load i32, ptr @test_count, align 4, !tbaa !5
  %190 = add nsw i32 %189, 1
  store i32 %190, ptr @test_count, align 4, !tbaa !5
  %191 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %192 = icmp eq i32 %191, -1
  br i1 %192, label %193, label %217

193:                                              ; preds = %188
  %194 = tail call ptr @__errno_location() #13
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %197 = call i32 @s2n_print_stacktrace(ptr noundef %196) #12
  %198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %199 = trunc nuw i8 %198 to i1
  br i1 %199, label %200, label %204

200:                                              ; preds = %193
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = call i32 @fileno(ptr noundef %201) #12
  %203 = call i32 @isatty(i32 noundef %202) #12
  %.not917 = icmp eq i32 %203, 0
  br i1 %.not917, label %204, label %205

204:                                              ; preds = %200, %193
  br label %205

205:                                              ; preds = %200, %204
  %.str.4.sink1354 = phi ptr [ @.str.4, %204 ], [ @.str, %200 ]
  store i32 %195, ptr %194, align 4, !tbaa !5
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = load i32, ptr @test_count, align 4, !tbaa !5
  %208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = call ptr @s2n_strerror(i32 noundef %209, ptr noundef nonnull @.str.3) #12
  %211 = load i32, ptr %208, align 4, !tbaa !5
  %212 = call ptr @s2n_strerror_debug(i32 noundef %211, ptr noundef nonnull @.str.3) #12
  %213 = load i32, ptr %194, align 4, !tbaa !5
  %214 = call ptr @strerror(i32 noundef %213) #12
  %215 = load i32, ptr %194, align 4, !tbaa !5
  %216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %206, ptr noundef nonnull %.str.4.sink1354, i32 noundef %207, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %210, ptr noundef %212, ptr noundef %214, i32 noundef %215) #14
  call void @exit(i32 noundef 1) #15
  unreachable

217:                                              ; preds = %188
  %218 = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = add nsw i32 %218, 1
  store i32 %219, ptr @test_count, align 4, !tbaa !5
  %220 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %221 = icmp eq ptr %220, null
  br i1 %221, label %222, label %246

222:                                              ; preds = %217
  %223 = tail call ptr @__errno_location() #13
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = call i32 @s2n_print_stacktrace(ptr noundef %225) #12
  %227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %228 = trunc nuw i8 %227 to i1
  br i1 %228, label %229, label %233

229:                                              ; preds = %222
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = call i32 @fileno(ptr noundef %230) #12
  %232 = call i32 @isatty(i32 noundef %231) #12
  %.not916 = icmp eq i32 %232, 0
  br i1 %.not916, label %233, label %234

233:                                              ; preds = %229, %222
  br label %234

234:                                              ; preds = %229, %233
  %.str.4.sink1365 = phi ptr [ @.str.4, %233 ], [ @.str, %229 ]
  store i32 %224, ptr %223, align 4, !tbaa !5
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = load i32, ptr @test_count, align 4, !tbaa !5
  %237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = call ptr @s2n_strerror(i32 noundef %238, ptr noundef nonnull @.str.3) #12
  %240 = load i32, ptr %237, align 4, !tbaa !5
  %241 = call ptr @s2n_strerror_debug(i32 noundef %240, ptr noundef nonnull @.str.3) #12
  %242 = load i32, ptr %223, align 4, !tbaa !5
  %243 = call ptr @strerror(i32 noundef %242) #12
  %244 = load i32, ptr %223, align 4, !tbaa !5
  %245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %235, ptr noundef nonnull %.str.4.sink1365, i32 noundef %236, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 64, ptr noundef %239, ptr noundef %241, ptr noundef %243, i32 noundef %244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

246:                                              ; preds = %217
  %247 = load i32, ptr @test_count, align 4, !tbaa !5
  %248 = add nsw i32 %247, 1
  store i32 %248, ptr @test_count, align 4, !tbaa !5
  %249 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %8) #12
  %250 = call zeroext i1 @s2n_result_is_ok(i32 %249)
  br i1 %250, label %275, label %251

251:                                              ; preds = %246
  %252 = tail call ptr @__errno_location() #13
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = call i32 @s2n_print_stacktrace(ptr noundef %254) #12
  %256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %257 = trunc nuw i8 %256 to i1
  br i1 %257, label %258, label %262

258:                                              ; preds = %251
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = call i32 @fileno(ptr noundef %259) #12
  %261 = call i32 @isatty(i32 noundef %260) #12
  %.not = icmp eq i32 %261, 0
  br i1 %.not, label %262, label %263

262:                                              ; preds = %258, %251
  br label %263

263:                                              ; preds = %258, %262
  %.str.4.sink1376 = phi ptr [ @.str.4, %262 ], [ @.str, %258 ]
  store i32 %253, ptr %252, align 4, !tbaa !5
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = load i32, ptr @test_count, align 4, !tbaa !5
  %266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = call ptr @s2n_strerror(i32 noundef %267, ptr noundef nonnull @.str.3) #12
  %269 = load i32, ptr %266, align 4, !tbaa !5
  %270 = call ptr @s2n_strerror_debug(i32 noundef %269, ptr noundef nonnull @.str.3) #12
  %271 = load i32, ptr %252, align 4, !tbaa !5
  %272 = call ptr @strerror(i32 noundef %271) #12
  %273 = load i32, ptr %252, align 4, !tbaa !5
  %274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %264, ptr noundef nonnull %.str.4.sink1376, i32 noundef %265, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 65, ptr noundef %268, ptr noundef %270, ptr noundef %272, i32 noundef %273) #14
  call void @exit(i32 noundef 1) #15
  unreachable

275:                                              ; preds = %246
  %276 = getelementptr inbounds i8, ptr %220, i64 224
  %277 = load ptr, ptr %276, align 8, !tbaa !15
  %278 = getelementptr inbounds i8, ptr %220, i64 640
  store ptr %277, ptr %278, align 8, !tbaa !42
  %279 = getelementptr inbounds i8, ptr %220, i64 632
  store ptr %277, ptr %279, align 8, !tbaa !43
  %280 = load ptr, ptr %277, align 8, !tbaa !44
  %281 = getelementptr inbounds i8, ptr %280, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %281, align 8, !tbaa !49
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr @test_count, align 4, !tbaa !5
  %284 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %285 = icmp eq i32 %284, -1
  br i1 %285, label %298, label %.preheader929

.preheader929:                                    ; preds = %275
  %286 = getelementptr inbounds i8, ptr %220, i64 222
  %287 = getelementptr inbounds i8, ptr %220, i64 219
  %288 = getelementptr inbounds i8, ptr %220, i64 218
  %289 = getelementptr inbounds i8, ptr %220, i64 220
  %290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %291 = getelementptr inbounds i8, ptr %220, i64 1896
  %292 = getelementptr inbounds i8, ptr %220, i64 1856
  %293 = getelementptr inbounds i8, ptr %220, i64 1776
  %294 = getelementptr inbounds i8, ptr %220, i64 1924
  %295 = getelementptr inbounds i8, ptr %220, i64 1920
  %296 = getelementptr inbounds i8, ptr %220, i64 1884
  %297 = getelementptr inbounds i8, ptr %220, i64 1880
  br label %327

298:                                              ; preds = %275
  %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
  %.not915 = icmp eq i32 %308, 0
  br i1 %.not915, label %309, label %310

309:                                              ; preds = %305, %298
  br label %310

310:                                              ; preds = %305, %309
  %.str.4.sink1387 = phi ptr [ @.str.4, %309 ], [ @.str, %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.3) #12
  %316 = load i32, ptr %313, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror_debug(i32 noundef %316, ptr noundef nonnull @.str.3) #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.4.sink1387, i32 noundef %312, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 73, ptr noundef %315, ptr noundef %317, ptr noundef %319, i32 noundef %320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

322:                                              ; preds = %._crit_edge
  %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 = call i32 @destroy_server_keys(ptr noundef nonnull %220)
  %326 = icmp eq i32 %325, -1
  br i1 %326, label %2780, label %2802

327:                                              ; preds = %.preheader929, %._crit_edge
  %.01130 = phi i64 [ 0, %.preheader929 ], [ %2366, %._crit_edge ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, i8 0, i64 24, i1 false)
  %328 = load i32, ptr @test_count, align 4, !tbaa !5
  %329 = add nsw i32 %328, 1
  store i32 %329, ptr @test_count, align 4, !tbaa !5
  %330 = trunc nuw nsw i64 %.01130 to i32
  %331 = call i32 @s2n_blob_init(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef %330) #12
  %332 = icmp eq i32 %331, -1
  br i1 %332, label %333, label %356

333:                                              ; preds = %327
  %334 = tail call ptr @__errno_location() #13
  %335 = load i32, ptr %334, align 4, !tbaa !5
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = call i32 @s2n_print_stacktrace(ptr noundef %336) #12
  %338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %339 = trunc nuw i8 %338 to i1
  br i1 %339, label %340, label %344

340:                                              ; preds = %333
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = call i32 @fileno(ptr noundef %341) #12
  %343 = call i32 @isatty(i32 noundef %342) #12
  %.not914 = icmp eq i32 %343, 0
  br i1 %.not914, label %344, label %345

344:                                              ; preds = %340, %333
  br label %345

345:                                              ; preds = %340, %344
  %.str.4.sink1398 = phi ptr [ @.str.4, %344 ], [ @.str, %340 ]
  store i32 %335, ptr %334, align 4, !tbaa !5
  %346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %347 = load i32, ptr @test_count, align 4, !tbaa !5
  %348 = load i32, ptr %290, align 4, !tbaa !5
  %349 = call ptr @s2n_strerror(i32 noundef %348, ptr noundef nonnull @.str.3) #12
  %350 = load i32, ptr %290, align 4, !tbaa !5
  %351 = call ptr @s2n_strerror_debug(i32 noundef %350, ptr noundef nonnull @.str.3) #12
  %352 = load i32, ptr %334, align 4, !tbaa !5
  %353 = call ptr @strerror(i32 noundef %352) #12
  %354 = load i32, ptr %334, align 4, !tbaa !5
  %355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %346, ptr noundef nonnull %.str.4.sink1398, i32 noundef %347, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 78, ptr noundef %349, ptr noundef %351, ptr noundef %353, i32 noundef %354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

356:                                              ; preds = %327
  %357 = load i32, ptr @test_count, align 4, !tbaa !5
  %358 = add nsw i32 %357, 1
  store i32 %358, ptr @test_count, align 4, !tbaa !5
  %359 = call i32 @s2n_connection_wipe(ptr noundef nonnull %220) #12
  %360 = icmp eq i32 %359, -1
  br i1 %360, label %361, label %384

361:                                              ; preds = %356
  %362 = tail call ptr @__errno_location() #13
  %363 = load i32, ptr %362, align 4, !tbaa !5
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = call i32 @s2n_print_stacktrace(ptr noundef %364) #12
  %366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %367 = trunc nuw i8 %366 to i1
  br i1 %367, label %368, label %372

368:                                              ; preds = %361
  %369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %370 = call i32 @fileno(ptr noundef %369) #12
  %371 = call i32 @isatty(i32 noundef %370) #12
  %.not913 = icmp eq i32 %371, 0
  br i1 %.not913, label %372, label %373

372:                                              ; preds = %368, %361
  br label %373

373:                                              ; preds = %368, %372
  %.str.4.sink1407 = phi ptr [ @.str.4, %372 ], [ @.str, %368 ]
  store i32 %363, ptr %362, align 4, !tbaa !5
  %374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %375 = load i32, ptr @test_count, align 4, !tbaa !5
  %376 = load i32, ptr %290, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror(i32 noundef %376, ptr noundef nonnull @.str.3) #12
  %378 = load i32, ptr %290, align 4, !tbaa !5
  %379 = call ptr @s2n_strerror_debug(i32 noundef %378, ptr noundef nonnull @.str.3) #12
  %380 = load i32, ptr %362, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #12
  %382 = load i32, ptr %362, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %374, ptr noundef nonnull %.str.4.sink1407, i32 noundef %375, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 91, ptr noundef %377, ptr noundef %379, ptr noundef %381, i32 noundef %382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

384:                                              ; preds = %356
  %385 = load i32, ptr @test_count, align 4, !tbaa !5
  %386 = add nsw i32 %385, 1
  store i32 %386, ptr @test_count, align 4, !tbaa !5
  %387 = call i32 @s2n_connection_prefer_low_latency(ptr noundef nonnull %220) #12
  %388 = icmp eq i32 %387, -1
  br i1 %388, label %389, label %412

389:                                              ; preds = %384
  %390 = tail call ptr @__errno_location() #13
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = call i32 @s2n_print_stacktrace(ptr noundef %392) #12
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc nuw i8 %394 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %389
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = call i32 @fileno(ptr noundef %397) #12
  %399 = call i32 @isatty(i32 noundef %398) #12
  %.not912 = icmp eq i32 %399, 0
  br i1 %.not912, label %400, label %401

400:                                              ; preds = %396, %389
  br label %401

401:                                              ; preds = %396, %400
  %.str.4.sink1416 = phi ptr [ @.str.4, %400 ], [ @.str, %396 ]
  store i32 %391, ptr %390, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = load i32, ptr %290, align 4, !tbaa !5
  %405 = call ptr @s2n_strerror(i32 noundef %404, ptr noundef nonnull @.str.3) #12
  %406 = load i32, ptr %290, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef nonnull @.str.3) #12
  %408 = load i32, ptr %390, align 4, !tbaa !5
  %409 = call ptr @strerror(i32 noundef %408) #12
  %410 = load i32, ptr %390, align 4, !tbaa !5
  %411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef nonnull %.str.4.sink1416, i32 noundef %403, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 92, ptr noundef %405, ptr noundef %407, ptr noundef %409, i32 noundef %410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

412:                                              ; preds = %384
  store i8 1, ptr %286, align 2, !tbaa !51
  store i8 33, ptr %287, align 1, !tbaa !52
  store i8 33, ptr %288, align 2, !tbaa !53
  store i8 33, ptr %289, align 4, !tbaa !54
  %413 = load ptr, ptr %276, align 8, !tbaa !15
  store ptr %413, ptr %278, align 8, !tbaa !42
  store ptr %413, ptr %279, align 8, !tbaa !43
  %414 = load ptr, ptr %413, align 8, !tbaa !44
  %415 = getelementptr inbounds i8, ptr %414, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %415, align 8, !tbaa !49
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = add nsw i32 %416, 1
  store i32 %417, ptr @test_count, align 4, !tbaa !5
  %418 = call i32 @destroy_server_keys(ptr noundef %220)
  %419 = icmp eq i32 %418, -1
  br i1 %419, label %420, label %443

420:                                              ; preds = %412
  %421 = tail call ptr @__errno_location() #13
  %422 = load i32, ptr %421, align 4, !tbaa !5
  %423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %424 = call i32 @s2n_print_stacktrace(ptr noundef %423) #12
  %425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %426 = trunc nuw i8 %425 to i1
  br i1 %426, label %427, label %431

427:                                              ; preds = %420
  %428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %429 = call i32 @fileno(ptr noundef %428) #12
  %430 = call i32 @isatty(i32 noundef %429) #12
  %.not911 = icmp eq i32 %430, 0
  br i1 %.not911, label %431, label %432

431:                                              ; preds = %427, %420
  br label %432

432:                                              ; preds = %427, %431
  %.str.4.sink1425 = phi ptr [ @.str.4, %431 ], [ @.str, %427 ]
  store i32 %422, ptr %421, align 4, !tbaa !5
  %433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %434 = load i32, ptr @test_count, align 4, !tbaa !5
  %435 = load i32, ptr %290, align 4, !tbaa !5
  %436 = call ptr @s2n_strerror(i32 noundef %435, ptr noundef nonnull @.str.3) #12
  %437 = load i32, ptr %290, align 4, !tbaa !5
  %438 = call ptr @s2n_strerror_debug(i32 noundef %437, ptr noundef nonnull @.str.3) #12
  %439 = load i32, ptr %421, align 4, !tbaa !5
  %440 = call ptr @strerror(i32 noundef %439) #12
  %441 = load i32, ptr %421, align 4, !tbaa !5
  %442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %433, ptr noundef nonnull %.str.4.sink1425, i32 noundef %434, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 100, ptr noundef %436, ptr noundef %438, ptr noundef %440, i32 noundef %441) #14
  call void @exit(i32 noundef 1) #15
  unreachable

443:                                              ; preds = %412
  %444 = load i32, ptr @test_count, align 4, !tbaa !5
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr @test_count, align 4, !tbaa !5
  %446 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %447 = icmp eq i32 %446, -1
  br i1 %447, label %448, label %471

448:                                              ; preds = %443
  %449 = tail call ptr @__errno_location() #13
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %452 = call i32 @s2n_print_stacktrace(ptr noundef %451) #12
  %453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %454 = trunc nuw i8 %453 to i1
  br i1 %454, label %455, label %459

455:                                              ; preds = %448
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = call i32 @fileno(ptr noundef %456) #12
  %458 = call i32 @isatty(i32 noundef %457) #12
  %.not910 = icmp eq i32 %458, 0
  br i1 %.not910, label %459, label %460

459:                                              ; preds = %455, %448
  br label %460

460:                                              ; preds = %455, %459
  %.str.4.sink1434 = phi ptr [ @.str.4, %459 ], [ @.str, %455 ]
  store i32 %450, ptr %449, align 4, !tbaa !5
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = load i32, ptr @test_count, align 4, !tbaa !5
  %463 = load i32, ptr %290, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror(i32 noundef %463, ptr noundef nonnull @.str.3) #12
  %465 = load i32, ptr %290, align 4, !tbaa !5
  %466 = call ptr @s2n_strerror_debug(i32 noundef %465, ptr noundef nonnull @.str.3) #12
  %467 = load i32, ptr %449, align 4, !tbaa !5
  %468 = call ptr @strerror(i32 noundef %467) #12
  %469 = load i32, ptr %449, align 4, !tbaa !5
  %470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %461, ptr noundef nonnull %.str.4.sink1434, i32 noundef %462, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 101, ptr noundef %464, ptr noundef %466, ptr noundef %468, i32 noundef %469) #14
  call void @exit(i32 noundef 1) #15
  unreachable

471:                                              ; preds = %443
  %472 = call i32 @s2n_record_write(ptr noundef nonnull %220, i8 noundef zeroext 23, ptr noundef nonnull %9) #12
  %.not826 = icmp eq i64 %.01130, 1436
  %473 = load i32, ptr @test_count, align 4, !tbaa !5
  %474 = add nsw i32 %473, 1
  store i32 %474, ptr @test_count, align 4, !tbaa !5
  br i1 %.not826, label %500, label %475

475:                                              ; preds = %471
  %476 = call zeroext i1 @s2n_result_is_ok(i32 %472)
  br i1 %476, label %582, label %477

477:                                              ; preds = %475
  %478 = tail call ptr @__errno_location() #13
  %479 = load i32, ptr %478, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @s2n_print_stacktrace(ptr noundef %480) #12
  %482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %483 = trunc nuw i8 %482 to i1
  br i1 %483, label %484, label %488

484:                                              ; preds = %477
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = call i32 @fileno(ptr noundef %485) #12
  %487 = call i32 @isatty(i32 noundef %486) #12
  %.not830 = icmp eq i32 %487, 0
  br i1 %.not830, label %488, label %489

488:                                              ; preds = %484, %477
  br label %489

489:                                              ; preds = %484, %488
  %.str.4.sink1443 = phi ptr [ @.str.4, %488 ], [ @.str, %484 ]
  store i32 %479, ptr %478, align 4, !tbaa !5
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = load i32, ptr @test_count, align 4, !tbaa !5
  %492 = load i32, ptr %290, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror(i32 noundef %492, ptr noundef nonnull @.str.3) #12
  %494 = load i32, ptr %290, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror_debug(i32 noundef %494, ptr noundef nonnull @.str.3) #12
  %496 = load i32, ptr %478, align 4, !tbaa !5
  %497 = call ptr @strerror(i32 noundef %496) #12
  %498 = load i32, ptr %478, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %490, ptr noundef nonnull %.str.4.sink1443, i32 noundef %491, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 105, ptr noundef %493, ptr noundef %495, ptr noundef %497, i32 noundef %498) #14
  call void @exit(i32 noundef 1) #15
  unreachable

500:                                              ; preds = %471
  %501 = call zeroext i1 @s2n_result_is_error(i32 %472)
  br i1 %501, label %525, label %502

502:                                              ; preds = %500
  %503 = tail call ptr @__errno_location() #13
  %504 = load i32, ptr %503, align 4, !tbaa !5
  %505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %506 = call i32 @s2n_print_stacktrace(ptr noundef %505) #12
  %507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %508 = trunc nuw i8 %507 to i1
  br i1 %508, label %509, label %513

509:                                              ; preds = %502
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = call i32 @fileno(ptr noundef %510) #12
  %512 = call i32 @isatty(i32 noundef %511) #12
  %.not827 = icmp eq i32 %512, 0
  br i1 %.not827, label %513, label %514

513:                                              ; preds = %509, %502
  br label %514

514:                                              ; preds = %509, %513
  %.str.4.sink1452 = phi ptr [ @.str.4, %513 ], [ @.str, %509 ]
  store i32 %504, ptr %503, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = load i32, ptr @test_count, align 4, !tbaa !5
  %517 = load i32, ptr %290, align 4, !tbaa !5
  %518 = call ptr @s2n_strerror(i32 noundef %517, ptr noundef nonnull @.str.3) #12
  %519 = load i32, ptr %290, align 4, !tbaa !5
  %520 = call ptr @s2n_strerror_debug(i32 noundef %519, ptr noundef nonnull @.str.3) #12
  %521 = load i32, ptr %503, align 4, !tbaa !5
  %522 = call ptr @strerror(i32 noundef %521) #12
  %523 = load i32, ptr %503, align 4, !tbaa !5
  %524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %515, ptr noundef nonnull %.str.4.sink1452, i32 noundef %516, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 108, ptr noundef %518, ptr noundef %520, ptr noundef %522, i32 noundef %523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

525:                                              ; preds = %500
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr @test_count, align 4, !tbaa !5
  %528 = load i32, ptr %290, align 4, !tbaa !5
  %529 = icmp eq i32 %528, 335544390
  br i1 %529, label %553, label %530

530:                                              ; preds = %525
  %531 = tail call ptr @__errno_location() #13
  %532 = load i32, ptr %531, align 4, !tbaa !5
  %533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %534 = call i32 @s2n_print_stacktrace(ptr noundef %533) #12
  %535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %536 = trunc nuw i8 %535 to i1
  br i1 %536, label %537, label %541

537:                                              ; preds = %530
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = call i32 @fileno(ptr noundef %538) #12
  %540 = call i32 @isatty(i32 noundef %539) #12
  %.not828 = icmp eq i32 %540, 0
  br i1 %.not828, label %541, label %542

541:                                              ; preds = %537, %530
  br label %542

542:                                              ; preds = %537, %541
  %.str.4.sink1461 = phi ptr [ @.str.4, %541 ], [ @.str, %537 ]
  store i32 %532, ptr %531, align 4, !tbaa !5
  %543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %544 = load i32, ptr @test_count, align 4, !tbaa !5
  %545 = load i32, ptr %290, align 4, !tbaa !5
  %546 = call ptr @s2n_strerror(i32 noundef %545, ptr noundef nonnull @.str.3) #12
  %547 = load i32, ptr %290, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror_debug(i32 noundef %547, ptr noundef nonnull @.str.3) #12
  %549 = load i32, ptr %531, align 4, !tbaa !5
  %550 = call ptr @strerror(i32 noundef %549) #12
  %551 = load i32, ptr %531, align 4, !tbaa !5
  %552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %543, ptr noundef nonnull %.str.4.sink1461, i32 noundef %544, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 108, ptr noundef %546, ptr noundef %548, ptr noundef %550, i32 noundef %551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

553:                                              ; preds = %525
  %554 = add nsw i32 %526, 2
  store i32 %554, ptr @test_count, align 4, !tbaa !5
  %555 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.3) #12
  %556 = icmp eq ptr %555, null
  br i1 %556, label %557, label %580

557:                                              ; preds = %553
  %558 = tail call ptr @__errno_location() #13
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %561 = call i32 @s2n_print_stacktrace(ptr noundef %560) #12
  %562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %563 = trunc nuw i8 %562 to i1
  br i1 %563, label %564, label %568

564:                                              ; preds = %557
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = call i32 @fileno(ptr noundef %565) #12
  %567 = call i32 @isatty(i32 noundef %566) #12
  %.not829 = icmp eq i32 %567, 0
  br i1 %.not829, label %568, label %569

568:                                              ; preds = %564, %557
  br label %569

569:                                              ; preds = %564, %568
  %.str.4.sink1470 = phi ptr [ @.str.4, %568 ], [ @.str, %564 ]
  store i32 %559, ptr %558, align 4, !tbaa !5
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = load i32, ptr @test_count, align 4, !tbaa !5
  %572 = load i32, ptr %290, align 4, !tbaa !5
  %573 = call ptr @s2n_strerror(i32 noundef %572, ptr noundef nonnull @.str.3) #12
  %574 = load i32, ptr %290, align 4, !tbaa !5
  %575 = call ptr @s2n_strerror_debug(i32 noundef %574, ptr noundef nonnull @.str.3) #12
  %576 = load i32, ptr %558, align 4, !tbaa !5
  %577 = call ptr @strerror(i32 noundef %576) #12
  %578 = load i32, ptr %558, align 4, !tbaa !5
  %579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %570, ptr noundef nonnull %.str.4.sink1470, i32 noundef %571, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 108, ptr noundef %573, ptr noundef %575, ptr noundef %577, i32 noundef %578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

580:                                              ; preds = %553
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %581 = tail call ptr @__errno_location() #13
  store i32 0, ptr %581, align 4, !tbaa !5
  br label %582

582:                                              ; preds = %475, %580
  %.0712 = phi i32 [ 1435, %580 ], [ %330, %475 ]
  %583 = load ptr, ptr %276, align 8, !tbaa !15
  %584 = load ptr, ptr %583, align 8, !tbaa !44
  %585 = getelementptr inbounds i8, ptr %584, i64 48
  %586 = load ptr, ptr %585, align 8, !tbaa !49
  %587 = load ptr, ptr %586, align 8, !tbaa !55
  %588 = getelementptr inbounds i8, ptr %587, i64 9
  %589 = load i8, ptr %588, align 1, !tbaa !57
  %590 = zext i8 %589 to i32
  %591 = add nuw nsw i32 %.0712, %590
  %592 = getelementptr inbounds i8, ptr %587, i64 10
  %593 = load i8, ptr %592, align 2, !tbaa !57
  %594 = zext i8 %593 to i32
  %595 = add nuw nsw i32 %591, %594
  %596 = load i32, ptr @test_count, align 4, !tbaa !5
  %597 = add nsw i32 %596, 1
  store i32 %597, ptr @test_count, align 4, !tbaa !5
  %598 = add nuw nsw i32 %.0712, 24
  %599 = icmp eq i32 %595, %598
  br i1 %599, label %623, label %600

600:                                              ; preds = %582
  %601 = tail call ptr @__errno_location() #13
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @s2n_print_stacktrace(ptr noundef %603) #12
  %605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %606 = trunc nuw i8 %605 to i1
  br i1 %606, label %607, label %611

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

611:                                              ; preds = %607, %600
  br label %612

612:                                              ; preds = %607, %611
  %.str.4.sink1479 = phi ptr [ @.str.4, %611 ], [ @.str, %607 ]
  store i32 %602, ptr %601, align 4, !tbaa !5
  %613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %614 = load i32, ptr @test_count, align 4, !tbaa !5
  %615 = load i32, ptr %290, align 4, !tbaa !5
  %616 = call ptr @s2n_strerror(i32 noundef %615, ptr noundef nonnull @.str.3) #12
  %617 = load i32, ptr %290, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror_debug(i32 noundef %617, ptr noundef nonnull @.str.3) #12
  %619 = load i32, ptr %601, align 4, !tbaa !5
  %620 = call ptr @strerror(i32 noundef %619) #12
  %621 = load i32, ptr %601, align 4, !tbaa !5
  %622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %613, ptr noundef nonnull %.str.4.sink1479, i32 noundef %614, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 118, ptr noundef %616, ptr noundef %618, ptr noundef %620, i32 noundef %621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

623:                                              ; preds = %582
  %624 = add nsw i32 %596, 2
  store i32 %624, ptr @test_count, align 4, !tbaa !5
  %625 = load ptr, ptr %291, align 8, !tbaa !58
  %626 = load i8, ptr %625, align 1, !tbaa !57
  %627 = icmp eq i8 %626, 23
  br i1 %627, label %651, label %628

628:                                              ; preds = %623
  %629 = tail call ptr @__errno_location() #13
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = call i32 @s2n_print_stacktrace(ptr noundef %631) #12
  %633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %634 = trunc nuw i8 %633 to i1
  br i1 %634, label %635, label %639

635:                                              ; preds = %628
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 @fileno(ptr noundef %636) #12
  %638 = call i32 @isatty(i32 noundef %637) #12
  %.not832 = icmp eq i32 %638, 0
  br i1 %.not832, label %639, label %640

639:                                              ; preds = %635, %628
  br label %640

640:                                              ; preds = %635, %639
  %.str.4.sink1488 = phi ptr [ @.str.4, %639 ], [ @.str, %635 ]
  store i32 %630, ptr %629, align 4, !tbaa !5
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = load i32, ptr @test_count, align 4, !tbaa !5
  %643 = load i32, ptr %290, align 4, !tbaa !5
  %644 = call ptr @s2n_strerror(i32 noundef %643, ptr noundef nonnull @.str.3) #12
  %645 = load i32, ptr %290, align 4, !tbaa !5
  %646 = call ptr @s2n_strerror_debug(i32 noundef %645, ptr noundef nonnull @.str.3) #12
  %647 = load i32, ptr %629, align 4, !tbaa !5
  %648 = call ptr @strerror(i32 noundef %647) #12
  %649 = load i32, ptr %629, align 4, !tbaa !5
  %650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %641, ptr noundef nonnull %.str.4.sink1488, i32 noundef %642, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 120, ptr noundef %644, ptr noundef %646, ptr noundef %648, i32 noundef %649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

651:                                              ; preds = %623
  %652 = add nsw i32 %596, 3
  store i32 %652, ptr @test_count, align 4, !tbaa !5
  %653 = getelementptr inbounds i8, ptr %625, i64 1
  %654 = load i8, ptr %653, align 1, !tbaa !57
  %655 = icmp eq i8 %654, 3
  br i1 %655, label %679, label %656

656:                                              ; preds = %651
  %657 = tail call ptr @__errno_location() #13
  %658 = load i32, ptr %657, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @s2n_print_stacktrace(ptr noundef %659) #12
  %661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %662 = trunc nuw i8 %661 to i1
  br i1 %662, label %663, label %667

663:                                              ; preds = %656
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = call i32 @fileno(ptr noundef %664) #12
  %666 = call i32 @isatty(i32 noundef %665) #12
  %.not833 = icmp eq i32 %666, 0
  br i1 %.not833, label %667, label %668

667:                                              ; preds = %663, %656
  br label %668

668:                                              ; preds = %663, %667
  %.str.4.sink1497 = phi ptr [ @.str.4, %667 ], [ @.str, %663 ]
  store i32 %658, ptr %657, align 4, !tbaa !5
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = load i32, ptr @test_count, align 4, !tbaa !5
  %671 = load i32, ptr %290, align 4, !tbaa !5
  %672 = call ptr @s2n_strerror(i32 noundef %671, ptr noundef nonnull @.str.3) #12
  %673 = load i32, ptr %290, align 4, !tbaa !5
  %674 = call ptr @s2n_strerror_debug(i32 noundef %673, ptr noundef nonnull @.str.3) #12
  %675 = load i32, ptr %657, align 4, !tbaa !5
  %676 = call ptr @strerror(i32 noundef %675) #12
  %677 = load i32, ptr %657, align 4, !tbaa !5
  %678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %669, ptr noundef nonnull %.str.4.sink1497, i32 noundef %670, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 121, ptr noundef %672, ptr noundef %674, ptr noundef %676, i32 noundef %677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

679:                                              ; preds = %651
  %680 = add nsw i32 %596, 4
  store i32 %680, ptr @test_count, align 4, !tbaa !5
  %681 = getelementptr inbounds i8, ptr %625, i64 2
  %682 = load i8, ptr %681, align 1, !tbaa !57
  %683 = icmp eq i8 %682, 3
  br i1 %683, label %707, label %684

684:                                              ; preds = %679
  %685 = tail call ptr @__errno_location() #13
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = call i32 @s2n_print_stacktrace(ptr noundef %687) #12
  %689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %690 = trunc nuw i8 %689 to i1
  br i1 %690, label %691, label %695

691:                                              ; preds = %684
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @fileno(ptr noundef %692) #12
  %694 = call i32 @isatty(i32 noundef %693) #12
  %.not834 = icmp eq i32 %694, 0
  br i1 %.not834, label %695, label %696

695:                                              ; preds = %691, %684
  br label %696

696:                                              ; preds = %691, %695
  %.str.4.sink1506 = phi ptr [ @.str.4, %695 ], [ @.str, %691 ]
  store i32 %686, ptr %685, align 4, !tbaa !5
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = load i32, ptr @test_count, align 4, !tbaa !5
  %699 = load i32, ptr %290, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror(i32 noundef %699, ptr noundef nonnull @.str.3) #12
  %701 = load i32, ptr %290, align 4, !tbaa !5
  %702 = call ptr @s2n_strerror_debug(i32 noundef %701, ptr noundef nonnull @.str.3) #12
  %703 = load i32, ptr %685, align 4, !tbaa !5
  %704 = call ptr @strerror(i32 noundef %703) #12
  %705 = load i32, ptr %685, align 4, !tbaa !5
  %706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %697, ptr noundef nonnull %.str.4.sink1506, i32 noundef %698, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 122, ptr noundef %700, ptr noundef %702, ptr noundef %704, i32 noundef %705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

707:                                              ; preds = %679
  %708 = add nsw i32 %596, 5
  store i32 %708, ptr @test_count, align 4, !tbaa !5
  %709 = getelementptr inbounds i8, ptr %625, i64 3
  %710 = load i8, ptr %709, align 1, !tbaa !57
  %711 = lshr i32 %595, 8
  %712 = trunc i32 %711 to i8
  %713 = icmp eq i8 %710, %712
  br i1 %713, label %737, label %714

714:                                              ; preds = %707
  %715 = tail call ptr @__errno_location() #13
  %716 = load i32, ptr %715, align 4, !tbaa !5
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @s2n_print_stacktrace(ptr noundef %717) #12
  %719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %720 = trunc nuw i8 %719 to i1
  br i1 %720, label %721, label %725

721:                                              ; preds = %714
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = call i32 @fileno(ptr noundef %722) #12
  %724 = call i32 @isatty(i32 noundef %723) #12
  %.not835 = icmp eq i32 %724, 0
  br i1 %.not835, label %725, label %726

725:                                              ; preds = %721, %714
  br label %726

726:                                              ; preds = %721, %725
  %.str.4.sink1515 = phi ptr [ @.str.4, %725 ], [ @.str, %721 ]
  store i32 %716, ptr %715, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = load i32, ptr @test_count, align 4, !tbaa !5
  %729 = load i32, ptr %290, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror(i32 noundef %729, ptr noundef nonnull @.str.3) #12
  %731 = load i32, ptr %290, align 4, !tbaa !5
  %732 = call ptr @s2n_strerror_debug(i32 noundef %731, ptr noundef nonnull @.str.3) #12
  %733 = load i32, ptr %715, align 4, !tbaa !5
  %734 = call ptr @strerror(i32 noundef %733) #12
  %735 = load i32, ptr %715, align 4, !tbaa !5
  %736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %727, ptr noundef nonnull %.str.4.sink1515, i32 noundef %728, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 123, ptr noundef %730, ptr noundef %732, ptr noundef %734, i32 noundef %735) #14
  call void @exit(i32 noundef 1) #15
  unreachable

737:                                              ; preds = %707
  %738 = add nsw i32 %596, 6
  store i32 %738, ptr @test_count, align 4, !tbaa !5
  %739 = getelementptr inbounds i8, ptr %625, i64 4
  %740 = load i8, ptr %739, align 1, !tbaa !57
  %741 = trunc i32 %595 to i8
  %742 = icmp eq i8 %740, %741
  br i1 %742, label %766, label %743

743:                                              ; preds = %737
  %744 = tail call ptr @__errno_location() #13
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %747 = call i32 @s2n_print_stacktrace(ptr noundef %746) #12
  %748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %749 = trunc nuw i8 %748 to i1
  br i1 %749, label %750, label %754

750:                                              ; preds = %743
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = call i32 @fileno(ptr noundef %751) #12
  %753 = call i32 @isatty(i32 noundef %752) #12
  %.not836 = icmp eq i32 %753, 0
  br i1 %.not836, label %754, label %755

754:                                              ; preds = %750, %743
  br label %755

755:                                              ; preds = %750, %754
  %.str.4.sink1524 = phi ptr [ @.str.4, %754 ], [ @.str, %750 ]
  store i32 %745, ptr %744, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = load i32, ptr @test_count, align 4, !tbaa !5
  %758 = load i32, ptr %290, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror(i32 noundef %758, ptr noundef nonnull @.str.3) #12
  %760 = load i32, ptr %290, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror_debug(i32 noundef %760, ptr noundef nonnull @.str.3) #12
  %762 = load i32, ptr %744, align 4, !tbaa !5
  %763 = call ptr @strerror(i32 noundef %762) #12
  %764 = load i32, ptr %744, align 4, !tbaa !5
  %765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %756, ptr noundef nonnull %.str.4.sink1524, i32 noundef %757, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 124, ptr noundef %759, ptr noundef %761, ptr noundef %763, i32 noundef %764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

766:                                              ; preds = %737
  %767 = icmp ugt i32 %.0712, 10
  br i1 %767, label %768, label %796

768:                                              ; preds = %766
  %769 = add nsw i32 %596, 7
  store i32 %769, ptr @test_count, align 4, !tbaa !5
  %770 = getelementptr inbounds i8, ptr %625, i64 5
  %771 = zext nneg i32 %.0712 to i64
  %bcmp837 = call i32 @bcmp(ptr nonnull %770, ptr nonnull %3, i64 %771)
  %772 = icmp eq i32 %bcmp837, 0
  br i1 %772, label %773, label %796

773:                                              ; preds = %768
  %774 = tail call ptr @__errno_location() #13
  %775 = load i32, ptr %774, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = call i32 @s2n_print_stacktrace(ptr noundef %776) #12
  %778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %779 = trunc nuw i8 %778 to i1
  br i1 %779, label %780, label %784

780:                                              ; preds = %773
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = call i32 @fileno(ptr noundef %781) #12
  %783 = call i32 @isatty(i32 noundef %782) #12
  %.not909 = icmp eq i32 %783, 0
  br i1 %.not909, label %784, label %785

784:                                              ; preds = %780, %773
  br label %785

785:                                              ; preds = %780, %784
  %.str.4.sink1533 = phi ptr [ @.str.4, %784 ], [ @.str, %780 ]
  store i32 %775, ptr %774, align 4, !tbaa !5
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = load i32, ptr @test_count, align 4, !tbaa !5
  %788 = load i32, ptr %290, align 4, !tbaa !5
  %789 = call ptr @s2n_strerror(i32 noundef %788, ptr noundef nonnull @.str.3) #12
  %790 = load i32, ptr %290, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror_debug(i32 noundef %790, ptr noundef nonnull @.str.3) #12
  %792 = load i32, ptr %774, align 4, !tbaa !5
  %793 = call ptr @strerror(i32 noundef %792) #12
  %794 = load i32, ptr %774, align 4, !tbaa !5
  %795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %786, ptr noundef nonnull %.str.4.sink1533, i32 noundef %787, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 128, ptr noundef %789, ptr noundef %791, ptr noundef %793, i32 noundef %794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

796:                                              ; preds = %766, %768
  %797 = phi i32 [ %738, %766 ], [ %769, %768 ]
  %798 = add nsw i32 %797, 1
  store i32 %798, ptr @test_count, align 4, !tbaa !5
  %799 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %800 = icmp eq i32 %799, -1
  br i1 %800, label %801, label %824

801:                                              ; preds = %796
  %802 = tail call ptr @__errno_location() #13
  %803 = load i32, ptr %802, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = call i32 @s2n_print_stacktrace(ptr noundef %804) #12
  %806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %807 = trunc nuw i8 %806 to i1
  br i1 %807, label %808, label %812

808:                                              ; preds = %801
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = call i32 @fileno(ptr noundef %809) #12
  %811 = call i32 @isatty(i32 noundef %810) #12
  %.not908 = icmp eq i32 %811, 0
  br i1 %.not908, label %812, label %813

812:                                              ; preds = %808, %801
  br label %813

813:                                              ; preds = %808, %812
  %.str.4.sink1542 = phi ptr [ @.str.4, %812 ], [ @.str, %808 ]
  store i32 %803, ptr %802, align 4, !tbaa !5
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = load i32, ptr @test_count, align 4, !tbaa !5
  %816 = load i32, ptr %290, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror(i32 noundef %816, ptr noundef nonnull @.str.3) #12
  %818 = load i32, ptr %290, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef nonnull @.str.3) #12
  %820 = load i32, ptr %802, align 4, !tbaa !5
  %821 = call ptr @strerror(i32 noundef %820) #12
  %822 = load i32, ptr %802, align 4, !tbaa !5
  %823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %814, ptr noundef nonnull %.str.4.sink1542, i32 noundef %815, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 132, ptr noundef %817, ptr noundef %819, ptr noundef %821, i32 noundef %822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

824:                                              ; preds = %796
  %825 = load i32, ptr @test_count, align 4, !tbaa !5
  %826 = add nsw i32 %825, 1
  store i32 %826, ptr @test_count, align 4, !tbaa !5
  %827 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %828 = icmp eq i32 %827, -1
  br i1 %828, label %829, label %852

829:                                              ; preds = %824
  %830 = tail call ptr @__errno_location() #13
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832) #12
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc nuw i8 %834 to i1
  br i1 %835, label %836, label %840

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #12
  %839 = call i32 @isatty(i32 noundef %838) #12
  %.not907 = icmp eq i32 %839, 0
  br i1 %.not907, label %840, label %841

840:                                              ; preds = %836, %829
  br label %841

841:                                              ; preds = %836, %840
  %.str.4.sink1551 = phi ptr [ @.str.4, %840 ], [ @.str, %836 ]
  store i32 %831, ptr %830, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = load i32, ptr %290, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror(i32 noundef %844, ptr noundef nonnull @.str.3) #12
  %846 = load i32, ptr %290, align 4, !tbaa !5
  %847 = call ptr @s2n_strerror_debug(i32 noundef %846, ptr noundef nonnull @.str.3) #12
  %848 = load i32, ptr %830, align 4, !tbaa !5
  %849 = call ptr @strerror(i32 noundef %848) #12
  %850 = load i32, ptr %830, align 4, !tbaa !5
  %851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef nonnull %.str.4.sink1551, i32 noundef %843, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 133, ptr noundef %845, ptr noundef %847, ptr noundef %849, i32 noundef %850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

852:                                              ; preds = %824
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %293, i32 noundef 5) #12
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %880

857:                                              ; preds = %852
  %858 = tail call ptr @__errno_location() #13
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @s2n_print_stacktrace(ptr noundef %860) #12
  %862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %863 = trunc nuw i8 %862 to i1
  br i1 %863, label %864, label %868

864:                                              ; preds = %857
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @fileno(ptr noundef %865) #12
  %867 = call i32 @isatty(i32 noundef %866) #12
  %.not906 = icmp eq i32 %867, 0
  br i1 %.not906, label %868, label %869

868:                                              ; preds = %864, %857
  br label %869

869:                                              ; preds = %864, %868
  %.str.4.sink1560 = phi ptr [ @.str.4, %868 ], [ @.str, %864 ]
  store i32 %859, ptr %858, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = load i32, ptr %290, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror(i32 noundef %872, ptr noundef nonnull @.str.3) #12
  %874 = load i32, ptr %290, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror_debug(i32 noundef %874, ptr noundef nonnull @.str.3) #12
  %876 = load i32, ptr %858, align 4, !tbaa !5
  %877 = call ptr @strerror(i32 noundef %876) #12
  %878 = load i32, ptr %858, align 4, !tbaa !5
  %879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef nonnull %.str.4.sink1560, i32 noundef %871, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 134, ptr noundef %873, ptr noundef %875, ptr noundef %877, i32 noundef %878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

880:                                              ; preds = %852
  %881 = load i32, ptr @test_count, align 4, !tbaa !5
  %882 = add nsw i32 %881, 1
  store i32 %882, ptr @test_count, align 4, !tbaa !5
  %883 = load i32, ptr %294, align 4, !tbaa !59
  %884 = load i32, ptr %295, align 8, !tbaa !60
  %885 = sub i32 %883, %884
  %886 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %292, i32 noundef %885) #12
  %887 = icmp eq i32 %886, -1
  br i1 %887, label %888, label %911

888:                                              ; preds = %880
  %889 = tail call ptr @__errno_location() #13
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @s2n_print_stacktrace(ptr noundef %891) #12
  %893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %894 = trunc nuw i8 %893 to i1
  br i1 %894, label %895, label %899

895:                                              ; preds = %888
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = call i32 @fileno(ptr noundef %896) #12
  %898 = call i32 @isatty(i32 noundef %897) #12
  %.not905 = icmp eq i32 %898, 0
  br i1 %.not905, label %899, label %900

899:                                              ; preds = %895, %888
  br label %900

900:                                              ; preds = %895, %899
  %.str.4.sink1569 = phi ptr [ @.str.4, %899 ], [ @.str, %895 ]
  store i32 %890, ptr %889, align 4, !tbaa !5
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = load i32, ptr @test_count, align 4, !tbaa !5
  %903 = load i32, ptr %290, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror(i32 noundef %903, ptr noundef nonnull @.str.3) #12
  %905 = load i32, ptr %290, align 4, !tbaa !5
  %906 = call ptr @s2n_strerror_debug(i32 noundef %905, ptr noundef nonnull @.str.3) #12
  %907 = load i32, ptr %889, align 4, !tbaa !5
  %908 = call ptr @strerror(i32 noundef %907) #12
  %909 = load i32, ptr %889, align 4, !tbaa !5
  %910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %901, ptr noundef nonnull %.str.4.sink1569, i32 noundef %902, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 135, ptr noundef %904, ptr noundef %906, ptr noundef %908, i32 noundef %909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

911:                                              ; preds = %880
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #12
  store i8 0, ptr %10, align 1, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %11) #12
  store i16 0, ptr %11, align 2, !tbaa !61
  %912 = load i32, ptr @test_count, align 4, !tbaa !5
  %913 = add nsw i32 %912, 1
  store i32 %913, ptr @test_count, align 4, !tbaa !5
  %914 = call i32 @s2n_record_header_parse(ptr noundef nonnull %220, ptr noundef nonnull %10, ptr noundef nonnull %11) #12
  %915 = icmp eq i32 %914, -1
  br i1 %915, label %916, label %939

916:                                              ; preds = %911
  %917 = tail call ptr @__errno_location() #13
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %920 = call i32 @s2n_print_stacktrace(ptr noundef %919) #12
  %921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %922 = trunc nuw i8 %921 to i1
  br i1 %922, label %923, label %927

923:                                              ; preds = %916
  %924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %925 = call i32 @fileno(ptr noundef %924) #12
  %926 = call i32 @isatty(i32 noundef %925) #12
  %.not904 = icmp eq i32 %926, 0
  br i1 %.not904, label %927, label %928

927:                                              ; preds = %923, %916
  br label %928

928:                                              ; preds = %923, %927
  %.str.4.sink1578 = phi ptr [ @.str.4, %927 ], [ @.str, %923 ]
  store i32 %918, ptr %917, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = load i32, ptr @test_count, align 4, !tbaa !5
  %931 = load i32, ptr %290, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror(i32 noundef %931, ptr noundef nonnull @.str.3) #12
  %933 = load i32, ptr %290, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef nonnull @.str.3) #12
  %935 = load i32, ptr %917, align 4, !tbaa !5
  %936 = call ptr @strerror(i32 noundef %935) #12
  %937 = load i32, ptr %917, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %929, ptr noundef nonnull %.str.4.sink1578, i32 noundef %930, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 140, ptr noundef %932, ptr noundef %934, ptr noundef %936, i32 noundef %937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

939:                                              ; preds = %911
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = add nsw i32 %940, 1
  store i32 %941, ptr @test_count, align 4, !tbaa !5
  %942 = call i32 @s2n_record_parse(ptr noundef nonnull %220) #12
  %943 = icmp eq i32 %942, -1
  br i1 %943, label %944, label %967

944:                                              ; preds = %939
  %945 = tail call ptr @__errno_location() #13
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = call i32 @s2n_print_stacktrace(ptr noundef %947) #12
  %949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %950 = trunc nuw i8 %949 to i1
  br i1 %950, label %951, label %955

951:                                              ; preds = %944
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = call i32 @fileno(ptr noundef %952) #12
  %954 = call i32 @isatty(i32 noundef %953) #12
  %.not903 = icmp eq i32 %954, 0
  br i1 %.not903, label %955, label %956

955:                                              ; preds = %951, %944
  br label %956

956:                                              ; preds = %951, %955
  %.str.4.sink1587 = phi ptr [ @.str.4, %955 ], [ @.str, %951 ]
  store i32 %946, ptr %945, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = load i32, ptr %290, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror(i32 noundef %959, ptr noundef nonnull @.str.3) #12
  %961 = load i32, ptr %290, align 4, !tbaa !5
  %962 = call ptr @s2n_strerror_debug(i32 noundef %961, ptr noundef nonnull @.str.3) #12
  %963 = load i32, ptr %945, align 4, !tbaa !5
  %964 = call ptr @strerror(i32 noundef %963) #12
  %965 = load i32, ptr %945, align 4, !tbaa !5
  %966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %957, ptr noundef nonnull %.str.4.sink1587, i32 noundef %958, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 141, ptr noundef %960, ptr noundef %962, ptr noundef %964, i32 noundef %965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

967:                                              ; preds = %939
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = add nsw i32 %968, 1
  store i32 %969, ptr @test_count, align 4, !tbaa !5
  %970 = load i8, ptr %10, align 1, !tbaa !57
  %971 = icmp eq i8 %970, 23
  br i1 %971, label %995, label %972

972:                                              ; preds = %967
  %973 = tail call ptr @__errno_location() #13
  %974 = load i32, ptr %973, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @s2n_print_stacktrace(ptr noundef %975) #12
  %977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %978 = trunc nuw i8 %977 to i1
  br i1 %978, label %979, label %983

979:                                              ; preds = %972
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @fileno(ptr noundef %980) #12
  %982 = call i32 @isatty(i32 noundef %981) #12
  %.not838 = icmp eq i32 %982, 0
  br i1 %.not838, label %983, label %984

983:                                              ; preds = %979, %972
  br label %984

984:                                              ; preds = %979, %983
  %.str.4.sink1596 = phi ptr [ @.str.4, %983 ], [ @.str, %979 ]
  store i32 %974, ptr %973, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = load i32, ptr %290, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef nonnull @.str.3) #12
  %989 = load i32, ptr %290, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef nonnull @.str.3) #12
  %991 = load i32, ptr %973, align 4, !tbaa !5
  %992 = call ptr @strerror(i32 noundef %991) #12
  %993 = load i32, ptr %973, align 4, !tbaa !5
  %994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef nonnull %.str.4.sink1596, i32 noundef %986, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 142, ptr noundef %988, ptr noundef %990, ptr noundef %992, i32 noundef %993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

995:                                              ; preds = %967
  %996 = add nsw i32 %968, 2
  store i32 %996, ptr @test_count, align 4, !tbaa !5
  %997 = load i16, ptr %11, align 2, !tbaa !61
  %998 = trunc i32 %595 to i16
  %999 = icmp eq i16 %997, %998
  br i1 %999, label %1023, label %1000

1000:                                             ; preds = %995
  %1001 = tail call ptr @__errno_location() #13
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003) #12
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc nuw i8 %1005 to i1
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1000
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #12
  %1010 = call i32 @isatty(i32 noundef %1009) #12
  %.not839 = icmp eq i32 %1010, 0
  br i1 %.not839, label %1011, label %1012

1011:                                             ; preds = %1007, %1000
  br label %1012

1012:                                             ; preds = %1007, %1011
  %.str.4.sink1605 = phi ptr [ @.str.4, %1011 ], [ @.str, %1007 ]
  store i32 %1002, ptr %1001, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = load i32, ptr %290, align 4, !tbaa !5
  %1016 = call ptr @s2n_strerror(i32 noundef %1015, ptr noundef nonnull @.str.3) #12
  %1017 = load i32, ptr %290, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror_debug(i32 noundef %1017, ptr noundef nonnull @.str.3) #12
  %1019 = load i32, ptr %1001, align 4, !tbaa !5
  %1020 = call ptr @strerror(i32 noundef %1019) #12
  %1021 = load i32, ptr %1001, align 4, !tbaa !5
  %1022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef nonnull %.str.4.sink1605, i32 noundef %1014, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 143, ptr noundef %1016, ptr noundef %1018, ptr noundef %1020, i32 noundef %1021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1023:                                             ; preds = %995
  %1024 = add nsw i32 %968, 3
  store i32 %1024, ptr @test_count, align 4, !tbaa !5
  %1025 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %1026 = icmp eq i32 %1025, -1
  br i1 %1026, label %1027, label %1050

1027:                                             ; preds = %1023
  %1028 = tail call ptr @__errno_location() #13
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = call i32 @s2n_print_stacktrace(ptr noundef %1030) #12
  %1032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1033 = trunc nuw i8 %1032 to i1
  br i1 %1033, label %1034, label %1038

1034:                                             ; preds = %1027
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @fileno(ptr noundef %1035) #12
  %1037 = call i32 @isatty(i32 noundef %1036) #12
  %.not902 = icmp eq i32 %1037, 0
  br i1 %.not902, label %1038, label %1039

1038:                                             ; preds = %1034, %1027
  br label %1039

1039:                                             ; preds = %1034, %1038
  %.str.4.sink1614 = phi ptr [ @.str.4, %1038 ], [ @.str, %1034 ]
  store i32 %1029, ptr %1028, align 4, !tbaa !5
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = load i32, ptr @test_count, align 4, !tbaa !5
  %1042 = load i32, ptr %290, align 4, !tbaa !5
  %1043 = call ptr @s2n_strerror(i32 noundef %1042, ptr noundef nonnull @.str.3) #12
  %1044 = load i32, ptr %290, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror_debug(i32 noundef %1044, ptr noundef nonnull @.str.3) #12
  %1046 = load i32, ptr %1028, align 4, !tbaa !5
  %1047 = call ptr @strerror(i32 noundef %1046) #12
  %1048 = load i32, ptr %1028, align 4, !tbaa !5
  %1049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1040, ptr noundef nonnull %.str.4.sink1614, i32 noundef %1041, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 145, ptr noundef %1043, ptr noundef %1045, ptr noundef %1047, i32 noundef %1048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1050:                                             ; preds = %1023
  %1051 = load i32, ptr @test_count, align 4, !tbaa !5
  %1052 = add nsw i32 %1051, 1
  store i32 %1052, ptr @test_count, align 4, !tbaa !5
  %1053 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %1054 = icmp eq i32 %1053, -1
  br i1 %1054, label %1055, label %1078

1055:                                             ; preds = %1050
  %1056 = tail call ptr @__errno_location() #13
  %1057 = load i32, ptr %1056, align 4, !tbaa !5
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = call i32 @s2n_print_stacktrace(ptr noundef %1058) #12
  %1060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1061 = trunc nuw i8 %1060 to i1
  br i1 %1061, label %1062, label %1066

1062:                                             ; preds = %1055
  %1063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1064 = call i32 @fileno(ptr noundef %1063) #12
  %1065 = call i32 @isatty(i32 noundef %1064) #12
  %.not901 = icmp eq i32 %1065, 0
  br i1 %.not901, label %1066, label %1067

1066:                                             ; preds = %1062, %1055
  br label %1067

1067:                                             ; preds = %1062, %1066
  %.str.4.sink1623 = phi ptr [ @.str.4, %1066 ], [ @.str, %1062 ]
  store i32 %1057, ptr %1056, align 4, !tbaa !5
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = load i32, ptr @test_count, align 4, !tbaa !5
  %1070 = load i32, ptr %290, align 4, !tbaa !5
  %1071 = call ptr @s2n_strerror(i32 noundef %1070, ptr noundef nonnull @.str.3) #12
  %1072 = load i32, ptr %290, align 4, !tbaa !5
  %1073 = call ptr @s2n_strerror_debug(i32 noundef %1072, ptr noundef nonnull @.str.3) #12
  %1074 = load i32, ptr %1056, align 4, !tbaa !5
  %1075 = call ptr @strerror(i32 noundef %1074) #12
  %1076 = load i32, ptr %1056, align 4, !tbaa !5
  %1077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1068, ptr noundef nonnull %.str.4.sink1623, i32 noundef %1069, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 146, ptr noundef %1071, ptr noundef %1073, ptr noundef %1075, i32 noundef %1076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1078:                                             ; preds = %1050
  %1079 = load i32, ptr @test_count, align 4, !tbaa !5
  %1080 = add nsw i32 %1079, 1
  store i32 %1080, ptr @test_count, align 4, !tbaa !5
  %1081 = call i32 @s2n_connection_wipe(ptr noundef nonnull %220) #12
  %1082 = icmp eq i32 %1081, -1
  br i1 %1082, label %1083, label %1106

1083:                                             ; preds = %1078
  %1084 = tail call ptr @__errno_location() #13
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @s2n_print_stacktrace(ptr noundef %1086) #12
  %1088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1089 = trunc nuw i8 %1088 to i1
  br i1 %1089, label %1090, label %1094

1090:                                             ; preds = %1083
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = call i32 @fileno(ptr noundef %1091) #12
  %1093 = call i32 @isatty(i32 noundef %1092) #12
  %.not900 = icmp eq i32 %1093, 0
  br i1 %.not900, label %1094, label %1095

1094:                                             ; preds = %1090, %1083
  br label %1095

1095:                                             ; preds = %1090, %1094
  %.str.4.sink1632 = phi ptr [ @.str.4, %1094 ], [ @.str, %1090 ]
  store i32 %1085, ptr %1084, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = load i32, ptr %290, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror(i32 noundef %1098, ptr noundef nonnull @.str.3) #12
  %1100 = load i32, ptr %290, align 4, !tbaa !5
  %1101 = call ptr @s2n_strerror_debug(i32 noundef %1100, ptr noundef nonnull @.str.3) #12
  %1102 = load i32, ptr %1084, align 4, !tbaa !5
  %1103 = call ptr @strerror(i32 noundef %1102) #12
  %1104 = load i32, ptr %1084, align 4, !tbaa !5
  %1105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef nonnull %.str.4.sink1632, i32 noundef %1097, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 149, ptr noundef %1099, ptr noundef %1101, ptr noundef %1103, i32 noundef %1104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1106:                                             ; preds = %1078
  store i8 1, ptr %286, align 2, !tbaa !51
  store i8 33, ptr %287, align 1, !tbaa !52
  store i8 33, ptr %288, align 2, !tbaa !53
  store i8 33, ptr %289, align 4, !tbaa !54
  %1107 = load ptr, ptr %276, align 8, !tbaa !15
  %1108 = load ptr, ptr %1107, align 8, !tbaa !44
  %1109 = getelementptr inbounds i8, ptr %1108, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %1109, align 8, !tbaa !49
  %1110 = load i32, ptr @test_count, align 4, !tbaa !5
  %1111 = add nsw i32 %1110, 1
  store i32 %1111, ptr @test_count, align 4, !tbaa !5
  %1112 = call i32 @destroy_server_keys(ptr noundef nonnull %220)
  %1113 = icmp eq i32 %1112, -1
  br i1 %1113, label %1114, label %1137

1114:                                             ; preds = %1106
  %1115 = tail call ptr @__errno_location() #13
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @s2n_print_stacktrace(ptr noundef %1117) #12
  %1119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1120 = trunc nuw i8 %1119 to i1
  br i1 %1120, label %1121, label %1125

1121:                                             ; preds = %1114
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 @fileno(ptr noundef %1122) #12
  %1124 = call i32 @isatty(i32 noundef %1123) #12
  %.not899 = icmp eq i32 %1124, 0
  br i1 %.not899, label %1125, label %1126

1125:                                             ; preds = %1121, %1114
  br label %1126

1126:                                             ; preds = %1121, %1125
  %.str.4.sink1641 = phi ptr [ @.str.4, %1125 ], [ @.str, %1121 ]
  store i32 %1116, ptr %1115, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = load i32, ptr @test_count, align 4, !tbaa !5
  %1129 = load i32, ptr %290, align 4, !tbaa !5
  %1130 = call ptr @s2n_strerror(i32 noundef %1129, ptr noundef nonnull @.str.3) #12
  %1131 = load i32, ptr %290, align 4, !tbaa !5
  %1132 = call ptr @s2n_strerror_debug(i32 noundef %1131, ptr noundef nonnull @.str.3) #12
  %1133 = load i32, ptr %1115, align 4, !tbaa !5
  %1134 = call ptr @strerror(i32 noundef %1133) #12
  %1135 = load i32, ptr %1115, align 4, !tbaa !5
  %1136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1127, ptr noundef nonnull %.str.4.sink1641, i32 noundef %1128, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 155, ptr noundef %1130, ptr noundef %1132, ptr noundef %1134, i32 noundef %1135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1137:                                             ; preds = %1106
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = add nsw i32 %1138, 1
  store i32 %1139, ptr @test_count, align 4, !tbaa !5
  %1140 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %1141 = icmp eq i32 %1140, -1
  br i1 %1141, label %1142, label %1165

1142:                                             ; preds = %1137
  %1143 = tail call ptr @__errno_location() #13
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @s2n_print_stacktrace(ptr noundef %1145) #12
  %1147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1148 = trunc nuw i8 %1147 to i1
  br i1 %1148, label %1149, label %1153

1149:                                             ; preds = %1142
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @fileno(ptr noundef %1150) #12
  %1152 = call i32 @isatty(i32 noundef %1151) #12
  %.not898 = icmp eq i32 %1152, 0
  br i1 %.not898, label %1153, label %1154

1153:                                             ; preds = %1149, %1142
  br label %1154

1154:                                             ; preds = %1149, %1153
  %.str.4.sink1650 = phi ptr [ @.str.4, %1153 ], [ @.str, %1149 ]
  store i32 %1144, ptr %1143, align 4, !tbaa !5
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = load i32, ptr @test_count, align 4, !tbaa !5
  %1157 = load i32, ptr %290, align 4, !tbaa !5
  %1158 = call ptr @s2n_strerror(i32 noundef %1157, ptr noundef nonnull @.str.3) #12
  %1159 = load i32, ptr %290, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror_debug(i32 noundef %1159, ptr noundef nonnull @.str.3) #12
  %1161 = load i32, ptr %1143, align 4, !tbaa !5
  %1162 = call ptr @strerror(i32 noundef %1161) #12
  %1163 = load i32, ptr %1143, align 4, !tbaa !5
  %1164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1155, ptr noundef nonnull %.str.4.sink1650, i32 noundef %1156, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 156, ptr noundef %1158, ptr noundef %1160, ptr noundef %1162, i32 noundef %1163) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1165:                                             ; preds = %1137
  %1166 = load i32, ptr @test_count, align 4, !tbaa !5
  %1167 = add nsw i32 %1166, 1
  store i32 %1167, ptr @test_count, align 4, !tbaa !5
  %1168 = call i32 @s2n_record_write(ptr noundef nonnull %220, i8 noundef zeroext 23, ptr noundef nonnull %9) #12
  %1169 = call zeroext i1 @s2n_result_is_ok(i32 %1168)
  br i1 %1169, label %1193, label %1170

1170:                                             ; preds = %1165
  %1171 = tail call ptr @__errno_location() #13
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = call i32 @s2n_print_stacktrace(ptr noundef %1173) #12
  %1175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1176 = trunc nuw i8 %1175 to i1
  br i1 %1176, label %1177, label %1181

1177:                                             ; preds = %1170
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = call i32 @fileno(ptr noundef %1178) #12
  %1180 = call i32 @isatty(i32 noundef %1179) #12
  %.not840 = icmp eq i32 %1180, 0
  br i1 %.not840, label %1181, label %1182

1181:                                             ; preds = %1177, %1170
  br label %1182

1182:                                             ; preds = %1177, %1181
  %.str.4.sink1659 = phi ptr [ @.str.4, %1181 ], [ @.str, %1177 ]
  store i32 %1172, ptr %1171, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = load i32, ptr %290, align 4, !tbaa !5
  %1186 = call ptr @s2n_strerror(i32 noundef %1185, ptr noundef nonnull @.str.3) #12
  %1187 = load i32, ptr %290, align 4, !tbaa !5
  %1188 = call ptr @s2n_strerror_debug(i32 noundef %1187, ptr noundef nonnull @.str.3) #12
  %1189 = load i32, ptr %1171, align 4, !tbaa !5
  %1190 = call ptr @strerror(i32 noundef %1189) #12
  %1191 = load i32, ptr %1171, align 4, !tbaa !5
  %1192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef nonnull %.str.4.sink1659, i32 noundef %1184, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 157, ptr noundef %1186, ptr noundef %1188, ptr noundef %1190, i32 noundef %1191) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1193:                                             ; preds = %1165
  %1194 = load i32, ptr @test_count, align 4, !tbaa !5
  %1195 = add nsw i32 %1194, 1
  store i32 %1195, ptr @test_count, align 4, !tbaa !5
  %1196 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %1197 = icmp eq i32 %1196, -1
  br i1 %1197, label %1198, label %1221

1198:                                             ; preds = %1193
  %1199 = tail call ptr @__errno_location() #13
  %1200 = load i32, ptr %1199, align 4, !tbaa !5
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = call i32 @s2n_print_stacktrace(ptr noundef %1201) #12
  %1203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1204 = trunc nuw i8 %1203 to i1
  br i1 %1204, label %1205, label %1209

1205:                                             ; preds = %1198
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = call i32 @fileno(ptr noundef %1206) #12
  %1208 = call i32 @isatty(i32 noundef %1207) #12
  %.not897 = icmp eq i32 %1208, 0
  br i1 %.not897, label %1209, label %1210

1209:                                             ; preds = %1205, %1198
  br label %1210

1210:                                             ; preds = %1205, %1209
  %.str.4.sink1668 = phi ptr [ @.str.4, %1209 ], [ @.str, %1205 ]
  store i32 %1200, ptr %1199, align 4, !tbaa !5
  %1211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1212 = load i32, ptr @test_count, align 4, !tbaa !5
  %1213 = load i32, ptr %290, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror(i32 noundef %1213, ptr noundef nonnull @.str.3) #12
  %1215 = load i32, ptr %290, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror_debug(i32 noundef %1215, ptr noundef nonnull @.str.3) #12
  %1217 = load i32, ptr %1199, align 4, !tbaa !5
  %1218 = call ptr @strerror(i32 noundef %1217) #12
  %1219 = load i32, ptr %1199, align 4, !tbaa !5
  %1220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1211, ptr noundef nonnull %.str.4.sink1668, i32 noundef %1212, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 161, ptr noundef %1214, ptr noundef %1216, ptr noundef %1218, i32 noundef %1219) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1221:                                             ; preds = %1193
  %1222 = load i32, ptr @test_count, align 4, !tbaa !5
  %1223 = add nsw i32 %1222, 1
  store i32 %1223, ptr @test_count, align 4, !tbaa !5
  %1224 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %1225 = icmp eq i32 %1224, -1
  br i1 %1225, label %1226, label %1249

1226:                                             ; preds = %1221
  %1227 = tail call ptr @__errno_location() #13
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = call i32 @s2n_print_stacktrace(ptr noundef %1229) #12
  %1231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1232 = trunc nuw i8 %1231 to i1
  br i1 %1232, label %1233, label %1237

1233:                                             ; preds = %1226
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @fileno(ptr noundef %1234) #12
  %1236 = call i32 @isatty(i32 noundef %1235) #12
  %.not896 = icmp eq i32 %1236, 0
  br i1 %.not896, label %1237, label %1238

1237:                                             ; preds = %1233, %1226
  br label %1238

1238:                                             ; preds = %1233, %1237
  %.str.4.sink1677 = phi ptr [ @.str.4, %1237 ], [ @.str, %1233 ]
  store i32 %1228, ptr %1227, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = load i32, ptr %290, align 4, !tbaa !5
  %1242 = call ptr @s2n_strerror(i32 noundef %1241, ptr noundef nonnull @.str.3) #12
  %1243 = load i32, ptr %290, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror_debug(i32 noundef %1243, ptr noundef nonnull @.str.3) #12
  %1245 = load i32, ptr %1227, align 4, !tbaa !5
  %1246 = call ptr @strerror(i32 noundef %1245) #12
  %1247 = load i32, ptr %1227, align 4, !tbaa !5
  %1248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1239, ptr noundef nonnull %.str.4.sink1677, i32 noundef %1240, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 162, ptr noundef %1242, ptr noundef %1244, ptr noundef %1246, i32 noundef %1247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1249:                                             ; preds = %1221
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = add nsw i32 %1250, 1
  store i32 %1251, ptr @test_count, align 4, !tbaa !5
  %1252 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %293, i32 noundef 5) #12
  %1253 = icmp eq i32 %1252, -1
  br i1 %1253, label %1254, label %1277

1254:                                             ; preds = %1249
  %1255 = tail call ptr @__errno_location() #13
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = call i32 @s2n_print_stacktrace(ptr noundef %1257) #12
  %1259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1260 = trunc nuw i8 %1259 to i1
  br i1 %1260, label %1261, label %1265

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

1265:                                             ; preds = %1261, %1254
  br label %1266

1266:                                             ; preds = %1261, %1265
  %.str.4.sink1686 = phi ptr [ @.str.4, %1265 ], [ @.str, %1261 ]
  store i32 %1256, ptr %1255, align 4, !tbaa !5
  %1267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1268 = load i32, ptr @test_count, align 4, !tbaa !5
  %1269 = load i32, ptr %290, align 4, !tbaa !5
  %1270 = call ptr @s2n_strerror(i32 noundef %1269, ptr noundef nonnull @.str.3) #12
  %1271 = load i32, ptr %290, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror_debug(i32 noundef %1271, ptr noundef nonnull @.str.3) #12
  %1273 = load i32, ptr %1255, align 4, !tbaa !5
  %1274 = call ptr @strerror(i32 noundef %1273) #12
  %1275 = load i32, ptr %1255, align 4, !tbaa !5
  %1276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1267, ptr noundef nonnull %.str.4.sink1686, i32 noundef %1268, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 163, ptr noundef %1270, ptr noundef %1272, ptr noundef %1274, i32 noundef %1275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1277:                                             ; preds = %1249
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = add nsw i32 %1278, 1
  store i32 %1279, ptr @test_count, align 4, !tbaa !5
  %1280 = load i32, ptr %294, align 4, !tbaa !59
  %1281 = load i32, ptr %295, align 8, !tbaa !60
  %1282 = sub i32 %1280, %1281
  %1283 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %292, i32 noundef %1282) #12
  %1284 = icmp eq i32 %1283, -1
  br i1 %1284, label %1285, label %1308

1285:                                             ; preds = %1277
  %1286 = tail call ptr @__errno_location() #13
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = call i32 @s2n_print_stacktrace(ptr noundef %1288) #12
  %1290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1291 = trunc nuw i8 %1290 to i1
  br i1 %1291, label %1292, label %1296

1292:                                             ; preds = %1285
  %1293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1294 = call i32 @fileno(ptr noundef %1293) #12
  %1295 = call i32 @isatty(i32 noundef %1294) #12
  %.not894 = icmp eq i32 %1295, 0
  br i1 %.not894, label %1296, label %1297

1296:                                             ; preds = %1292, %1285
  br label %1297

1297:                                             ; preds = %1292, %1296
  %.str.4.sink1695 = phi ptr [ @.str.4, %1296 ], [ @.str, %1292 ]
  store i32 %1287, ptr %1286, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = load i32, ptr @test_count, align 4, !tbaa !5
  %1300 = load i32, ptr %290, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror(i32 noundef %1300, ptr noundef nonnull @.str.3) #12
  %1302 = load i32, ptr %290, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror_debug(i32 noundef %1302, ptr noundef nonnull @.str.3) #12
  %1304 = load i32, ptr %1286, align 4, !tbaa !5
  %1305 = call ptr @strerror(i32 noundef %1304) #12
  %1306 = load i32, ptr %1286, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1298, ptr noundef nonnull %.str.4.sink1695, i32 noundef %1299, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 164, ptr noundef %1301, ptr noundef %1303, ptr noundef %1305, i32 noundef %1306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1308:                                             ; preds = %1277
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load ptr, ptr %293, align 8, !tbaa !62
  %1312 = load i8, ptr %1311, align 1, !tbaa !57
  %1313 = icmp eq i8 %1312, 23
  br i1 %1313, label %1337, label %1314

1314:                                             ; preds = %1308
  %1315 = tail call ptr @__errno_location() #13
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1318 = call i32 @s2n_print_stacktrace(ptr noundef %1317) #12
  %1319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1320 = trunc nuw i8 %1319 to i1
  br i1 %1320, label %1321, label %1325

1321:                                             ; preds = %1314
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @fileno(ptr noundef %1322) #12
  %1324 = call i32 @isatty(i32 noundef %1323) #12
  %.not841 = icmp eq i32 %1324, 0
  br i1 %.not841, label %1325, label %1326

1325:                                             ; preds = %1321, %1314
  br label %1326

1326:                                             ; preds = %1321, %1325
  %.str.4.sink1704 = phi ptr [ @.str.4, %1325 ], [ @.str, %1321 ]
  store i32 %1316, ptr %1315, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = load i32, ptr %290, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror(i32 noundef %1329, ptr noundef nonnull @.str.3) #12
  %1331 = load i32, ptr %290, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror_debug(i32 noundef %1331, ptr noundef nonnull @.str.3) #12
  %1333 = load i32, ptr %1315, align 4, !tbaa !5
  %1334 = call ptr @strerror(i32 noundef %1333) #12
  %1335 = load i32, ptr %1315, align 4, !tbaa !5
  %1336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1327, ptr noundef nonnull %.str.4.sink1704, i32 noundef %1328, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 167, ptr noundef %1330, ptr noundef %1332, ptr noundef %1334, i32 noundef %1335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1337:                                             ; preds = %1308
  store i8 22, ptr %1311, align 1, !tbaa !57
  %1338 = load i32, ptr @test_count, align 4, !tbaa !5
  %1339 = add nsw i32 %1338, 1
  store i32 %1339, ptr @test_count, align 4, !tbaa !5
  %1340 = call i32 @s2n_record_header_parse(ptr noundef nonnull %220, ptr noundef nonnull %10, ptr noundef nonnull %11) #12
  %1341 = icmp eq i32 %1340, -1
  br i1 %1341, label %1342, label %1365

1342:                                             ; preds = %1337
  %1343 = tail call ptr @__errno_location() #13
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1346 = call i32 @s2n_print_stacktrace(ptr noundef %1345) #12
  %1347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1348 = trunc nuw i8 %1347 to i1
  br i1 %1348, label %1349, label %1353

1349:                                             ; preds = %1342
  %1350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1351 = call i32 @fileno(ptr noundef %1350) #12
  %1352 = call i32 @isatty(i32 noundef %1351) #12
  %.not893 = icmp eq i32 %1352, 0
  br i1 %.not893, label %1353, label %1354

1353:                                             ; preds = %1349, %1342
  br label %1354

1354:                                             ; preds = %1349, %1353
  %.str.4.sink1713 = phi ptr [ @.str.4, %1353 ], [ @.str, %1349 ]
  store i32 %1344, ptr %1343, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = load i32, ptr %290, align 4, !tbaa !5
  %1358 = call ptr @s2n_strerror(i32 noundef %1357, ptr noundef nonnull @.str.3) #12
  %1359 = load i32, ptr %290, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror_debug(i32 noundef %1359, ptr noundef nonnull @.str.3) #12
  %1361 = load i32, ptr %1343, align 4, !tbaa !5
  %1362 = call ptr @strerror(i32 noundef %1361) #12
  %1363 = load i32, ptr %1343, align 4, !tbaa !5
  %1364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1355, ptr noundef nonnull %.str.4.sink1713, i32 noundef %1356, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 170, ptr noundef %1358, ptr noundef %1360, ptr noundef %1362, i32 noundef %1363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1365:                                             ; preds = %1337
  %1366 = load i32, ptr @test_count, align 4, !tbaa !5
  %1367 = add nsw i32 %1366, 1
  store i32 %1367, ptr @test_count, align 4, !tbaa !5
  %1368 = load i8, ptr %10, align 1, !tbaa !57
  %1369 = icmp eq i8 %1368, 22
  br i1 %1369, label %1393, label %1370

1370:                                             ; preds = %1365
  %1371 = tail call ptr @__errno_location() #13
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = call i32 @s2n_print_stacktrace(ptr noundef %1373) #12
  %1375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1376 = trunc nuw i8 %1375 to i1
  br i1 %1376, label %1377, label %1381

1377:                                             ; preds = %1370
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = call i32 @fileno(ptr noundef %1378) #12
  %1380 = call i32 @isatty(i32 noundef %1379) #12
  %.not842 = icmp eq i32 %1380, 0
  br i1 %.not842, label %1381, label %1382

1381:                                             ; preds = %1377, %1370
  br label %1382

1382:                                             ; preds = %1377, %1381
  %.str.4.sink1722 = phi ptr [ @.str.4, %1381 ], [ @.str, %1377 ]
  store i32 %1372, ptr %1371, align 4, !tbaa !5
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = load i32, ptr @test_count, align 4, !tbaa !5
  %1385 = load i32, ptr %290, align 4, !tbaa !5
  %1386 = call ptr @s2n_strerror(i32 noundef %1385, ptr noundef nonnull @.str.3) #12
  %1387 = load i32, ptr %290, align 4, !tbaa !5
  %1388 = call ptr @s2n_strerror_debug(i32 noundef %1387, ptr noundef nonnull @.str.3) #12
  %1389 = load i32, ptr %1371, align 4, !tbaa !5
  %1390 = call ptr @strerror(i32 noundef %1389) #12
  %1391 = load i32, ptr %1371, align 4, !tbaa !5
  %1392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1383, ptr noundef nonnull %.str.4.sink1722, i32 noundef %1384, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 171, ptr noundef %1386, ptr noundef %1388, ptr noundef %1390, i32 noundef %1391) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1393:                                             ; preds = %1365
  %1394 = add nsw i32 %1366, 2
  store i32 %1394, ptr @test_count, align 4, !tbaa !5
  %1395 = call i32 @s2n_record_parse(ptr noundef nonnull %220) #12
  %1396 = icmp eq i32 %1395, -1
  br i1 %1396, label %1420, label %1397

1397:                                             ; preds = %1393
  %1398 = tail call ptr @__errno_location() #13
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = call i32 @s2n_print_stacktrace(ptr noundef %1400) #12
  %1402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1403 = trunc nuw i8 %1402 to i1
  br i1 %1403, label %1404, label %1408

1404:                                             ; preds = %1397
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = call i32 @fileno(ptr noundef %1405) #12
  %1407 = call i32 @isatty(i32 noundef %1406) #12
  %.not843 = icmp eq i32 %1407, 0
  br i1 %.not843, label %1408, label %1409

1408:                                             ; preds = %1404, %1397
  br label %1409

1409:                                             ; preds = %1404, %1408
  %.str.4.sink1731 = phi ptr [ @.str.4, %1408 ], [ @.str, %1404 ]
  store i32 %1399, ptr %1398, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = load i32, ptr @test_count, align 4, !tbaa !5
  %1412 = load i32, ptr %290, align 4, !tbaa !5
  %1413 = call ptr @s2n_strerror(i32 noundef %1412, ptr noundef nonnull @.str.3) #12
  %1414 = load i32, ptr %290, align 4, !tbaa !5
  %1415 = call ptr @s2n_strerror_debug(i32 noundef %1414, ptr noundef nonnull @.str.3) #12
  %1416 = load i32, ptr %1398, align 4, !tbaa !5
  %1417 = call ptr @strerror(i32 noundef %1416) #12
  %1418 = load i32, ptr %1398, align 4, !tbaa !5
  %1419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1410, ptr noundef nonnull %.str.4.sink1731, i32 noundef %1411, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %1413, ptr noundef %1415, ptr noundef %1417, i32 noundef %1418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1420:                                             ; preds = %1393
  %1421 = load i32, ptr @test_count, align 4, !tbaa !5
  %1422 = add nsw i32 %1421, 1
  store i32 %1422, ptr @test_count, align 4, !tbaa !5
  %1423 = load i32, ptr %290, align 4, !tbaa !5
  %1424 = icmp eq i32 %1423, 0
  br i1 %1424, label %1425, label %1448

1425:                                             ; preds = %1420
  %1426 = tail call ptr @__errno_location() #13
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  %1428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1429 = call i32 @s2n_print_stacktrace(ptr noundef %1428) #12
  %1430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1431 = trunc nuw i8 %1430 to i1
  br i1 %1431, label %1432, label %1436

1432:                                             ; preds = %1425
  %1433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1434 = call i32 @fileno(ptr noundef %1433) #12
  %1435 = call i32 @isatty(i32 noundef %1434) #12
  %.not892 = icmp eq i32 %1435, 0
  br i1 %.not892, label %1436, label %1437

1436:                                             ; preds = %1432, %1425
  br label %1437

1437:                                             ; preds = %1432, %1436
  %.str.4.sink1740 = phi ptr [ @.str.4, %1436 ], [ @.str, %1432 ]
  store i32 %1427, ptr %1426, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = load i32, ptr %290, align 4, !tbaa !5
  %1441 = call ptr @s2n_strerror(i32 noundef %1440, ptr noundef nonnull @.str.3) #12
  %1442 = load i32, ptr %290, align 4, !tbaa !5
  %1443 = call ptr @s2n_strerror_debug(i32 noundef %1442, ptr noundef nonnull @.str.3) #12
  %1444 = load i32, ptr %1426, align 4, !tbaa !5
  %1445 = call ptr @strerror(i32 noundef %1444) #12
  %1446 = load i32, ptr %1426, align 4, !tbaa !5
  %1447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1438, ptr noundef nonnull %.str.4.sink1740, i32 noundef %1439, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %1441, ptr noundef %1443, ptr noundef %1445, i32 noundef %1446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1448:                                             ; preds = %1420
  %1449 = add nsw i32 %1421, 2
  store i32 %1449, ptr @test_count, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror_debug(i32 noundef %1423, ptr noundef nonnull @.str.3) #12
  %1451 = icmp eq ptr %1450, null
  br i1 %1451, label %1452, label %1475

1452:                                             ; preds = %1448
  %1453 = tail call ptr @__errno_location() #13
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = call i32 @s2n_print_stacktrace(ptr noundef %1455) #12
  %1457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1458 = trunc nuw i8 %1457 to i1
  br i1 %1458, label %1459, label %1463

1459:                                             ; preds = %1452
  %1460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1461 = call i32 @fileno(ptr noundef %1460) #12
  %1462 = call i32 @isatty(i32 noundef %1461) #12
  %.not891 = icmp eq i32 %1462, 0
  br i1 %.not891, label %1463, label %1464

1463:                                             ; preds = %1459, %1452
  br label %1464

1464:                                             ; preds = %1459, %1463
  %.str.4.sink1749 = phi ptr [ @.str.4, %1463 ], [ @.str, %1459 ]
  store i32 %1454, ptr %1453, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = load i32, ptr %290, align 4, !tbaa !5
  %1468 = call ptr @s2n_strerror(i32 noundef %1467, ptr noundef nonnull @.str.3) #12
  %1469 = load i32, ptr %290, align 4, !tbaa !5
  %1470 = call ptr @s2n_strerror_debug(i32 noundef %1469, ptr noundef nonnull @.str.3) #12
  %1471 = load i32, ptr %1453, align 4, !tbaa !5
  %1472 = call ptr @strerror(i32 noundef %1471) #12
  %1473 = load i32, ptr %1453, align 4, !tbaa !5
  %1474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1465, ptr noundef nonnull %.str.4.sink1749, i32 noundef %1466, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %1468, ptr noundef %1470, ptr noundef %1472, i32 noundef %1473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1475:                                             ; preds = %1448
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1476 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1476, align 4, !tbaa !5
  %1477 = load i32, ptr @test_count, align 4, !tbaa !5
  %1478 = add nsw i32 %1477, 1
  store i32 %1478, ptr @test_count, align 4, !tbaa !5
  %1479 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %1480 = icmp eq i32 %1479, -1
  br i1 %1480, label %1481, label %1503

1481:                                             ; preds = %1475
  %1482 = load i32, ptr %1476, 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 = %1481
  %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
  %.not890 = icmp eq i32 %1490, 0
  br i1 %.not890, label %1491, label %1492

1491:                                             ; preds = %1487, %1481
  br label %1492

1492:                                             ; preds = %1487, %1491
  %.str.4.sink1758 = phi ptr [ @.str.4, %1491 ], [ @.str, %1487 ]
  store i32 %1482, ptr %1476, align 4, !tbaa !5
  %1493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = load i32, ptr %290, align 4, !tbaa !5
  %1496 = call ptr @s2n_strerror(i32 noundef %1495, ptr noundef nonnull @.str.3) #12
  %1497 = load i32, ptr %290, align 4, !tbaa !5
  %1498 = call ptr @s2n_strerror_debug(i32 noundef %1497, ptr noundef nonnull @.str.3) #12
  %1499 = load i32, ptr %1476, align 4, !tbaa !5
  %1500 = call ptr @strerror(i32 noundef %1499) #12
  %1501 = load i32, ptr %1476, align 4, !tbaa !5
  %1502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1493, ptr noundef nonnull %.str.4.sink1758, i32 noundef %1494, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 184, ptr noundef %1496, ptr noundef %1498, ptr noundef %1500, i32 noundef %1501) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1503:                                             ; preds = %1475
  %1504 = load i32, ptr @test_count, align 4, !tbaa !5
  %1505 = add nsw i32 %1504, 1
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %1507 = icmp eq i32 %1506, -1
  br i1 %1507, label %1508, label %.preheader928

1508:                                             ; preds = %1503
  %1509 = load i32, ptr %1476, align 4, !tbaa !5
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = call i32 @s2n_print_stacktrace(ptr noundef %1510) #12
  %1512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1513 = trunc nuw i8 %1512 to i1
  br i1 %1513, label %1514, label %1518

1514:                                             ; preds = %1508
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = call i32 @fileno(ptr noundef %1515) #12
  %1517 = call i32 @isatty(i32 noundef %1516) #12
  %.not889 = icmp eq i32 %1517, 0
  br i1 %.not889, label %1518, label %1519

1518:                                             ; preds = %1514, %1508
  br label %1519

1519:                                             ; preds = %1514, %1518
  %.str.4.sink1767 = phi ptr [ @.str.4, %1518 ], [ @.str, %1514 ]
  store i32 %1509, ptr %1476, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = load i32, ptr %290, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror(i32 noundef %1522, ptr noundef nonnull @.str.3) #12
  %1524 = load i32, ptr %290, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror_debug(i32 noundef %1524, ptr noundef nonnull @.str.3) #12
  %1526 = load i32, ptr %1476, align 4, !tbaa !5
  %1527 = call ptr @strerror(i32 noundef %1526) #12
  %1528 = load i32, ptr %1476, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef nonnull %.str.4.sink1767, i32 noundef %1521, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 185, ptr noundef %1523, ptr noundef %1525, ptr noundef %1527, i32 noundef %1528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1530:                                             ; preds = %1917
  %1531 = add nuw nsw i64 %.07131127, 1
  %exitcond.not = icmp eq i64 %1531, 8
  br i1 %exitcond.not, label %.preheader927, label %.preheader928, !llvm.loop !63

.preheader928:                                    ; preds = %1503, %1530
  %.07131127 = phi i64 [ %1531, %1530 ], [ 0, %1503 ]
  %1532 = load i32, ptr @test_count, align 4, !tbaa !5
  %1533 = add nsw i32 %1532, 1
  store i32 %1533, ptr @test_count, align 4, !tbaa !5
  %1534 = call i32 @s2n_connection_wipe(ptr noundef nonnull %220) #12
  %1535 = icmp eq i32 %1534, -1
  br i1 %1535, label %1536, label %1558

1536:                                             ; preds = %.preheader928
  %1537 = load i32, ptr %1476, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = call i32 @s2n_print_stacktrace(ptr noundef %1538) #12
  %1540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1541 = trunc nuw i8 %1540 to i1
  br i1 %1541, label %1542, label %1546

1542:                                             ; preds = %1536
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @fileno(ptr noundef %1543) #12
  %1545 = call i32 @isatty(i32 noundef %1544) #12
  %.not888 = icmp eq i32 %1545, 0
  br i1 %.not888, label %1546, label %1547

1546:                                             ; preds = %1542, %1536
  br label %1547

1547:                                             ; preds = %1542, %1546
  %.str.4.sink1776 = phi ptr [ @.str.4, %1546 ], [ @.str, %1542 ]
  store i32 %1537, ptr %1476, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = load i32, ptr %290, align 4, !tbaa !5
  %1551 = call ptr @s2n_strerror(i32 noundef %1550, ptr noundef nonnull @.str.3) #12
  %1552 = load i32, ptr %290, align 4, !tbaa !5
  %1553 = call ptr @s2n_strerror_debug(i32 noundef %1552, ptr noundef nonnull @.str.3) #12
  %1554 = load i32, ptr %1476, align 4, !tbaa !5
  %1555 = call ptr @strerror(i32 noundef %1554) #12
  %1556 = load i32, ptr %1476, align 4, !tbaa !5
  %1557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1548, ptr noundef nonnull %.str.4.sink1776, i32 noundef %1549, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 189, ptr noundef %1551, ptr noundef %1553, ptr noundef %1555, i32 noundef %1556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1558:                                             ; preds = %.preheader928
  store i8 1, ptr %286, align 2, !tbaa !51
  store i8 33, ptr %287, align 1, !tbaa !52
  store i8 33, ptr %288, align 2, !tbaa !53
  store i8 33, ptr %289, align 4, !tbaa !54
  %1559 = load ptr, ptr %276, align 8, !tbaa !15
  %1560 = load ptr, ptr %1559, align 8, !tbaa !44
  %1561 = getelementptr inbounds i8, ptr %1560, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %1561, align 8, !tbaa !49
  %1562 = load i32, ptr @test_count, align 4, !tbaa !5
  %1563 = add nsw i32 %1562, 1
  store i32 %1563, ptr @test_count, align 4, !tbaa !5
  %1564 = call i32 @destroy_server_keys(ptr noundef %220)
  %1565 = icmp eq i32 %1564, -1
  br i1 %1565, label %1566, label %1588

1566:                                             ; preds = %1558
  %1567 = load i32, ptr %1476, align 4, !tbaa !5
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = call i32 @s2n_print_stacktrace(ptr noundef %1568) #12
  %1570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1571 = trunc nuw i8 %1570 to i1
  br i1 %1571, label %1572, label %1576

1572:                                             ; preds = %1566
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = call i32 @fileno(ptr noundef %1573) #12
  %1575 = call i32 @isatty(i32 noundef %1574) #12
  %.not887 = icmp eq i32 %1575, 0
  br i1 %.not887, label %1576, label %1577

1576:                                             ; preds = %1572, %1566
  br label %1577

1577:                                             ; preds = %1572, %1576
  %.str.4.sink1785 = phi ptr [ @.str.4, %1576 ], [ @.str, %1572 ]
  store i32 %1567, ptr %1476, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = load i32, ptr %290, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror(i32 noundef %1580, ptr noundef nonnull @.str.3) #12
  %1582 = load i32, ptr %290, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror_debug(i32 noundef %1582, ptr noundef nonnull @.str.3) #12
  %1584 = load i32, ptr %1476, align 4, !tbaa !5
  %1585 = call ptr @strerror(i32 noundef %1584) #12
  %1586 = load i32, ptr %1476, align 4, !tbaa !5
  %1587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1578, ptr noundef nonnull %.str.4.sink1785, i32 noundef %1579, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 195, ptr noundef %1581, ptr noundef %1583, ptr noundef %1585, i32 noundef %1586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1588:                                             ; preds = %1558
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = add nsw i32 %1589, 1
  store i32 %1590, ptr @test_count, align 4, !tbaa !5
  %1591 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %1592 = icmp eq i32 %1591, -1
  br i1 %1592, label %1593, label %1615

1593:                                             ; preds = %1588
  %1594 = load i32, ptr %1476, align 4, !tbaa !5
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = call i32 @s2n_print_stacktrace(ptr noundef %1595) #12
  %1597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1598 = trunc nuw i8 %1597 to i1
  br i1 %1598, label %1599, label %1603

1599:                                             ; preds = %1593
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = call i32 @fileno(ptr noundef %1600) #12
  %1602 = call i32 @isatty(i32 noundef %1601) #12
  %.not886 = icmp eq i32 %1602, 0
  br i1 %.not886, label %1603, label %1604

1603:                                             ; preds = %1599, %1593
  br label %1604

1604:                                             ; preds = %1599, %1603
  %.str.4.sink1794 = phi ptr [ @.str.4, %1603 ], [ @.str, %1599 ]
  store i32 %1594, ptr %1476, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = load i32, ptr %290, align 4, !tbaa !5
  %1608 = call ptr @s2n_strerror(i32 noundef %1607, ptr noundef nonnull @.str.3) #12
  %1609 = load i32, ptr %290, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef %1609, ptr noundef nonnull @.str.3) #12
  %1611 = load i32, ptr %1476, align 4, !tbaa !5
  %1612 = call ptr @strerror(i32 noundef %1611) #12
  %1613 = load i32, ptr %1476, align 4, !tbaa !5
  %1614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1605, ptr noundef nonnull %.str.4.sink1794, i32 noundef %1606, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 196, ptr noundef %1608, ptr noundef %1610, ptr noundef %1612, i32 noundef %1613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1615:                                             ; preds = %1588
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = add nsw i32 %1616, 1
  store i32 %1617, ptr @test_count, align 4, !tbaa !5
  %1618 = call i32 @s2n_record_write(ptr noundef nonnull %220, i8 noundef zeroext 23, ptr noundef nonnull %9) #12
  %1619 = call zeroext i1 @s2n_result_is_ok(i32 %1618)
  br i1 %1619, label %1642, label %1620

1620:                                             ; preds = %1615
  %1621 = load i32, ptr %1476, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = call i32 @s2n_print_stacktrace(ptr noundef %1622) #12
  %1624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1625 = trunc nuw i8 %1624 to i1
  br i1 %1625, label %1626, label %1630

1626:                                             ; preds = %1620
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @fileno(ptr noundef %1627) #12
  %1629 = call i32 @isatty(i32 noundef %1628) #12
  %.not874 = icmp eq i32 %1629, 0
  br i1 %.not874, label %1630, label %1631

1630:                                             ; preds = %1626, %1620
  br label %1631

1631:                                             ; preds = %1626, %1630
  %.str.4.sink1803 = phi ptr [ @.str.4, %1630 ], [ @.str, %1626 ]
  store i32 %1621, ptr %1476, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = load i32, ptr @test_count, align 4, !tbaa !5
  %1634 = load i32, ptr %290, align 4, !tbaa !5
  %1635 = call ptr @s2n_strerror(i32 noundef %1634, ptr noundef nonnull @.str.3) #12
  %1636 = load i32, ptr %290, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef nonnull @.str.3) #12
  %1638 = load i32, ptr %1476, align 4, !tbaa !5
  %1639 = call ptr @strerror(i32 noundef %1638) #12
  %1640 = load i32, ptr %1476, align 4, !tbaa !5
  %1641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1632, ptr noundef nonnull %.str.4.sink1803, i32 noundef %1633, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 197, ptr noundef %1635, ptr noundef %1637, ptr noundef %1639, i32 noundef %1640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1642:                                             ; preds = %1615
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = add nsw i32 %1643, 1
  store i32 %1644, ptr @test_count, align 4, !tbaa !5
  %1645 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %1646 = icmp eq i32 %1645, -1
  br i1 %1646, label %1647, label %1669

1647:                                             ; preds = %1642
  %1648 = load i32, ptr %1476, align 4, !tbaa !5
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = call i32 @s2n_print_stacktrace(ptr noundef %1649) #12
  %1651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1652 = trunc nuw i8 %1651 to i1
  br i1 %1652, label %1653, label %1657

1653:                                             ; preds = %1647
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = call i32 @fileno(ptr noundef %1654) #12
  %1656 = call i32 @isatty(i32 noundef %1655) #12
  %.not885 = icmp eq i32 %1656, 0
  br i1 %.not885, label %1657, label %1658

1657:                                             ; preds = %1653, %1647
  br label %1658

1658:                                             ; preds = %1653, %1657
  %.str.4.sink1812 = phi ptr [ @.str.4, %1657 ], [ @.str, %1653 ]
  store i32 %1648, ptr %1476, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = load i32, ptr @test_count, align 4, !tbaa !5
  %1661 = load i32, ptr %290, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror(i32 noundef %1661, ptr noundef nonnull @.str.3) #12
  %1663 = load i32, ptr %290, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef nonnull @.str.3) #12
  %1665 = load i32, ptr %1476, align 4, !tbaa !5
  %1666 = call ptr @strerror(i32 noundef %1665) #12
  %1667 = load i32, ptr %1476, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1659, ptr noundef nonnull %.str.4.sink1812, i32 noundef %1660, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 200, ptr noundef %1662, ptr noundef %1664, ptr noundef %1666, i32 noundef %1667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1669:                                             ; preds = %1642
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = add nsw i32 %1670, 1
  store i32 %1671, ptr @test_count, align 4, !tbaa !5
  %1672 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %1673 = icmp eq i32 %1672, -1
  br i1 %1673, label %1674, label %1696

1674:                                             ; preds = %1669
  %1675 = load i32, ptr %1476, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @s2n_print_stacktrace(ptr noundef %1676) #12
  %1678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1679 = trunc nuw i8 %1678 to i1
  br i1 %1679, label %1680, label %1684

1680:                                             ; preds = %1674
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @fileno(ptr noundef %1681) #12
  %1683 = call i32 @isatty(i32 noundef %1682) #12
  %.not884 = icmp eq i32 %1683, 0
  br i1 %.not884, label %1684, label %1685

1684:                                             ; preds = %1680, %1674
  br label %1685

1685:                                             ; preds = %1680, %1684
  %.str.4.sink1821 = phi ptr [ @.str.4, %1684 ], [ @.str, %1680 ]
  store i32 %1675, ptr %1476, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = load i32, ptr @test_count, align 4, !tbaa !5
  %1688 = load i32, ptr %290, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror(i32 noundef %1688, ptr noundef nonnull @.str.3) #12
  %1690 = load i32, ptr %290, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror_debug(i32 noundef %1690, ptr noundef nonnull @.str.3) #12
  %1692 = load i32, ptr %1476, align 4, !tbaa !5
  %1693 = call ptr @strerror(i32 noundef %1692) #12
  %1694 = load i32, ptr %1476, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1686, ptr noundef nonnull %.str.4.sink1821, i32 noundef %1687, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 201, ptr noundef %1689, ptr noundef %1691, ptr noundef %1693, i32 noundef %1694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1696:                                             ; preds = %1669
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = add nsw i32 %1697, 1
  store i32 %1698, ptr @test_count, align 4, !tbaa !5
  %1699 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %293, i32 noundef 5) #12
  %1700 = icmp eq i32 %1699, -1
  br i1 %1700, label %1701, label %1723

1701:                                             ; preds = %1696
  %1702 = load i32, ptr %1476, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = call i32 @s2n_print_stacktrace(ptr noundef %1703) #12
  %1705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1706 = trunc nuw i8 %1705 to i1
  br i1 %1706, label %1707, label %1711

1707:                                             ; preds = %1701
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = call i32 @fileno(ptr noundef %1708) #12
  %1710 = call i32 @isatty(i32 noundef %1709) #12
  %.not883 = icmp eq i32 %1710, 0
  br i1 %.not883, label %1711, label %1712

1711:                                             ; preds = %1707, %1701
  br label %1712

1712:                                             ; preds = %1707, %1711
  %.str.4.sink1830 = phi ptr [ @.str.4, %1711 ], [ @.str, %1707 ]
  store i32 %1702, ptr %1476, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = load i32, ptr %290, align 4, !tbaa !5
  %1716 = call ptr @s2n_strerror(i32 noundef %1715, ptr noundef nonnull @.str.3) #12
  %1717 = load i32, ptr %290, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror_debug(i32 noundef %1717, ptr noundef nonnull @.str.3) #12
  %1719 = load i32, ptr %1476, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #12
  %1721 = load i32, ptr %1476, align 4, !tbaa !5
  %1722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef nonnull %.str.4.sink1830, i32 noundef %1714, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 202, ptr noundef %1716, ptr noundef %1718, ptr noundef %1720, i32 noundef %1721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1723:                                             ; preds = %1696
  %1724 = load i32, ptr @test_count, align 4, !tbaa !5
  %1725 = add nsw i32 %1724, 1
  store i32 %1725, ptr @test_count, align 4, !tbaa !5
  %1726 = load i32, ptr %294, align 4, !tbaa !59
  %1727 = load i32, ptr %295, align 8, !tbaa !60
  %1728 = sub i32 %1726, %1727
  %1729 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %292, i32 noundef %1728) #12
  %1730 = icmp eq i32 %1729, -1
  br i1 %1730, label %1731, label %1753

1731:                                             ; preds = %1723
  %1732 = load i32, ptr %1476, align 4, !tbaa !5
  %1733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1734 = call i32 @s2n_print_stacktrace(ptr noundef %1733) #12
  %1735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1736 = trunc nuw i8 %1735 to i1
  br i1 %1736, label %1737, label %1741

1737:                                             ; preds = %1731
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = call i32 @fileno(ptr noundef %1738) #12
  %1740 = call i32 @isatty(i32 noundef %1739) #12
  %.not882 = icmp eq i32 %1740, 0
  br i1 %.not882, label %1741, label %1742

1741:                                             ; preds = %1737, %1731
  br label %1742

1742:                                             ; preds = %1737, %1741
  %.str.4.sink1839 = phi ptr [ @.str.4, %1741 ], [ @.str, %1737 ]
  store i32 %1732, ptr %1476, align 4, !tbaa !5
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = load i32, ptr @test_count, align 4, !tbaa !5
  %1745 = load i32, ptr %290, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror(i32 noundef %1745, ptr noundef nonnull @.str.3) #12
  %1747 = load i32, ptr %290, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror_debug(i32 noundef %1747, ptr noundef nonnull @.str.3) #12
  %1749 = load i32, ptr %1476, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #12
  %1751 = load i32, ptr %1476, align 4, !tbaa !5
  %1752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1743, ptr noundef nonnull %.str.4.sink1839, i32 noundef %1744, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 203, ptr noundef %1746, ptr noundef %1748, ptr noundef %1750, i32 noundef %1751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1753:                                             ; preds = %1723
  %1754 = load ptr, ptr %292, align 8, !tbaa !65
  %1755 = getelementptr inbounds i8, ptr %1754, i64 %.07131127
  %1756 = load i8, ptr %1755, align 1, !tbaa !57
  %1757 = add i8 %1756, 1
  store i8 %1757, ptr %1755, align 1, !tbaa !57
  %1758 = load i32, ptr @test_count, align 4, !tbaa !5
  %1759 = add nsw i32 %1758, 1
  store i32 %1759, ptr @test_count, align 4, !tbaa !5
  %1760 = call i32 @s2n_record_header_parse(ptr noundef nonnull %220, ptr noundef nonnull %10, ptr noundef nonnull %11) #12
  %1761 = icmp eq i32 %1760, -1
  br i1 %1761, label %1762, label %1784

1762:                                             ; preds = %1753
  %1763 = load i32, ptr %1476, align 4, !tbaa !5
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = call i32 @s2n_print_stacktrace(ptr noundef %1764) #12
  %1766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1767 = trunc nuw i8 %1766 to i1
  br i1 %1767, label %1768, label %1772

1768:                                             ; preds = %1762
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = call i32 @fileno(ptr noundef %1769) #12
  %1771 = call i32 @isatty(i32 noundef %1770) #12
  %.not881 = icmp eq i32 %1771, 0
  br i1 %.not881, label %1772, label %1773

1772:                                             ; preds = %1768, %1762
  br label %1773

1773:                                             ; preds = %1768, %1772
  %.str.4.sink1848 = phi ptr [ @.str.4, %1772 ], [ @.str, %1768 ]
  store i32 %1763, ptr %1476, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = load i32, ptr @test_count, align 4, !tbaa !5
  %1776 = load i32, ptr %290, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror(i32 noundef %1776, ptr noundef nonnull @.str.3) #12
  %1778 = load i32, ptr %290, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror_debug(i32 noundef %1778, ptr noundef nonnull @.str.3) #12
  %1780 = load i32, ptr %1476, align 4, !tbaa !5
  %1781 = call ptr @strerror(i32 noundef %1780) #12
  %1782 = load i32, ptr %1476, align 4, !tbaa !5
  %1783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1774, ptr noundef nonnull %.str.4.sink1848, i32 noundef %1775, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 205, ptr noundef %1777, ptr noundef %1779, ptr noundef %1781, i32 noundef %1782) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1784:                                             ; preds = %1753
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = add nsw i32 %1785, 1
  store i32 %1786, ptr @test_count, align 4, !tbaa !5
  %1787 = call i32 @s2n_record_parse(ptr noundef nonnull %220) #12
  %1788 = icmp eq i32 %1787, -1
  br i1 %1788, label %1811, label %1789

1789:                                             ; preds = %1784
  %1790 = load i32, ptr %1476, align 4, !tbaa !5
  %1791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1792 = call i32 @s2n_print_stacktrace(ptr noundef %1791) #12
  %1793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1794 = trunc nuw i8 %1793 to i1
  br i1 %1794, label %1795, label %1799

1795:                                             ; preds = %1789
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = call i32 @fileno(ptr noundef %1796) #12
  %1798 = call i32 @isatty(i32 noundef %1797) #12
  %.not875 = icmp eq i32 %1798, 0
  br i1 %.not875, label %1799, label %1800

1799:                                             ; preds = %1795, %1789
  br label %1800

1800:                                             ; preds = %1795, %1799
  %.str.4.sink1857 = phi ptr [ @.str.4, %1799 ], [ @.str, %1795 ]
  store i32 %1790, ptr %1476, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = load i32, ptr %290, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror(i32 noundef %1803, ptr noundef nonnull @.str.3) #12
  %1805 = load i32, ptr %290, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror_debug(i32 noundef %1805, ptr noundef nonnull @.str.3) #12
  %1807 = load i32, ptr %1476, align 4, !tbaa !5
  %1808 = call ptr @strerror(i32 noundef %1807) #12
  %1809 = load i32, ptr %1476, align 4, !tbaa !5
  %1810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1801, ptr noundef nonnull %.str.4.sink1857, i32 noundef %1802, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 206, ptr noundef %1804, ptr noundef %1806, ptr noundef %1808, i32 noundef %1809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1811:                                             ; preds = %1784
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = add nsw i32 %1812, 1
  store i32 %1813, ptr @test_count, align 4, !tbaa !5
  %1814 = load i32, ptr %290, align 4, !tbaa !5
  %1815 = icmp eq i32 %1814, 0
  br i1 %1815, label %1816, label %1838

1816:                                             ; preds = %1811
  %1817 = load i32, ptr %1476, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @s2n_print_stacktrace(ptr noundef %1818) #12
  %1820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1821 = trunc nuw i8 %1820 to i1
  br i1 %1821, label %1822, label %1826

1822:                                             ; preds = %1816
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @fileno(ptr noundef %1823) #12
  %1825 = call i32 @isatty(i32 noundef %1824) #12
  %.not880 = icmp eq i32 %1825, 0
  br i1 %.not880, label %1826, label %1827

1826:                                             ; preds = %1822, %1816
  br label %1827

1827:                                             ; preds = %1822, %1826
  %.str.4.sink1866 = phi ptr [ @.str.4, %1826 ], [ @.str, %1822 ]
  store i32 %1817, ptr %1476, align 4, !tbaa !5
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = load i32, ptr @test_count, align 4, !tbaa !5
  %1830 = load i32, ptr %290, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror(i32 noundef %1830, ptr noundef nonnull @.str.3) #12
  %1832 = load i32, ptr %290, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror_debug(i32 noundef %1832, ptr noundef nonnull @.str.3) #12
  %1834 = load i32, ptr %1476, align 4, !tbaa !5
  %1835 = call ptr @strerror(i32 noundef %1834) #12
  %1836 = load i32, ptr %1476, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1828, ptr noundef nonnull %.str.4.sink1866, i32 noundef %1829, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 206, ptr noundef %1831, ptr noundef %1833, ptr noundef %1835, i32 noundef %1836) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1838:                                             ; preds = %1811
  %1839 = add nsw i32 %1812, 2
  store i32 %1839, ptr @test_count, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror_debug(i32 noundef %1814, ptr noundef nonnull @.str.3) #12
  %1841 = icmp eq ptr %1840, null
  br i1 %1841, label %1842, label %1864

1842:                                             ; preds = %1838
  %1843 = load i32, ptr %1476, align 4, !tbaa !5
  %1844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1845 = call i32 @s2n_print_stacktrace(ptr noundef %1844) #12
  %1846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1847 = trunc nuw i8 %1846 to i1
  br i1 %1847, label %1848, label %1852

1848:                                             ; preds = %1842
  %1849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1850 = call i32 @fileno(ptr noundef %1849) #12
  %1851 = call i32 @isatty(i32 noundef %1850) #12
  %.not879 = icmp eq i32 %1851, 0
  br i1 %.not879, label %1852, label %1853

1852:                                             ; preds = %1848, %1842
  br label %1853

1853:                                             ; preds = %1848, %1852
  %.str.4.sink1875 = phi ptr [ @.str.4, %1852 ], [ @.str, %1848 ]
  store i32 %1843, ptr %1476, align 4, !tbaa !5
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = load i32, ptr @test_count, align 4, !tbaa !5
  %1856 = load i32, ptr %290, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror(i32 noundef %1856, ptr noundef nonnull @.str.3) #12
  %1858 = load i32, ptr %290, align 4, !tbaa !5
  %1859 = call ptr @s2n_strerror_debug(i32 noundef %1858, ptr noundef nonnull @.str.3) #12
  %1860 = load i32, ptr %1476, align 4, !tbaa !5
  %1861 = call ptr @strerror(i32 noundef %1860) #12
  %1862 = load i32, ptr %1476, align 4, !tbaa !5
  %1863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1854, ptr noundef nonnull %.str.4.sink1875, i32 noundef %1855, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 206, ptr noundef %1857, ptr noundef %1859, ptr noundef %1861, i32 noundef %1862) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1864:                                             ; preds = %1838
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = add nsw i32 %1865, 1
  store i32 %1866, ptr @test_count, align 4, !tbaa !5
  %1867 = load i8, ptr %10, align 1, !tbaa !57
  %1868 = icmp eq i8 %1867, 23
  br i1 %1868, label %1891, label %1869

1869:                                             ; preds = %1864
  %1870 = load i32, ptr %1476, align 4, !tbaa !5
  %1871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1872 = call i32 @s2n_print_stacktrace(ptr noundef %1871) #12
  %1873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1874 = trunc nuw i8 %1873 to i1
  br i1 %1874, label %1875, label %1879

1875:                                             ; preds = %1869
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = call i32 @fileno(ptr noundef %1876) #12
  %1878 = call i32 @isatty(i32 noundef %1877) #12
  %.not876 = icmp eq i32 %1878, 0
  br i1 %.not876, label %1879, label %1880

1879:                                             ; preds = %1875, %1869
  br label %1880

1880:                                             ; preds = %1875, %1879
  %.str.4.sink1884 = phi ptr [ @.str.4, %1879 ], [ @.str, %1875 ]
  store i32 %1870, ptr %1476, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = load i32, ptr %290, align 4, !tbaa !5
  %1884 = call ptr @s2n_strerror(i32 noundef %1883, ptr noundef nonnull @.str.3) #12
  %1885 = load i32, ptr %290, align 4, !tbaa !5
  %1886 = call ptr @s2n_strerror_debug(i32 noundef %1885, ptr noundef nonnull @.str.3) #12
  %1887 = load i32, ptr %1476, align 4, !tbaa !5
  %1888 = call ptr @strerror(i32 noundef %1887) #12
  %1889 = load i32, ptr %1476, align 4, !tbaa !5
  %1890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef nonnull %.str.4.sink1884, i32 noundef %1882, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 207, ptr noundef %1884, ptr noundef %1886, ptr noundef %1888, i32 noundef %1889) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1891:                                             ; preds = %1864
  %1892 = add nsw i32 %1865, 2
  store i32 %1892, ptr @test_count, align 4, !tbaa !5
  %1893 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %1894 = icmp eq i32 %1893, -1
  br i1 %1894, label %1895, label %1917

1895:                                             ; preds = %1891
  %1896 = load i32, ptr %1476, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @s2n_print_stacktrace(ptr noundef %1897) #12
  %1899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1900 = trunc nuw i8 %1899 to i1
  br i1 %1900, label %1901, label %1905

1901:                                             ; preds = %1895
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @fileno(ptr noundef %1902) #12
  %1904 = call i32 @isatty(i32 noundef %1903) #12
  %.not878 = icmp eq i32 %1904, 0
  br i1 %.not878, label %1905, label %1906

1905:                                             ; preds = %1901, %1895
  br label %1906

1906:                                             ; preds = %1901, %1905
  %.str.4.sink1893 = phi ptr [ @.str.4, %1905 ], [ @.str, %1901 ]
  store i32 %1896, ptr %1476, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = load i32, ptr %290, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror(i32 noundef %1909, ptr noundef nonnull @.str.3) #12
  %1911 = load i32, ptr %290, align 4, !tbaa !5
  %1912 = call ptr @s2n_strerror_debug(i32 noundef %1911, ptr noundef nonnull @.str.3) #12
  %1913 = load i32, ptr %1476, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #12
  %1915 = load i32, ptr %1476, align 4, !tbaa !5
  %1916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef nonnull %.str.4.sink1893, i32 noundef %1908, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 209, ptr noundef %1910, ptr noundef %1912, ptr noundef %1914, i32 noundef %1915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1917:                                             ; preds = %1891
  %1918 = load i32, ptr @test_count, align 4, !tbaa !5
  %1919 = add nsw i32 %1918, 1
  store i32 %1919, ptr @test_count, align 4, !tbaa !5
  %1920 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %1921 = icmp eq i32 %1920, -1
  br i1 %1921, label %1922, label %1530

1922:                                             ; preds = %1917
  %1923 = load i32, ptr %1476, align 4, !tbaa !5
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = call i32 @s2n_print_stacktrace(ptr noundef %1924) #12
  %1926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1927 = trunc nuw i8 %1926 to i1
  br i1 %1927, label %1928, label %1932

1928:                                             ; preds = %1922
  %1929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1930 = call i32 @fileno(ptr noundef %1929) #12
  %1931 = call i32 @isatty(i32 noundef %1930) #12
  %.not877 = icmp eq i32 %1931, 0
  br i1 %.not877, label %1932, label %1933

1932:                                             ; preds = %1928, %1922
  br label %1933

1933:                                             ; preds = %1928, %1932
  %.str.4.sink1902 = phi ptr [ @.str.4, %1932 ], [ @.str, %1928 ]
  store i32 %1923, ptr %1476, align 4, !tbaa !5
  %1934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1935 = load i32, ptr @test_count, align 4, !tbaa !5
  %1936 = load i32, ptr %290, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror(i32 noundef %1936, ptr noundef nonnull @.str.3) #12
  %1938 = load i32, ptr %290, align 4, !tbaa !5
  %1939 = call ptr @s2n_strerror_debug(i32 noundef %1938, ptr noundef nonnull @.str.3) #12
  %1940 = load i32, ptr %1476, align 4, !tbaa !5
  %1941 = call ptr @strerror(i32 noundef %1940) #12
  %1942 = load i32, ptr %1476, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1934, ptr noundef nonnull %.str.4.sink1902, i32 noundef %1935, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 210, ptr noundef %1937, ptr noundef %1939, ptr noundef %1941, i32 noundef %1942) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1944:                                             ; preds = %2337
  %1945 = add nuw nsw i64 %.07141128, 1
  %exitcond1235.not = icmp eq i64 %1945, 16
  br i1 %exitcond1235.not, label %.preheader926, label %.preheader927, !llvm.loop !66

.preheader926:                                    ; preds = %1944
  %.not1137 = icmp eq i64 %.01130, 0
  br i1 %.not1137, label %._crit_edge, label %.lr.ph

.preheader927:                                    ; preds = %1530, %1944
  %.07141128 = phi i64 [ %1945, %1944 ], [ 0, %1530 ]
  %1946 = load i32, ptr @test_count, align 4, !tbaa !5
  %1947 = add nsw i32 %1946, 1
  store i32 %1947, ptr @test_count, align 4, !tbaa !5
  %1948 = call i32 @s2n_connection_wipe(ptr noundef nonnull %220) #12
  %1949 = icmp eq i32 %1948, -1
  br i1 %1949, label %1950, label %1972

1950:                                             ; preds = %.preheader927
  %1951 = load i32, ptr %1476, align 4, !tbaa !5
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @s2n_print_stacktrace(ptr noundef %1952) #12
  %1954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1955 = trunc nuw i8 %1954 to i1
  br i1 %1955, label %1956, label %1960

1956:                                             ; preds = %1950
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @fileno(ptr noundef %1957) #12
  %1959 = call i32 @isatty(i32 noundef %1958) #12
  %.not873 = icmp eq i32 %1959, 0
  br i1 %.not873, label %1960, label %1961

1960:                                             ; preds = %1956, %1950
  br label %1961

1961:                                             ; preds = %1956, %1960
  %.str.4.sink1911 = phi ptr [ @.str.4, %1960 ], [ @.str, %1956 ]
  store i32 %1951, ptr %1476, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = load i32, ptr %290, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror(i32 noundef %1964, ptr noundef nonnull @.str.3) #12
  %1966 = load i32, ptr %290, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror_debug(i32 noundef %1966, ptr noundef nonnull @.str.3) #12
  %1968 = load i32, ptr %1476, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #12
  %1970 = load i32, ptr %1476, align 4, !tbaa !5
  %1971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1962, ptr noundef nonnull %.str.4.sink1911, i32 noundef %1963, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 215, ptr noundef %1965, ptr noundef %1967, ptr noundef %1969, i32 noundef %1970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1972:                                             ; preds = %.preheader927
  store i8 1, ptr %286, align 2, !tbaa !51
  store i8 33, ptr %287, align 1, !tbaa !52
  store i8 33, ptr %288, align 2, !tbaa !53
  store i8 33, ptr %289, align 4, !tbaa !54
  %1973 = load ptr, ptr %276, align 8, !tbaa !15
  %1974 = load ptr, ptr %1973, align 8, !tbaa !44
  %1975 = getelementptr inbounds i8, ptr %1974, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %1975, align 8, !tbaa !49
  %1976 = load i32, ptr @test_count, align 4, !tbaa !5
  %1977 = add nsw i32 %1976, 1
  store i32 %1977, ptr @test_count, align 4, !tbaa !5
  %1978 = call i32 @destroy_server_keys(ptr noundef %220)
  %1979 = icmp eq i32 %1978, -1
  br i1 %1979, label %1980, label %2002

1980:                                             ; preds = %1972
  %1981 = load i32, ptr %1476, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = call i32 @s2n_print_stacktrace(ptr noundef %1982) #12
  %1984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1985 = trunc nuw i8 %1984 to i1
  br i1 %1985, label %1986, label %1990

1986:                                             ; preds = %1980
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = call i32 @fileno(ptr noundef %1987) #12
  %1989 = call i32 @isatty(i32 noundef %1988) #12
  %.not872 = icmp eq i32 %1989, 0
  br i1 %.not872, label %1990, label %1991

1990:                                             ; preds = %1986, %1980
  br label %1991

1991:                                             ; preds = %1986, %1990
  %.str.4.sink1920 = phi ptr [ @.str.4, %1990 ], [ @.str, %1986 ]
  store i32 %1981, ptr %1476, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = load i32, ptr @test_count, align 4, !tbaa !5
  %1994 = load i32, ptr %290, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror(i32 noundef %1994, ptr noundef nonnull @.str.3) #12
  %1996 = load i32, ptr %290, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror_debug(i32 noundef %1996, ptr noundef nonnull @.str.3) #12
  %1998 = load i32, ptr %1476, align 4, !tbaa !5
  %1999 = call ptr @strerror(i32 noundef %1998) #12
  %2000 = load i32, ptr %1476, align 4, !tbaa !5
  %2001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1992, ptr noundef nonnull %.str.4.sink1920, i32 noundef %1993, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1995, ptr noundef %1997, ptr noundef %1999, i32 noundef %2000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2002:                                             ; preds = %1972
  %2003 = load i32, ptr @test_count, align 4, !tbaa !5
  %2004 = add nsw i32 %2003, 1
  store i32 %2004, ptr @test_count, align 4, !tbaa !5
  %2005 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %2006 = icmp eq i32 %2005, -1
  br i1 %2006, label %2007, label %2029

2007:                                             ; preds = %2002
  %2008 = load i32, ptr %1476, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = call i32 @s2n_print_stacktrace(ptr noundef %2009) #12
  %2011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2012 = trunc nuw i8 %2011 to i1
  br i1 %2012, label %2013, label %2017

2013:                                             ; preds = %2007
  %2014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2015 = call i32 @fileno(ptr noundef %2014) #12
  %2016 = call i32 @isatty(i32 noundef %2015) #12
  %.not871 = icmp eq i32 %2016, 0
  br i1 %.not871, label %2017, label %2018

2017:                                             ; preds = %2013, %2007
  br label %2018

2018:                                             ; preds = %2013, %2017
  %.str.4.sink1929 = phi ptr [ @.str.4, %2017 ], [ @.str, %2013 ]
  store i32 %2008, ptr %1476, align 4, !tbaa !5
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = load i32, ptr %290, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror(i32 noundef %2021, ptr noundef nonnull @.str.3) #12
  %2023 = load i32, ptr %290, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror_debug(i32 noundef %2023, ptr noundef nonnull @.str.3) #12
  %2025 = load i32, ptr %1476, align 4, !tbaa !5
  %2026 = call ptr @strerror(i32 noundef %2025) #12
  %2027 = load i32, ptr %1476, align 4, !tbaa !5
  %2028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2019, ptr noundef nonnull %.str.4.sink1929, i32 noundef %2020, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 222, ptr noundef %2022, ptr noundef %2024, ptr noundef %2026, i32 noundef %2027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2029:                                             ; preds = %2002
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = add nsw i32 %2030, 1
  store i32 %2031, ptr @test_count, align 4, !tbaa !5
  %2032 = call i32 @s2n_record_write(ptr noundef nonnull %220, i8 noundef zeroext 23, ptr noundef nonnull %9) #12
  %2033 = call zeroext i1 @s2n_result_is_ok(i32 %2032)
  br i1 %2033, label %2056, label %2034

2034:                                             ; preds = %2029
  %2035 = load i32, ptr %1476, align 4, !tbaa !5
  %2036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2037 = call i32 @s2n_print_stacktrace(ptr noundef %2036) #12
  %2038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2039 = trunc nuw i8 %2038 to i1
  br i1 %2039, label %2040, label %2044

2040:                                             ; preds = %2034
  %2041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2042 = call i32 @fileno(ptr noundef %2041) #12
  %2043 = call i32 @isatty(i32 noundef %2042) #12
  %.not859 = icmp eq i32 %2043, 0
  br i1 %.not859, label %2044, label %2045

2044:                                             ; preds = %2040, %2034
  br label %2045

2045:                                             ; preds = %2040, %2044
  %.str.4.sink1938 = phi ptr [ @.str.4, %2044 ], [ @.str, %2040 ]
  store i32 %2035, ptr %1476, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = load i32, ptr %290, align 4, !tbaa !5
  %2049 = call ptr @s2n_strerror(i32 noundef %2048, ptr noundef nonnull @.str.3) #12
  %2050 = load i32, ptr %290, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef nonnull @.str.3) #12
  %2052 = load i32, ptr %1476, align 4, !tbaa !5
  %2053 = call ptr @strerror(i32 noundef %2052) #12
  %2054 = load i32, ptr %1476, align 4, !tbaa !5
  %2055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2046, ptr noundef nonnull %.str.4.sink1938, i32 noundef %2047, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 223, ptr noundef %2049, ptr noundef %2051, ptr noundef %2053, i32 noundef %2054) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2056:                                             ; preds = %2029
  %2057 = load i32, ptr @test_count, align 4, !tbaa !5
  %2058 = add nsw i32 %2057, 1
  store i32 %2058, ptr @test_count, align 4, !tbaa !5
  %2059 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %2060 = icmp eq i32 %2059, -1
  br i1 %2060, label %2061, label %2083

2061:                                             ; preds = %2056
  %2062 = load i32, ptr %1476, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = call i32 @s2n_print_stacktrace(ptr noundef %2063) #12
  %2065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2066 = trunc nuw i8 %2065 to i1
  br i1 %2066, label %2067, label %2071

2067:                                             ; preds = %2061
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @fileno(ptr noundef %2068) #12
  %2070 = call i32 @isatty(i32 noundef %2069) #12
  %.not870 = icmp eq i32 %2070, 0
  br i1 %.not870, label %2071, label %2072

2071:                                             ; preds = %2067, %2061
  br label %2072

2072:                                             ; preds = %2067, %2071
  %.str.4.sink1947 = phi ptr [ @.str.4, %2071 ], [ @.str, %2067 ]
  store i32 %2062, ptr %1476, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = load i32, ptr @test_count, align 4, !tbaa !5
  %2075 = load i32, ptr %290, align 4, !tbaa !5
  %2076 = call ptr @s2n_strerror(i32 noundef %2075, ptr noundef nonnull @.str.3) #12
  %2077 = load i32, ptr %290, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror_debug(i32 noundef %2077, ptr noundef nonnull @.str.3) #12
  %2079 = load i32, ptr %1476, align 4, !tbaa !5
  %2080 = call ptr @strerror(i32 noundef %2079) #12
  %2081 = load i32, ptr %1476, align 4, !tbaa !5
  %2082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2073, ptr noundef nonnull %.str.4.sink1947, i32 noundef %2074, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 226, ptr noundef %2076, ptr noundef %2078, ptr noundef %2080, i32 noundef %2081) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2083:                                             ; preds = %2056
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = add nsw i32 %2084, 1
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %2087 = icmp eq i32 %2086, -1
  br i1 %2087, label %2088, label %2110

2088:                                             ; preds = %2083
  %2089 = load i32, ptr %1476, align 4, !tbaa !5
  %2090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2091 = call i32 @s2n_print_stacktrace(ptr noundef %2090) #12
  %2092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2093 = trunc nuw i8 %2092 to i1
  br i1 %2093, label %2094, label %2098

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

2098:                                             ; preds = %2094, %2088
  br label %2099

2099:                                             ; preds = %2094, %2098
  %.str.4.sink1956 = phi ptr [ @.str.4, %2098 ], [ @.str, %2094 ]
  store i32 %2089, ptr %1476, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = load i32, ptr @test_count, align 4, !tbaa !5
  %2102 = load i32, ptr %290, align 4, !tbaa !5
  %2103 = call ptr @s2n_strerror(i32 noundef %2102, ptr noundef nonnull @.str.3) #12
  %2104 = load i32, ptr %290, align 4, !tbaa !5
  %2105 = call ptr @s2n_strerror_debug(i32 noundef %2104, ptr noundef nonnull @.str.3) #12
  %2106 = load i32, ptr %1476, align 4, !tbaa !5
  %2107 = call ptr @strerror(i32 noundef %2106) #12
  %2108 = load i32, ptr %1476, align 4, !tbaa !5
  %2109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2100, ptr noundef nonnull %.str.4.sink1956, i32 noundef %2101, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 227, ptr noundef %2103, ptr noundef %2105, ptr noundef %2107, i32 noundef %2108) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2110:                                             ; preds = %2083
  %2111 = load i32, ptr @test_count, align 4, !tbaa !5
  %2112 = add nsw i32 %2111, 1
  store i32 %2112, ptr @test_count, align 4, !tbaa !5
  %2113 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %293, i32 noundef 5) #12
  %2114 = icmp eq i32 %2113, -1
  br i1 %2114, label %2115, label %2137

2115:                                             ; preds = %2110
  %2116 = load i32, ptr %1476, align 4, !tbaa !5
  %2117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2118 = call i32 @s2n_print_stacktrace(ptr noundef %2117) #12
  %2119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2120 = trunc nuw i8 %2119 to i1
  br i1 %2120, label %2121, label %2125

2121:                                             ; preds = %2115
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = call i32 @fileno(ptr noundef %2122) #12
  %2124 = call i32 @isatty(i32 noundef %2123) #12
  %.not868 = icmp eq i32 %2124, 0
  br i1 %.not868, label %2125, label %2126

2125:                                             ; preds = %2121, %2115
  br label %2126

2126:                                             ; preds = %2121, %2125
  %.str.4.sink1965 = phi ptr [ @.str.4, %2125 ], [ @.str, %2121 ]
  store i32 %2116, ptr %1476, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = load i32, ptr @test_count, align 4, !tbaa !5
  %2129 = load i32, ptr %290, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror(i32 noundef %2129, ptr noundef nonnull @.str.3) #12
  %2131 = load i32, ptr %290, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror_debug(i32 noundef %2131, ptr noundef nonnull @.str.3) #12
  %2133 = load i32, ptr %1476, align 4, !tbaa !5
  %2134 = call ptr @strerror(i32 noundef %2133) #12
  %2135 = load i32, ptr %1476, align 4, !tbaa !5
  %2136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2127, ptr noundef nonnull %.str.4.sink1965, i32 noundef %2128, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 228, ptr noundef %2130, ptr noundef %2132, ptr noundef %2134, i32 noundef %2135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2137:                                             ; preds = %2110
  %2138 = load i32, ptr @test_count, align 4, !tbaa !5
  %2139 = add nsw i32 %2138, 1
  store i32 %2139, ptr @test_count, align 4, !tbaa !5
  %2140 = load i32, ptr %294, align 4, !tbaa !59
  %2141 = load i32, ptr %295, align 8, !tbaa !60
  %2142 = sub i32 %2140, %2141
  %2143 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %292, i32 noundef %2142) #12
  %2144 = icmp eq i32 %2143, -1
  br i1 %2144, label %2145, label %2167

2145:                                             ; preds = %2137
  %2146 = load i32, ptr %1476, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = call i32 @s2n_print_stacktrace(ptr noundef %2147) #12
  %2149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2150 = trunc nuw i8 %2149 to i1
  br i1 %2150, label %2151, label %2155

2151:                                             ; preds = %2145
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2153 = call i32 @fileno(ptr noundef %2152) #12
  %2154 = call i32 @isatty(i32 noundef %2153) #12
  %.not867 = icmp eq i32 %2154, 0
  br i1 %.not867, label %2155, label %2156

2155:                                             ; preds = %2151, %2145
  br label %2156

2156:                                             ; preds = %2151, %2155
  %.str.4.sink1974 = phi ptr [ @.str.4, %2155 ], [ @.str, %2151 ]
  store i32 %2146, ptr %1476, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = load i32, ptr @test_count, align 4, !tbaa !5
  %2159 = load i32, ptr %290, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror(i32 noundef %2159, ptr noundef nonnull @.str.3) #12
  %2161 = load i32, ptr %290, align 4, !tbaa !5
  %2162 = call ptr @s2n_strerror_debug(i32 noundef %2161, ptr noundef nonnull @.str.3) #12
  %2163 = load i32, ptr %1476, align 4, !tbaa !5
  %2164 = call ptr @strerror(i32 noundef %2163) #12
  %2165 = load i32, ptr %1476, align 4, !tbaa !5
  %2166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef nonnull %.str.4.sink1974, i32 noundef %2158, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 229, ptr noundef %2160, ptr noundef %2162, ptr noundef %2164, i32 noundef %2165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2167:                                             ; preds = %2137
  %2168 = load ptr, ptr %292, align 8, !tbaa !65
  %2169 = load i32, ptr %296, align 4, !tbaa !67
  %2170 = load i32, ptr %297, align 8, !tbaa !68
  %2171 = sub i32 %2169, %2170
  %2172 = zext i32 %2171 to i64
  %2173 = xor i64 %.07141128, -1
  %2174 = getelementptr i8, ptr %2168, i64 %2173
  %2175 = getelementptr i8, ptr %2174, i64 %2172
  %2176 = load i8, ptr %2175, align 1, !tbaa !57
  %2177 = add i8 %2176, 1
  store i8 %2177, ptr %2175, align 1, !tbaa !57
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = add nsw i32 %2178, 1
  store i32 %2179, ptr @test_count, align 4, !tbaa !5
  %2180 = call i32 @s2n_record_header_parse(ptr noundef nonnull %220, ptr noundef nonnull %10, ptr noundef nonnull %11) #12
  %2181 = icmp eq i32 %2180, -1
  br i1 %2181, label %2182, label %2204

2182:                                             ; preds = %2167
  %2183 = load i32, ptr %1476, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = call i32 @s2n_print_stacktrace(ptr noundef %2184) #12
  %2186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2187 = trunc nuw i8 %2186 to i1
  br i1 %2187, label %2188, label %2192

2188:                                             ; preds = %2182
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @fileno(ptr noundef %2189) #12
  %2191 = call i32 @isatty(i32 noundef %2190) #12
  %.not866 = icmp eq i32 %2191, 0
  br i1 %.not866, label %2192, label %2193

2192:                                             ; preds = %2188, %2182
  br label %2193

2193:                                             ; preds = %2188, %2192
  %.str.4.sink1983 = phi ptr [ @.str.4, %2192 ], [ @.str, %2188 ]
  store i32 %2183, ptr %1476, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = load i32, ptr %290, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror(i32 noundef %2196, ptr noundef nonnull @.str.3) #12
  %2198 = load i32, ptr %290, align 4, !tbaa !5
  %2199 = call ptr @s2n_strerror_debug(i32 noundef %2198, ptr noundef nonnull @.str.3) #12
  %2200 = load i32, ptr %1476, align 4, !tbaa !5
  %2201 = call ptr @strerror(i32 noundef %2200) #12
  %2202 = load i32, ptr %1476, align 4, !tbaa !5
  %2203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2194, ptr noundef nonnull %.str.4.sink1983, i32 noundef %2195, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 231, ptr noundef %2197, ptr noundef %2199, ptr noundef %2201, i32 noundef %2202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2204:                                             ; preds = %2167
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = add nsw i32 %2205, 1
  store i32 %2206, ptr @test_count, align 4, !tbaa !5
  %2207 = call i32 @s2n_record_parse(ptr noundef nonnull %220) #12
  %2208 = icmp eq i32 %2207, -1
  br i1 %2208, label %2231, label %2209

2209:                                             ; preds = %2204
  %2210 = load i32, ptr %1476, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = call i32 @s2n_print_stacktrace(ptr noundef %2211) #12
  %2213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2214 = trunc nuw i8 %2213 to i1
  br i1 %2214, label %2215, label %2219

2215:                                             ; preds = %2209
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = call i32 @fileno(ptr noundef %2216) #12
  %2218 = call i32 @isatty(i32 noundef %2217) #12
  %.not860 = icmp eq i32 %2218, 0
  br i1 %.not860, label %2219, label %2220

2219:                                             ; preds = %2215, %2209
  br label %2220

2220:                                             ; preds = %2215, %2219
  %.str.4.sink1992 = phi ptr [ @.str.4, %2219 ], [ @.str, %2215 ]
  store i32 %2210, ptr %1476, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = load i32, ptr %290, align 4, !tbaa !5
  %2224 = call ptr @s2n_strerror(i32 noundef %2223, ptr noundef nonnull @.str.3) #12
  %2225 = load i32, ptr %290, align 4, !tbaa !5
  %2226 = call ptr @s2n_strerror_debug(i32 noundef %2225, ptr noundef nonnull @.str.3) #12
  %2227 = load i32, ptr %1476, align 4, !tbaa !5
  %2228 = call ptr @strerror(i32 noundef %2227) #12
  %2229 = load i32, ptr %1476, align 4, !tbaa !5
  %2230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef nonnull %.str.4.sink1992, i32 noundef %2222, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %2224, ptr noundef %2226, ptr noundef %2228, i32 noundef %2229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2231:                                             ; preds = %2204
  %2232 = load i32, ptr @test_count, align 4, !tbaa !5
  %2233 = add nsw i32 %2232, 1
  store i32 %2233, ptr @test_count, align 4, !tbaa !5
  %2234 = load i32, ptr %290, align 4, !tbaa !5
  %2235 = icmp eq i32 %2234, 0
  br i1 %2235, label %2236, label %2258

2236:                                             ; preds = %2231
  %2237 = load i32, ptr %1476, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = call i32 @s2n_print_stacktrace(ptr noundef %2238) #12
  %2240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2241 = trunc nuw i8 %2240 to i1
  br i1 %2241, label %2242, label %2246

2242:                                             ; preds = %2236
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = call i32 @fileno(ptr noundef %2243) #12
  %2245 = call i32 @isatty(i32 noundef %2244) #12
  %.not865 = icmp eq i32 %2245, 0
  br i1 %.not865, label %2246, label %2247

2246:                                             ; preds = %2242, %2236
  br label %2247

2247:                                             ; preds = %2242, %2246
  %.str.4.sink2001 = phi ptr [ @.str.4, %2246 ], [ @.str, %2242 ]
  store i32 %2237, ptr %1476, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = load i32, ptr @test_count, align 4, !tbaa !5
  %2250 = load i32, ptr %290, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror(i32 noundef %2250, ptr noundef nonnull @.str.3) #12
  %2252 = load i32, ptr %290, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef nonnull @.str.3) #12
  %2254 = load i32, ptr %1476, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #12
  %2256 = load i32, ptr %1476, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef nonnull %.str.4.sink2001, i32 noundef %2249, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %2251, ptr noundef %2253, ptr noundef %2255, i32 noundef %2256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2258:                                             ; preds = %2231
  %2259 = add nsw i32 %2232, 2
  store i32 %2259, ptr @test_count, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror_debug(i32 noundef %2234, ptr noundef nonnull @.str.3) #12
  %2261 = icmp eq ptr %2260, null
  br i1 %2261, label %2262, label %2284

2262:                                             ; preds = %2258
  %2263 = load i32, ptr %1476, align 4, !tbaa !5
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = call i32 @s2n_print_stacktrace(ptr noundef %2264) #12
  %2266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2267 = trunc nuw i8 %2266 to i1
  br i1 %2267, label %2268, label %2272

2268:                                             ; preds = %2262
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = call i32 @fileno(ptr noundef %2269) #12
  %2271 = call i32 @isatty(i32 noundef %2270) #12
  %.not864 = icmp eq i32 %2271, 0
  br i1 %.not864, label %2272, label %2273

2272:                                             ; preds = %2268, %2262
  br label %2273

2273:                                             ; preds = %2268, %2272
  %.str.4.sink2010 = phi ptr [ @.str.4, %2272 ], [ @.str, %2268 ]
  store i32 %2263, ptr %1476, align 4, !tbaa !5
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = load i32, ptr @test_count, align 4, !tbaa !5
  %2276 = load i32, ptr %290, align 4, !tbaa !5
  %2277 = call ptr @s2n_strerror(i32 noundef %2276, ptr noundef nonnull @.str.3) #12
  %2278 = load i32, ptr %290, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror_debug(i32 noundef %2278, ptr noundef nonnull @.str.3) #12
  %2280 = load i32, ptr %1476, align 4, !tbaa !5
  %2281 = call ptr @strerror(i32 noundef %2280) #12
  %2282 = load i32, ptr %1476, align 4, !tbaa !5
  %2283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2274, ptr noundef nonnull %.str.4.sink2010, i32 noundef %2275, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %2277, ptr noundef %2279, ptr noundef %2281, i32 noundef %2282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2284:                                             ; preds = %2258
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %2285 = load i32, ptr @test_count, align 4, !tbaa !5
  %2286 = add nsw i32 %2285, 1
  store i32 %2286, ptr @test_count, align 4, !tbaa !5
  %2287 = load i8, ptr %10, align 1, !tbaa !57
  %2288 = icmp eq i8 %2287, 23
  br i1 %2288, label %2311, label %2289

2289:                                             ; preds = %2284
  %2290 = load i32, ptr %1476, align 4, !tbaa !5
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = call i32 @s2n_print_stacktrace(ptr noundef %2291) #12
  %2293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2294 = trunc nuw i8 %2293 to i1
  br i1 %2294, label %2295, label %2299

2295:                                             ; preds = %2289
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = call i32 @fileno(ptr noundef %2296) #12
  %2298 = call i32 @isatty(i32 noundef %2297) #12
  %.not861 = icmp eq i32 %2298, 0
  br i1 %.not861, label %2299, label %2300

2299:                                             ; preds = %2295, %2289
  br label %2300

2300:                                             ; preds = %2295, %2299
  %.str.4.sink2019 = phi ptr [ @.str.4, %2299 ], [ @.str, %2295 ]
  store i32 %2290, ptr %1476, align 4, !tbaa !5
  %2301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2302 = load i32, ptr @test_count, align 4, !tbaa !5
  %2303 = load i32, ptr %290, align 4, !tbaa !5
  %2304 = call ptr @s2n_strerror(i32 noundef %2303, ptr noundef nonnull @.str.3) #12
  %2305 = load i32, ptr %290, align 4, !tbaa !5
  %2306 = call ptr @s2n_strerror_debug(i32 noundef %2305, ptr noundef nonnull @.str.3) #12
  %2307 = load i32, ptr %1476, align 4, !tbaa !5
  %2308 = call ptr @strerror(i32 noundef %2307) #12
  %2309 = load i32, ptr %1476, align 4, !tbaa !5
  %2310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2301, ptr noundef nonnull %.str.4.sink2019, i32 noundef %2302, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 233, ptr noundef %2304, ptr noundef %2306, ptr noundef %2308, i32 noundef %2309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2311:                                             ; preds = %2284
  %2312 = add nsw i32 %2285, 2
  store i32 %2312, ptr @test_count, align 4, !tbaa !5
  %2313 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %2314 = icmp eq i32 %2313, -1
  br i1 %2314, label %2315, label %2337

2315:                                             ; preds = %2311
  %2316 = load i32, ptr %1476, align 4, !tbaa !5
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = call i32 @s2n_print_stacktrace(ptr noundef %2317) #12
  %2319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2320 = trunc nuw i8 %2319 to i1
  br i1 %2320, label %2321, label %2325

2321:                                             ; preds = %2315
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = call i32 @fileno(ptr noundef %2322) #12
  %2324 = call i32 @isatty(i32 noundef %2323) #12
  %.not863 = icmp eq i32 %2324, 0
  br i1 %.not863, label %2325, label %2326

2325:                                             ; preds = %2321, %2315
  br label %2326

2326:                                             ; preds = %2321, %2325
  %.str.4.sink2028 = phi ptr [ @.str.4, %2325 ], [ @.str, %2321 ]
  store i32 %2316, ptr %1476, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = load i32, ptr %290, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror(i32 noundef %2329, ptr noundef nonnull @.str.3) #12
  %2331 = load i32, ptr %290, align 4, !tbaa !5
  %2332 = call ptr @s2n_strerror_debug(i32 noundef %2331, ptr noundef nonnull @.str.3) #12
  %2333 = load i32, ptr %1476, align 4, !tbaa !5
  %2334 = call ptr @strerror(i32 noundef %2333) #12
  %2335 = load i32, ptr %1476, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2327, ptr noundef nonnull %.str.4.sink2028, i32 noundef %2328, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 235, ptr noundef %2330, ptr noundef %2332, ptr noundef %2334, i32 noundef %2335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2337:                                             ; preds = %2311
  %2338 = load i32, ptr @test_count, align 4, !tbaa !5
  %2339 = add nsw i32 %2338, 1
  store i32 %2339, ptr @test_count, align 4, !tbaa !5
  %2340 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %2341 = icmp eq i32 %2340, -1
  br i1 %2341, label %2342, label %1944

2342:                                             ; preds = %2337
  %2343 = load i32, ptr %1476, align 4, !tbaa !5
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2345 = call i32 @s2n_print_stacktrace(ptr noundef %2344) #12
  %2346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2347 = trunc nuw i8 %2346 to i1
  br i1 %2347, label %2348, label %2352

2348:                                             ; preds = %2342
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = call i32 @fileno(ptr noundef %2349) #12
  %2351 = call i32 @isatty(i32 noundef %2350) #12
  %.not862 = icmp eq i32 %2351, 0
  br i1 %.not862, label %2352, label %2353

2352:                                             ; preds = %2348, %2342
  br label %2353

2353:                                             ; preds = %2348, %2352
  %.str.4.sink2037 = phi ptr [ @.str.4, %2352 ], [ @.str, %2348 ]
  store i32 %2343, ptr %1476, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = load i32, ptr @test_count, align 4, !tbaa !5
  %2356 = load i32, ptr %290, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror(i32 noundef %2356, ptr noundef nonnull @.str.3) #12
  %2358 = load i32, ptr %290, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror_debug(i32 noundef %2358, ptr noundef nonnull @.str.3) #12
  %2360 = load i32, ptr %1476, align 4, !tbaa !5
  %2361 = call ptr @strerror(i32 noundef %2360) #12
  %2362 = load i32, ptr %1476, align 4, !tbaa !5
  %2363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2354, ptr noundef nonnull %.str.4.sink2037, i32 noundef %2355, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 236, ptr noundef %2357, ptr noundef %2359, ptr noundef %2361, i32 noundef %2362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2364:                                             ; preds = %2753
  %2365 = add nuw nsw i64 %.07151129, 1
  %exitcond1236.not = icmp eq i64 %2365, %.01130
  br i1 %exitcond1236.not, label %._crit_edge, label %.lr.ph, !llvm.loop !69

._crit_edge:                                      ; preds = %2364, %.preheader926
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #12
  %2366 = add nuw nsw i64 %.01130, 1
  %exitcond1237.not = icmp eq i64 %2366, 1437
  br i1 %exitcond1237.not, label %322, label %327, !llvm.loop !70

.lr.ph:                                           ; preds = %.preheader926, %2364
  %.07151129 = phi i64 [ %2365, %2364 ], [ 0, %.preheader926 ]
  %2367 = load i32, ptr @test_count, align 4, !tbaa !5
  %2368 = add nsw i32 %2367, 1
  store i32 %2368, ptr @test_count, align 4, !tbaa !5
  %2369 = call i32 @s2n_connection_wipe(ptr noundef nonnull %220) #12
  %2370 = icmp eq i32 %2369, -1
  br i1 %2370, label %2371, label %2393

2371:                                             ; preds = %.lr.ph
  %2372 = load i32, ptr %1476, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @s2n_print_stacktrace(ptr noundef %2373) #12
  %2375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2376 = trunc nuw i8 %2375 to i1
  br i1 %2376, label %2377, label %2381

2377:                                             ; preds = %2371
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = call i32 @fileno(ptr noundef %2378) #12
  %2380 = call i32 @isatty(i32 noundef %2379) #12
  %.not858 = icmp eq i32 %2380, 0
  br i1 %.not858, label %2381, label %2382

2381:                                             ; preds = %2377, %2371
  br label %2382

2382:                                             ; preds = %2377, %2381
  %.str.4.sink2046 = phi ptr [ @.str.4, %2381 ], [ @.str, %2377 ]
  store i32 %2372, ptr %1476, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = load i32, ptr %290, align 4, !tbaa !5
  %2386 = call ptr @s2n_strerror(i32 noundef %2385, ptr noundef nonnull @.str.3) #12
  %2387 = load i32, ptr %290, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror_debug(i32 noundef %2387, ptr noundef nonnull @.str.3) #12
  %2389 = load i32, ptr %1476, align 4, !tbaa !5
  %2390 = call ptr @strerror(i32 noundef %2389) #12
  %2391 = load i32, ptr %1476, align 4, !tbaa !5
  %2392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2383, ptr noundef nonnull %.str.4.sink2046, i32 noundef %2384, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 241, ptr noundef %2386, ptr noundef %2388, ptr noundef %2390, i32 noundef %2391) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2393:                                             ; preds = %.lr.ph
  store i8 1, ptr %286, align 2, !tbaa !51
  store i8 33, ptr %287, align 1, !tbaa !52
  store i8 33, ptr %288, align 2, !tbaa !53
  store i8 33, ptr %289, align 4, !tbaa !54
  %2394 = load ptr, ptr %276, align 8, !tbaa !15
  %2395 = load ptr, ptr %2394, align 8, !tbaa !44
  %2396 = getelementptr inbounds i8, ptr %2395, i64 48
  store ptr @s2n_record_alg_aes128_gcm, ptr %2396, align 8, !tbaa !49
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = add nsw i32 %2397, 1
  store i32 %2398, ptr @test_count, align 4, !tbaa !5
  %2399 = call i32 @destroy_server_keys(ptr noundef %220)
  %2400 = icmp eq i32 %2399, -1
  br i1 %2400, label %2401, label %2423

2401:                                             ; preds = %2393
  %2402 = load i32, ptr %1476, align 4, !tbaa !5
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @s2n_print_stacktrace(ptr noundef %2403) #12
  %2405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2406 = trunc nuw i8 %2405 to i1
  br i1 %2406, label %2407, label %2411

2407:                                             ; preds = %2401
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = call i32 @fileno(ptr noundef %2408) #12
  %2410 = call i32 @isatty(i32 noundef %2409) #12
  %.not857 = icmp eq i32 %2410, 0
  br i1 %.not857, label %2411, label %2412

2411:                                             ; preds = %2407, %2401
  br label %2412

2412:                                             ; preds = %2407, %2411
  %.str.4.sink2055 = phi ptr [ @.str.4, %2411 ], [ @.str, %2407 ]
  store i32 %2402, ptr %1476, align 4, !tbaa !5
  %2413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2414 = load i32, ptr @test_count, align 4, !tbaa !5
  %2415 = load i32, ptr %290, align 4, !tbaa !5
  %2416 = call ptr @s2n_strerror(i32 noundef %2415, ptr noundef nonnull @.str.3) #12
  %2417 = load i32, ptr %290, align 4, !tbaa !5
  %2418 = call ptr @s2n_strerror_debug(i32 noundef %2417, ptr noundef nonnull @.str.3) #12
  %2419 = load i32, ptr %1476, align 4, !tbaa !5
  %2420 = call ptr @strerror(i32 noundef %2419) #12
  %2421 = load i32, ptr %1476, align 4, !tbaa !5
  %2422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2413, ptr noundef nonnull %.str.4.sink2055, i32 noundef %2414, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 247, ptr noundef %2416, ptr noundef %2418, ptr noundef %2420, i32 noundef %2421) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2423:                                             ; preds = %2393
  %2424 = load i32, ptr @test_count, align 4, !tbaa !5
  %2425 = add nsw i32 %2424, 1
  store i32 %2425, ptr @test_count, align 4, !tbaa !5
  %2426 = call i32 @setup_server_keys(ptr noundef nonnull %220, ptr noundef nonnull %6)
  %2427 = icmp eq i32 %2426, -1
  br i1 %2427, label %2428, label %2450

2428:                                             ; preds = %2423
  %2429 = load i32, ptr %1476, align 4, !tbaa !5
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @s2n_print_stacktrace(ptr noundef %2430) #12
  %2432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2433 = trunc nuw i8 %2432 to i1
  br i1 %2433, label %2434, label %2438

2434:                                             ; preds = %2428
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @fileno(ptr noundef %2435) #12
  %2437 = call i32 @isatty(i32 noundef %2436) #12
  %.not856 = icmp eq i32 %2437, 0
  br i1 %.not856, label %2438, label %2439

2438:                                             ; preds = %2434, %2428
  br label %2439

2439:                                             ; preds = %2434, %2438
  %.str.4.sink2064 = phi ptr [ @.str.4, %2438 ], [ @.str, %2434 ]
  store i32 %2429, ptr %1476, align 4, !tbaa !5
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = load i32, ptr %290, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror(i32 noundef %2442, ptr noundef nonnull @.str.3) #12
  %2444 = load i32, ptr %290, align 4, !tbaa !5
  %2445 = call ptr @s2n_strerror_debug(i32 noundef %2444, ptr noundef nonnull @.str.3) #12
  %2446 = load i32, ptr %1476, align 4, !tbaa !5
  %2447 = call ptr @strerror(i32 noundef %2446) #12
  %2448 = load i32, ptr %1476, align 4, !tbaa !5
  %2449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2440, ptr noundef nonnull %.str.4.sink2064, i32 noundef %2441, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 248, ptr noundef %2443, ptr noundef %2445, ptr noundef %2447, i32 noundef %2448) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2450:                                             ; preds = %2423
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = call i32 @s2n_record_write(ptr noundef nonnull %220, i8 noundef zeroext 23, ptr noundef nonnull %9) #12
  %2454 = call zeroext i1 @s2n_result_is_ok(i32 %2453)
  br i1 %2454, label %2477, label %2455

2455:                                             ; preds = %2450
  %2456 = load i32, ptr %1476, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = call i32 @s2n_print_stacktrace(ptr noundef %2457) #12
  %2459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2460 = trunc nuw i8 %2459 to i1
  br i1 %2460, label %2461, label %2465

2461:                                             ; preds = %2455
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = call i32 @fileno(ptr noundef %2462) #12
  %2464 = call i32 @isatty(i32 noundef %2463) #12
  %.not844 = icmp eq i32 %2464, 0
  br i1 %.not844, label %2465, label %2466

2465:                                             ; preds = %2461, %2455
  br label %2466

2466:                                             ; preds = %2461, %2465
  %.str.4.sink2073 = phi ptr [ @.str.4, %2465 ], [ @.str, %2461 ]
  store i32 %2456, ptr %1476, align 4, !tbaa !5
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2468 = load i32, ptr @test_count, align 4, !tbaa !5
  %2469 = load i32, ptr %290, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror(i32 noundef %2469, ptr noundef nonnull @.str.3) #12
  %2471 = load i32, ptr %290, align 4, !tbaa !5
  %2472 = call ptr @s2n_strerror_debug(i32 noundef %2471, ptr noundef nonnull @.str.3) #12
  %2473 = load i32, ptr %1476, align 4, !tbaa !5
  %2474 = call ptr @strerror(i32 noundef %2473) #12
  %2475 = load i32, ptr %1476, align 4, !tbaa !5
  %2476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2467, ptr noundef nonnull %.str.4.sink2073, i32 noundef %2468, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 249, ptr noundef %2470, ptr noundef %2472, ptr noundef %2474, i32 noundef %2475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2477:                                             ; preds = %2450
  %2478 = load i32, ptr @test_count, align 4, !tbaa !5
  %2479 = add nsw i32 %2478, 1
  store i32 %2479, ptr @test_count, align 4, !tbaa !5
  %2480 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %2481 = icmp eq i32 %2480, -1
  br i1 %2481, label %2482, label %2504

2482:                                             ; preds = %2477
  %2483 = load i32, ptr %1476, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = call i32 @s2n_print_stacktrace(ptr noundef %2484) #12
  %2486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2487 = trunc nuw i8 %2486 to i1
  br i1 %2487, label %2488, label %2492

2488:                                             ; preds = %2482
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = call i32 @fileno(ptr noundef %2489) #12
  %2491 = call i32 @isatty(i32 noundef %2490) #12
  %.not855 = icmp eq i32 %2491, 0
  br i1 %.not855, label %2492, label %2493

2492:                                             ; preds = %2488, %2482
  br label %2493

2493:                                             ; preds = %2488, %2492
  %.str.4.sink2082 = phi ptr [ @.str.4, %2492 ], [ @.str, %2488 ]
  store i32 %2483, ptr %1476, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = load i32, ptr @test_count, align 4, !tbaa !5
  %2496 = load i32, ptr %290, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef nonnull @.str.3) #12
  %2498 = load i32, ptr %290, align 4, !tbaa !5
  %2499 = call ptr @s2n_strerror_debug(i32 noundef %2498, ptr noundef nonnull @.str.3) #12
  %2500 = load i32, ptr %1476, align 4, !tbaa !5
  %2501 = call ptr @strerror(i32 noundef %2500) #12
  %2502 = load i32, ptr %1476, align 4, !tbaa !5
  %2503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2494, ptr noundef nonnull %.str.4.sink2082, i32 noundef %2495, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 252, ptr noundef %2497, ptr noundef %2499, ptr noundef %2501, i32 noundef %2502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2504:                                             ; preds = %2477
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = add nsw i32 %2505, 1
  store i32 %2506, ptr @test_count, align 4, !tbaa !5
  %2507 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %2508 = icmp eq i32 %2507, -1
  br i1 %2508, label %2509, label %2531

2509:                                             ; preds = %2504
  %2510 = load i32, ptr %1476, align 4, !tbaa !5
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @s2n_print_stacktrace(ptr noundef %2511) #12
  %2513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2514 = trunc nuw i8 %2513 to i1
  br i1 %2514, label %2515, label %2519

2515:                                             ; preds = %2509
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = call i32 @fileno(ptr noundef %2516) #12
  %2518 = call i32 @isatty(i32 noundef %2517) #12
  %.not854 = icmp eq i32 %2518, 0
  br i1 %.not854, label %2519, label %2520

2519:                                             ; preds = %2515, %2509
  br label %2520

2520:                                             ; preds = %2515, %2519
  %.str.4.sink2091 = phi ptr [ @.str.4, %2519 ], [ @.str, %2515 ]
  store i32 %2510, ptr %1476, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = load i32, ptr %290, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror(i32 noundef %2523, ptr noundef nonnull @.str.3) #12
  %2525 = load i32, ptr %290, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror_debug(i32 noundef %2525, ptr noundef nonnull @.str.3) #12
  %2527 = load i32, ptr %1476, align 4, !tbaa !5
  %2528 = call ptr @strerror(i32 noundef %2527) #12
  %2529 = load i32, ptr %1476, align 4, !tbaa !5
  %2530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2521, ptr noundef nonnull %.str.4.sink2091, i32 noundef %2522, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 253, ptr noundef %2524, ptr noundef %2526, ptr noundef %2528, i32 noundef %2529) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2531:                                             ; preds = %2504
  %2532 = load i32, ptr @test_count, align 4, !tbaa !5
  %2533 = add nsw i32 %2532, 1
  store i32 %2533, ptr @test_count, align 4, !tbaa !5
  %2534 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %293, i32 noundef 5) #12
  %2535 = icmp eq i32 %2534, -1
  br i1 %2535, label %2536, label %2558

2536:                                             ; preds = %2531
  %2537 = load i32, ptr %1476, align 4, !tbaa !5
  %2538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2539 = call i32 @s2n_print_stacktrace(ptr noundef %2538) #12
  %2540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2541 = trunc nuw i8 %2540 to i1
  br i1 %2541, label %2542, label %2546

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

2546:                                             ; preds = %2542, %2536
  br label %2547

2547:                                             ; preds = %2542, %2546
  %.str.4.sink2100 = phi ptr [ @.str.4, %2546 ], [ @.str, %2542 ]
  store i32 %2537, ptr %1476, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = load i32, ptr @test_count, align 4, !tbaa !5
  %2550 = load i32, ptr %290, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror(i32 noundef %2550, ptr noundef nonnull @.str.3) #12
  %2552 = load i32, ptr %290, align 4, !tbaa !5
  %2553 = call ptr @s2n_strerror_debug(i32 noundef %2552, ptr noundef nonnull @.str.3) #12
  %2554 = load i32, ptr %1476, align 4, !tbaa !5
  %2555 = call ptr @strerror(i32 noundef %2554) #12
  %2556 = load i32, ptr %1476, align 4, !tbaa !5
  %2557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2548, ptr noundef nonnull %.str.4.sink2100, i32 noundef %2549, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 254, ptr noundef %2551, ptr noundef %2553, ptr noundef %2555, i32 noundef %2556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2558:                                             ; preds = %2531
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = add nsw i32 %2559, 1
  store i32 %2560, ptr @test_count, align 4, !tbaa !5
  %2561 = load i32, ptr %294, align 4, !tbaa !59
  %2562 = load i32, ptr %295, align 8, !tbaa !60
  %2563 = sub i32 %2561, %2562
  %2564 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %291, ptr noundef nonnull %292, i32 noundef %2563) #12
  %2565 = icmp eq i32 %2564, -1
  br i1 %2565, label %2566, label %2588

2566:                                             ; preds = %2558
  %2567 = load i32, ptr %1476, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = call i32 @s2n_print_stacktrace(ptr noundef %2568) #12
  %2570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2571 = trunc nuw i8 %2570 to i1
  br i1 %2571, label %2572, label %2576

2572:                                             ; preds = %2566
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = call i32 @fileno(ptr noundef %2573) #12
  %2575 = call i32 @isatty(i32 noundef %2574) #12
  %.not852 = icmp eq i32 %2575, 0
  br i1 %.not852, label %2576, label %2577

2576:                                             ; preds = %2572, %2566
  br label %2577

2577:                                             ; preds = %2572, %2576
  %.str.4.sink2109 = phi ptr [ @.str.4, %2576 ], [ @.str, %2572 ]
  store i32 %2567, ptr %1476, align 4, !tbaa !5
  %2578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2579 = load i32, ptr @test_count, align 4, !tbaa !5
  %2580 = load i32, ptr %290, align 4, !tbaa !5
  %2581 = call ptr @s2n_strerror(i32 noundef %2580, ptr noundef nonnull @.str.3) #12
  %2582 = load i32, ptr %290, align 4, !tbaa !5
  %2583 = call ptr @s2n_strerror_debug(i32 noundef %2582, ptr noundef nonnull @.str.3) #12
  %2584 = load i32, ptr %1476, align 4, !tbaa !5
  %2585 = call ptr @strerror(i32 noundef %2584) #12
  %2586 = load i32, ptr %1476, align 4, !tbaa !5
  %2587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2578, ptr noundef nonnull %.str.4.sink2109, i32 noundef %2579, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 255, ptr noundef %2581, ptr noundef %2583, ptr noundef %2585, i32 noundef %2586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2588:                                             ; preds = %2558
  %2589 = load ptr, ptr %292, align 8, !tbaa !65
  %2590 = getelementptr inbounds i8, ptr %2589, i64 %.07151129
  %2591 = getelementptr inbounds i8, ptr %2590, i64 8
  %2592 = load i8, ptr %2591, align 1, !tbaa !57
  %2593 = add i8 %2592, 1
  store i8 %2593, ptr %2591, align 1, !tbaa !57
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = add nsw i32 %2594, 1
  store i32 %2595, ptr @test_count, align 4, !tbaa !5
  %2596 = call i32 @s2n_record_header_parse(ptr noundef nonnull %220, ptr noundef nonnull %10, ptr noundef nonnull %11) #12
  %2597 = icmp eq i32 %2596, -1
  br i1 %2597, label %2598, label %2620

2598:                                             ; preds = %2588
  %2599 = load i32, ptr %1476, align 4, !tbaa !5
  %2600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2601 = call i32 @s2n_print_stacktrace(ptr noundef %2600) #12
  %2602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2603 = trunc nuw i8 %2602 to i1
  br i1 %2603, label %2604, label %2608

2604:                                             ; preds = %2598
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = call i32 @fileno(ptr noundef %2605) #12
  %2607 = call i32 @isatty(i32 noundef %2606) #12
  %.not851 = icmp eq i32 %2607, 0
  br i1 %.not851, label %2608, label %2609

2608:                                             ; preds = %2604, %2598
  br label %2609

2609:                                             ; preds = %2604, %2608
  %.str.4.sink2118 = phi ptr [ @.str.4, %2608 ], [ @.str, %2604 ]
  store i32 %2599, ptr %1476, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = load i32, ptr %290, align 4, !tbaa !5
  %2613 = call ptr @s2n_strerror(i32 noundef %2612, ptr noundef nonnull @.str.3) #12
  %2614 = load i32, ptr %290, align 4, !tbaa !5
  %2615 = call ptr @s2n_strerror_debug(i32 noundef %2614, ptr noundef nonnull @.str.3) #12
  %2616 = load i32, ptr %1476, align 4, !tbaa !5
  %2617 = call ptr @strerror(i32 noundef %2616) #12
  %2618 = load i32, ptr %1476, align 4, !tbaa !5
  %2619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2610, ptr noundef nonnull %.str.4.sink2118, i32 noundef %2611, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 257, ptr noundef %2613, ptr noundef %2615, ptr noundef %2617, i32 noundef %2618) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2620:                                             ; preds = %2588
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = add nsw i32 %2621, 1
  store i32 %2622, ptr @test_count, align 4, !tbaa !5
  %2623 = call i32 @s2n_record_parse(ptr noundef nonnull %220) #12
  %2624 = icmp eq i32 %2623, -1
  br i1 %2624, label %2647, label %2625

2625:                                             ; preds = %2620
  %2626 = load i32, ptr %1476, align 4, !tbaa !5
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @s2n_print_stacktrace(ptr noundef %2627) #12
  %2629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2630 = trunc nuw i8 %2629 to i1
  br i1 %2630, label %2631, label %2635

2631:                                             ; preds = %2625
  %2632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2633 = call i32 @fileno(ptr noundef %2632) #12
  %2634 = call i32 @isatty(i32 noundef %2633) #12
  %.not845 = icmp eq i32 %2634, 0
  br i1 %.not845, label %2635, label %2636

2635:                                             ; preds = %2631, %2625
  br label %2636

2636:                                             ; preds = %2631, %2635
  %.str.4.sink2127 = phi ptr [ @.str.4, %2635 ], [ @.str, %2631 ]
  store i32 %2626, ptr %1476, align 4, !tbaa !5
  %2637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2638 = load i32, ptr @test_count, align 4, !tbaa !5
  %2639 = load i32, ptr %290, align 4, !tbaa !5
  %2640 = call ptr @s2n_strerror(i32 noundef %2639, ptr noundef nonnull @.str.3) #12
  %2641 = load i32, ptr %290, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror_debug(i32 noundef %2641, ptr noundef nonnull @.str.3) #12
  %2643 = load i32, ptr %1476, align 4, !tbaa !5
  %2644 = call ptr @strerror(i32 noundef %2643) #12
  %2645 = load i32, ptr %1476, align 4, !tbaa !5
  %2646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2637, ptr noundef nonnull %.str.4.sink2127, i32 noundef %2638, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 258, ptr noundef %2640, ptr noundef %2642, ptr noundef %2644, i32 noundef %2645) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2647:                                             ; preds = %2620
  %2648 = load i32, ptr @test_count, align 4, !tbaa !5
  %2649 = add nsw i32 %2648, 1
  store i32 %2649, ptr @test_count, align 4, !tbaa !5
  %2650 = load i32, ptr %290, align 4, !tbaa !5
  %2651 = icmp eq i32 %2650, 0
  br i1 %2651, label %2652, label %2674

2652:                                             ; preds = %2647
  %2653 = load i32, ptr %1476, align 4, !tbaa !5
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = call i32 @s2n_print_stacktrace(ptr noundef %2654) #12
  %2656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2657 = trunc nuw i8 %2656 to i1
  br i1 %2657, label %2658, label %2662

2658:                                             ; preds = %2652
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2660 = call i32 @fileno(ptr noundef %2659) #12
  %2661 = call i32 @isatty(i32 noundef %2660) #12
  %.not850 = icmp eq i32 %2661, 0
  br i1 %.not850, label %2662, label %2663

2662:                                             ; preds = %2658, %2652
  br label %2663

2663:                                             ; preds = %2658, %2662
  %.str.4.sink2136 = phi ptr [ @.str.4, %2662 ], [ @.str, %2658 ]
  store i32 %2653, ptr %1476, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = load i32, ptr @test_count, align 4, !tbaa !5
  %2666 = load i32, ptr %290, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror(i32 noundef %2666, ptr noundef nonnull @.str.3) #12
  %2668 = load i32, ptr %290, align 4, !tbaa !5
  %2669 = call ptr @s2n_strerror_debug(i32 noundef %2668, ptr noundef nonnull @.str.3) #12
  %2670 = load i32, ptr %1476, align 4, !tbaa !5
  %2671 = call ptr @strerror(i32 noundef %2670) #12
  %2672 = load i32, ptr %1476, align 4, !tbaa !5
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2664, ptr noundef nonnull %.str.4.sink2136, i32 noundef %2665, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 258, ptr noundef %2667, ptr noundef %2669, ptr noundef %2671, i32 noundef %2672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2674:                                             ; preds = %2647
  %2675 = add nsw i32 %2648, 2
  store i32 %2675, ptr @test_count, align 4, !tbaa !5
  %2676 = call ptr @s2n_strerror_debug(i32 noundef %2650, ptr noundef nonnull @.str.3) #12
  %2677 = icmp eq ptr %2676, null
  br i1 %2677, label %2678, label %2700

2678:                                             ; preds = %2674
  %2679 = load i32, ptr %1476, align 4, !tbaa !5
  %2680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2681 = call i32 @s2n_print_stacktrace(ptr noundef %2680) #12
  %2682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2683 = trunc nuw i8 %2682 to i1
  br i1 %2683, label %2684, label %2688

2684:                                             ; preds = %2678
  %2685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2686 = call i32 @fileno(ptr noundef %2685) #12
  %2687 = call i32 @isatty(i32 noundef %2686) #12
  %.not849 = icmp eq i32 %2687, 0
  br i1 %.not849, label %2688, label %2689

2688:                                             ; preds = %2684, %2678
  br label %2689

2689:                                             ; preds = %2684, %2688
  %.str.4.sink2145 = phi ptr [ @.str.4, %2688 ], [ @.str, %2684 ]
  store i32 %2679, ptr %1476, align 4, !tbaa !5
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = load i32, ptr @test_count, align 4, !tbaa !5
  %2692 = load i32, ptr %290, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror(i32 noundef %2692, ptr noundef nonnull @.str.3) #12
  %2694 = load i32, ptr %290, align 4, !tbaa !5
  %2695 = call ptr @s2n_strerror_debug(i32 noundef %2694, ptr noundef nonnull @.str.3) #12
  %2696 = load i32, ptr %1476, align 4, !tbaa !5
  %2697 = call ptr @strerror(i32 noundef %2696) #12
  %2698 = load i32, ptr %1476, align 4, !tbaa !5
  %2699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2690, ptr noundef nonnull %.str.4.sink2145, i32 noundef %2691, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 258, ptr noundef %2693, ptr noundef %2695, ptr noundef %2697, i32 noundef %2698) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2700:                                             ; preds = %2674
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %2701 = load i32, ptr @test_count, align 4, !tbaa !5
  %2702 = add nsw i32 %2701, 1
  store i32 %2702, ptr @test_count, align 4, !tbaa !5
  %2703 = load i8, ptr %10, align 1, !tbaa !57
  %2704 = icmp eq i8 %2703, 23
  br i1 %2704, label %2727, label %2705

2705:                                             ; preds = %2700
  %2706 = load i32, ptr %1476, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = call i32 @s2n_print_stacktrace(ptr noundef %2707) #12
  %2709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2710 = trunc nuw i8 %2709 to i1
  br i1 %2710, label %2711, label %2715

2711:                                             ; preds = %2705
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = call i32 @fileno(ptr noundef %2712) #12
  %2714 = call i32 @isatty(i32 noundef %2713) #12
  %.not846 = icmp eq i32 %2714, 0
  br i1 %.not846, label %2715, label %2716

2715:                                             ; preds = %2711, %2705
  br label %2716

2716:                                             ; preds = %2711, %2715
  %.str.4.sink2154 = phi ptr [ @.str.4, %2715 ], [ @.str, %2711 ]
  store i32 %2706, ptr %1476, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = load i32, ptr %290, align 4, !tbaa !5
  %2720 = call ptr @s2n_strerror(i32 noundef %2719, ptr noundef nonnull @.str.3) #12
  %2721 = load i32, ptr %290, align 4, !tbaa !5
  %2722 = call ptr @s2n_strerror_debug(i32 noundef %2721, ptr noundef nonnull @.str.3) #12
  %2723 = load i32, ptr %1476, align 4, !tbaa !5
  %2724 = call ptr @strerror(i32 noundef %2723) #12
  %2725 = load i32, ptr %1476, align 4, !tbaa !5
  %2726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef nonnull %.str.4.sink2154, i32 noundef %2718, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 259, ptr noundef %2720, ptr noundef %2722, ptr noundef %2724, i32 noundef %2725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2727:                                             ; preds = %2700
  %2728 = add nsw i32 %2701, 2
  store i32 %2728, ptr @test_count, align 4, !tbaa !5
  %2729 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %293) #12
  %2730 = icmp eq i32 %2729, -1
  br i1 %2730, label %2731, label %2753

2731:                                             ; preds = %2727
  %2732 = load i32, ptr %1476, align 4, !tbaa !5
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = call i32 @s2n_print_stacktrace(ptr noundef %2733) #12
  %2735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2736 = trunc nuw i8 %2735 to i1
  br i1 %2736, label %2737, label %2741

2737:                                             ; preds = %2731
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2739 = call i32 @fileno(ptr noundef %2738) #12
  %2740 = call i32 @isatty(i32 noundef %2739) #12
  %.not848 = icmp eq i32 %2740, 0
  br i1 %.not848, label %2741, label %2742

2741:                                             ; preds = %2737, %2731
  br label %2742

2742:                                             ; preds = %2737, %2741
  %.str.4.sink2163 = phi ptr [ @.str.4, %2741 ], [ @.str, %2737 ]
  store i32 %2732, ptr %1476, align 4, !tbaa !5
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2744 = load i32, ptr @test_count, align 4, !tbaa !5
  %2745 = load i32, ptr %290, align 4, !tbaa !5
  %2746 = call ptr @s2n_strerror(i32 noundef %2745, ptr noundef nonnull @.str.3) #12
  %2747 = load i32, ptr %290, align 4, !tbaa !5
  %2748 = call ptr @s2n_strerror_debug(i32 noundef %2747, ptr noundef nonnull @.str.3) #12
  %2749 = load i32, ptr %1476, align 4, !tbaa !5
  %2750 = call ptr @strerror(i32 noundef %2749) #12
  %2751 = load i32, ptr %1476, align 4, !tbaa !5
  %2752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2743, ptr noundef nonnull %.str.4.sink2163, i32 noundef %2744, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 261, ptr noundef %2746, ptr noundef %2748, ptr noundef %2750, i32 noundef %2751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2753:                                             ; preds = %2727
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = add nsw i32 %2754, 1
  store i32 %2755, ptr @test_count, align 4, !tbaa !5
  %2756 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %292) #12
  %2757 = icmp eq i32 %2756, -1
  br i1 %2757, label %2758, label %2364

2758:                                             ; preds = %2753
  %2759 = load i32, ptr %1476, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @s2n_print_stacktrace(ptr noundef %2760) #12
  %2762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2763 = trunc nuw i8 %2762 to i1
  br i1 %2763, label %2764, label %2768

2764:                                             ; preds = %2758
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = call i32 @fileno(ptr noundef %2765) #12
  %2767 = call i32 @isatty(i32 noundef %2766) #12
  %.not847 = icmp eq i32 %2767, 0
  br i1 %.not847, label %2768, label %2769

2768:                                             ; preds = %2764, %2758
  br label %2769

2769:                                             ; preds = %2764, %2768
  %.str.4.sink2172 = phi ptr [ @.str.4, %2768 ], [ @.str, %2764 ]
  store i32 %2759, ptr %1476, align 4, !tbaa !5
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = load i32, ptr %290, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror(i32 noundef %2772, ptr noundef nonnull @.str.3) #12
  %2774 = load i32, ptr %290, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror_debug(i32 noundef %2774, ptr noundef nonnull @.str.3) #12
  %2776 = load i32, ptr %1476, align 4, !tbaa !5
  %2777 = call ptr @strerror(i32 noundef %2776) #12
  %2778 = load i32, ptr %1476, align 4, !tbaa !5
  %2779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2770, ptr noundef nonnull %.str.4.sink2172, i32 noundef %2771, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 262, ptr noundef %2773, ptr noundef %2775, ptr noundef %2777, i32 noundef %2778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2780:                                             ; preds = %322
  %2781 = load i32, ptr %1476, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @s2n_print_stacktrace(ptr noundef %2782) #12
  %2784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc nuw i8 %2784 to i1
  br i1 %2785, label %2786, label %2790

2786:                                             ; preds = %2780
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @fileno(ptr noundef %2787) #12
  %2789 = call i32 @isatty(i32 noundef %2788) #12
  %.not825 = icmp eq i32 %2789, 0
  br i1 %.not825, label %2790, label %2791

2790:                                             ; preds = %2786, %2780
  br label %2791

2791:                                             ; preds = %2786, %2790
  %.str.4.sink2181 = phi ptr [ @.str.4, %2790 ], [ @.str, %2786 ]
  store i32 %2781, ptr %1476, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = load i32, ptr %290, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror(i32 noundef %2794, ptr noundef nonnull @.str.3) #12
  %2796 = load i32, ptr %290, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror_debug(i32 noundef %2796, ptr noundef nonnull @.str.3) #12
  %2798 = load i32, ptr %1476, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #12
  %2800 = load i32, ptr %1476, align 4, !tbaa !5
  %2801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2792, ptr noundef nonnull %.str.4.sink2181, i32 noundef %2793, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 265, ptr noundef %2795, ptr noundef %2797, ptr noundef %2799, i32 noundef %2800) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2802:                                             ; preds = %322
  %2803 = load i32, ptr @test_count, align 4, !tbaa !5
  %2804 = add nsw i32 %2803, 1
  store i32 %2804, ptr @test_count, align 4, !tbaa !5
  %2805 = call i32 @s2n_connection_free(ptr noundef nonnull %220) #12
  %2806 = icmp eq i32 %2805, -1
  br i1 %2806, label %2807, label %2829

2807:                                             ; preds = %2802
  %2808 = load i32, ptr %1476, align 4, !tbaa !5
  %2809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2810 = call i32 @s2n_print_stacktrace(ptr noundef %2809) #12
  %2811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2812 = trunc nuw i8 %2811 to i1
  br i1 %2812, label %2813, label %2817

2813:                                             ; preds = %2807
  %2814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2815 = call i32 @fileno(ptr noundef %2814) #12
  %2816 = call i32 @isatty(i32 noundef %2815) #12
  %.not824 = icmp eq i32 %2816, 0
  br i1 %.not824, label %2817, label %2818

2817:                                             ; preds = %2813, %2807
  br label %2818

2818:                                             ; preds = %2813, %2817
  %.str.4.sink2190 = phi ptr [ @.str.4, %2817 ], [ @.str, %2813 ]
  store i32 %2808, ptr %1476, align 4, !tbaa !5
  %2819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2820 = load i32, ptr @test_count, align 4, !tbaa !5
  %2821 = load i32, ptr %290, align 4, !tbaa !5
  %2822 = call ptr @s2n_strerror(i32 noundef %2821, ptr noundef nonnull @.str.3) #12
  %2823 = load i32, ptr %290, align 4, !tbaa !5
  %2824 = call ptr @s2n_strerror_debug(i32 noundef %2823, ptr noundef nonnull @.str.3) #12
  %2825 = load i32, ptr %1476, align 4, !tbaa !5
  %2826 = call ptr @strerror(i32 noundef %2825) #12
  %2827 = load i32, ptr %1476, align 4, !tbaa !5
  %2828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2819, ptr noundef nonnull %.str.4.sink2190, i32 noundef %2820, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 266, ptr noundef %2822, ptr noundef %2824, ptr noundef %2826, i32 noundef %2827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2829:                                             ; preds = %2802
  %2830 = load i32, ptr @test_count, align 4, !tbaa !5
  %2831 = add nsw i32 %2830, 1
  store i32 %2831, ptr @test_count, align 4, !tbaa !5
  %2832 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2833 = icmp eq ptr %2832, null
  br i1 %2833, label %2834, label %2856

2834:                                             ; preds = %2829
  %2835 = load i32, ptr %1476, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = call i32 @s2n_print_stacktrace(ptr noundef %2836) #12
  %2838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2839 = trunc nuw i8 %2838 to i1
  br i1 %2839, label %2840, label %2844

2840:                                             ; preds = %2834
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = call i32 @fileno(ptr noundef %2841) #12
  %2843 = call i32 @isatty(i32 noundef %2842) #12
  %.not823 = icmp eq i32 %2843, 0
  br i1 %.not823, label %2844, label %2845

2844:                                             ; preds = %2840, %2834
  br label %2845

2845:                                             ; preds = %2840, %2844
  %.str.4.sink2199 = phi ptr [ @.str.4, %2844 ], [ @.str, %2840 ]
  store i32 %2835, ptr %1476, align 4, !tbaa !5
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = load i32, ptr %290, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror(i32 noundef %2848, ptr noundef nonnull @.str.3) #12
  %2850 = load i32, ptr %290, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror_debug(i32 noundef %2850, ptr noundef nonnull @.str.3) #12
  %2852 = load i32, ptr %1476, align 4, !tbaa !5
  %2853 = call ptr @strerror(i32 noundef %2852) #12
  %2854 = load i32, ptr %1476, align 4, !tbaa !5
  %2855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2846, ptr noundef nonnull %.str.4.sink2199, i32 noundef %2847, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 269, ptr noundef %2849, ptr noundef %2851, ptr noundef %2853, i32 noundef %2854) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2856:                                             ; preds = %2829
  %2857 = getelementptr inbounds i8, ptr %2832, i64 224
  %2858 = load ptr, ptr %2857, align 8, !tbaa !15
  %2859 = load ptr, ptr %2858, align 8, !tbaa !44
  %2860 = getelementptr inbounds i8, ptr %2859, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %2860, align 8, !tbaa !49
  %2861 = load i32, ptr @test_count, align 4, !tbaa !5
  %2862 = add nsw i32 %2861, 1
  store i32 %2862, ptr @test_count, align 4, !tbaa !5
  %2863 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %2864 = icmp eq i32 %2863, -1
  br i1 %2864, label %2865, label %2887

2865:                                             ; preds = %2856
  %2866 = load i32, ptr %1476, align 4, !tbaa !5
  %2867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2868 = call i32 @s2n_print_stacktrace(ptr noundef %2867) #12
  %2869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2870 = trunc nuw i8 %2869 to i1
  br i1 %2870, label %2871, label %2875

2871:                                             ; preds = %2865
  %2872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2873 = call i32 @fileno(ptr noundef %2872) #12
  %2874 = call i32 @isatty(i32 noundef %2873) #12
  %.not822 = icmp eq i32 %2874, 0
  br i1 %.not822, label %2875, label %2876

2875:                                             ; preds = %2871, %2865
  br label %2876

2876:                                             ; preds = %2871, %2875
  %.str.4.sink2208 = phi ptr [ @.str.4, %2875 ], [ @.str, %2871 ]
  store i32 %2866, ptr %1476, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = load i32, ptr @test_count, align 4, !tbaa !5
  %2879 = load i32, ptr %290, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror(i32 noundef %2879, ptr noundef nonnull @.str.3) #12
  %2881 = load i32, ptr %290, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror_debug(i32 noundef %2881, ptr noundef nonnull @.str.3) #12
  %2883 = load i32, ptr %1476, align 4, !tbaa !5
  %2884 = call ptr @strerror(i32 noundef %2883) #12
  %2885 = load i32, ptr %1476, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2877, ptr noundef nonnull %.str.4.sink2208, i32 noundef %2878, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 271, ptr noundef %2880, ptr noundef %2882, ptr noundef %2884, i32 noundef %2885) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2887:                                             ; preds = %2856
  %2888 = getelementptr inbounds i8, ptr %2832, i64 220
  store i8 33, ptr %2888, align 4, !tbaa !54
  %2889 = getelementptr inbounds i8, ptr %2832, i64 222
  %2890 = getelementptr inbounds i8, ptr %2832, i64 219
  %2891 = getelementptr inbounds i8, ptr %2832, i64 218
  %2892 = getelementptr inbounds i8, ptr %2832, i64 1896
  %2893 = getelementptr inbounds i8, ptr %2832, i64 1856
  %2894 = getelementptr inbounds i8, ptr %2832, i64 1776
  %2895 = getelementptr inbounds i8, ptr %2832, i64 1924
  %2896 = getelementptr inbounds i8, ptr %2832, i64 1920
  %2897 = getelementptr inbounds i8, ptr %2832, i64 1884
  %2898 = getelementptr inbounds i8, ptr %2832, i64 1880
  br label %2904

2899:                                             ; preds = %._crit_edge1135
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr @test_count, align 4, !tbaa !5
  %2902 = call i32 @destroy_server_keys(ptr noundef nonnull %2832)
  %2903 = icmp eq i32 %2902, -1
  br i1 %2903, label %5289, label %5311

2904:                                             ; preds = %2887, %._crit_edge1135
  %.07161136 = phi i64 [ 0, %2887 ], [ %4875, %._crit_edge1135 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, i8 0, i64 24, i1 false)
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = add nsw i32 %2905, 1
  store i32 %2906, ptr @test_count, align 4, !tbaa !5
  %2907 = trunc nuw nsw i64 %.07161136 to i32
  %2908 = call i32 @s2n_blob_init(ptr noundef nonnull %12, ptr noundef nonnull %3, i32 noundef %2907) #12
  %2909 = icmp eq i32 %2908, -1
  br i1 %2909, label %2910, label %2932

2910:                                             ; preds = %2904
  %2911 = load i32, ptr %1476, align 4, !tbaa !5
  %2912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2913 = call i32 @s2n_print_stacktrace(ptr noundef %2912) #12
  %2914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2915 = trunc nuw i8 %2914 to i1
  br i1 %2915, label %2916, label %2920

2916:                                             ; preds = %2910
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = call i32 @fileno(ptr noundef %2917) #12
  %2919 = call i32 @isatty(i32 noundef %2918) #12
  %.not821 = icmp eq i32 %2919, 0
  br i1 %.not821, label %2920, label %2921

2920:                                             ; preds = %2916, %2910
  br label %2921

2921:                                             ; preds = %2916, %2920
  %.str.4.sink2217 = phi ptr [ @.str.4, %2920 ], [ @.str, %2916 ]
  store i32 %2911, ptr %1476, align 4, !tbaa !5
  %2922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2923 = load i32, ptr @test_count, align 4, !tbaa !5
  %2924 = load i32, ptr %290, align 4, !tbaa !5
  %2925 = call ptr @s2n_strerror(i32 noundef %2924, ptr noundef nonnull @.str.3) #12
  %2926 = load i32, ptr %290, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror_debug(i32 noundef %2926, ptr noundef nonnull @.str.3) #12
  %2928 = load i32, ptr %1476, align 4, !tbaa !5
  %2929 = call ptr @strerror(i32 noundef %2928) #12
  %2930 = load i32, ptr %1476, align 4, !tbaa !5
  %2931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2922, ptr noundef nonnull %.str.4.sink2217, i32 noundef %2923, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 276, ptr noundef %2925, ptr noundef %2927, ptr noundef %2929, i32 noundef %2930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2932:                                             ; preds = %2904
  %2933 = load i32, ptr @test_count, align 4, !tbaa !5
  %2934 = add nsw i32 %2933, 1
  store i32 %2934, ptr @test_count, align 4, !tbaa !5
  %2935 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2832) #12
  %2936 = icmp eq i32 %2935, -1
  br i1 %2936, label %2937, label %2959

2937:                                             ; preds = %2932
  %2938 = load i32, ptr %1476, align 4, !tbaa !5
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @s2n_print_stacktrace(ptr noundef %2939) #12
  %2941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2942 = trunc nuw i8 %2941 to i1
  br i1 %2942, label %2943, label %2947

2943:                                             ; preds = %2937
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = call i32 @fileno(ptr noundef %2944) #12
  %2946 = call i32 @isatty(i32 noundef %2945) #12
  %.not820 = icmp eq i32 %2946, 0
  br i1 %.not820, label %2947, label %2948

2947:                                             ; preds = %2943, %2937
  br label %2948

2948:                                             ; preds = %2943, %2947
  %.str.4.sink2226 = phi ptr [ @.str.4, %2947 ], [ @.str, %2943 ]
  store i32 %2938, ptr %1476, align 4, !tbaa !5
  %2949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2950 = load i32, ptr @test_count, align 4, !tbaa !5
  %2951 = load i32, ptr %290, align 4, !tbaa !5
  %2952 = call ptr @s2n_strerror(i32 noundef %2951, ptr noundef nonnull @.str.3) #12
  %2953 = load i32, ptr %290, align 4, !tbaa !5
  %2954 = call ptr @s2n_strerror_debug(i32 noundef %2953, ptr noundef nonnull @.str.3) #12
  %2955 = load i32, ptr %1476, align 4, !tbaa !5
  %2956 = call ptr @strerror(i32 noundef %2955) #12
  %2957 = load i32, ptr %1476, align 4, !tbaa !5
  %2958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2949, ptr noundef nonnull %.str.4.sink2226, i32 noundef %2950, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 279, ptr noundef %2952, ptr noundef %2954, ptr noundef %2956, i32 noundef %2957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2959:                                             ; preds = %2932
  %2960 = load i32, ptr @test_count, align 4, !tbaa !5
  %2961 = add nsw i32 %2960, 1
  store i32 %2961, ptr @test_count, align 4, !tbaa !5
  %2962 = call i32 @s2n_connection_prefer_low_latency(ptr noundef nonnull %2832) #12
  %2963 = icmp eq i32 %2962, -1
  br i1 %2963, label %2964, label %2986

2964:                                             ; preds = %2959
  %2965 = load i32, ptr %1476, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @s2n_print_stacktrace(ptr noundef %2966) #12
  %2968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2969 = trunc nuw i8 %2968 to i1
  br i1 %2969, label %2970, label %2974

2970:                                             ; preds = %2964
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = call i32 @fileno(ptr noundef %2971) #12
  %2973 = call i32 @isatty(i32 noundef %2972) #12
  %.not819 = icmp eq i32 %2973, 0
  br i1 %.not819, label %2974, label %2975

2974:                                             ; preds = %2970, %2964
  br label %2975

2975:                                             ; preds = %2970, %2974
  %.str.4.sink2235 = phi ptr [ @.str.4, %2974 ], [ @.str, %2970 ]
  store i32 %2965, ptr %1476, align 4, !tbaa !5
  %2976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2977 = load i32, ptr @test_count, align 4, !tbaa !5
  %2978 = load i32, ptr %290, align 4, !tbaa !5
  %2979 = call ptr @s2n_strerror(i32 noundef %2978, ptr noundef nonnull @.str.3) #12
  %2980 = load i32, ptr %290, align 4, !tbaa !5
  %2981 = call ptr @s2n_strerror_debug(i32 noundef %2980, ptr noundef nonnull @.str.3) #12
  %2982 = load i32, ptr %1476, align 4, !tbaa !5
  %2983 = call ptr @strerror(i32 noundef %2982) #12
  %2984 = load i32, ptr %1476, align 4, !tbaa !5
  %2985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2976, ptr noundef nonnull %.str.4.sink2235, i32 noundef %2977, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 281, ptr noundef %2979, ptr noundef %2981, ptr noundef %2983, i32 noundef %2984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2986:                                             ; preds = %2959
  store i8 1, ptr %2889, align 2, !tbaa !51
  store i8 33, ptr %2890, align 1, !tbaa !52
  store i8 33, ptr %2891, align 2, !tbaa !53
  store i8 33, ptr %2888, align 4, !tbaa !54
  %2987 = load ptr, ptr %2857, align 8, !tbaa !15
  %2988 = load ptr, ptr %2987, align 8, !tbaa !44
  %2989 = getelementptr inbounds i8, ptr %2988, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %2989, align 8, !tbaa !49
  %2990 = load i32, ptr @test_count, align 4, !tbaa !5
  %2991 = add nsw i32 %2990, 1
  store i32 %2991, ptr @test_count, align 4, !tbaa !5
  %2992 = call i32 @destroy_server_keys(ptr noundef %2832)
  %2993 = icmp eq i32 %2992, -1
  br i1 %2993, label %2994, label %3016

2994:                                             ; preds = %2986
  %2995 = load i32, ptr %1476, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = call i32 @s2n_print_stacktrace(ptr noundef %2996) #12
  %2998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2999 = trunc nuw i8 %2998 to i1
  br i1 %2999, label %3000, label %3004

3000:                                             ; preds = %2994
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @fileno(ptr noundef %3001) #12
  %3003 = call i32 @isatty(i32 noundef %3002) #12
  %.not818 = icmp eq i32 %3003, 0
  br i1 %.not818, label %3004, label %3005

3004:                                             ; preds = %3000, %2994
  br label %3005

3005:                                             ; preds = %3000, %3004
  %.str.4.sink2244 = phi ptr [ @.str.4, %3004 ], [ @.str, %3000 ]
  store i32 %2995, ptr %1476, align 4, !tbaa !5
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = load i32, ptr @test_count, align 4, !tbaa !5
  %3008 = load i32, ptr %290, align 4, !tbaa !5
  %3009 = call ptr @s2n_strerror(i32 noundef %3008, ptr noundef nonnull @.str.3) #12
  %3010 = load i32, ptr %290, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror_debug(i32 noundef %3010, ptr noundef nonnull @.str.3) #12
  %3012 = load i32, ptr %1476, align 4, !tbaa !5
  %3013 = call ptr @strerror(i32 noundef %3012) #12
  %3014 = load i32, ptr %1476, align 4, !tbaa !5
  %3015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3006, ptr noundef nonnull %.str.4.sink2244, i32 noundef %3007, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 287, ptr noundef %3009, ptr noundef %3011, ptr noundef %3013, i32 noundef %3014) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3016:                                             ; preds = %2986
  %3017 = load i32, ptr @test_count, align 4, !tbaa !5
  %3018 = add nsw i32 %3017, 1
  store i32 %3018, ptr @test_count, align 4, !tbaa !5
  %3019 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %3020 = icmp eq i32 %3019, -1
  br i1 %3020, label %3021, label %3043

3021:                                             ; preds = %3016
  %3022 = load i32, ptr %1476, align 4, !tbaa !5
  %3023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3024 = call i32 @s2n_print_stacktrace(ptr noundef %3023) #12
  %3025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3026 = trunc nuw i8 %3025 to i1
  br i1 %3026, label %3027, label %3031

3027:                                             ; preds = %3021
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = call i32 @fileno(ptr noundef %3028) #12
  %3030 = call i32 @isatty(i32 noundef %3029) #12
  %.not817 = icmp eq i32 %3030, 0
  br i1 %.not817, label %3031, label %3032

3031:                                             ; preds = %3027, %3021
  br label %3032

3032:                                             ; preds = %3027, %3031
  %.str.4.sink2253 = phi ptr [ @.str.4, %3031 ], [ @.str, %3027 ]
  store i32 %3022, ptr %1476, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = load i32, ptr @test_count, align 4, !tbaa !5
  %3035 = load i32, ptr %290, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror(i32 noundef %3035, ptr noundef nonnull @.str.3) #12
  %3037 = load i32, ptr %290, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror_debug(i32 noundef %3037, ptr noundef nonnull @.str.3) #12
  %3039 = load i32, ptr %1476, align 4, !tbaa !5
  %3040 = call ptr @strerror(i32 noundef %3039) #12
  %3041 = load i32, ptr %1476, align 4, !tbaa !5
  %3042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3033, ptr noundef nonnull %.str.4.sink2253, i32 noundef %3034, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 288, ptr noundef %3036, ptr noundef %3038, ptr noundef %3040, i32 noundef %3041) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3043:                                             ; preds = %3016
  store i8 33, ptr %2888, align 4, !tbaa !54
  %3044 = call i32 @s2n_record_write(ptr noundef nonnull %2832, i8 noundef zeroext 23, ptr noundef nonnull %12) #12
  %.not735 = icmp eq i64 %.07161136, 1436
  %3045 = load i32, ptr @test_count, align 4, !tbaa !5
  %3046 = add nsw i32 %3045, 1
  store i32 %3046, ptr @test_count, align 4, !tbaa !5
  br i1 %.not735, label %3071, label %3047

3047:                                             ; preds = %3043
  %3048 = call zeroext i1 @s2n_result_is_ok(i32 %3044)
  br i1 %3048, label %3149, label %3049

3049:                                             ; preds = %3047
  %3050 = load i32, ptr %1476, align 4, !tbaa !5
  %3051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3052 = call i32 @s2n_print_stacktrace(ptr noundef %3051) #12
  %3053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3054 = trunc nuw i8 %3053 to i1
  br i1 %3054, label %3055, label %3059

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

3059:                                             ; preds = %3055, %3049
  br label %3060

3060:                                             ; preds = %3055, %3059
  %.str.4.sink2262 = phi ptr [ @.str.4, %3059 ], [ @.str, %3055 ]
  store i32 %3050, ptr %1476, align 4, !tbaa !5
  %3061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = load i32, ptr %290, align 4, !tbaa !5
  %3064 = call ptr @s2n_strerror(i32 noundef %3063, ptr noundef nonnull @.str.3) #12
  %3065 = load i32, ptr %290, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror_debug(i32 noundef %3065, ptr noundef nonnull @.str.3) #12
  %3067 = load i32, ptr %1476, align 4, !tbaa !5
  %3068 = call ptr @strerror(i32 noundef %3067) #12
  %3069 = load i32, ptr %1476, align 4, !tbaa !5
  %3070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3061, ptr noundef nonnull %.str.4.sink2262, i32 noundef %3062, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 293, ptr noundef %3064, ptr noundef %3066, ptr noundef %3068, i32 noundef %3069) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3071:                                             ; preds = %3043
  %3072 = call zeroext i1 @s2n_result_is_error(i32 %3044)
  br i1 %3072, label %3095, label %3073

3073:                                             ; preds = %3071
  %3074 = load i32, ptr %1476, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @s2n_print_stacktrace(ptr noundef %3075) #12
  %3077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3078 = trunc nuw i8 %3077 to i1
  br i1 %3078, label %3079, label %3083

3079:                                             ; preds = %3073
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = call i32 @fileno(ptr noundef %3080) #12
  %3082 = call i32 @isatty(i32 noundef %3081) #12
  %.not736 = icmp eq i32 %3082, 0
  br i1 %.not736, label %3083, label %3084

3083:                                             ; preds = %3079, %3073
  br label %3084

3084:                                             ; preds = %3079, %3083
  %.str.4.sink2271 = phi ptr [ @.str.4, %3083 ], [ @.str, %3079 ]
  store i32 %3074, ptr %1476, align 4, !tbaa !5
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = load i32, ptr %290, align 4, !tbaa !5
  %3088 = call ptr @s2n_strerror(i32 noundef %3087, ptr noundef nonnull @.str.3) #12
  %3089 = load i32, ptr %290, align 4, !tbaa !5
  %3090 = call ptr @s2n_strerror_debug(i32 noundef %3089, ptr noundef nonnull @.str.3) #12
  %3091 = load i32, ptr %1476, align 4, !tbaa !5
  %3092 = call ptr @strerror(i32 noundef %3091) #12
  %3093 = load i32, ptr %1476, align 4, !tbaa !5
  %3094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3085, ptr noundef nonnull %.str.4.sink2271, i32 noundef %3086, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 296, ptr noundef %3088, ptr noundef %3090, ptr noundef %3092, i32 noundef %3093) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3095:                                             ; preds = %3071
  %3096 = load i32, ptr @test_count, align 4, !tbaa !5
  %3097 = add nsw i32 %3096, 1
  store i32 %3097, ptr @test_count, align 4, !tbaa !5
  %3098 = load i32, ptr %290, align 4, !tbaa !5
  %3099 = icmp eq i32 %3098, 335544390
  br i1 %3099, label %3122, label %3100

3100:                                             ; preds = %3095
  %3101 = load i32, ptr %1476, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @s2n_print_stacktrace(ptr noundef %3102) #12
  %3104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3105 = trunc nuw i8 %3104 to i1
  br i1 %3105, label %3106, label %3110

3106:                                             ; preds = %3100
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = call i32 @fileno(ptr noundef %3107) #12
  %3109 = call i32 @isatty(i32 noundef %3108) #12
  %.not737 = icmp eq i32 %3109, 0
  br i1 %.not737, label %3110, label %3111

3110:                                             ; preds = %3106, %3100
  br label %3111

3111:                                             ; preds = %3106, %3110
  %.str.4.sink2280 = phi ptr [ @.str.4, %3110 ], [ @.str, %3106 ]
  store i32 %3101, ptr %1476, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = load i32, ptr @test_count, align 4, !tbaa !5
  %3114 = load i32, ptr %290, align 4, !tbaa !5
  %3115 = call ptr @s2n_strerror(i32 noundef %3114, ptr noundef nonnull @.str.3) #12
  %3116 = load i32, ptr %290, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror_debug(i32 noundef %3116, ptr noundef nonnull @.str.3) #12
  %3118 = load i32, ptr %1476, align 4, !tbaa !5
  %3119 = call ptr @strerror(i32 noundef %3118) #12
  %3120 = load i32, ptr %1476, align 4, !tbaa !5
  %3121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3112, ptr noundef nonnull %.str.4.sink2280, i32 noundef %3113, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 296, ptr noundef %3115, ptr noundef %3117, ptr noundef %3119, i32 noundef %3120) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3122:                                             ; preds = %3095
  %3123 = add nsw i32 %3096, 2
  store i32 %3123, ptr @test_count, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.3) #12
  %3125 = icmp eq ptr %3124, null
  br i1 %3125, label %3126, label %3148

3126:                                             ; preds = %3122
  %3127 = load i32, ptr %1476, align 4, !tbaa !5
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = call i32 @s2n_print_stacktrace(ptr noundef %3128) #12
  %3130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3131 = trunc nuw i8 %3130 to i1
  br i1 %3131, label %3132, label %3136

3132:                                             ; preds = %3126
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = call i32 @fileno(ptr noundef %3133) #12
  %3135 = call i32 @isatty(i32 noundef %3134) #12
  %.not738 = icmp eq i32 %3135, 0
  br i1 %.not738, label %3136, label %3137

3136:                                             ; preds = %3132, %3126
  br label %3137

3137:                                             ; preds = %3132, %3136
  %.str.4.sink2289 = phi ptr [ @.str.4, %3136 ], [ @.str, %3132 ]
  store i32 %3127, ptr %1476, align 4, !tbaa !5
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = load i32, ptr @test_count, align 4, !tbaa !5
  %3140 = load i32, ptr %290, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror(i32 noundef %3140, ptr noundef nonnull @.str.3) #12
  %3142 = load i32, ptr %290, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror_debug(i32 noundef %3142, ptr noundef nonnull @.str.3) #12
  %3144 = load i32, ptr %1476, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #12
  %3146 = load i32, ptr %1476, align 4, !tbaa !5
  %3147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3138, ptr noundef nonnull %.str.4.sink2289, i32 noundef %3139, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 296, ptr noundef %3141, ptr noundef %3143, ptr noundef %3145, i32 noundef %3146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3148:                                             ; preds = %3122
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  br label %3149

3149:                                             ; preds = %3047, %3148
  %.0717 = phi i32 [ 1435, %3148 ], [ %2907, %3047 ]
  %3150 = load ptr, ptr %2857, align 8, !tbaa !15
  %3151 = load ptr, ptr %3150, align 8, !tbaa !44
  %3152 = getelementptr inbounds i8, ptr %3151, i64 48
  %3153 = load ptr, ptr %3152, align 8, !tbaa !49
  %3154 = load ptr, ptr %3153, align 8, !tbaa !55
  %3155 = getelementptr inbounds i8, ptr %3154, i64 9
  %3156 = load i8, ptr %3155, align 1, !tbaa !57
  %3157 = zext i8 %3156 to i32
  %3158 = add nuw nsw i32 %.0717, %3157
  %3159 = getelementptr inbounds i8, ptr %3154, i64 10
  %3160 = load i8, ptr %3159, align 2, !tbaa !57
  %3161 = zext i8 %3160 to i32
  %3162 = add nuw nsw i32 %3158, %3161
  %3163 = load i32, ptr @test_count, align 4, !tbaa !5
  %3164 = add nsw i32 %3163, 1
  store i32 %3164, ptr @test_count, align 4, !tbaa !5
  %3165 = add nuw nsw i32 %.0717, 24
  %3166 = icmp eq i32 %3162, %3165
  br i1 %3166, label %3189, label %3167

3167:                                             ; preds = %3149
  %3168 = load i32, ptr %1476, align 4, !tbaa !5
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = call i32 @s2n_print_stacktrace(ptr noundef %3169) #12
  %3171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3172 = trunc nuw i8 %3171 to i1
  br i1 %3172, label %3173, label %3177

3173:                                             ; preds = %3167
  %3174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3175 = call i32 @fileno(ptr noundef %3174) #12
  %3176 = call i32 @isatty(i32 noundef %3175) #12
  %.not740 = icmp eq i32 %3176, 0
  br i1 %.not740, label %3177, label %3178

3177:                                             ; preds = %3173, %3167
  br label %3178

3178:                                             ; preds = %3173, %3177
  %.str.4.sink2298 = phi ptr [ @.str.4, %3177 ], [ @.str, %3173 ]
  store i32 %3168, ptr %1476, align 4, !tbaa !5
  %3179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %3181 = load i32, ptr %290, align 4, !tbaa !5
  %3182 = call ptr @s2n_strerror(i32 noundef %3181, ptr noundef nonnull @.str.3) #12
  %3183 = load i32, ptr %290, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror_debug(i32 noundef %3183, ptr noundef nonnull @.str.3) #12
  %3185 = load i32, ptr %1476, align 4, !tbaa !5
  %3186 = call ptr @strerror(i32 noundef %3185) #12
  %3187 = load i32, ptr %1476, align 4, !tbaa !5
  %3188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3179, ptr noundef nonnull %.str.4.sink2298, i32 noundef %3180, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 306, ptr noundef %3182, ptr noundef %3184, ptr noundef %3186, i32 noundef %3187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3189:                                             ; preds = %3149
  %3190 = add nsw i32 %3163, 2
  store i32 %3190, ptr @test_count, align 4, !tbaa !5
  %3191 = load ptr, ptr %2892, align 8, !tbaa !58
  %3192 = load i8, ptr %3191, align 1, !tbaa !57
  %3193 = icmp eq i8 %3192, 23
  br i1 %3193, label %3216, label %3194

3194:                                             ; preds = %3189
  %3195 = load i32, ptr %1476, 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 = %3194
  %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
  %.not741 = icmp eq i32 %3203, 0
  br i1 %.not741, label %3204, label %3205

3204:                                             ; preds = %3200, %3194
  br label %3205

3205:                                             ; preds = %3200, %3204
  %.str.4.sink2307 = phi ptr [ @.str.4, %3204 ], [ @.str, %3200 ]
  store i32 %3195, ptr %1476, align 4, !tbaa !5
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = load i32, ptr @test_count, align 4, !tbaa !5
  %3208 = load i32, ptr %290, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror(i32 noundef %3208, ptr noundef nonnull @.str.3) #12
  %3210 = load i32, ptr %290, align 4, !tbaa !5
  %3211 = call ptr @s2n_strerror_debug(i32 noundef %3210, ptr noundef nonnull @.str.3) #12
  %3212 = load i32, ptr %1476, align 4, !tbaa !5
  %3213 = call ptr @strerror(i32 noundef %3212) #12
  %3214 = load i32, ptr %1476, align 4, !tbaa !5
  %3215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3206, ptr noundef nonnull %.str.4.sink2307, i32 noundef %3207, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 308, ptr noundef %3209, ptr noundef %3211, ptr noundef %3213, i32 noundef %3214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3216:                                             ; preds = %3189
  %3217 = add nsw i32 %3163, 3
  store i32 %3217, ptr @test_count, align 4, !tbaa !5
  %3218 = getelementptr inbounds i8, ptr %3191, i64 1
  %3219 = load i8, ptr %3218, align 1, !tbaa !57
  %3220 = icmp eq i8 %3219, 3
  br i1 %3220, label %3243, label %3221

3221:                                             ; preds = %3216
  %3222 = load i32, ptr %1476, align 4, !tbaa !5
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = call i32 @s2n_print_stacktrace(ptr noundef %3223) #12
  %3225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3226 = trunc nuw i8 %3225 to i1
  br i1 %3226, label %3227, label %3231

3227:                                             ; preds = %3221
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = call i32 @fileno(ptr noundef %3228) #12
  %3230 = call i32 @isatty(i32 noundef %3229) #12
  %.not742 = icmp eq i32 %3230, 0
  br i1 %.not742, label %3231, label %3232

3231:                                             ; preds = %3227, %3221
  br label %3232

3232:                                             ; preds = %3227, %3231
  %.str.4.sink2316 = phi ptr [ @.str.4, %3231 ], [ @.str, %3227 ]
  store i32 %3222, ptr %1476, align 4, !tbaa !5
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3234 = load i32, ptr @test_count, align 4, !tbaa !5
  %3235 = load i32, ptr %290, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror(i32 noundef %3235, ptr noundef nonnull @.str.3) #12
  %3237 = load i32, ptr %290, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror_debug(i32 noundef %3237, ptr noundef nonnull @.str.3) #12
  %3239 = load i32, ptr %1476, align 4, !tbaa !5
  %3240 = call ptr @strerror(i32 noundef %3239) #12
  %3241 = load i32, ptr %1476, align 4, !tbaa !5
  %3242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3233, ptr noundef nonnull %.str.4.sink2316, i32 noundef %3234, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 309, ptr noundef %3236, ptr noundef %3238, ptr noundef %3240, i32 noundef %3241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3243:                                             ; preds = %3216
  %3244 = add nsw i32 %3163, 4
  store i32 %3244, ptr @test_count, align 4, !tbaa !5
  %3245 = getelementptr inbounds i8, ptr %3191, i64 2
  %3246 = load i8, ptr %3245, align 1, !tbaa !57
  %3247 = icmp eq i8 %3246, 3
  br i1 %3247, label %3270, label %3248

3248:                                             ; preds = %3243
  %3249 = load i32, ptr %1476, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @s2n_print_stacktrace(ptr noundef %3250) #12
  %3252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3253 = trunc nuw i8 %3252 to i1
  br i1 %3253, label %3254, label %3258

3254:                                             ; preds = %3248
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @fileno(ptr noundef %3255) #12
  %3257 = call i32 @isatty(i32 noundef %3256) #12
  %.not743 = icmp eq i32 %3257, 0
  br i1 %.not743, label %3258, label %3259

3258:                                             ; preds = %3254, %3248
  br label %3259

3259:                                             ; preds = %3254, %3258
  %.str.4.sink2325 = phi ptr [ @.str.4, %3258 ], [ @.str, %3254 ]
  store i32 %3249, ptr %1476, align 4, !tbaa !5
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = load i32, ptr %290, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef nonnull @.str.3) #12
  %3264 = load i32, ptr %290, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror_debug(i32 noundef %3264, ptr noundef nonnull @.str.3) #12
  %3266 = load i32, ptr %1476, align 4, !tbaa !5
  %3267 = call ptr @strerror(i32 noundef %3266) #12
  %3268 = load i32, ptr %1476, align 4, !tbaa !5
  %3269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3260, ptr noundef nonnull %.str.4.sink2325, i32 noundef %3261, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 310, ptr noundef %3263, ptr noundef %3265, ptr noundef %3267, i32 noundef %3268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3270:                                             ; preds = %3243
  %3271 = add nsw i32 %3163, 5
  store i32 %3271, ptr @test_count, align 4, !tbaa !5
  %3272 = getelementptr inbounds i8, ptr %3191, i64 3
  %3273 = load i8, ptr %3272, align 1, !tbaa !57
  %3274 = lshr i32 %3162, 8
  %3275 = trunc i32 %3274 to i8
  %3276 = icmp eq i8 %3273, %3275
  br i1 %3276, label %3299, label %3277

3277:                                             ; preds = %3270
  %3278 = load i32, ptr %1476, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @s2n_print_stacktrace(ptr noundef %3279) #12
  %3281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3282 = trunc nuw i8 %3281 to i1
  br i1 %3282, label %3283, label %3287

3283:                                             ; preds = %3277
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = call i32 @fileno(ptr noundef %3284) #12
  %3286 = call i32 @isatty(i32 noundef %3285) #12
  %.not744 = icmp eq i32 %3286, 0
  br i1 %.not744, label %3287, label %3288

3287:                                             ; preds = %3283, %3277
  br label %3288

3288:                                             ; preds = %3283, %3287
  %.str.4.sink2334 = phi ptr [ @.str.4, %3287 ], [ @.str, %3283 ]
  store i32 %3278, ptr %1476, align 4, !tbaa !5
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = load i32, ptr @test_count, align 4, !tbaa !5
  %3291 = load i32, ptr %290, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror(i32 noundef %3291, ptr noundef nonnull @.str.3) #12
  %3293 = load i32, ptr %290, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror_debug(i32 noundef %3293, ptr noundef nonnull @.str.3) #12
  %3295 = load i32, ptr %1476, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #12
  %3297 = load i32, ptr %1476, align 4, !tbaa !5
  %3298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3289, ptr noundef nonnull %.str.4.sink2334, i32 noundef %3290, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 311, ptr noundef %3292, ptr noundef %3294, ptr noundef %3296, i32 noundef %3297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3299:                                             ; preds = %3270
  %3300 = add nsw i32 %3163, 6
  store i32 %3300, ptr @test_count, align 4, !tbaa !5
  %3301 = getelementptr inbounds i8, ptr %3191, i64 4
  %3302 = load i8, ptr %3301, align 1, !tbaa !57
  %3303 = trunc i32 %3162 to i8
  %3304 = icmp eq i8 %3302, %3303
  br i1 %3304, label %3327, label %3305

3305:                                             ; preds = %3299
  %3306 = load i32, ptr %1476, align 4, !tbaa !5
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = call i32 @s2n_print_stacktrace(ptr noundef %3307) #12
  %3309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3310 = trunc nuw i8 %3309 to i1
  br i1 %3310, label %3311, label %3315

3311:                                             ; preds = %3305
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @fileno(ptr noundef %3312) #12
  %3314 = call i32 @isatty(i32 noundef %3313) #12
  %.not745 = icmp eq i32 %3314, 0
  br i1 %.not745, label %3315, label %3316

3315:                                             ; preds = %3311, %3305
  br label %3316

3316:                                             ; preds = %3311, %3315
  %.str.4.sink2343 = phi ptr [ @.str.4, %3315 ], [ @.str, %3311 ]
  store i32 %3306, ptr %1476, align 4, !tbaa !5
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = load i32, ptr @test_count, align 4, !tbaa !5
  %3319 = load i32, ptr %290, align 4, !tbaa !5
  %3320 = call ptr @s2n_strerror(i32 noundef %3319, ptr noundef nonnull @.str.3) #12
  %3321 = load i32, ptr %290, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror_debug(i32 noundef %3321, ptr noundef nonnull @.str.3) #12
  %3323 = load i32, ptr %1476, align 4, !tbaa !5
  %3324 = call ptr @strerror(i32 noundef %3323) #12
  %3325 = load i32, ptr %1476, align 4, !tbaa !5
  %3326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3317, ptr noundef nonnull %.str.4.sink2343, i32 noundef %3318, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 312, ptr noundef %3320, ptr noundef %3322, ptr noundef %3324, i32 noundef %3325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3327:                                             ; preds = %3299
  %3328 = icmp ugt i32 %.0717, 10
  br i1 %3328, label %3329, label %3356

3329:                                             ; preds = %3327
  %3330 = add nsw i32 %3163, 7
  store i32 %3330, ptr @test_count, align 4, !tbaa !5
  %3331 = getelementptr inbounds i8, ptr %3191, i64 5
  %3332 = zext nneg i32 %.0717 to i64
  %bcmp = call i32 @bcmp(ptr nonnull %3331, ptr nonnull %3, i64 %3332)
  %3333 = icmp eq i32 %bcmp, 0
  br i1 %3333, label %3334, label %3356

3334:                                             ; preds = %3329
  %3335 = load i32, ptr %1476, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @s2n_print_stacktrace(ptr noundef %3336) #12
  %3338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3339 = trunc nuw i8 %3338 to i1
  br i1 %3339, label %3340, label %3344

3340:                                             ; preds = %3334
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @fileno(ptr noundef %3341) #12
  %3343 = call i32 @isatty(i32 noundef %3342) #12
  %.not816 = icmp eq i32 %3343, 0
  br i1 %.not816, label %3344, label %3345

3344:                                             ; preds = %3340, %3334
  br label %3345

3345:                                             ; preds = %3340, %3344
  %.str.4.sink2352 = phi ptr [ @.str.4, %3344 ], [ @.str, %3340 ]
  store i32 %3335, ptr %1476, align 4, !tbaa !5
  %3346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3347 = load i32, ptr @test_count, align 4, !tbaa !5
  %3348 = load i32, ptr %290, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror(i32 noundef %3348, ptr noundef nonnull @.str.3) #12
  %3350 = load i32, ptr %290, align 4, !tbaa !5
  %3351 = call ptr @s2n_strerror_debug(i32 noundef %3350, ptr noundef nonnull @.str.3) #12
  %3352 = load i32, ptr %1476, align 4, !tbaa !5
  %3353 = call ptr @strerror(i32 noundef %3352) #12
  %3354 = load i32, ptr %1476, align 4, !tbaa !5
  %3355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3346, ptr noundef nonnull %.str.4.sink2352, i32 noundef %3347, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 316, ptr noundef %3349, ptr noundef %3351, ptr noundef %3353, i32 noundef %3354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3356:                                             ; preds = %3327, %3329
  %3357 = phi i32 [ %3300, %3327 ], [ %3330, %3329 ]
  %3358 = add nsw i32 %3357, 1
  store i32 %3358, ptr @test_count, align 4, !tbaa !5
  %3359 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %3360 = icmp eq i32 %3359, -1
  br i1 %3360, label %3361, label %3383

3361:                                             ; preds = %3356
  %3362 = load i32, ptr %1476, align 4, !tbaa !5
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @s2n_print_stacktrace(ptr noundef %3363) #12
  %3365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3366 = trunc nuw i8 %3365 to i1
  br i1 %3366, label %3367, label %3371

3367:                                             ; preds = %3361
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = call i32 @fileno(ptr noundef %3368) #12
  %3370 = call i32 @isatty(i32 noundef %3369) #12
  %.not815 = icmp eq i32 %3370, 0
  br i1 %.not815, label %3371, label %3372

3371:                                             ; preds = %3367, %3361
  br label %3372

3372:                                             ; preds = %3367, %3371
  %.str.4.sink2361 = phi ptr [ @.str.4, %3371 ], [ @.str, %3367 ]
  store i32 %3362, ptr %1476, align 4, !tbaa !5
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = load i32, ptr @test_count, align 4, !tbaa !5
  %3375 = load i32, ptr %290, align 4, !tbaa !5
  %3376 = call ptr @s2n_strerror(i32 noundef %3375, ptr noundef nonnull @.str.3) #12
  %3377 = load i32, ptr %290, align 4, !tbaa !5
  %3378 = call ptr @s2n_strerror_debug(i32 noundef %3377, ptr noundef nonnull @.str.3) #12
  %3379 = load i32, ptr %1476, align 4, !tbaa !5
  %3380 = call ptr @strerror(i32 noundef %3379) #12
  %3381 = load i32, ptr %1476, align 4, !tbaa !5
  %3382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3373, ptr noundef nonnull %.str.4.sink2361, i32 noundef %3374, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 320, ptr noundef %3376, ptr noundef %3378, ptr noundef %3380, i32 noundef %3381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3383:                                             ; preds = %3356
  %3384 = load i32, ptr @test_count, align 4, !tbaa !5
  %3385 = add nsw i32 %3384, 1
  store i32 %3385, ptr @test_count, align 4, !tbaa !5
  %3386 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %3387 = icmp eq i32 %3386, -1
  br i1 %3387, label %3388, label %3410

3388:                                             ; preds = %3383
  %3389 = load i32, ptr %1476, align 4, !tbaa !5
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @s2n_print_stacktrace(ptr noundef %3390) #12
  %3392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3393 = trunc nuw i8 %3392 to i1
  br i1 %3393, label %3394, label %3398

3394:                                             ; preds = %3388
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = call i32 @fileno(ptr noundef %3395) #12
  %3397 = call i32 @isatty(i32 noundef %3396) #12
  %.not814 = icmp eq i32 %3397, 0
  br i1 %.not814, label %3398, label %3399

3398:                                             ; preds = %3394, %3388
  br label %3399

3399:                                             ; preds = %3394, %3398
  %.str.4.sink2370 = phi ptr [ @.str.4, %3398 ], [ @.str, %3394 ]
  store i32 %3389, ptr %1476, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = load i32, ptr @test_count, align 4, !tbaa !5
  %3402 = load i32, ptr %290, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror(i32 noundef %3402, ptr noundef nonnull @.str.3) #12
  %3404 = load i32, ptr %290, align 4, !tbaa !5
  %3405 = call ptr @s2n_strerror_debug(i32 noundef %3404, ptr noundef nonnull @.str.3) #12
  %3406 = load i32, ptr %1476, align 4, !tbaa !5
  %3407 = call ptr @strerror(i32 noundef %3406) #12
  %3408 = load i32, ptr %1476, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3400, ptr noundef nonnull %.str.4.sink2370, i32 noundef %3401, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 321, ptr noundef %3403, ptr noundef %3405, ptr noundef %3407, i32 noundef %3408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3410:                                             ; preds = %3383
  %3411 = load i32, ptr @test_count, align 4, !tbaa !5
  %3412 = add nsw i32 %3411, 1
  store i32 %3412, ptr @test_count, align 4, !tbaa !5
  %3413 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2894, i32 noundef 5) #12
  %3414 = icmp eq i32 %3413, -1
  br i1 %3414, label %3415, label %3437

3415:                                             ; preds = %3410
  %3416 = load i32, ptr %1476, align 4, !tbaa !5
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = call i32 @s2n_print_stacktrace(ptr noundef %3417) #12
  %3419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3420 = trunc nuw i8 %3419 to i1
  br i1 %3420, label %3421, label %3425

3421:                                             ; preds = %3415
  %3422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3423 = call i32 @fileno(ptr noundef %3422) #12
  %3424 = call i32 @isatty(i32 noundef %3423) #12
  %.not813 = icmp eq i32 %3424, 0
  br i1 %.not813, label %3425, label %3426

3425:                                             ; preds = %3421, %3415
  br label %3426

3426:                                             ; preds = %3421, %3425
  %.str.4.sink2379 = phi ptr [ @.str.4, %3425 ], [ @.str, %3421 ]
  store i32 %3416, ptr %1476, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = load i32, ptr @test_count, align 4, !tbaa !5
  %3429 = load i32, ptr %290, align 4, !tbaa !5
  %3430 = call ptr @s2n_strerror(i32 noundef %3429, ptr noundef nonnull @.str.3) #12
  %3431 = load i32, ptr %290, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror_debug(i32 noundef %3431, ptr noundef nonnull @.str.3) #12
  %3433 = load i32, ptr %1476, align 4, !tbaa !5
  %3434 = call ptr @strerror(i32 noundef %3433) #12
  %3435 = load i32, ptr %1476, align 4, !tbaa !5
  %3436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3427, ptr noundef nonnull %.str.4.sink2379, i32 noundef %3428, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %3430, ptr noundef %3432, ptr noundef %3434, i32 noundef %3435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3437:                                             ; preds = %3410
  %3438 = load i32, ptr @test_count, align 4, !tbaa !5
  %3439 = add nsw i32 %3438, 1
  store i32 %3439, ptr @test_count, align 4, !tbaa !5
  %3440 = load i32, ptr %2895, align 4, !tbaa !59
  %3441 = load i32, ptr %2896, align 8, !tbaa !60
  %3442 = sub i32 %3440, %3441
  %3443 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2893, i32 noundef %3442) #12
  %3444 = icmp eq i32 %3443, -1
  br i1 %3444, label %3445, label %3467

3445:                                             ; preds = %3437
  %3446 = load i32, ptr %1476, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = call i32 @s2n_print_stacktrace(ptr noundef %3447) #12
  %3449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3450 = trunc nuw i8 %3449 to i1
  br i1 %3450, label %3451, label %3455

3451:                                             ; preds = %3445
  %3452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3453 = call i32 @fileno(ptr noundef %3452) #12
  %3454 = call i32 @isatty(i32 noundef %3453) #12
  %.not812 = icmp eq i32 %3454, 0
  br i1 %.not812, label %3455, label %3456

3455:                                             ; preds = %3451, %3445
  br label %3456

3456:                                             ; preds = %3451, %3455
  %.str.4.sink2388 = phi ptr [ @.str.4, %3455 ], [ @.str, %3451 ]
  store i32 %3446, ptr %1476, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = load i32, ptr %290, align 4, !tbaa !5
  %3460 = call ptr @s2n_strerror(i32 noundef %3459, ptr noundef nonnull @.str.3) #12
  %3461 = load i32, ptr %290, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef nonnull @.str.3) #12
  %3463 = load i32, ptr %1476, align 4, !tbaa !5
  %3464 = call ptr @strerror(i32 noundef %3463) #12
  %3465 = load i32, ptr %1476, align 4, !tbaa !5
  %3466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef nonnull %.str.4.sink2388, i32 noundef %3458, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 323, ptr noundef %3460, ptr noundef %3462, ptr noundef %3464, i32 noundef %3465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3467:                                             ; preds = %3437
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #12
  store i8 0, ptr %13, align 1, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %14) #12
  store i16 0, ptr %14, align 2, !tbaa !61
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = add nsw i32 %3468, 1
  store i32 %3469, ptr @test_count, align 4, !tbaa !5
  %3470 = call i32 @s2n_record_header_parse(ptr noundef nonnull %2832, ptr noundef nonnull %13, ptr noundef nonnull %14) #12
  %3471 = icmp eq i32 %3470, -1
  br i1 %3471, label %3472, label %3494

3472:                                             ; preds = %3467
  %3473 = load i32, ptr %1476, align 4, !tbaa !5
  %3474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3475 = call i32 @s2n_print_stacktrace(ptr noundef %3474) #12
  %3476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3477 = trunc nuw i8 %3476 to i1
  br i1 %3477, label %3478, label %3482

3478:                                             ; preds = %3472
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @fileno(ptr noundef %3479) #12
  %3481 = call i32 @isatty(i32 noundef %3480) #12
  %.not811 = icmp eq i32 %3481, 0
  br i1 %.not811, label %3482, label %3483

3482:                                             ; preds = %3478, %3472
  br label %3483

3483:                                             ; preds = %3478, %3482
  %.str.4.sink2397 = phi ptr [ @.str.4, %3482 ], [ @.str, %3478 ]
  store i32 %3473, ptr %1476, align 4, !tbaa !5
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = load i32, ptr @test_count, align 4, !tbaa !5
  %3486 = load i32, ptr %290, align 4, !tbaa !5
  %3487 = call ptr @s2n_strerror(i32 noundef %3486, ptr noundef nonnull @.str.3) #12
  %3488 = load i32, ptr %290, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror_debug(i32 noundef %3488, ptr noundef nonnull @.str.3) #12
  %3490 = load i32, ptr %1476, align 4, !tbaa !5
  %3491 = call ptr @strerror(i32 noundef %3490) #12
  %3492 = load i32, ptr %1476, align 4, !tbaa !5
  %3493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3484, ptr noundef nonnull %.str.4.sink2397, i32 noundef %3485, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 328, ptr noundef %3487, ptr noundef %3489, ptr noundef %3491, i32 noundef %3492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3494:                                             ; preds = %3467
  %3495 = load i32, ptr @test_count, align 4, !tbaa !5
  %3496 = add nsw i32 %3495, 1
  store i32 %3496, ptr @test_count, align 4, !tbaa !5
  %3497 = call i32 @s2n_record_parse(ptr noundef nonnull %2832) #12
  %3498 = icmp eq i32 %3497, -1
  br i1 %3498, label %3499, label %3521

3499:                                             ; preds = %3494
  %3500 = load i32, ptr %1476, align 4, !tbaa !5
  %3501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3502 = call i32 @s2n_print_stacktrace(ptr noundef %3501) #12
  %3503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3504 = trunc nuw i8 %3503 to i1
  br i1 %3504, label %3505, label %3509

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

3509:                                             ; preds = %3505, %3499
  br label %3510

3510:                                             ; preds = %3505, %3509
  %.str.4.sink2406 = phi ptr [ @.str.4, %3509 ], [ @.str, %3505 ]
  store i32 %3500, ptr %1476, align 4, !tbaa !5
  %3511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3512 = load i32, ptr @test_count, align 4, !tbaa !5
  %3513 = load i32, ptr %290, align 4, !tbaa !5
  %3514 = call ptr @s2n_strerror(i32 noundef %3513, ptr noundef nonnull @.str.3) #12
  %3515 = load i32, ptr %290, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror_debug(i32 noundef %3515, ptr noundef nonnull @.str.3) #12
  %3517 = load i32, ptr %1476, align 4, !tbaa !5
  %3518 = call ptr @strerror(i32 noundef %3517) #12
  %3519 = load i32, ptr %1476, align 4, !tbaa !5
  %3520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3511, ptr noundef nonnull %.str.4.sink2406, i32 noundef %3512, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 329, ptr noundef %3514, ptr noundef %3516, ptr noundef %3518, i32 noundef %3519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3521:                                             ; preds = %3494
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %3523 = add nsw i32 %3522, 1
  store i32 %3523, ptr @test_count, align 4, !tbaa !5
  %3524 = load i8, ptr %13, align 1, !tbaa !57
  %3525 = icmp eq i8 %3524, 23
  br i1 %3525, label %3548, label %3526

3526:                                             ; preds = %3521
  %3527 = load i32, ptr %1476, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = call i32 @s2n_print_stacktrace(ptr noundef %3528) #12
  %3530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3531 = trunc nuw i8 %3530 to i1
  br i1 %3531, label %3532, label %3536

3532:                                             ; preds = %3526
  %3533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3534 = call i32 @fileno(ptr noundef %3533) #12
  %3535 = call i32 @isatty(i32 noundef %3534) #12
  %.not746 = icmp eq i32 %3535, 0
  br i1 %.not746, label %3536, label %3537

3536:                                             ; preds = %3532, %3526
  br label %3537

3537:                                             ; preds = %3532, %3536
  %.str.4.sink2415 = phi ptr [ @.str.4, %3536 ], [ @.str, %3532 ]
  store i32 %3527, ptr %1476, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = load i32, ptr @test_count, align 4, !tbaa !5
  %3540 = load i32, ptr %290, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror(i32 noundef %3540, ptr noundef nonnull @.str.3) #12
  %3542 = load i32, ptr %290, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror_debug(i32 noundef %3542, ptr noundef nonnull @.str.3) #12
  %3544 = load i32, ptr %1476, align 4, !tbaa !5
  %3545 = call ptr @strerror(i32 noundef %3544) #12
  %3546 = load i32, ptr %1476, align 4, !tbaa !5
  %3547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3538, ptr noundef nonnull %.str.4.sink2415, i32 noundef %3539, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 330, ptr noundef %3541, ptr noundef %3543, ptr noundef %3545, i32 noundef %3546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3548:                                             ; preds = %3521
  %3549 = add nsw i32 %3522, 2
  store i32 %3549, ptr @test_count, align 4, !tbaa !5
  %3550 = load i16, ptr %14, align 2, !tbaa !61
  %3551 = trunc i32 %3162 to i16
  %3552 = icmp eq i16 %3550, %3551
  br i1 %3552, label %3575, label %3553

3553:                                             ; preds = %3548
  %3554 = load i32, ptr %1476, align 4, !tbaa !5
  %3555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3556 = call i32 @s2n_print_stacktrace(ptr noundef %3555) #12
  %3557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3558 = trunc nuw i8 %3557 to i1
  br i1 %3558, label %3559, label %3563

3559:                                             ; preds = %3553
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = call i32 @fileno(ptr noundef %3560) #12
  %3562 = call i32 @isatty(i32 noundef %3561) #12
  %.not747 = icmp eq i32 %3562, 0
  br i1 %.not747, label %3563, label %3564

3563:                                             ; preds = %3559, %3553
  br label %3564

3564:                                             ; preds = %3559, %3563
  %.str.4.sink2424 = phi ptr [ @.str.4, %3563 ], [ @.str, %3559 ]
  store i32 %3554, ptr %1476, align 4, !tbaa !5
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = load i32, ptr @test_count, align 4, !tbaa !5
  %3567 = load i32, ptr %290, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror(i32 noundef %3567, ptr noundef nonnull @.str.3) #12
  %3569 = load i32, ptr %290, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror_debug(i32 noundef %3569, ptr noundef nonnull @.str.3) #12
  %3571 = load i32, ptr %1476, align 4, !tbaa !5
  %3572 = call ptr @strerror(i32 noundef %3571) #12
  %3573 = load i32, ptr %1476, align 4, !tbaa !5
  %3574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3565, ptr noundef nonnull %.str.4.sink2424, i32 noundef %3566, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 331, ptr noundef %3568, ptr noundef %3570, ptr noundef %3572, i32 noundef %3573) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3575:                                             ; preds = %3548
  %3576 = add nsw i32 %3522, 3
  store i32 %3576, ptr @test_count, align 4, !tbaa !5
  %3577 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %3578 = icmp eq i32 %3577, -1
  br i1 %3578, label %3579, label %3601

3579:                                             ; preds = %3575
  %3580 = load i32, ptr %1476, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = call i32 @s2n_print_stacktrace(ptr noundef %3581) #12
  %3583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3584 = trunc nuw i8 %3583 to i1
  br i1 %3584, label %3585, label %3589

3585:                                             ; preds = %3579
  %3586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3587 = call i32 @fileno(ptr noundef %3586) #12
  %3588 = call i32 @isatty(i32 noundef %3587) #12
  %.not809 = icmp eq i32 %3588, 0
  br i1 %.not809, label %3589, label %3590

3589:                                             ; preds = %3585, %3579
  br label %3590

3590:                                             ; preds = %3585, %3589
  %.str.4.sink2433 = phi ptr [ @.str.4, %3589 ], [ @.str, %3585 ]
  store i32 %3580, ptr %1476, align 4, !tbaa !5
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = load i32, ptr @test_count, align 4, !tbaa !5
  %3593 = load i32, ptr %290, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror(i32 noundef %3593, ptr noundef nonnull @.str.3) #12
  %3595 = load i32, ptr %290, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror_debug(i32 noundef %3595, ptr noundef nonnull @.str.3) #12
  %3597 = load i32, ptr %1476, align 4, !tbaa !5
  %3598 = call ptr @strerror(i32 noundef %3597) #12
  %3599 = load i32, ptr %1476, align 4, !tbaa !5
  %3600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3591, ptr noundef nonnull %.str.4.sink2433, i32 noundef %3592, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 333, ptr noundef %3594, ptr noundef %3596, ptr noundef %3598, i32 noundef %3599) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3601:                                             ; preds = %3575
  %3602 = load i32, ptr @test_count, align 4, !tbaa !5
  %3603 = add nsw i32 %3602, 1
  store i32 %3603, ptr @test_count, align 4, !tbaa !5
  %3604 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %3605 = icmp eq i32 %3604, -1
  br i1 %3605, label %3606, label %3628

3606:                                             ; preds = %3601
  %3607 = load i32, ptr %1476, align 4, !tbaa !5
  %3608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3609 = call i32 @s2n_print_stacktrace(ptr noundef %3608) #12
  %3610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3611 = trunc nuw i8 %3610 to i1
  br i1 %3611, label %3612, label %3616

3612:                                             ; preds = %3606
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @fileno(ptr noundef %3613) #12
  %3615 = call i32 @isatty(i32 noundef %3614) #12
  %.not808 = icmp eq i32 %3615, 0
  br i1 %.not808, label %3616, label %3617

3616:                                             ; preds = %3612, %3606
  br label %3617

3617:                                             ; preds = %3612, %3616
  %.str.4.sink2442 = phi ptr [ @.str.4, %3616 ], [ @.str, %3612 ]
  store i32 %3607, ptr %1476, align 4, !tbaa !5
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = load i32, ptr @test_count, align 4, !tbaa !5
  %3620 = load i32, ptr %290, align 4, !tbaa !5
  %3621 = call ptr @s2n_strerror(i32 noundef %3620, ptr noundef nonnull @.str.3) #12
  %3622 = load i32, ptr %290, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror_debug(i32 noundef %3622, ptr noundef nonnull @.str.3) #12
  %3624 = load i32, ptr %1476, align 4, !tbaa !5
  %3625 = call ptr @strerror(i32 noundef %3624) #12
  %3626 = load i32, ptr %1476, align 4, !tbaa !5
  %3627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3618, ptr noundef nonnull %.str.4.sink2442, i32 noundef %3619, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 334, ptr noundef %3621, ptr noundef %3623, ptr noundef %3625, i32 noundef %3626) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3628:                                             ; preds = %3601
  %3629 = load i32, ptr @test_count, align 4, !tbaa !5
  %3630 = add nsw i32 %3629, 1
  store i32 %3630, ptr @test_count, align 4, !tbaa !5
  %3631 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2832) #12
  %3632 = icmp eq i32 %3631, -1
  br i1 %3632, label %3633, label %3655

3633:                                             ; preds = %3628
  %3634 = load i32, ptr %1476, align 4, !tbaa !5
  %3635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3636 = call i32 @s2n_print_stacktrace(ptr noundef %3635) #12
  %3637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3638 = trunc nuw i8 %3637 to i1
  br i1 %3638, label %3639, label %3643

3639:                                             ; preds = %3633
  %3640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3641 = call i32 @fileno(ptr noundef %3640) #12
  %3642 = call i32 @isatty(i32 noundef %3641) #12
  %.not807 = icmp eq i32 %3642, 0
  br i1 %.not807, label %3643, label %3644

3643:                                             ; preds = %3639, %3633
  br label %3644

3644:                                             ; preds = %3639, %3643
  %.str.4.sink2451 = phi ptr [ @.str.4, %3643 ], [ @.str, %3639 ]
  store i32 %3634, ptr %1476, align 4, !tbaa !5
  %3645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = load i32, ptr %290, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror(i32 noundef %3647, ptr noundef nonnull @.str.3) #12
  %3649 = load i32, ptr %290, align 4, !tbaa !5
  %3650 = call ptr @s2n_strerror_debug(i32 noundef %3649, ptr noundef nonnull @.str.3) #12
  %3651 = load i32, ptr %1476, align 4, !tbaa !5
  %3652 = call ptr @strerror(i32 noundef %3651) #12
  %3653 = load i32, ptr %1476, align 4, !tbaa !5
  %3654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3645, ptr noundef nonnull %.str.4.sink2451, i32 noundef %3646, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 336, ptr noundef %3648, ptr noundef %3650, ptr noundef %3652, i32 noundef %3653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3655:                                             ; preds = %3628
  store i8 33, ptr %2890, align 1, !tbaa !52
  store i8 33, ptr %2891, align 2, !tbaa !53
  store i8 33, ptr %2888, align 4, !tbaa !54
  %3656 = load ptr, ptr %2857, align 8, !tbaa !15
  %3657 = load ptr, ptr %3656, align 8, !tbaa !44
  %3658 = getelementptr inbounds i8, ptr %3657, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %3658, align 8, !tbaa !49
  %3659 = load i32, ptr @test_count, align 4, !tbaa !5
  %3660 = add nsw i32 %3659, 1
  store i32 %3660, ptr @test_count, align 4, !tbaa !5
  %3661 = call i32 @destroy_server_keys(ptr noundef nonnull %2832)
  %3662 = icmp eq i32 %3661, -1
  br i1 %3662, label %3663, label %3685

3663:                                             ; preds = %3655
  %3664 = load i32, ptr %1476, align 4, !tbaa !5
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = call i32 @s2n_print_stacktrace(ptr noundef %3665) #12
  %3667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3668 = trunc nuw i8 %3667 to i1
  br i1 %3668, label %3669, label %3673

3669:                                             ; preds = %3663
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = call i32 @fileno(ptr noundef %3670) #12
  %3672 = call i32 @isatty(i32 noundef %3671) #12
  %.not806 = icmp eq i32 %3672, 0
  br i1 %.not806, label %3673, label %3674

3673:                                             ; preds = %3669, %3663
  br label %3674

3674:                                             ; preds = %3669, %3673
  %.str.4.sink2460 = phi ptr [ @.str.4, %3673 ], [ @.str, %3669 ]
  store i32 %3664, ptr %1476, align 4, !tbaa !5
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = load i32, ptr @test_count, align 4, !tbaa !5
  %3677 = load i32, ptr %290, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror(i32 noundef %3677, ptr noundef nonnull @.str.3) #12
  %3679 = load i32, ptr %290, align 4, !tbaa !5
  %3680 = call ptr @s2n_strerror_debug(i32 noundef %3679, ptr noundef nonnull @.str.3) #12
  %3681 = load i32, ptr %1476, align 4, !tbaa !5
  %3682 = call ptr @strerror(i32 noundef %3681) #12
  %3683 = load i32, ptr %1476, align 4, !tbaa !5
  %3684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3675, ptr noundef nonnull %.str.4.sink2460, i32 noundef %3676, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 341, ptr noundef %3678, ptr noundef %3680, ptr noundef %3682, i32 noundef %3683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3685:                                             ; preds = %3655
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = add nsw i32 %3686, 1
  store i32 %3687, ptr @test_count, align 4, !tbaa !5
  %3688 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %3689 = icmp eq i32 %3688, -1
  br i1 %3689, label %3690, label %3712

3690:                                             ; preds = %3685
  %3691 = load i32, ptr %1476, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = call i32 @s2n_print_stacktrace(ptr noundef %3692) #12
  %3694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3695 = trunc nuw i8 %3694 to i1
  br i1 %3695, label %3696, label %3700

3696:                                             ; preds = %3690
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @fileno(ptr noundef %3697) #12
  %3699 = call i32 @isatty(i32 noundef %3698) #12
  %.not805 = icmp eq i32 %3699, 0
  br i1 %.not805, label %3700, label %3701

3700:                                             ; preds = %3696, %3690
  br label %3701

3701:                                             ; preds = %3696, %3700
  %.str.4.sink2469 = phi ptr [ @.str.4, %3700 ], [ @.str, %3696 ]
  store i32 %3691, ptr %1476, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = load i32, ptr @test_count, align 4, !tbaa !5
  %3704 = load i32, ptr %290, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror(i32 noundef %3704, ptr noundef nonnull @.str.3) #12
  %3706 = load i32, ptr %290, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror_debug(i32 noundef %3706, ptr noundef nonnull @.str.3) #12
  %3708 = load i32, ptr %1476, align 4, !tbaa !5
  %3709 = call ptr @strerror(i32 noundef %3708) #12
  %3710 = load i32, ptr %1476, align 4, !tbaa !5
  %3711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3702, ptr noundef nonnull %.str.4.sink2469, i32 noundef %3703, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 342, ptr noundef %3705, ptr noundef %3707, ptr noundef %3709, i32 noundef %3710) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3712:                                             ; preds = %3685
  store i8 33, ptr %2888, align 4, !tbaa !54
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = add nsw i32 %3713, 1
  store i32 %3714, ptr @test_count, align 4, !tbaa !5
  %3715 = call i32 @s2n_record_write(ptr noundef nonnull %2832, i8 noundef zeroext 23, ptr noundef nonnull %12) #12
  %3716 = call zeroext i1 @s2n_result_is_ok(i32 %3715)
  br i1 %3716, label %3739, label %3717

3717:                                             ; preds = %3712
  %3718 = load i32, ptr %1476, align 4, !tbaa !5
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = call i32 @s2n_print_stacktrace(ptr noundef %3719) #12
  %3721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3722 = trunc nuw i8 %3721 to i1
  br i1 %3722, label %3723, label %3727

3723:                                             ; preds = %3717
  %3724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3725 = call i32 @fileno(ptr noundef %3724) #12
  %3726 = call i32 @isatty(i32 noundef %3725) #12
  %.not748 = icmp eq i32 %3726, 0
  br i1 %.not748, label %3727, label %3728

3727:                                             ; preds = %3723, %3717
  br label %3728

3728:                                             ; preds = %3723, %3727
  %.str.4.sink2478 = phi ptr [ @.str.4, %3727 ], [ @.str, %3723 ]
  store i32 %3718, ptr %1476, align 4, !tbaa !5
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = load i32, ptr @test_count, align 4, !tbaa !5
  %3731 = load i32, ptr %290, align 4, !tbaa !5
  %3732 = call ptr @s2n_strerror(i32 noundef %3731, ptr noundef nonnull @.str.3) #12
  %3733 = load i32, ptr %290, align 4, !tbaa !5
  %3734 = call ptr @s2n_strerror_debug(i32 noundef %3733, ptr noundef nonnull @.str.3) #12
  %3735 = load i32, ptr %1476, align 4, !tbaa !5
  %3736 = call ptr @strerror(i32 noundef %3735) #12
  %3737 = load i32, ptr %1476, align 4, !tbaa !5
  %3738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3729, ptr noundef nonnull %.str.4.sink2478, i32 noundef %3730, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 344, ptr noundef %3732, ptr noundef %3734, ptr noundef %3736, i32 noundef %3737) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3739:                                             ; preds = %3712
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = add nsw i32 %3740, 1
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %3743 = icmp eq i32 %3742, -1
  br i1 %3743, label %3744, label %3766

3744:                                             ; preds = %3739
  %3745 = load i32, ptr %1476, align 4, !tbaa !5
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = call i32 @s2n_print_stacktrace(ptr noundef %3746) #12
  %3748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3749 = trunc nuw i8 %3748 to i1
  br i1 %3749, label %3750, label %3754

3750:                                             ; preds = %3744
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = call i32 @fileno(ptr noundef %3751) #12
  %3753 = call i32 @isatty(i32 noundef %3752) #12
  %.not804 = icmp eq i32 %3753, 0
  br i1 %.not804, label %3754, label %3755

3754:                                             ; preds = %3750, %3744
  br label %3755

3755:                                             ; preds = %3750, %3754
  %.str.4.sink2487 = phi ptr [ @.str.4, %3754 ], [ @.str, %3750 ]
  store i32 %3745, ptr %1476, align 4, !tbaa !5
  %3756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3757 = load i32, ptr @test_count, align 4, !tbaa !5
  %3758 = load i32, ptr %290, align 4, !tbaa !5
  %3759 = call ptr @s2n_strerror(i32 noundef %3758, ptr noundef nonnull @.str.3) #12
  %3760 = load i32, ptr %290, align 4, !tbaa !5
  %3761 = call ptr @s2n_strerror_debug(i32 noundef %3760, ptr noundef nonnull @.str.3) #12
  %3762 = load i32, ptr %1476, align 4, !tbaa !5
  %3763 = call ptr @strerror(i32 noundef %3762) #12
  %3764 = load i32, ptr %1476, align 4, !tbaa !5
  %3765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3756, ptr noundef nonnull %.str.4.sink2487, i32 noundef %3757, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 348, ptr noundef %3759, ptr noundef %3761, ptr noundef %3763, i32 noundef %3764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3766:                                             ; preds = %3739
  %3767 = load i32, ptr @test_count, align 4, !tbaa !5
  %3768 = add nsw i32 %3767, 1
  store i32 %3768, ptr @test_count, align 4, !tbaa !5
  %3769 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %3770 = icmp eq i32 %3769, -1
  br i1 %3770, label %3771, label %3793

3771:                                             ; preds = %3766
  %3772 = load i32, ptr %1476, align 4, !tbaa !5
  %3773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3774 = call i32 @s2n_print_stacktrace(ptr noundef %3773) #12
  %3775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3776 = trunc nuw i8 %3775 to i1
  br i1 %3776, label %3777, label %3781

3777:                                             ; preds = %3771
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = call i32 @fileno(ptr noundef %3778) #12
  %3780 = call i32 @isatty(i32 noundef %3779) #12
  %.not803 = icmp eq i32 %3780, 0
  br i1 %.not803, label %3781, label %3782

3781:                                             ; preds = %3777, %3771
  br label %3782

3782:                                             ; preds = %3777, %3781
  %.str.4.sink2496 = phi ptr [ @.str.4, %3781 ], [ @.str, %3777 ]
  store i32 %3772, ptr %1476, align 4, !tbaa !5
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = load i32, ptr @test_count, align 4, !tbaa !5
  %3785 = load i32, ptr %290, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror(i32 noundef %3785, ptr noundef nonnull @.str.3) #12
  %3787 = load i32, ptr %290, align 4, !tbaa !5
  %3788 = call ptr @s2n_strerror_debug(i32 noundef %3787, ptr noundef nonnull @.str.3) #12
  %3789 = load i32, ptr %1476, align 4, !tbaa !5
  %3790 = call ptr @strerror(i32 noundef %3789) #12
  %3791 = load i32, ptr %1476, align 4, !tbaa !5
  %3792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3783, ptr noundef nonnull %.str.4.sink2496, i32 noundef %3784, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %3786, ptr noundef %3788, ptr noundef %3790, i32 noundef %3791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3793:                                             ; preds = %3766
  %3794 = load i32, ptr @test_count, align 4, !tbaa !5
  %3795 = add nsw i32 %3794, 1
  store i32 %3795, ptr @test_count, align 4, !tbaa !5
  %3796 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2894, i32 noundef 5) #12
  %3797 = icmp eq i32 %3796, -1
  br i1 %3797, label %3798, label %3820

3798:                                             ; preds = %3793
  %3799 = load i32, ptr %1476, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = call i32 @s2n_print_stacktrace(ptr noundef %3800) #12
  %3802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3803 = trunc nuw i8 %3802 to i1
  br i1 %3803, label %3804, label %3808

3804:                                             ; preds = %3798
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @fileno(ptr noundef %3805) #12
  %3807 = call i32 @isatty(i32 noundef %3806) #12
  %.not802 = icmp eq i32 %3807, 0
  br i1 %.not802, label %3808, label %3809

3808:                                             ; preds = %3804, %3798
  br label %3809

3809:                                             ; preds = %3804, %3808
  %.str.4.sink2505 = phi ptr [ @.str.4, %3808 ], [ @.str, %3804 ]
  store i32 %3799, ptr %1476, align 4, !tbaa !5
  %3810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3811 = load i32, ptr @test_count, align 4, !tbaa !5
  %3812 = load i32, ptr %290, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror(i32 noundef %3812, ptr noundef nonnull @.str.3) #12
  %3814 = load i32, ptr %290, align 4, !tbaa !5
  %3815 = call ptr @s2n_strerror_debug(i32 noundef %3814, ptr noundef nonnull @.str.3) #12
  %3816 = load i32, ptr %1476, align 4, !tbaa !5
  %3817 = call ptr @strerror(i32 noundef %3816) #12
  %3818 = load i32, ptr %1476, align 4, !tbaa !5
  %3819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3810, ptr noundef nonnull %.str.4.sink2505, i32 noundef %3811, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 350, ptr noundef %3813, ptr noundef %3815, ptr noundef %3817, i32 noundef %3818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3820:                                             ; preds = %3793
  %3821 = load i32, ptr @test_count, align 4, !tbaa !5
  %3822 = add nsw i32 %3821, 1
  store i32 %3822, ptr @test_count, align 4, !tbaa !5
  %3823 = load i32, ptr %2895, align 4, !tbaa !59
  %3824 = load i32, ptr %2896, align 8, !tbaa !60
  %3825 = sub i32 %3823, %3824
  %3826 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2893, i32 noundef %3825) #12
  %3827 = icmp eq i32 %3826, -1
  br i1 %3827, label %3828, label %3850

3828:                                             ; preds = %3820
  %3829 = load i32, ptr %1476, align 4, !tbaa !5
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @s2n_print_stacktrace(ptr noundef %3830) #12
  %3832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3833 = trunc nuw i8 %3832 to i1
  br i1 %3833, label %3834, label %3838

3834:                                             ; preds = %3828
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = call i32 @fileno(ptr noundef %3835) #12
  %3837 = call i32 @isatty(i32 noundef %3836) #12
  %.not801 = icmp eq i32 %3837, 0
  br i1 %.not801, label %3838, label %3839

3838:                                             ; preds = %3834, %3828
  br label %3839

3839:                                             ; preds = %3834, %3838
  %.str.4.sink2514 = phi ptr [ @.str.4, %3838 ], [ @.str, %3834 ]
  store i32 %3829, ptr %1476, align 4, !tbaa !5
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = load i32, ptr @test_count, align 4, !tbaa !5
  %3842 = load i32, ptr %290, align 4, !tbaa !5
  %3843 = call ptr @s2n_strerror(i32 noundef %3842, ptr noundef nonnull @.str.3) #12
  %3844 = load i32, ptr %290, align 4, !tbaa !5
  %3845 = call ptr @s2n_strerror_debug(i32 noundef %3844, ptr noundef nonnull @.str.3) #12
  %3846 = load i32, ptr %1476, align 4, !tbaa !5
  %3847 = call ptr @strerror(i32 noundef %3846) #12
  %3848 = load i32, ptr %1476, align 4, !tbaa !5
  %3849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3840, ptr noundef nonnull %.str.4.sink2514, i32 noundef %3841, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 351, ptr noundef %3843, ptr noundef %3845, ptr noundef %3847, i32 noundef %3848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3850:                                             ; preds = %3820
  %3851 = load ptr, ptr %2893, align 8, !tbaa !65
  %3852 = getelementptr inbounds i8, ptr %3851, i64 2
  store i8 2, ptr %3852, align 1, !tbaa !57
  %3853 = load i32, ptr @test_count, align 4, !tbaa !5
  %3854 = add nsw i32 %3853, 1
  store i32 %3854, ptr @test_count, align 4, !tbaa !5
  %3855 = call i32 @s2n_record_header_parse(ptr noundef nonnull %2832, ptr noundef nonnull %13, ptr noundef nonnull %14) #12
  %3856 = icmp eq i32 %3855, -1
  br i1 %3856, label %3857, label %3879

3857:                                             ; preds = %3850
  %3858 = load i32, ptr %1476, align 4, !tbaa !5
  %3859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3860 = call i32 @s2n_print_stacktrace(ptr noundef %3859) #12
  %3861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3862 = trunc nuw i8 %3861 to i1
  br i1 %3862, label %3863, label %3867

3863:                                             ; preds = %3857
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @fileno(ptr noundef %3864) #12
  %3866 = call i32 @isatty(i32 noundef %3865) #12
  %.not800 = icmp eq i32 %3866, 0
  br i1 %.not800, label %3867, label %3868

3867:                                             ; preds = %3863, %3857
  br label %3868

3868:                                             ; preds = %3863, %3867
  %.str.4.sink2523 = phi ptr [ @.str.4, %3867 ], [ @.str, %3863 ]
  store i32 %3858, ptr %1476, align 4, !tbaa !5
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = load i32, ptr @test_count, align 4, !tbaa !5
  %3871 = load i32, ptr %290, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror(i32 noundef %3871, ptr noundef nonnull @.str.3) #12
  %3873 = load i32, ptr %290, align 4, !tbaa !5
  %3874 = call ptr @s2n_strerror_debug(i32 noundef %3873, ptr noundef nonnull @.str.3) #12
  %3875 = load i32, ptr %1476, align 4, !tbaa !5
  %3876 = call ptr @strerror(i32 noundef %3875) #12
  %3877 = load i32, ptr %1476, align 4, !tbaa !5
  %3878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3869, ptr noundef nonnull %.str.4.sink2523, i32 noundef %3870, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 355, ptr noundef %3872, ptr noundef %3874, ptr noundef %3876, i32 noundef %3877) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3879:                                             ; preds = %3850
  %3880 = load i32, ptr @test_count, align 4, !tbaa !5
  %3881 = add nsw i32 %3880, 1
  store i32 %3881, ptr @test_count, align 4, !tbaa !5
  %3882 = call i32 @s2n_record_parse(ptr noundef nonnull %2832) #12
  %3883 = icmp eq i32 %3882, -1
  br i1 %3883, label %3906, label %3884

3884:                                             ; preds = %3879
  %3885 = load i32, ptr %1476, align 4, !tbaa !5
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = call i32 @s2n_print_stacktrace(ptr noundef %3886) #12
  %3888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3889 = trunc nuw i8 %3888 to i1
  br i1 %3889, label %3890, label %3894

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

3894:                                             ; preds = %3890, %3884
  br label %3895

3895:                                             ; preds = %3890, %3894
  %.str.4.sink2532 = phi ptr [ @.str.4, %3894 ], [ @.str, %3890 ]
  store i32 %3885, ptr %1476, align 4, !tbaa !5
  %3896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3897 = load i32, ptr @test_count, align 4, !tbaa !5
  %3898 = load i32, ptr %290, align 4, !tbaa !5
  %3899 = call ptr @s2n_strerror(i32 noundef %3898, ptr noundef nonnull @.str.3) #12
  %3900 = load i32, ptr %290, align 4, !tbaa !5
  %3901 = call ptr @s2n_strerror_debug(i32 noundef %3900, ptr noundef nonnull @.str.3) #12
  %3902 = load i32, ptr %1476, align 4, !tbaa !5
  %3903 = call ptr @strerror(i32 noundef %3902) #12
  %3904 = load i32, ptr %1476, align 4, !tbaa !5
  %3905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3896, ptr noundef nonnull %.str.4.sink2532, i32 noundef %3897, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 356, ptr noundef %3899, ptr noundef %3901, ptr noundef %3903, i32 noundef %3904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3906:                                             ; preds = %3879
  %3907 = load i32, ptr @test_count, align 4, !tbaa !5
  %3908 = add nsw i32 %3907, 1
  store i32 %3908, ptr @test_count, align 4, !tbaa !5
  %3909 = load i32, ptr %290, align 4, !tbaa !5
  %3910 = icmp eq i32 %3909, 0
  br i1 %3910, label %3911, label %3933

3911:                                             ; preds = %3906
  %3912 = load i32, ptr %1476, align 4, !tbaa !5
  %3913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3914 = call i32 @s2n_print_stacktrace(ptr noundef %3913) #12
  %3915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3916 = trunc nuw i8 %3915 to i1
  br i1 %3916, label %3917, label %3921

3917:                                             ; preds = %3911
  %3918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3919 = call i32 @fileno(ptr noundef %3918) #12
  %3920 = call i32 @isatty(i32 noundef %3919) #12
  %.not799 = icmp eq i32 %3920, 0
  br i1 %.not799, label %3921, label %3922

3921:                                             ; preds = %3917, %3911
  br label %3922

3922:                                             ; preds = %3917, %3921
  %.str.4.sink2541 = phi ptr [ @.str.4, %3921 ], [ @.str, %3917 ]
  store i32 %3912, ptr %1476, align 4, !tbaa !5
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = load i32, ptr @test_count, align 4, !tbaa !5
  %3925 = load i32, ptr %290, align 4, !tbaa !5
  %3926 = call ptr @s2n_strerror(i32 noundef %3925, ptr noundef nonnull @.str.3) #12
  %3927 = load i32, ptr %290, align 4, !tbaa !5
  %3928 = call ptr @s2n_strerror_debug(i32 noundef %3927, ptr noundef nonnull @.str.3) #12
  %3929 = load i32, ptr %1476, align 4, !tbaa !5
  %3930 = call ptr @strerror(i32 noundef %3929) #12
  %3931 = load i32, ptr %1476, align 4, !tbaa !5
  %3932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3923, ptr noundef nonnull %.str.4.sink2541, i32 noundef %3924, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 356, ptr noundef %3926, ptr noundef %3928, ptr noundef %3930, i32 noundef %3931) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3933:                                             ; preds = %3906
  %3934 = add nsw i32 %3907, 2
  store i32 %3934, ptr @test_count, align 4, !tbaa !5
  %3935 = call ptr @s2n_strerror_debug(i32 noundef %3909, ptr noundef nonnull @.str.3) #12
  %3936 = icmp eq ptr %3935, null
  br i1 %3936, label %3937, label %3959

3937:                                             ; preds = %3933
  %3938 = load i32, ptr %1476, align 4, !tbaa !5
  %3939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3940 = call i32 @s2n_print_stacktrace(ptr noundef %3939) #12
  %3941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3942 = trunc nuw i8 %3941 to i1
  br i1 %3942, label %3943, label %3947

3943:                                             ; preds = %3937
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = call i32 @fileno(ptr noundef %3944) #12
  %3946 = call i32 @isatty(i32 noundef %3945) #12
  %.not798 = icmp eq i32 %3946, 0
  br i1 %.not798, label %3947, label %3948

3947:                                             ; preds = %3943, %3937
  br label %3948

3948:                                             ; preds = %3943, %3947
  %.str.4.sink2550 = phi ptr [ @.str.4, %3947 ], [ @.str, %3943 ]
  store i32 %3938, ptr %1476, align 4, !tbaa !5
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = load i32, ptr @test_count, align 4, !tbaa !5
  %3951 = load i32, ptr %290, align 4, !tbaa !5
  %3952 = call ptr @s2n_strerror(i32 noundef %3951, ptr noundef nonnull @.str.3) #12
  %3953 = load i32, ptr %290, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror_debug(i32 noundef %3953, ptr noundef nonnull @.str.3) #12
  %3955 = load i32, ptr %1476, align 4, !tbaa !5
  %3956 = call ptr @strerror(i32 noundef %3955) #12
  %3957 = load i32, ptr %1476, align 4, !tbaa !5
  %3958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3949, ptr noundef nonnull %.str.4.sink2550, i32 noundef %3950, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 356, ptr noundef %3952, ptr noundef %3954, ptr noundef %3956, i32 noundef %3957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3959:                                             ; preds = %3933
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = add nsw i32 %3960, 1
  store i32 %3961, ptr @test_count, align 4, !tbaa !5
  %3962 = load i8, ptr %13, align 1, !tbaa !57
  %3963 = icmp eq i8 %3962, 23
  br i1 %3963, label %3986, label %3964

3964:                                             ; preds = %3959
  %3965 = load i32, ptr %1476, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @s2n_print_stacktrace(ptr noundef %3966) #12
  %3968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3969 = trunc nuw i8 %3968 to i1
  br i1 %3969, label %3970, label %3974

3970:                                             ; preds = %3964
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = call i32 @fileno(ptr noundef %3971) #12
  %3973 = call i32 @isatty(i32 noundef %3972) #12
  %.not750 = icmp eq i32 %3973, 0
  br i1 %.not750, label %3974, label %3975

3974:                                             ; preds = %3970, %3964
  br label %3975

3975:                                             ; preds = %3970, %3974
  %.str.4.sink2559 = phi ptr [ @.str.4, %3974 ], [ @.str, %3970 ]
  store i32 %3965, ptr %1476, align 4, !tbaa !5
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = load i32, ptr @test_count, align 4, !tbaa !5
  %3978 = load i32, ptr %290, align 4, !tbaa !5
  %3979 = call ptr @s2n_strerror(i32 noundef %3978, ptr noundef nonnull @.str.3) #12
  %3980 = load i32, ptr %290, align 4, !tbaa !5
  %3981 = call ptr @s2n_strerror_debug(i32 noundef %3980, ptr noundef nonnull @.str.3) #12
  %3982 = load i32, ptr %1476, align 4, !tbaa !5
  %3983 = call ptr @strerror(i32 noundef %3982) #12
  %3984 = load i32, ptr %1476, align 4, !tbaa !5
  %3985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3976, ptr noundef nonnull %.str.4.sink2559, i32 noundef %3977, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 357, ptr noundef %3979, ptr noundef %3981, ptr noundef %3983, i32 noundef %3984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3986:                                             ; preds = %3959
  %3987 = add nsw i32 %3960, 2
  store i32 %3987, ptr @test_count, align 4, !tbaa !5
  %3988 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %3989 = icmp eq i32 %3988, -1
  br i1 %3989, label %3990, label %4012

3990:                                             ; preds = %3986
  %3991 = load i32, ptr %1476, align 4, !tbaa !5
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @s2n_print_stacktrace(ptr noundef %3992) #12
  %3994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3995 = trunc nuw i8 %3994 to i1
  br i1 %3995, label %3996, label %4000

3996:                                             ; preds = %3990
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = call i32 @fileno(ptr noundef %3997) #12
  %3999 = call i32 @isatty(i32 noundef %3998) #12
  %.not797 = icmp eq i32 %3999, 0
  br i1 %.not797, label %4000, label %4001

4000:                                             ; preds = %3996, %3990
  br label %4001

4001:                                             ; preds = %3996, %4000
  %.str.4.sink2568 = phi ptr [ @.str.4, %4000 ], [ @.str, %3996 ]
  store i32 %3991, ptr %1476, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = load i32, ptr %290, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror(i32 noundef %4004, ptr noundef nonnull @.str.3) #12
  %4006 = load i32, ptr %290, align 4, !tbaa !5
  %4007 = call ptr @s2n_strerror_debug(i32 noundef %4006, ptr noundef nonnull @.str.3) #12
  %4008 = load i32, ptr %1476, align 4, !tbaa !5
  %4009 = call ptr @strerror(i32 noundef %4008) #12
  %4010 = load i32, ptr %1476, align 4, !tbaa !5
  %4011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4002, ptr noundef nonnull %.str.4.sink2568, i32 noundef %4003, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %4005, ptr noundef %4007, ptr noundef %4009, i32 noundef %4010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4012:                                             ; preds = %3986
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = add nsw i32 %4013, 1
  store i32 %4014, ptr @test_count, align 4, !tbaa !5
  %4015 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4016 = icmp eq i32 %4015, -1
  br i1 %4016, label %4017, label %.preheader925

4017:                                             ; preds = %4012
  %4018 = load i32, ptr %1476, align 4, !tbaa !5
  %4019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4020 = call i32 @s2n_print_stacktrace(ptr noundef %4019) #12
  %4021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4022 = trunc nuw i8 %4021 to i1
  br i1 %4022, label %4023, label %4027

4023:                                             ; preds = %4017
  %4024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4025 = call i32 @fileno(ptr noundef %4024) #12
  %4026 = call i32 @isatty(i32 noundef %4025) #12
  %.not796 = icmp eq i32 %4026, 0
  br i1 %.not796, label %4027, label %4028

4027:                                             ; preds = %4023, %4017
  br label %4028

4028:                                             ; preds = %4023, %4027
  %.str.4.sink2577 = phi ptr [ @.str.4, %4027 ], [ @.str, %4023 ]
  store i32 %4018, ptr %1476, align 4, !tbaa !5
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = load i32, ptr @test_count, align 4, !tbaa !5
  %4031 = load i32, ptr %290, align 4, !tbaa !5
  %4032 = call ptr @s2n_strerror(i32 noundef %4031, ptr noundef nonnull @.str.3) #12
  %4033 = load i32, ptr %290, align 4, !tbaa !5
  %4034 = call ptr @s2n_strerror_debug(i32 noundef %4033, ptr noundef nonnull @.str.3) #12
  %4035 = load i32, ptr %1476, align 4, !tbaa !5
  %4036 = call ptr @strerror(i32 noundef %4035) #12
  %4037 = load i32, ptr %1476, align 4, !tbaa !5
  %4038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4029, ptr noundef nonnull %.str.4.sink2577, i32 noundef %4030, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 360, ptr noundef %4032, ptr noundef %4034, ptr noundef %4036, i32 noundef %4037) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4039:                                             ; preds = %4426
  %4040 = add nuw nsw i64 %.07181131, 1
  %exitcond1238.not = icmp eq i64 %4040, 8
  br i1 %exitcond1238.not, label %.preheader924, label %.preheader925, !llvm.loop !71

.preheader925:                                    ; preds = %4012, %4039
  %.07181131 = phi i64 [ %4040, %4039 ], [ 0, %4012 ]
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = add nsw i32 %4041, 1
  store i32 %4042, ptr @test_count, align 4, !tbaa !5
  %4043 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2832) #12
  %4044 = icmp eq i32 %4043, -1
  br i1 %4044, label %4045, label %4067

4045:                                             ; preds = %.preheader925
  %4046 = load i32, ptr %1476, align 4, !tbaa !5
  %4047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4048 = call i32 @s2n_print_stacktrace(ptr noundef %4047) #12
  %4049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4050 = trunc nuw i8 %4049 to i1
  br i1 %4050, label %4051, label %4055

4051:                                             ; preds = %4045
  %4052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4053 = call i32 @fileno(ptr noundef %4052) #12
  %4054 = call i32 @isatty(i32 noundef %4053) #12
  %.not795 = icmp eq i32 %4054, 0
  br i1 %.not795, label %4055, label %4056

4055:                                             ; preds = %4051, %4045
  br label %4056

4056:                                             ; preds = %4051, %4055
  %.str.4.sink2586 = phi ptr [ @.str.4, %4055 ], [ @.str, %4051 ]
  store i32 %4046, ptr %1476, align 4, !tbaa !5
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = load i32, ptr @test_count, align 4, !tbaa !5
  %4059 = load i32, ptr %290, align 4, !tbaa !5
  %4060 = call ptr @s2n_strerror(i32 noundef %4059, ptr noundef nonnull @.str.3) #12
  %4061 = load i32, ptr %290, align 4, !tbaa !5
  %4062 = call ptr @s2n_strerror_debug(i32 noundef %4061, ptr noundef nonnull @.str.3) #12
  %4063 = load i32, ptr %1476, align 4, !tbaa !5
  %4064 = call ptr @strerror(i32 noundef %4063) #12
  %4065 = load i32, ptr %1476, align 4, !tbaa !5
  %4066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4057, ptr noundef nonnull %.str.4.sink2586, i32 noundef %4058, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 364, ptr noundef %4060, ptr noundef %4062, ptr noundef %4064, i32 noundef %4065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4067:                                             ; preds = %.preheader925
  store i8 1, ptr %2889, align 2, !tbaa !51
  store i8 33, ptr %2890, align 1, !tbaa !52
  store i8 33, ptr %2891, align 2, !tbaa !53
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4068 = load ptr, ptr %2857, align 8, !tbaa !15
  %4069 = load ptr, ptr %4068, align 8, !tbaa !44
  %4070 = getelementptr inbounds i8, ptr %4069, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %4070, align 8, !tbaa !49
  %4071 = load i32, ptr @test_count, align 4, !tbaa !5
  %4072 = add nsw i32 %4071, 1
  store i32 %4072, ptr @test_count, align 4, !tbaa !5
  %4073 = call i32 @destroy_server_keys(ptr noundef %2832)
  %4074 = icmp eq i32 %4073, -1
  br i1 %4074, label %4075, label %4097

4075:                                             ; preds = %4067
  %4076 = load i32, ptr %1476, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = call i32 @s2n_print_stacktrace(ptr noundef %4077) #12
  %4079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4080 = trunc nuw i8 %4079 to i1
  br i1 %4080, label %4081, label %4085

4081:                                             ; preds = %4075
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = call i32 @fileno(ptr noundef %4082) #12
  %4084 = call i32 @isatty(i32 noundef %4083) #12
  %.not794 = icmp eq i32 %4084, 0
  br i1 %.not794, label %4085, label %4086

4085:                                             ; preds = %4081, %4075
  br label %4086

4086:                                             ; preds = %4081, %4085
  %.str.4.sink2595 = phi ptr [ @.str.4, %4085 ], [ @.str, %4081 ]
  store i32 %4076, ptr %1476, align 4, !tbaa !5
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = load i32, ptr %290, align 4, !tbaa !5
  %4090 = call ptr @s2n_strerror(i32 noundef %4089, ptr noundef nonnull @.str.3) #12
  %4091 = load i32, ptr %290, align 4, !tbaa !5
  %4092 = call ptr @s2n_strerror_debug(i32 noundef %4091, ptr noundef nonnull @.str.3) #12
  %4093 = load i32, ptr %1476, align 4, !tbaa !5
  %4094 = call ptr @strerror(i32 noundef %4093) #12
  %4095 = load i32, ptr %1476, align 4, !tbaa !5
  %4096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4087, ptr noundef nonnull %.str.4.sink2595, i32 noundef %4088, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 370, ptr noundef %4090, ptr noundef %4092, ptr noundef %4094, i32 noundef %4095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4097:                                             ; preds = %4067
  %4098 = load i32, ptr @test_count, align 4, !tbaa !5
  %4099 = add nsw i32 %4098, 1
  store i32 %4099, ptr @test_count, align 4, !tbaa !5
  %4100 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %4101 = icmp eq i32 %4100, -1
  br i1 %4101, label %4102, label %4124

4102:                                             ; preds = %4097
  %4103 = load i32, ptr %1476, align 4, !tbaa !5
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = call i32 @s2n_print_stacktrace(ptr noundef %4104) #12
  %4106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4107 = trunc nuw i8 %4106 to i1
  br i1 %4107, label %4108, label %4112

4108:                                             ; preds = %4102
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = call i32 @fileno(ptr noundef %4109) #12
  %4111 = call i32 @isatty(i32 noundef %4110) #12
  %.not793 = icmp eq i32 %4111, 0
  br i1 %.not793, label %4112, label %4113

4112:                                             ; preds = %4108, %4102
  br label %4113

4113:                                             ; preds = %4108, %4112
  %.str.4.sink2604 = phi ptr [ @.str.4, %4112 ], [ @.str, %4108 ]
  store i32 %4103, ptr %1476, align 4, !tbaa !5
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = load i32, ptr @test_count, align 4, !tbaa !5
  %4116 = load i32, ptr %290, align 4, !tbaa !5
  %4117 = call ptr @s2n_strerror(i32 noundef %4116, ptr noundef nonnull @.str.3) #12
  %4118 = load i32, ptr %290, align 4, !tbaa !5
  %4119 = call ptr @s2n_strerror_debug(i32 noundef %4118, ptr noundef nonnull @.str.3) #12
  %4120 = load i32, ptr %1476, align 4, !tbaa !5
  %4121 = call ptr @strerror(i32 noundef %4120) #12
  %4122 = load i32, ptr %1476, align 4, !tbaa !5
  %4123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4114, ptr noundef nonnull %.str.4.sink2604, i32 noundef %4115, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef %4117, ptr noundef %4119, ptr noundef %4121, i32 noundef %4122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4124:                                             ; preds = %4097
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4125 = load i32, ptr @test_count, align 4, !tbaa !5
  %4126 = add nsw i32 %4125, 1
  store i32 %4126, ptr @test_count, align 4, !tbaa !5
  %4127 = call i32 @s2n_record_write(ptr noundef nonnull %2832, i8 noundef zeroext 23, ptr noundef nonnull %12) #12
  %4128 = call zeroext i1 @s2n_result_is_ok(i32 %4127)
  br i1 %4128, label %4151, label %4129

4129:                                             ; preds = %4124
  %4130 = load i32, ptr %1476, align 4, !tbaa !5
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @s2n_print_stacktrace(ptr noundef %4131) #12
  %4133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4134 = trunc nuw i8 %4133 to i1
  br i1 %4134, label %4135, label %4139

4135:                                             ; preds = %4129
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = call i32 @fileno(ptr noundef %4136) #12
  %4138 = call i32 @isatty(i32 noundef %4137) #12
  %.not781 = icmp eq i32 %4138, 0
  br i1 %.not781, label %4139, label %4140

4139:                                             ; preds = %4135, %4129
  br label %4140

4140:                                             ; preds = %4135, %4139
  %.str.4.sink2613 = phi ptr [ @.str.4, %4139 ], [ @.str, %4135 ]
  store i32 %4130, ptr %1476, align 4, !tbaa !5
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = load i32, ptr @test_count, align 4, !tbaa !5
  %4143 = load i32, ptr %290, align 4, !tbaa !5
  %4144 = call ptr @s2n_strerror(i32 noundef %4143, ptr noundef nonnull @.str.3) #12
  %4145 = load i32, ptr %290, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror_debug(i32 noundef %4145, ptr noundef nonnull @.str.3) #12
  %4147 = load i32, ptr %1476, align 4, !tbaa !5
  %4148 = call ptr @strerror(i32 noundef %4147) #12
  %4149 = load i32, ptr %1476, align 4, !tbaa !5
  %4150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4141, ptr noundef nonnull %.str.4.sink2613, i32 noundef %4142, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 373, ptr noundef %4144, ptr noundef %4146, ptr noundef %4148, i32 noundef %4149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4151:                                             ; preds = %4124
  %4152 = load i32, ptr @test_count, align 4, !tbaa !5
  %4153 = add nsw i32 %4152, 1
  store i32 %4153, ptr @test_count, align 4, !tbaa !5
  %4154 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4155 = icmp eq i32 %4154, -1
  br i1 %4155, label %4156, label %4178

4156:                                             ; preds = %4151
  %4157 = load i32, ptr %1476, align 4, !tbaa !5
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = call i32 @s2n_print_stacktrace(ptr noundef %4158) #12
  %4160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4161 = trunc nuw i8 %4160 to i1
  br i1 %4161, label %4162, label %4166

4162:                                             ; preds = %4156
  %4163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4164 = call i32 @fileno(ptr noundef %4163) #12
  %4165 = call i32 @isatty(i32 noundef %4164) #12
  %.not792 = icmp eq i32 %4165, 0
  br i1 %.not792, label %4166, label %4167

4166:                                             ; preds = %4162, %4156
  br label %4167

4167:                                             ; preds = %4162, %4166
  %.str.4.sink2622 = phi ptr [ @.str.4, %4166 ], [ @.str, %4162 ]
  store i32 %4157, ptr %1476, align 4, !tbaa !5
  %4168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4169 = load i32, ptr @test_count, align 4, !tbaa !5
  %4170 = load i32, ptr %290, align 4, !tbaa !5
  %4171 = call ptr @s2n_strerror(i32 noundef %4170, ptr noundef nonnull @.str.3) #12
  %4172 = load i32, ptr %290, align 4, !tbaa !5
  %4173 = call ptr @s2n_strerror_debug(i32 noundef %4172, ptr noundef nonnull @.str.3) #12
  %4174 = load i32, ptr %1476, align 4, !tbaa !5
  %4175 = call ptr @strerror(i32 noundef %4174) #12
  %4176 = load i32, ptr %1476, align 4, !tbaa !5
  %4177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4168, ptr noundef nonnull %.str.4.sink2622, i32 noundef %4169, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 376, ptr noundef %4171, ptr noundef %4173, ptr noundef %4175, i32 noundef %4176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4178:                                             ; preds = %4151
  %4179 = load i32, ptr @test_count, align 4, !tbaa !5
  %4180 = add nsw i32 %4179, 1
  store i32 %4180, ptr @test_count, align 4, !tbaa !5
  %4181 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %4182 = icmp eq i32 %4181, -1
  br i1 %4182, label %4183, label %4205

4183:                                             ; preds = %4178
  %4184 = load i32, ptr %1476, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @s2n_print_stacktrace(ptr noundef %4185) #12
  %4187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4188 = trunc nuw i8 %4187 to i1
  br i1 %4188, label %4189, label %4193

4189:                                             ; preds = %4183
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = call i32 @fileno(ptr noundef %4190) #12
  %4192 = call i32 @isatty(i32 noundef %4191) #12
  %.not791 = icmp eq i32 %4192, 0
  br i1 %.not791, label %4193, label %4194

4193:                                             ; preds = %4189, %4183
  br label %4194

4194:                                             ; preds = %4189, %4193
  %.str.4.sink2631 = phi ptr [ @.str.4, %4193 ], [ @.str, %4189 ]
  store i32 %4184, ptr %1476, align 4, !tbaa !5
  %4195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4196 = load i32, ptr @test_count, align 4, !tbaa !5
  %4197 = load i32, ptr %290, align 4, !tbaa !5
  %4198 = call ptr @s2n_strerror(i32 noundef %4197, ptr noundef nonnull @.str.3) #12
  %4199 = load i32, ptr %290, align 4, !tbaa !5
  %4200 = call ptr @s2n_strerror_debug(i32 noundef %4199, ptr noundef nonnull @.str.3) #12
  %4201 = load i32, ptr %1476, align 4, !tbaa !5
  %4202 = call ptr @strerror(i32 noundef %4201) #12
  %4203 = load i32, ptr %1476, align 4, !tbaa !5
  %4204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4195, ptr noundef nonnull %.str.4.sink2631, i32 noundef %4196, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 377, ptr noundef %4198, ptr noundef %4200, ptr noundef %4202, i32 noundef %4203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4205:                                             ; preds = %4178
  %4206 = load i32, ptr @test_count, align 4, !tbaa !5
  %4207 = add nsw i32 %4206, 1
  store i32 %4207, ptr @test_count, align 4, !tbaa !5
  %4208 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2894, i32 noundef 5) #12
  %4209 = icmp eq i32 %4208, -1
  br i1 %4209, label %4210, label %4232

4210:                                             ; preds = %4205
  %4211 = load i32, ptr %1476, align 4, !tbaa !5
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @s2n_print_stacktrace(ptr noundef %4212) #12
  %4214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4215 = trunc nuw i8 %4214 to i1
  br i1 %4215, label %4216, label %4220

4216:                                             ; preds = %4210
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = call i32 @fileno(ptr noundef %4217) #12
  %4219 = call i32 @isatty(i32 noundef %4218) #12
  %.not790 = icmp eq i32 %4219, 0
  br i1 %.not790, label %4220, label %4221

4220:                                             ; preds = %4216, %4210
  br label %4221

4221:                                             ; preds = %4216, %4220
  %.str.4.sink2640 = phi ptr [ @.str.4, %4220 ], [ @.str, %4216 ]
  store i32 %4211, ptr %1476, align 4, !tbaa !5
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = load i32, ptr @test_count, align 4, !tbaa !5
  %4224 = load i32, ptr %290, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror(i32 noundef %4224, ptr noundef nonnull @.str.3) #12
  %4226 = load i32, ptr %290, align 4, !tbaa !5
  %4227 = call ptr @s2n_strerror_debug(i32 noundef %4226, ptr noundef nonnull @.str.3) #12
  %4228 = load i32, ptr %1476, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #12
  %4230 = load i32, ptr %1476, align 4, !tbaa !5
  %4231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4222, ptr noundef nonnull %.str.4.sink2640, i32 noundef %4223, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 378, ptr noundef %4225, ptr noundef %4227, ptr noundef %4229, i32 noundef %4230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4232:                                             ; preds = %4205
  %4233 = load i32, ptr @test_count, align 4, !tbaa !5
  %4234 = add nsw i32 %4233, 1
  store i32 %4234, ptr @test_count, align 4, !tbaa !5
  %4235 = load i32, ptr %2895, align 4, !tbaa !59
  %4236 = load i32, ptr %2896, align 8, !tbaa !60
  %4237 = sub i32 %4235, %4236
  %4238 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2893, i32 noundef %4237) #12
  %4239 = icmp eq i32 %4238, -1
  br i1 %4239, label %4240, label %4262

4240:                                             ; preds = %4232
  %4241 = load i32, ptr %1476, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @s2n_print_stacktrace(ptr noundef %4242) #12
  %4244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4245 = trunc nuw i8 %4244 to i1
  br i1 %4245, label %4246, label %4250

4246:                                             ; preds = %4240
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = call i32 @fileno(ptr noundef %4247) #12
  %4249 = call i32 @isatty(i32 noundef %4248) #12
  %.not789 = icmp eq i32 %4249, 0
  br i1 %.not789, label %4250, label %4251

4250:                                             ; preds = %4246, %4240
  br label %4251

4251:                                             ; preds = %4246, %4250
  %.str.4.sink2649 = phi ptr [ @.str.4, %4250 ], [ @.str, %4246 ]
  store i32 %4241, ptr %1476, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = load i32, ptr %290, align 4, !tbaa !5
  %4255 = call ptr @s2n_strerror(i32 noundef %4254, ptr noundef nonnull @.str.3) #12
  %4256 = load i32, ptr %290, align 4, !tbaa !5
  %4257 = call ptr @s2n_strerror_debug(i32 noundef %4256, ptr noundef nonnull @.str.3) #12
  %4258 = load i32, ptr %1476, align 4, !tbaa !5
  %4259 = call ptr @strerror(i32 noundef %4258) #12
  %4260 = load i32, ptr %1476, align 4, !tbaa !5
  %4261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4252, ptr noundef nonnull %.str.4.sink2649, i32 noundef %4253, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 379, ptr noundef %4255, ptr noundef %4257, ptr noundef %4259, i32 noundef %4260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4262:                                             ; preds = %4232
  %4263 = load ptr, ptr %2893, align 8, !tbaa !65
  %4264 = getelementptr inbounds i8, ptr %4263, i64 %.07181131
  %4265 = load i8, ptr %4264, align 1, !tbaa !57
  %4266 = add i8 %4265, 1
  store i8 %4266, ptr %4264, align 1, !tbaa !57
  %4267 = load i32, ptr @test_count, align 4, !tbaa !5
  %4268 = add nsw i32 %4267, 1
  store i32 %4268, ptr @test_count, align 4, !tbaa !5
  %4269 = call i32 @s2n_record_header_parse(ptr noundef nonnull %2832, ptr noundef nonnull %13, ptr noundef nonnull %14) #12
  %4270 = icmp eq i32 %4269, -1
  br i1 %4270, label %4271, label %4293

4271:                                             ; preds = %4262
  %4272 = load i32, ptr %1476, align 4, !tbaa !5
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = call i32 @s2n_print_stacktrace(ptr noundef %4273) #12
  %4275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4276 = trunc nuw i8 %4275 to i1
  br i1 %4276, label %4277, label %4281

4277:                                             ; preds = %4271
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = call i32 @fileno(ptr noundef %4278) #12
  %4280 = call i32 @isatty(i32 noundef %4279) #12
  %.not788 = icmp eq i32 %4280, 0
  br i1 %.not788, label %4281, label %4282

4281:                                             ; preds = %4277, %4271
  br label %4282

4282:                                             ; preds = %4277, %4281
  %.str.4.sink2658 = phi ptr [ @.str.4, %4281 ], [ @.str, %4277 ]
  store i32 %4272, ptr %1476, align 4, !tbaa !5
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = load i32, ptr @test_count, align 4, !tbaa !5
  %4285 = load i32, ptr %290, align 4, !tbaa !5
  %4286 = call ptr @s2n_strerror(i32 noundef %4285, ptr noundef nonnull @.str.3) #12
  %4287 = load i32, ptr %290, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror_debug(i32 noundef %4287, ptr noundef nonnull @.str.3) #12
  %4289 = load i32, ptr %1476, align 4, !tbaa !5
  %4290 = call ptr @strerror(i32 noundef %4289) #12
  %4291 = load i32, ptr %1476, align 4, !tbaa !5
  %4292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4283, ptr noundef nonnull %.str.4.sink2658, i32 noundef %4284, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 381, ptr noundef %4286, ptr noundef %4288, ptr noundef %4290, i32 noundef %4291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4293:                                             ; preds = %4262
  %4294 = load i32, ptr @test_count, align 4, !tbaa !5
  %4295 = add nsw i32 %4294, 1
  store i32 %4295, ptr @test_count, align 4, !tbaa !5
  %4296 = call i32 @s2n_record_parse(ptr noundef nonnull %2832) #12
  %4297 = icmp eq i32 %4296, -1
  br i1 %4297, label %4320, label %4298

4298:                                             ; preds = %4293
  %4299 = load i32, ptr %1476, align 4, !tbaa !5
  %4300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4301 = call i32 @s2n_print_stacktrace(ptr noundef %4300) #12
  %4302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4303 = trunc nuw i8 %4302 to i1
  br i1 %4303, label %4304, label %4308

4304:                                             ; preds = %4298
  %4305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4306 = call i32 @fileno(ptr noundef %4305) #12
  %4307 = call i32 @isatty(i32 noundef %4306) #12
  %.not782 = icmp eq i32 %4307, 0
  br i1 %.not782, label %4308, label %4309

4308:                                             ; preds = %4304, %4298
  br label %4309

4309:                                             ; preds = %4304, %4308
  %.str.4.sink2667 = phi ptr [ @.str.4, %4308 ], [ @.str, %4304 ]
  store i32 %4299, ptr %1476, align 4, !tbaa !5
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = load i32, ptr @test_count, align 4, !tbaa !5
  %4312 = load i32, ptr %290, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror(i32 noundef %4312, ptr noundef nonnull @.str.3) #12
  %4314 = load i32, ptr %290, align 4, !tbaa !5
  %4315 = call ptr @s2n_strerror_debug(i32 noundef %4314, ptr noundef nonnull @.str.3) #12
  %4316 = load i32, ptr %1476, align 4, !tbaa !5
  %4317 = call ptr @strerror(i32 noundef %4316) #12
  %4318 = load i32, ptr %1476, align 4, !tbaa !5
  %4319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4310, ptr noundef nonnull %.str.4.sink2667, i32 noundef %4311, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 382, ptr noundef %4313, ptr noundef %4315, ptr noundef %4317, i32 noundef %4318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4320:                                             ; preds = %4293
  %4321 = load i32, ptr @test_count, align 4, !tbaa !5
  %4322 = add nsw i32 %4321, 1
  store i32 %4322, ptr @test_count, align 4, !tbaa !5
  %4323 = load i32, ptr %290, align 4, !tbaa !5
  %4324 = icmp eq i32 %4323, 0
  br i1 %4324, label %4325, label %4347

4325:                                             ; preds = %4320
  %4326 = load i32, ptr %1476, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = call i32 @s2n_print_stacktrace(ptr noundef %4327) #12
  %4329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4330 = trunc nuw i8 %4329 to i1
  br i1 %4330, label %4331, label %4335

4331:                                             ; preds = %4325
  %4332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4333 = call i32 @fileno(ptr noundef %4332) #12
  %4334 = call i32 @isatty(i32 noundef %4333) #12
  %.not787 = icmp eq i32 %4334, 0
  br i1 %.not787, label %4335, label %4336

4335:                                             ; preds = %4331, %4325
  br label %4336

4336:                                             ; preds = %4331, %4335
  %.str.4.sink2676 = phi ptr [ @.str.4, %4335 ], [ @.str, %4331 ]
  store i32 %4326, ptr %1476, align 4, !tbaa !5
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = load i32, ptr @test_count, align 4, !tbaa !5
  %4339 = load i32, ptr %290, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror(i32 noundef %4339, ptr noundef nonnull @.str.3) #12
  %4341 = load i32, ptr %290, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror_debug(i32 noundef %4341, ptr noundef nonnull @.str.3) #12
  %4343 = load i32, ptr %1476, align 4, !tbaa !5
  %4344 = call ptr @strerror(i32 noundef %4343) #12
  %4345 = load i32, ptr %1476, align 4, !tbaa !5
  %4346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4337, ptr noundef nonnull %.str.4.sink2676, i32 noundef %4338, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 382, ptr noundef %4340, ptr noundef %4342, ptr noundef %4344, i32 noundef %4345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4347:                                             ; preds = %4320
  %4348 = add nsw i32 %4321, 2
  store i32 %4348, ptr @test_count, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror_debug(i32 noundef %4323, ptr noundef nonnull @.str.3) #12
  %4350 = icmp eq ptr %4349, null
  br i1 %4350, label %4351, label %4373

4351:                                             ; preds = %4347
  %4352 = load i32, ptr %1476, align 4, !tbaa !5
  %4353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4354 = call i32 @s2n_print_stacktrace(ptr noundef %4353) #12
  %4355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4356 = trunc nuw i8 %4355 to i1
  br i1 %4356, label %4357, label %4361

4357:                                             ; preds = %4351
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = call i32 @fileno(ptr noundef %4358) #12
  %4360 = call i32 @isatty(i32 noundef %4359) #12
  %.not786 = icmp eq i32 %4360, 0
  br i1 %.not786, label %4361, label %4362

4361:                                             ; preds = %4357, %4351
  br label %4362

4362:                                             ; preds = %4357, %4361
  %.str.4.sink2685 = phi ptr [ @.str.4, %4361 ], [ @.str, %4357 ]
  store i32 %4352, ptr %1476, align 4, !tbaa !5
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = load i32, ptr %290, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror(i32 noundef %4365, ptr noundef nonnull @.str.3) #12
  %4367 = load i32, ptr %290, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror_debug(i32 noundef %4367, ptr noundef nonnull @.str.3) #12
  %4369 = load i32, ptr %1476, align 4, !tbaa !5
  %4370 = call ptr @strerror(i32 noundef %4369) #12
  %4371 = load i32, ptr %1476, align 4, !tbaa !5
  %4372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4363, ptr noundef nonnull %.str.4.sink2685, i32 noundef %4364, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 382, ptr noundef %4366, ptr noundef %4368, ptr noundef %4370, i32 noundef %4371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4373:                                             ; preds = %4347
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %4374 = load i32, ptr @test_count, align 4, !tbaa !5
  %4375 = add nsw i32 %4374, 1
  store i32 %4375, ptr @test_count, align 4, !tbaa !5
  %4376 = load i8, ptr %13, align 1, !tbaa !57
  %4377 = icmp eq i8 %4376, 23
  br i1 %4377, label %4400, label %4378

4378:                                             ; preds = %4373
  %4379 = load i32, ptr %1476, align 4, !tbaa !5
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @s2n_print_stacktrace(ptr noundef %4380) #12
  %4382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4383 = trunc nuw i8 %4382 to i1
  br i1 %4383, label %4384, label %4388

4384:                                             ; preds = %4378
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = call i32 @fileno(ptr noundef %4385) #12
  %4387 = call i32 @isatty(i32 noundef %4386) #12
  %.not783 = icmp eq i32 %4387, 0
  br i1 %.not783, label %4388, label %4389

4388:                                             ; preds = %4384, %4378
  br label %4389

4389:                                             ; preds = %4384, %4388
  %.str.4.sink2694 = phi ptr [ @.str.4, %4388 ], [ @.str, %4384 ]
  store i32 %4379, ptr %1476, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = load i32, ptr @test_count, align 4, !tbaa !5
  %4392 = load i32, ptr %290, align 4, !tbaa !5
  %4393 = call ptr @s2n_strerror(i32 noundef %4392, ptr noundef nonnull @.str.3) #12
  %4394 = load i32, ptr %290, align 4, !tbaa !5
  %4395 = call ptr @s2n_strerror_debug(i32 noundef %4394, ptr noundef nonnull @.str.3) #12
  %4396 = load i32, ptr %1476, align 4, !tbaa !5
  %4397 = call ptr @strerror(i32 noundef %4396) #12
  %4398 = load i32, ptr %1476, align 4, !tbaa !5
  %4399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4390, ptr noundef nonnull %.str.4.sink2694, i32 noundef %4391, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 383, ptr noundef %4393, ptr noundef %4395, ptr noundef %4397, i32 noundef %4398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4400:                                             ; preds = %4373
  %4401 = add nsw i32 %4374, 2
  store i32 %4401, ptr @test_count, align 4, !tbaa !5
  %4402 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %4403 = icmp eq i32 %4402, -1
  br i1 %4403, label %4404, label %4426

4404:                                             ; preds = %4400
  %4405 = load i32, ptr %1476, align 4, !tbaa !5
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4407 = call i32 @s2n_print_stacktrace(ptr noundef %4406) #12
  %4408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4409 = trunc nuw i8 %4408 to i1
  br i1 %4409, label %4410, label %4414

4410:                                             ; preds = %4404
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = call i32 @fileno(ptr noundef %4411) #12
  %4413 = call i32 @isatty(i32 noundef %4412) #12
  %.not785 = icmp eq i32 %4413, 0
  br i1 %.not785, label %4414, label %4415

4414:                                             ; preds = %4410, %4404
  br label %4415

4415:                                             ; preds = %4410, %4414
  %.str.4.sink2703 = phi ptr [ @.str.4, %4414 ], [ @.str, %4410 ]
  store i32 %4405, ptr %1476, align 4, !tbaa !5
  %4416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4417 = load i32, ptr @test_count, align 4, !tbaa !5
  %4418 = load i32, ptr %290, align 4, !tbaa !5
  %4419 = call ptr @s2n_strerror(i32 noundef %4418, ptr noundef nonnull @.str.3) #12
  %4420 = load i32, ptr %290, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror_debug(i32 noundef %4420, ptr noundef nonnull @.str.3) #12
  %4422 = load i32, ptr %1476, align 4, !tbaa !5
  %4423 = call ptr @strerror(i32 noundef %4422) #12
  %4424 = load i32, ptr %1476, align 4, !tbaa !5
  %4425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4416, ptr noundef nonnull %.str.4.sink2703, i32 noundef %4417, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 385, ptr noundef %4419, ptr noundef %4421, ptr noundef %4423, i32 noundef %4424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4426:                                             ; preds = %4400
  %4427 = load i32, ptr @test_count, align 4, !tbaa !5
  %4428 = add nsw i32 %4427, 1
  store i32 %4428, ptr @test_count, align 4, !tbaa !5
  %4429 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4430 = icmp eq i32 %4429, -1
  br i1 %4430, label %4431, label %4039

4431:                                             ; preds = %4426
  %4432 = load i32, ptr %1476, align 4, !tbaa !5
  %4433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4434 = call i32 @s2n_print_stacktrace(ptr noundef %4433) #12
  %4435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4436 = trunc nuw i8 %4435 to i1
  br i1 %4436, label %4437, label %4441

4437:                                             ; preds = %4431
  %4438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4439 = call i32 @fileno(ptr noundef %4438) #12
  %4440 = call i32 @isatty(i32 noundef %4439) #12
  %.not784 = icmp eq i32 %4440, 0
  br i1 %.not784, label %4441, label %4442

4441:                                             ; preds = %4437, %4431
  br label %4442

4442:                                             ; preds = %4437, %4441
  %.str.4.sink2712 = phi ptr [ @.str.4, %4441 ], [ @.str, %4437 ]
  store i32 %4432, ptr %1476, align 4, !tbaa !5
  %4443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4444 = load i32, ptr @test_count, align 4, !tbaa !5
  %4445 = load i32, ptr %290, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror(i32 noundef %4445, ptr noundef nonnull @.str.3) #12
  %4447 = load i32, ptr %290, align 4, !tbaa !5
  %4448 = call ptr @s2n_strerror_debug(i32 noundef %4447, ptr noundef nonnull @.str.3) #12
  %4449 = load i32, ptr %1476, align 4, !tbaa !5
  %4450 = call ptr @strerror(i32 noundef %4449) #12
  %4451 = load i32, ptr %1476, align 4, !tbaa !5
  %4452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4443, ptr noundef nonnull %.str.4.sink2712, i32 noundef %4444, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 386, ptr noundef %4446, ptr noundef %4448, ptr noundef %4450, i32 noundef %4451) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4453:                                             ; preds = %4846
  %4454 = add nuw nsw i64 %.07191132, 1
  %exitcond1239.not = icmp eq i64 %4454, 16
  br i1 %exitcond1239.not, label %.preheader, label %.preheader924, !llvm.loop !72

.preheader:                                       ; preds = %4453
  %.not1138 = icmp eq i64 %.07161136, 0
  br i1 %.not1138, label %._crit_edge1135, label %.lr.ph1134

.preheader924:                                    ; preds = %4039, %4453
  %.07191132 = phi i64 [ %4454, %4453 ], [ 0, %4039 ]
  %4455 = load i32, ptr @test_count, align 4, !tbaa !5
  %4456 = add nsw i32 %4455, 1
  store i32 %4456, ptr @test_count, align 4, !tbaa !5
  %4457 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2832) #12
  %4458 = icmp eq i32 %4457, -1
  br i1 %4458, label %4459, label %4481

4459:                                             ; preds = %.preheader924
  %4460 = load i32, ptr %1476, align 4, !tbaa !5
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = call i32 @s2n_print_stacktrace(ptr noundef %4461) #12
  %4463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4464 = trunc nuw i8 %4463 to i1
  br i1 %4464, label %4465, label %4469

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

4469:                                             ; preds = %4465, %4459
  br label %4470

4470:                                             ; preds = %4465, %4469
  %.str.4.sink2721 = phi ptr [ @.str.4, %4469 ], [ @.str, %4465 ]
  store i32 %4460, ptr %1476, align 4, !tbaa !5
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = load i32, ptr @test_count, align 4, !tbaa !5
  %4473 = load i32, ptr %290, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror(i32 noundef %4473, ptr noundef nonnull @.str.3) #12
  %4475 = load i32, ptr %290, align 4, !tbaa !5
  %4476 = call ptr @s2n_strerror_debug(i32 noundef %4475, ptr noundef nonnull @.str.3) #12
  %4477 = load i32, ptr %1476, align 4, !tbaa !5
  %4478 = call ptr @strerror(i32 noundef %4477) #12
  %4479 = load i32, ptr %1476, align 4, !tbaa !5
  %4480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4471, ptr noundef nonnull %.str.4.sink2721, i32 noundef %4472, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 391, ptr noundef %4474, ptr noundef %4476, ptr noundef %4478, i32 noundef %4479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4481:                                             ; preds = %.preheader924
  store i8 1, ptr %2889, align 2, !tbaa !51
  store i8 33, ptr %2890, align 1, !tbaa !52
  store i8 33, ptr %2891, align 2, !tbaa !53
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4482 = load ptr, ptr %2857, align 8, !tbaa !15
  %4483 = load ptr, ptr %4482, align 8, !tbaa !44
  %4484 = getelementptr inbounds i8, ptr %4483, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %4484, align 8, !tbaa !49
  %4485 = load i32, ptr @test_count, align 4, !tbaa !5
  %4486 = add nsw i32 %4485, 1
  store i32 %4486, ptr @test_count, align 4, !tbaa !5
  %4487 = call i32 @destroy_server_keys(ptr noundef %2832)
  %4488 = icmp eq i32 %4487, -1
  br i1 %4488, label %4489, label %4511

4489:                                             ; preds = %4481
  %4490 = load i32, ptr %1476, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = call i32 @s2n_print_stacktrace(ptr noundef %4491) #12
  %4493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4494 = trunc nuw i8 %4493 to i1
  br i1 %4494, label %4495, label %4499

4495:                                             ; preds = %4489
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = call i32 @fileno(ptr noundef %4496) #12
  %4498 = call i32 @isatty(i32 noundef %4497) #12
  %.not779 = icmp eq i32 %4498, 0
  br i1 %.not779, label %4499, label %4500

4499:                                             ; preds = %4495, %4489
  br label %4500

4500:                                             ; preds = %4495, %4499
  %.str.4.sink2730 = phi ptr [ @.str.4, %4499 ], [ @.str, %4495 ]
  store i32 %4490, ptr %1476, align 4, !tbaa !5
  %4501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4502 = load i32, ptr @test_count, align 4, !tbaa !5
  %4503 = load i32, ptr %290, align 4, !tbaa !5
  %4504 = call ptr @s2n_strerror(i32 noundef %4503, ptr noundef nonnull @.str.3) #12
  %4505 = load i32, ptr %290, align 4, !tbaa !5
  %4506 = call ptr @s2n_strerror_debug(i32 noundef %4505, ptr noundef nonnull @.str.3) #12
  %4507 = load i32, ptr %1476, align 4, !tbaa !5
  %4508 = call ptr @strerror(i32 noundef %4507) #12
  %4509 = load i32, ptr %1476, align 4, !tbaa !5
  %4510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4501, ptr noundef nonnull %.str.4.sink2730, i32 noundef %4502, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 397, ptr noundef %4504, ptr noundef %4506, ptr noundef %4508, i32 noundef %4509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4511:                                             ; preds = %4481
  %4512 = load i32, ptr @test_count, align 4, !tbaa !5
  %4513 = add nsw i32 %4512, 1
  store i32 %4513, ptr @test_count, align 4, !tbaa !5
  %4514 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %4515 = icmp eq i32 %4514, -1
  br i1 %4515, label %4516, label %4538

4516:                                             ; preds = %4511
  %4517 = load i32, ptr %1476, align 4, !tbaa !5
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = call i32 @s2n_print_stacktrace(ptr noundef %4518) #12
  %4520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4521 = trunc nuw i8 %4520 to i1
  br i1 %4521, label %4522, label %4526

4522:                                             ; preds = %4516
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = call i32 @fileno(ptr noundef %4523) #12
  %4525 = call i32 @isatty(i32 noundef %4524) #12
  %.not778 = icmp eq i32 %4525, 0
  br i1 %.not778, label %4526, label %4527

4526:                                             ; preds = %4522, %4516
  br label %4527

4527:                                             ; preds = %4522, %4526
  %.str.4.sink2739 = phi ptr [ @.str.4, %4526 ], [ @.str, %4522 ]
  store i32 %4517, ptr %1476, align 4, !tbaa !5
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = load i32, ptr @test_count, align 4, !tbaa !5
  %4530 = load i32, ptr %290, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror(i32 noundef %4530, ptr noundef nonnull @.str.3) #12
  %4532 = load i32, ptr %290, align 4, !tbaa !5
  %4533 = call ptr @s2n_strerror_debug(i32 noundef %4532, ptr noundef nonnull @.str.3) #12
  %4534 = load i32, ptr %1476, align 4, !tbaa !5
  %4535 = call ptr @strerror(i32 noundef %4534) #12
  %4536 = load i32, ptr %1476, align 4, !tbaa !5
  %4537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4528, ptr noundef nonnull %.str.4.sink2739, i32 noundef %4529, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 398, ptr noundef %4531, ptr noundef %4533, ptr noundef %4535, i32 noundef %4536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4538:                                             ; preds = %4511
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = add nsw i32 %4539, 1
  store i32 %4540, ptr @test_count, align 4, !tbaa !5
  %4541 = call i32 @s2n_record_write(ptr noundef nonnull %2832, i8 noundef zeroext 23, ptr noundef nonnull %12) #12
  %4542 = call zeroext i1 @s2n_result_is_ok(i32 %4541)
  br i1 %4542, label %4565, label %4543

4543:                                             ; preds = %4538
  %4544 = load i32, ptr %1476, align 4, !tbaa !5
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = call i32 @s2n_print_stacktrace(ptr noundef %4545) #12
  %4547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4548 = trunc nuw i8 %4547 to i1
  br i1 %4548, label %4549, label %4553

4549:                                             ; preds = %4543
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = call i32 @fileno(ptr noundef %4550) #12
  %4552 = call i32 @isatty(i32 noundef %4551) #12
  %.not766 = icmp eq i32 %4552, 0
  br i1 %.not766, label %4553, label %4554

4553:                                             ; preds = %4549, %4543
  br label %4554

4554:                                             ; preds = %4549, %4553
  %.str.4.sink2748 = phi ptr [ @.str.4, %4553 ], [ @.str, %4549 ]
  store i32 %4544, ptr %1476, align 4, !tbaa !5
  %4555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4556 = load i32, ptr @test_count, align 4, !tbaa !5
  %4557 = load i32, ptr %290, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror(i32 noundef %4557, ptr noundef nonnull @.str.3) #12
  %4559 = load i32, ptr %290, align 4, !tbaa !5
  %4560 = call ptr @s2n_strerror_debug(i32 noundef %4559, ptr noundef nonnull @.str.3) #12
  %4561 = load i32, ptr %1476, align 4, !tbaa !5
  %4562 = call ptr @strerror(i32 noundef %4561) #12
  %4563 = load i32, ptr %1476, align 4, !tbaa !5
  %4564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4555, ptr noundef nonnull %.str.4.sink2748, i32 noundef %4556, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 400, ptr noundef %4558, ptr noundef %4560, ptr noundef %4562, i32 noundef %4563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4565:                                             ; preds = %4538
  %4566 = load i32, ptr @test_count, align 4, !tbaa !5
  %4567 = add nsw i32 %4566, 1
  store i32 %4567, ptr @test_count, align 4, !tbaa !5
  %4568 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4569 = icmp eq i32 %4568, -1
  br i1 %4569, label %4570, label %4592

4570:                                             ; preds = %4565
  %4571 = load i32, ptr %1476, align 4, !tbaa !5
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @s2n_print_stacktrace(ptr noundef %4572) #12
  %4574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4575 = trunc nuw i8 %4574 to i1
  br i1 %4575, label %4576, label %4580

4576:                                             ; preds = %4570
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = call i32 @fileno(ptr noundef %4577) #12
  %4579 = call i32 @isatty(i32 noundef %4578) #12
  %.not777 = icmp eq i32 %4579, 0
  br i1 %.not777, label %4580, label %4581

4580:                                             ; preds = %4576, %4570
  br label %4581

4581:                                             ; preds = %4576, %4580
  %.str.4.sink2757 = phi ptr [ @.str.4, %4580 ], [ @.str, %4576 ]
  store i32 %4571, ptr %1476, align 4, !tbaa !5
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = load i32, ptr @test_count, align 4, !tbaa !5
  %4584 = load i32, ptr %290, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror(i32 noundef %4584, ptr noundef nonnull @.str.3) #12
  %4586 = load i32, ptr %290, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror_debug(i32 noundef %4586, ptr noundef nonnull @.str.3) #12
  %4588 = load i32, ptr %1476, align 4, !tbaa !5
  %4589 = call ptr @strerror(i32 noundef %4588) #12
  %4590 = load i32, ptr %1476, align 4, !tbaa !5
  %4591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4582, ptr noundef nonnull %.str.4.sink2757, i32 noundef %4583, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 403, ptr noundef %4585, ptr noundef %4587, ptr noundef %4589, i32 noundef %4590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

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

4597:                                             ; preds = %4592
  %4598 = load i32, ptr %1476, align 4, !tbaa !5
  %4599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4600 = call i32 @s2n_print_stacktrace(ptr noundef %4599) #12
  %4601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4602 = trunc nuw i8 %4601 to i1
  br i1 %4602, label %4603, label %4607

4603:                                             ; preds = %4597
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = call i32 @fileno(ptr noundef %4604) #12
  %4606 = call i32 @isatty(i32 noundef %4605) #12
  %.not776 = icmp eq i32 %4606, 0
  br i1 %.not776, label %4607, label %4608

4607:                                             ; preds = %4603, %4597
  br label %4608

4608:                                             ; preds = %4603, %4607
  %.str.4.sink2766 = phi ptr [ @.str.4, %4607 ], [ @.str, %4603 ]
  store i32 %4598, ptr %1476, align 4, !tbaa !5
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = load i32, ptr @test_count, align 4, !tbaa !5
  %4611 = load i32, ptr %290, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror(i32 noundef %4611, ptr noundef nonnull @.str.3) #12
  %4613 = load i32, ptr %290, align 4, !tbaa !5
  %4614 = call ptr @s2n_strerror_debug(i32 noundef %4613, ptr noundef nonnull @.str.3) #12
  %4615 = load i32, ptr %1476, align 4, !tbaa !5
  %4616 = call ptr @strerror(i32 noundef %4615) #12
  %4617 = load i32, ptr %1476, align 4, !tbaa !5
  %4618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4609, ptr noundef nonnull %.str.4.sink2766, i32 noundef %4610, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 404, ptr noundef %4612, ptr noundef %4614, ptr noundef %4616, i32 noundef %4617) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4619:                                             ; preds = %4592
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = add nsw i32 %4620, 1
  store i32 %4621, ptr @test_count, align 4, !tbaa !5
  %4622 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2894, i32 noundef 5) #12
  %4623 = icmp eq i32 %4622, -1
  br i1 %4623, label %4624, label %4646

4624:                                             ; preds = %4619
  %4625 = load i32, ptr %1476, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = call i32 @s2n_print_stacktrace(ptr noundef %4626) #12
  %4628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4629 = trunc nuw i8 %4628 to i1
  br i1 %4629, label %4630, label %4634

4630:                                             ; preds = %4624
  %4631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4632 = call i32 @fileno(ptr noundef %4631) #12
  %4633 = call i32 @isatty(i32 noundef %4632) #12
  %.not775 = icmp eq i32 %4633, 0
  br i1 %.not775, label %4634, label %4635

4634:                                             ; preds = %4630, %4624
  br label %4635

4635:                                             ; preds = %4630, %4634
  %.str.4.sink2775 = phi ptr [ @.str.4, %4634 ], [ @.str, %4630 ]
  store i32 %4625, ptr %1476, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = load i32, ptr @test_count, align 4, !tbaa !5
  %4638 = load i32, ptr %290, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror(i32 noundef %4638, ptr noundef nonnull @.str.3) #12
  %4640 = load i32, ptr %290, align 4, !tbaa !5
  %4641 = call ptr @s2n_strerror_debug(i32 noundef %4640, ptr noundef nonnull @.str.3) #12
  %4642 = load i32, ptr %1476, align 4, !tbaa !5
  %4643 = call ptr @strerror(i32 noundef %4642) #12
  %4644 = load i32, ptr %1476, align 4, !tbaa !5
  %4645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4636, ptr noundef nonnull %.str.4.sink2775, i32 noundef %4637, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 405, ptr noundef %4639, ptr noundef %4641, ptr noundef %4643, i32 noundef %4644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4646:                                             ; preds = %4619
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = add nsw i32 %4647, 1
  store i32 %4648, ptr @test_count, align 4, !tbaa !5
  %4649 = load i32, ptr %2895, align 4, !tbaa !59
  %4650 = load i32, ptr %2896, align 8, !tbaa !60
  %4651 = sub i32 %4649, %4650
  %4652 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2893, i32 noundef %4651) #12
  %4653 = icmp eq i32 %4652, -1
  br i1 %4653, label %4654, label %4676

4654:                                             ; preds = %4646
  %4655 = load i32, ptr %1476, align 4, !tbaa !5
  %4656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4657 = call i32 @s2n_print_stacktrace(ptr noundef %4656) #12
  %4658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4659 = trunc nuw i8 %4658 to i1
  br i1 %4659, label %4660, label %4664

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

4664:                                             ; preds = %4660, %4654
  br label %4665

4665:                                             ; preds = %4660, %4664
  %.str.4.sink2784 = phi ptr [ @.str.4, %4664 ], [ @.str, %4660 ]
  store i32 %4655, ptr %1476, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = load i32, ptr @test_count, align 4, !tbaa !5
  %4668 = load i32, ptr %290, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror(i32 noundef %4668, ptr noundef nonnull @.str.3) #12
  %4670 = load i32, ptr %290, align 4, !tbaa !5
  %4671 = call ptr @s2n_strerror_debug(i32 noundef %4670, ptr noundef nonnull @.str.3) #12
  %4672 = load i32, ptr %1476, align 4, !tbaa !5
  %4673 = call ptr @strerror(i32 noundef %4672) #12
  %4674 = load i32, ptr %1476, align 4, !tbaa !5
  %4675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4666, ptr noundef nonnull %.str.4.sink2784, i32 noundef %4667, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 406, ptr noundef %4669, ptr noundef %4671, ptr noundef %4673, i32 noundef %4674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4676:                                             ; preds = %4646
  %4677 = load ptr, ptr %2893, align 8, !tbaa !65
  %4678 = load i32, ptr %2897, align 4, !tbaa !67
  %4679 = load i32, ptr %2898, align 8, !tbaa !68
  %4680 = sub i32 %4678, %4679
  %4681 = zext i32 %4680 to i64
  %4682 = xor i64 %.07191132, -1
  %4683 = getelementptr i8, ptr %4677, i64 %4682
  %4684 = getelementptr i8, ptr %4683, i64 %4681
  %4685 = load i8, ptr %4684, align 1, !tbaa !57
  %4686 = add i8 %4685, 1
  store i8 %4686, ptr %4684, align 1, !tbaa !57
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = add nsw i32 %4687, 1
  store i32 %4688, ptr @test_count, align 4, !tbaa !5
  %4689 = call i32 @s2n_record_header_parse(ptr noundef nonnull %2832, ptr noundef nonnull %13, ptr noundef nonnull %14) #12
  %4690 = icmp eq i32 %4689, -1
  br i1 %4690, label %4691, label %4713

4691:                                             ; preds = %4676
  %4692 = load i32, ptr %1476, align 4, !tbaa !5
  %4693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4694 = call i32 @s2n_print_stacktrace(ptr noundef %4693) #12
  %4695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4696 = trunc nuw i8 %4695 to i1
  br i1 %4696, label %4697, label %4701

4697:                                             ; preds = %4691
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = call i32 @fileno(ptr noundef %4698) #12
  %4700 = call i32 @isatty(i32 noundef %4699) #12
  %.not773 = icmp eq i32 %4700, 0
  br i1 %.not773, label %4701, label %4702

4701:                                             ; preds = %4697, %4691
  br label %4702

4702:                                             ; preds = %4697, %4701
  %.str.4.sink2793 = phi ptr [ @.str.4, %4701 ], [ @.str, %4697 ]
  store i32 %4692, ptr %1476, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = load i32, ptr @test_count, align 4, !tbaa !5
  %4705 = load i32, ptr %290, align 4, !tbaa !5
  %4706 = call ptr @s2n_strerror(i32 noundef %4705, ptr noundef nonnull @.str.3) #12
  %4707 = load i32, ptr %290, align 4, !tbaa !5
  %4708 = call ptr @s2n_strerror_debug(i32 noundef %4707, ptr noundef nonnull @.str.3) #12
  %4709 = load i32, ptr %1476, align 4, !tbaa !5
  %4710 = call ptr @strerror(i32 noundef %4709) #12
  %4711 = load i32, ptr %1476, align 4, !tbaa !5
  %4712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4703, ptr noundef nonnull %.str.4.sink2793, i32 noundef %4704, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 408, ptr noundef %4706, ptr noundef %4708, ptr noundef %4710, i32 noundef %4711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4713:                                             ; preds = %4676
  %4714 = load i32, ptr @test_count, align 4, !tbaa !5
  %4715 = add nsw i32 %4714, 1
  store i32 %4715, ptr @test_count, align 4, !tbaa !5
  %4716 = call i32 @s2n_record_parse(ptr noundef nonnull %2832) #12
  %4717 = icmp eq i32 %4716, -1
  br i1 %4717, label %4740, label %4718

4718:                                             ; preds = %4713
  %4719 = load i32, ptr %1476, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = call i32 @s2n_print_stacktrace(ptr noundef %4720) #12
  %4722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4723 = trunc nuw i8 %4722 to i1
  br i1 %4723, label %4724, label %4728

4724:                                             ; preds = %4718
  %4725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4726 = call i32 @fileno(ptr noundef %4725) #12
  %4727 = call i32 @isatty(i32 noundef %4726) #12
  %.not767 = icmp eq i32 %4727, 0
  br i1 %.not767, label %4728, label %4729

4728:                                             ; preds = %4724, %4718
  br label %4729

4729:                                             ; preds = %4724, %4728
  %.str.4.sink2802 = phi ptr [ @.str.4, %4728 ], [ @.str, %4724 ]
  store i32 %4719, ptr %1476, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = load i32, ptr %290, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef nonnull @.str.3) #12
  %4734 = load i32, ptr %290, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror_debug(i32 noundef %4734, ptr noundef nonnull @.str.3) #12
  %4736 = load i32, ptr %1476, align 4, !tbaa !5
  %4737 = call ptr @strerror(i32 noundef %4736) #12
  %4738 = load i32, ptr %1476, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef nonnull %.str.4.sink2802, i32 noundef %4731, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 409, ptr noundef %4733, ptr noundef %4735, ptr noundef %4737, i32 noundef %4738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4740:                                             ; preds = %4713
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = add nsw i32 %4741, 1
  store i32 %4742, ptr @test_count, align 4, !tbaa !5
  %4743 = load i32, ptr %290, align 4, !tbaa !5
  %4744 = icmp eq i32 %4743, 0
  br i1 %4744, label %4745, label %4767

4745:                                             ; preds = %4740
  %4746 = load i32, ptr %1476, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = call i32 @s2n_print_stacktrace(ptr noundef %4747) #12
  %4749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4750 = trunc nuw i8 %4749 to i1
  br i1 %4750, label %4751, label %4755

4751:                                             ; preds = %4745
  %4752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4753 = call i32 @fileno(ptr noundef %4752) #12
  %4754 = call i32 @isatty(i32 noundef %4753) #12
  %.not772 = icmp eq i32 %4754, 0
  br i1 %.not772, label %4755, label %4756

4755:                                             ; preds = %4751, %4745
  br label %4756

4756:                                             ; preds = %4751, %4755
  %.str.4.sink2811 = phi ptr [ @.str.4, %4755 ], [ @.str, %4751 ]
  store i32 %4746, ptr %1476, align 4, !tbaa !5
  %4757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4758 = load i32, ptr @test_count, align 4, !tbaa !5
  %4759 = load i32, ptr %290, align 4, !tbaa !5
  %4760 = call ptr @s2n_strerror(i32 noundef %4759, ptr noundef nonnull @.str.3) #12
  %4761 = load i32, ptr %290, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror_debug(i32 noundef %4761, ptr noundef nonnull @.str.3) #12
  %4763 = load i32, ptr %1476, align 4, !tbaa !5
  %4764 = call ptr @strerror(i32 noundef %4763) #12
  %4765 = load i32, ptr %1476, align 4, !tbaa !5
  %4766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4757, ptr noundef nonnull %.str.4.sink2811, i32 noundef %4758, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 409, ptr noundef %4760, ptr noundef %4762, ptr noundef %4764, i32 noundef %4765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4767:                                             ; preds = %4740
  %4768 = add nsw i32 %4741, 2
  store i32 %4768, ptr @test_count, align 4, !tbaa !5
  %4769 = call ptr @s2n_strerror_debug(i32 noundef %4743, ptr noundef nonnull @.str.3) #12
  %4770 = icmp eq ptr %4769, null
  br i1 %4770, label %4771, label %4793

4771:                                             ; preds = %4767
  %4772 = load i32, ptr %1476, align 4, !tbaa !5
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = call i32 @s2n_print_stacktrace(ptr noundef %4773) #12
  %4775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4776 = trunc nuw i8 %4775 to i1
  br i1 %4776, label %4777, label %4781

4777:                                             ; preds = %4771
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = call i32 @fileno(ptr noundef %4778) #12
  %4780 = call i32 @isatty(i32 noundef %4779) #12
  %.not771 = icmp eq i32 %4780, 0
  br i1 %.not771, label %4781, label %4782

4781:                                             ; preds = %4777, %4771
  br label %4782

4782:                                             ; preds = %4777, %4781
  %.str.4.sink2820 = phi ptr [ @.str.4, %4781 ], [ @.str, %4777 ]
  store i32 %4772, ptr %1476, align 4, !tbaa !5
  %4783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = load i32, ptr %290, align 4, !tbaa !5
  %4786 = call ptr @s2n_strerror(i32 noundef %4785, ptr noundef nonnull @.str.3) #12
  %4787 = load i32, ptr %290, align 4, !tbaa !5
  %4788 = call ptr @s2n_strerror_debug(i32 noundef %4787, ptr noundef nonnull @.str.3) #12
  %4789 = load i32, ptr %1476, align 4, !tbaa !5
  %4790 = call ptr @strerror(i32 noundef %4789) #12
  %4791 = load i32, ptr %1476, align 4, !tbaa !5
  %4792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4783, ptr noundef nonnull %.str.4.sink2820, i32 noundef %4784, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 409, ptr noundef %4786, ptr noundef %4788, ptr noundef %4790, i32 noundef %4791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4793:                                             ; preds = %4767
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %4794 = load i32, ptr @test_count, align 4, !tbaa !5
  %4795 = add nsw i32 %4794, 1
  store i32 %4795, ptr @test_count, align 4, !tbaa !5
  %4796 = load i8, ptr %13, align 1, !tbaa !57
  %4797 = icmp eq i8 %4796, 23
  br i1 %4797, label %4820, label %4798

4798:                                             ; preds = %4793
  %4799 = load i32, ptr %1476, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = call i32 @s2n_print_stacktrace(ptr noundef %4800) #12
  %4802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4803 = trunc nuw i8 %4802 to i1
  br i1 %4803, label %4804, label %4808

4804:                                             ; preds = %4798
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @fileno(ptr noundef %4805) #12
  %4807 = call i32 @isatty(i32 noundef %4806) #12
  %.not768 = icmp eq i32 %4807, 0
  br i1 %.not768, label %4808, label %4809

4808:                                             ; preds = %4804, %4798
  br label %4809

4809:                                             ; preds = %4804, %4808
  %.str.4.sink2829 = phi ptr [ @.str.4, %4808 ], [ @.str, %4804 ]
  store i32 %4799, ptr %1476, align 4, !tbaa !5
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = load i32, ptr %290, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror(i32 noundef %4812, ptr noundef nonnull @.str.3) #12
  %4814 = load i32, ptr %290, align 4, !tbaa !5
  %4815 = call ptr @s2n_strerror_debug(i32 noundef %4814, ptr noundef nonnull @.str.3) #12
  %4816 = load i32, ptr %1476, align 4, !tbaa !5
  %4817 = call ptr @strerror(i32 noundef %4816) #12
  %4818 = load i32, ptr %1476, align 4, !tbaa !5
  %4819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4810, ptr noundef nonnull %.str.4.sink2829, i32 noundef %4811, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 410, ptr noundef %4813, ptr noundef %4815, ptr noundef %4817, i32 noundef %4818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4820:                                             ; preds = %4793
  %4821 = add nsw i32 %4794, 2
  store i32 %4821, ptr @test_count, align 4, !tbaa !5
  %4822 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %4823 = icmp eq i32 %4822, -1
  br i1 %4823, label %4824, label %4846

4824:                                             ; preds = %4820
  %4825 = load i32, ptr %1476, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = call i32 @s2n_print_stacktrace(ptr noundef %4826) #12
  %4828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4829 = trunc nuw i8 %4828 to i1
  br i1 %4829, label %4830, label %4834

4830:                                             ; preds = %4824
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = call i32 @fileno(ptr noundef %4831) #12
  %4833 = call i32 @isatty(i32 noundef %4832) #12
  %.not770 = icmp eq i32 %4833, 0
  br i1 %.not770, label %4834, label %4835

4834:                                             ; preds = %4830, %4824
  br label %4835

4835:                                             ; preds = %4830, %4834
  %.str.4.sink2838 = phi ptr [ @.str.4, %4834 ], [ @.str, %4830 ]
  store i32 %4825, ptr %1476, align 4, !tbaa !5
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = load i32, ptr @test_count, align 4, !tbaa !5
  %4838 = load i32, ptr %290, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror(i32 noundef %4838, ptr noundef nonnull @.str.3) #12
  %4840 = load i32, ptr %290, align 4, !tbaa !5
  %4841 = call ptr @s2n_strerror_debug(i32 noundef %4840, ptr noundef nonnull @.str.3) #12
  %4842 = load i32, ptr %1476, align 4, !tbaa !5
  %4843 = call ptr @strerror(i32 noundef %4842) #12
  %4844 = load i32, ptr %1476, align 4, !tbaa !5
  %4845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4836, ptr noundef nonnull %.str.4.sink2838, i32 noundef %4837, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 412, ptr noundef %4839, ptr noundef %4841, ptr noundef %4843, i32 noundef %4844) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4846:                                             ; preds = %4820
  %4847 = load i32, ptr @test_count, align 4, !tbaa !5
  %4848 = add nsw i32 %4847, 1
  store i32 %4848, ptr @test_count, align 4, !tbaa !5
  %4849 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4850 = icmp eq i32 %4849, -1
  br i1 %4850, label %4851, label %4453

4851:                                             ; preds = %4846
  %4852 = load i32, ptr %1476, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @s2n_print_stacktrace(ptr noundef %4853) #12
  %4855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4856 = trunc nuw i8 %4855 to i1
  br i1 %4856, label %4857, label %4861

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

4861:                                             ; preds = %4857, %4851
  br label %4862

4862:                                             ; preds = %4857, %4861
  %.str.4.sink2847 = phi ptr [ @.str.4, %4861 ], [ @.str, %4857 ]
  store i32 %4852, ptr %1476, align 4, !tbaa !5
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = load i32, ptr %290, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef nonnull @.str.3) #12
  %4867 = load i32, ptr %290, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef nonnull @.str.3) #12
  %4869 = load i32, ptr %1476, align 4, !tbaa !5
  %4870 = call ptr @strerror(i32 noundef %4869) #12
  %4871 = load i32, ptr %1476, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4863, ptr noundef nonnull %.str.4.sink2847, i32 noundef %4864, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 413, ptr noundef %4866, ptr noundef %4868, ptr noundef %4870, i32 noundef %4871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4873:                                             ; preds = %5262
  %4874 = add nuw nsw i64 %.07201133, 1
  %exitcond1240.not = icmp eq i64 %4874, %.07161136
  br i1 %exitcond1240.not, label %._crit_edge1135, label %.lr.ph1134, !llvm.loop !73

._crit_edge1135:                                  ; preds = %4873, %.preheader
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #12
  %4875 = add nuw nsw i64 %.07161136, 1
  %exitcond1241.not = icmp eq i64 %4875, 1437
  br i1 %exitcond1241.not, label %2899, label %2904, !llvm.loop !74

.lr.ph1134:                                       ; preds = %.preheader, %4873
  %.07201133 = phi i64 [ %4874, %4873 ], [ 0, %.preheader ]
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = add nsw i32 %4876, 1
  store i32 %4877, ptr @test_count, align 4, !tbaa !5
  %4878 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2832) #12
  %4879 = icmp eq i32 %4878, -1
  br i1 %4879, label %4880, label %4902

4880:                                             ; preds = %.lr.ph1134
  %4881 = load i32, ptr %1476, align 4, !tbaa !5
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = call i32 @s2n_print_stacktrace(ptr noundef %4882) #12
  %4884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4885 = trunc nuw i8 %4884 to i1
  br i1 %4885, label %4886, label %4890

4886:                                             ; preds = %4880
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = call i32 @fileno(ptr noundef %4887) #12
  %4889 = call i32 @isatty(i32 noundef %4888) #12
  %.not765 = icmp eq i32 %4889, 0
  br i1 %.not765, label %4890, label %4891

4890:                                             ; preds = %4886, %4880
  br label %4891

4891:                                             ; preds = %4886, %4890
  %.str.4.sink2856 = phi ptr [ @.str.4, %4890 ], [ @.str, %4886 ]
  store i32 %4881, ptr %1476, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = load i32, ptr %290, align 4, !tbaa !5
  %4895 = call ptr @s2n_strerror(i32 noundef %4894, ptr noundef nonnull @.str.3) #12
  %4896 = load i32, ptr %290, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef nonnull @.str.3) #12
  %4898 = load i32, ptr %1476, align 4, !tbaa !5
  %4899 = call ptr @strerror(i32 noundef %4898) #12
  %4900 = load i32, ptr %1476, align 4, !tbaa !5
  %4901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4892, ptr noundef nonnull %.str.4.sink2856, i32 noundef %4893, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 418, ptr noundef %4895, ptr noundef %4897, ptr noundef %4899, i32 noundef %4900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4902:                                             ; preds = %.lr.ph1134
  store i8 1, ptr %2889, align 2, !tbaa !51
  store i8 33, ptr %2890, align 1, !tbaa !52
  store i8 33, ptr %2891, align 2, !tbaa !53
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4903 = load ptr, ptr %2857, align 8, !tbaa !15
  %4904 = load ptr, ptr %4903, align 8, !tbaa !44
  %4905 = getelementptr inbounds i8, ptr %4904, i64 48
  store ptr @s2n_record_alg_aes256_gcm, ptr %4905, align 8, !tbaa !49
  %4906 = load i32, ptr @test_count, align 4, !tbaa !5
  %4907 = add nsw i32 %4906, 1
  store i32 %4907, ptr @test_count, align 4, !tbaa !5
  %4908 = call i32 @destroy_server_keys(ptr noundef %2832)
  %4909 = icmp eq i32 %4908, -1
  br i1 %4909, label %4910, label %4932

4910:                                             ; preds = %4902
  %4911 = load i32, ptr %1476, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = call i32 @s2n_print_stacktrace(ptr noundef %4912) #12
  %4914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4915 = trunc nuw i8 %4914 to i1
  br i1 %4915, label %4916, label %4920

4916:                                             ; preds = %4910
  %4917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4918 = call i32 @fileno(ptr noundef %4917) #12
  %4919 = call i32 @isatty(i32 noundef %4918) #12
  %.not764 = icmp eq i32 %4919, 0
  br i1 %.not764, label %4920, label %4921

4920:                                             ; preds = %4916, %4910
  br label %4921

4921:                                             ; preds = %4916, %4920
  %.str.4.sink2865 = phi ptr [ @.str.4, %4920 ], [ @.str, %4916 ]
  store i32 %4911, ptr %1476, align 4, !tbaa !5
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = load i32, ptr %290, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror(i32 noundef %4924, ptr noundef nonnull @.str.3) #12
  %4926 = load i32, ptr %290, align 4, !tbaa !5
  %4927 = call ptr @s2n_strerror_debug(i32 noundef %4926, ptr noundef nonnull @.str.3) #12
  %4928 = load i32, ptr %1476, align 4, !tbaa !5
  %4929 = call ptr @strerror(i32 noundef %4928) #12
  %4930 = load i32, ptr %1476, align 4, !tbaa !5
  %4931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4922, ptr noundef nonnull %.str.4.sink2865, i32 noundef %4923, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 424, ptr noundef %4925, ptr noundef %4927, ptr noundef %4929, i32 noundef %4930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4932:                                             ; preds = %4902
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = add nsw i32 %4933, 1
  store i32 %4934, ptr @test_count, align 4, !tbaa !5
  %4935 = call i32 @setup_server_keys(ptr noundef nonnull %2832, ptr noundef nonnull %7)
  %4936 = icmp eq i32 %4935, -1
  br i1 %4936, label %4937, label %4959

4937:                                             ; preds = %4932
  %4938 = load i32, ptr %1476, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = call i32 @s2n_print_stacktrace(ptr noundef %4939) #12
  %4941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4942 = trunc nuw i8 %4941 to i1
  br i1 %4942, label %4943, label %4947

4943:                                             ; preds = %4937
  %4944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4945 = call i32 @fileno(ptr noundef %4944) #12
  %4946 = call i32 @isatty(i32 noundef %4945) #12
  %.not763 = icmp eq i32 %4946, 0
  br i1 %.not763, label %4947, label %4948

4947:                                             ; preds = %4943, %4937
  br label %4948

4948:                                             ; preds = %4943, %4947
  %.str.4.sink2874 = phi ptr [ @.str.4, %4947 ], [ @.str, %4943 ]
  store i32 %4938, ptr %1476, align 4, !tbaa !5
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = load i32, ptr %290, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror(i32 noundef %4951, ptr noundef nonnull @.str.3) #12
  %4953 = load i32, ptr %290, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror_debug(i32 noundef %4953, ptr noundef nonnull @.str.3) #12
  %4955 = load i32, ptr %1476, align 4, !tbaa !5
  %4956 = call ptr @strerror(i32 noundef %4955) #12
  %4957 = load i32, ptr %1476, align 4, !tbaa !5
  %4958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4949, ptr noundef nonnull %.str.4.sink2874, i32 noundef %4950, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 425, ptr noundef %4952, ptr noundef %4954, ptr noundef %4956, i32 noundef %4957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4959:                                             ; preds = %4932
  store i8 33, ptr %2888, align 4, !tbaa !54
  %4960 = load i32, ptr @test_count, align 4, !tbaa !5
  %4961 = add nsw i32 %4960, 1
  store i32 %4961, ptr @test_count, align 4, !tbaa !5
  %4962 = call i32 @s2n_record_write(ptr noundef nonnull %2832, i8 noundef zeroext 23, ptr noundef nonnull %12) #12
  %4963 = call zeroext i1 @s2n_result_is_ok(i32 %4962)
  br i1 %4963, label %4986, label %4964

4964:                                             ; preds = %4959
  %4965 = load i32, ptr %1476, align 4, !tbaa !5
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = call i32 @s2n_print_stacktrace(ptr noundef %4966) #12
  %4968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4969 = trunc nuw i8 %4968 to i1
  br i1 %4969, label %4970, label %4974

4970:                                             ; preds = %4964
  %4971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4972 = call i32 @fileno(ptr noundef %4971) #12
  %4973 = call i32 @isatty(i32 noundef %4972) #12
  %.not751 = icmp eq i32 %4973, 0
  br i1 %.not751, label %4974, label %4975

4974:                                             ; preds = %4970, %4964
  br label %4975

4975:                                             ; preds = %4970, %4974
  %.str.4.sink2883 = phi ptr [ @.str.4, %4974 ], [ @.str, %4970 ]
  store i32 %4965, ptr %1476, align 4, !tbaa !5
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = load i32, ptr %290, align 4, !tbaa !5
  %4979 = call ptr @s2n_strerror(i32 noundef %4978, ptr noundef nonnull @.str.3) #12
  %4980 = load i32, ptr %290, align 4, !tbaa !5
  %4981 = call ptr @s2n_strerror_debug(i32 noundef %4980, ptr noundef nonnull @.str.3) #12
  %4982 = load i32, ptr %1476, align 4, !tbaa !5
  %4983 = call ptr @strerror(i32 noundef %4982) #12
  %4984 = load i32, ptr %1476, align 4, !tbaa !5
  %4985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4976, ptr noundef nonnull %.str.4.sink2883, i32 noundef %4977, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 427, ptr noundef %4979, ptr noundef %4981, ptr noundef %4983, i32 noundef %4984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4986:                                             ; preds = %4959
  %4987 = load i32, ptr @test_count, align 4, !tbaa !5
  %4988 = add nsw i32 %4987, 1
  store i32 %4988, ptr @test_count, align 4, !tbaa !5
  %4989 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %4990 = icmp eq i32 %4989, -1
  br i1 %4990, label %4991, label %5013

4991:                                             ; preds = %4986
  %4992 = load i32, ptr %1476, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = call i32 @s2n_print_stacktrace(ptr noundef %4993) #12
  %4995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4996 = trunc nuw i8 %4995 to i1
  br i1 %4996, label %4997, label %5001

4997:                                             ; preds = %4991
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = call i32 @fileno(ptr noundef %4998) #12
  %5000 = call i32 @isatty(i32 noundef %4999) #12
  %.not762 = icmp eq i32 %5000, 0
  br i1 %.not762, label %5001, label %5002

5001:                                             ; preds = %4997, %4991
  br label %5002

5002:                                             ; preds = %4997, %5001
  %.str.4.sink2892 = phi ptr [ @.str.4, %5001 ], [ @.str, %4997 ]
  store i32 %4992, ptr %1476, align 4, !tbaa !5
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = load i32, ptr %290, align 4, !tbaa !5
  %5006 = call ptr @s2n_strerror(i32 noundef %5005, ptr noundef nonnull @.str.3) #12
  %5007 = load i32, ptr %290, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror_debug(i32 noundef %5007, ptr noundef nonnull @.str.3) #12
  %5009 = load i32, ptr %1476, align 4, !tbaa !5
  %5010 = call ptr @strerror(i32 noundef %5009) #12
  %5011 = load i32, ptr %1476, align 4, !tbaa !5
  %5012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5003, ptr noundef nonnull %.str.4.sink2892, i32 noundef %5004, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 430, ptr noundef %5006, ptr noundef %5008, ptr noundef %5010, i32 noundef %5011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5013:                                             ; preds = %4986
  %5014 = load i32, ptr @test_count, align 4, !tbaa !5
  %5015 = add nsw i32 %5014, 1
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %5017 = icmp eq i32 %5016, -1
  br i1 %5017, label %5018, label %5040

5018:                                             ; preds = %5013
  %5019 = load i32, ptr %1476, align 4, !tbaa !5
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @s2n_print_stacktrace(ptr noundef %5020) #12
  %5022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5023 = trunc nuw i8 %5022 to i1
  br i1 %5023, label %5024, label %5028

5024:                                             ; preds = %5018
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @fileno(ptr noundef %5025) #12
  %5027 = call i32 @isatty(i32 noundef %5026) #12
  %.not761 = icmp eq i32 %5027, 0
  br i1 %.not761, label %5028, label %5029

5028:                                             ; preds = %5024, %5018
  br label %5029

5029:                                             ; preds = %5024, %5028
  %.str.4.sink2901 = phi ptr [ @.str.4, %5028 ], [ @.str, %5024 ]
  store i32 %5019, ptr %1476, align 4, !tbaa !5
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = load i32, ptr @test_count, align 4, !tbaa !5
  %5032 = load i32, ptr %290, align 4, !tbaa !5
  %5033 = call ptr @s2n_strerror(i32 noundef %5032, ptr noundef nonnull @.str.3) #12
  %5034 = load i32, ptr %290, align 4, !tbaa !5
  %5035 = call ptr @s2n_strerror_debug(i32 noundef %5034, ptr noundef nonnull @.str.3) #12
  %5036 = load i32, ptr %1476, align 4, !tbaa !5
  %5037 = call ptr @strerror(i32 noundef %5036) #12
  %5038 = load i32, ptr %1476, align 4, !tbaa !5
  %5039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5030, ptr noundef nonnull %.str.4.sink2901, i32 noundef %5031, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 431, ptr noundef %5033, ptr noundef %5035, ptr noundef %5037, i32 noundef %5038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5040:                                             ; preds = %5013
  %5041 = load i32, ptr @test_count, align 4, !tbaa !5
  %5042 = add nsw i32 %5041, 1
  store i32 %5042, ptr @test_count, align 4, !tbaa !5
  %5043 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2894, i32 noundef 5) #12
  %5044 = icmp eq i32 %5043, -1
  br i1 %5044, label %5045, label %5067

5045:                                             ; preds = %5040
  %5046 = load i32, ptr %1476, align 4, !tbaa !5
  %5047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5048 = call i32 @s2n_print_stacktrace(ptr noundef %5047) #12
  %5049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5050 = trunc nuw i8 %5049 to i1
  br i1 %5050, label %5051, label %5055

5051:                                             ; preds = %5045
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @fileno(ptr noundef %5052) #12
  %5054 = call i32 @isatty(i32 noundef %5053) #12
  %.not760 = icmp eq i32 %5054, 0
  br i1 %.not760, label %5055, label %5056

5055:                                             ; preds = %5051, %5045
  br label %5056

5056:                                             ; preds = %5051, %5055
  %.str.4.sink2910 = phi ptr [ @.str.4, %5055 ], [ @.str, %5051 ]
  store i32 %5046, ptr %1476, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = load i32, ptr @test_count, align 4, !tbaa !5
  %5059 = load i32, ptr %290, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror(i32 noundef %5059, ptr noundef nonnull @.str.3) #12
  %5061 = load i32, ptr %290, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef nonnull @.str.3) #12
  %5063 = load i32, ptr %1476, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #12
  %5065 = load i32, ptr %1476, align 4, !tbaa !5
  %5066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5057, ptr noundef nonnull %.str.4.sink2910, i32 noundef %5058, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 432, ptr noundef %5060, ptr noundef %5062, ptr noundef %5064, i32 noundef %5065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5067:                                             ; preds = %5040
  %5068 = load i32, ptr @test_count, align 4, !tbaa !5
  %5069 = add nsw i32 %5068, 1
  store i32 %5069, ptr @test_count, align 4, !tbaa !5
  %5070 = load i32, ptr %2895, align 4, !tbaa !59
  %5071 = load i32, ptr %2896, align 8, !tbaa !60
  %5072 = sub i32 %5070, %5071
  %5073 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2892, ptr noundef nonnull %2893, i32 noundef %5072) #12
  %5074 = icmp eq i32 %5073, -1
  br i1 %5074, label %5075, label %5097

5075:                                             ; preds = %5067
  %5076 = load i32, ptr %1476, align 4, !tbaa !5
  %5077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5078 = call i32 @s2n_print_stacktrace(ptr noundef %5077) #12
  %5079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5080 = trunc nuw i8 %5079 to i1
  br i1 %5080, label %5081, label %5085

5081:                                             ; preds = %5075
  %5082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5083 = call i32 @fileno(ptr noundef %5082) #12
  %5084 = call i32 @isatty(i32 noundef %5083) #12
  %.not759 = icmp eq i32 %5084, 0
  br i1 %.not759, label %5085, label %5086

5085:                                             ; preds = %5081, %5075
  br label %5086

5086:                                             ; preds = %5081, %5085
  %.str.4.sink2919 = phi ptr [ @.str.4, %5085 ], [ @.str, %5081 ]
  store i32 %5076, ptr %1476, align 4, !tbaa !5
  %5087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5088 = load i32, ptr @test_count, align 4, !tbaa !5
  %5089 = load i32, ptr %290, align 4, !tbaa !5
  %5090 = call ptr @s2n_strerror(i32 noundef %5089, ptr noundef nonnull @.str.3) #12
  %5091 = load i32, ptr %290, align 4, !tbaa !5
  %5092 = call ptr @s2n_strerror_debug(i32 noundef %5091, ptr noundef nonnull @.str.3) #12
  %5093 = load i32, ptr %1476, align 4, !tbaa !5
  %5094 = call ptr @strerror(i32 noundef %5093) #12
  %5095 = load i32, ptr %1476, align 4, !tbaa !5
  %5096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5087, ptr noundef nonnull %.str.4.sink2919, i32 noundef %5088, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 433, ptr noundef %5090, ptr noundef %5092, ptr noundef %5094, i32 noundef %5095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5097:                                             ; preds = %5067
  %5098 = load ptr, ptr %2893, align 8, !tbaa !65
  %5099 = getelementptr inbounds i8, ptr %5098, i64 %.07201133
  %5100 = getelementptr inbounds i8, ptr %5099, i64 8
  %5101 = load i8, ptr %5100, align 1, !tbaa !57
  %5102 = add i8 %5101, 1
  store i8 %5102, ptr %5100, align 1, !tbaa !57
  %5103 = load i32, ptr @test_count, align 4, !tbaa !5
  %5104 = add nsw i32 %5103, 1
  store i32 %5104, ptr @test_count, align 4, !tbaa !5
  %5105 = call i32 @s2n_record_header_parse(ptr noundef nonnull %2832, ptr noundef nonnull %13, ptr noundef nonnull %14) #12
  %5106 = icmp eq i32 %5105, -1
  br i1 %5106, label %5107, label %5129

5107:                                             ; preds = %5097
  %5108 = load i32, ptr %1476, align 4, !tbaa !5
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = call i32 @s2n_print_stacktrace(ptr noundef %5109) #12
  %5111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5112 = trunc nuw i8 %5111 to i1
  br i1 %5112, label %5113, label %5117

5113:                                             ; preds = %5107
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = call i32 @fileno(ptr noundef %5114) #12
  %5116 = call i32 @isatty(i32 noundef %5115) #12
  %.not758 = icmp eq i32 %5116, 0
  br i1 %.not758, label %5117, label %5118

5117:                                             ; preds = %5113, %5107
  br label %5118

5118:                                             ; preds = %5113, %5117
  %.str.4.sink2928 = phi ptr [ @.str.4, %5117 ], [ @.str, %5113 ]
  store i32 %5108, ptr %1476, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = load i32, ptr @test_count, align 4, !tbaa !5
  %5121 = load i32, ptr %290, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror(i32 noundef %5121, ptr noundef nonnull @.str.3) #12
  %5123 = load i32, ptr %290, align 4, !tbaa !5
  %5124 = call ptr @s2n_strerror_debug(i32 noundef %5123, ptr noundef nonnull @.str.3) #12
  %5125 = load i32, ptr %1476, align 4, !tbaa !5
  %5126 = call ptr @strerror(i32 noundef %5125) #12
  %5127 = load i32, ptr %1476, align 4, !tbaa !5
  %5128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5119, ptr noundef nonnull %.str.4.sink2928, i32 noundef %5120, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 435, ptr noundef %5122, ptr noundef %5124, ptr noundef %5126, i32 noundef %5127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5129:                                             ; preds = %5097
  %5130 = load i32, ptr @test_count, align 4, !tbaa !5
  %5131 = add nsw i32 %5130, 1
  store i32 %5131, ptr @test_count, align 4, !tbaa !5
  %5132 = call i32 @s2n_record_parse(ptr noundef nonnull %2832) #12
  %5133 = icmp eq i32 %5132, -1
  br i1 %5133, label %5156, label %5134

5134:                                             ; preds = %5129
  %5135 = load i32, ptr %1476, align 4, !tbaa !5
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @s2n_print_stacktrace(ptr noundef %5136) #12
  %5138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5139 = trunc nuw i8 %5138 to i1
  br i1 %5139, label %5140, label %5144

5140:                                             ; preds = %5134
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = call i32 @fileno(ptr noundef %5141) #12
  %5143 = call i32 @isatty(i32 noundef %5142) #12
  %.not752 = icmp eq i32 %5143, 0
  br i1 %.not752, label %5144, label %5145

5144:                                             ; preds = %5140, %5134
  br label %5145

5145:                                             ; preds = %5140, %5144
  %.str.4.sink2937 = phi ptr [ @.str.4, %5144 ], [ @.str, %5140 ]
  store i32 %5135, ptr %1476, align 4, !tbaa !5
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = load i32, ptr @test_count, align 4, !tbaa !5
  %5148 = load i32, ptr %290, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror(i32 noundef %5148, ptr noundef nonnull @.str.3) #12
  %5150 = load i32, ptr %290, align 4, !tbaa !5
  %5151 = call ptr @s2n_strerror_debug(i32 noundef %5150, ptr noundef nonnull @.str.3) #12
  %5152 = load i32, ptr %1476, align 4, !tbaa !5
  %5153 = call ptr @strerror(i32 noundef %5152) #12
  %5154 = load i32, ptr %1476, align 4, !tbaa !5
  %5155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5146, ptr noundef nonnull %.str.4.sink2937, i32 noundef %5147, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %5149, ptr noundef %5151, ptr noundef %5153, i32 noundef %5154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5156:                                             ; preds = %5129
  %5157 = load i32, ptr @test_count, align 4, !tbaa !5
  %5158 = add nsw i32 %5157, 1
  store i32 %5158, ptr @test_count, align 4, !tbaa !5
  %5159 = load i32, ptr %290, align 4, !tbaa !5
  %5160 = icmp eq i32 %5159, 0
  br i1 %5160, label %5161, label %5183

5161:                                             ; preds = %5156
  %5162 = load i32, ptr %1476, align 4, !tbaa !5
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @s2n_print_stacktrace(ptr noundef %5163) #12
  %5165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5166 = trunc nuw i8 %5165 to i1
  br i1 %5166, label %5167, label %5171

5167:                                             ; preds = %5161
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = call i32 @fileno(ptr noundef %5168) #12
  %5170 = call i32 @isatty(i32 noundef %5169) #12
  %.not757 = icmp eq i32 %5170, 0
  br i1 %.not757, label %5171, label %5172

5171:                                             ; preds = %5167, %5161
  br label %5172

5172:                                             ; preds = %5167, %5171
  %.str.4.sink2946 = phi ptr [ @.str.4, %5171 ], [ @.str, %5167 ]
  store i32 %5162, ptr %1476, align 4, !tbaa !5
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = load i32, ptr @test_count, align 4, !tbaa !5
  %5175 = load i32, ptr %290, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror(i32 noundef %5175, ptr noundef nonnull @.str.3) #12
  %5177 = load i32, ptr %290, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef nonnull @.str.3) #12
  %5179 = load i32, ptr %1476, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #12
  %5181 = load i32, ptr %1476, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5173, ptr noundef nonnull %.str.4.sink2946, i32 noundef %5174, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %5176, ptr noundef %5178, ptr noundef %5180, i32 noundef %5181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5183:                                             ; preds = %5156
  %5184 = add nsw i32 %5157, 2
  store i32 %5184, ptr @test_count, align 4, !tbaa !5
  %5185 = call ptr @s2n_strerror_debug(i32 noundef %5159, ptr noundef nonnull @.str.3) #12
  %5186 = icmp eq ptr %5185, null
  br i1 %5186, label %5187, label %5209

5187:                                             ; preds = %5183
  %5188 = load i32, ptr %1476, align 4, !tbaa !5
  %5189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5190 = call i32 @s2n_print_stacktrace(ptr noundef %5189) #12
  %5191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5192 = trunc nuw i8 %5191 to i1
  br i1 %5192, label %5193, label %5197

5193:                                             ; preds = %5187
  %5194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5195 = call i32 @fileno(ptr noundef %5194) #12
  %5196 = call i32 @isatty(i32 noundef %5195) #12
  %.not756 = icmp eq i32 %5196, 0
  br i1 %.not756, label %5197, label %5198

5197:                                             ; preds = %5193, %5187
  br label %5198

5198:                                             ; preds = %5193, %5197
  %.str.4.sink2955 = phi ptr [ @.str.4, %5197 ], [ @.str, %5193 ]
  store i32 %5188, ptr %1476, align 4, !tbaa !5
  %5199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5200 = load i32, ptr @test_count, align 4, !tbaa !5
  %5201 = load i32, ptr %290, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror(i32 noundef %5201, ptr noundef nonnull @.str.3) #12
  %5203 = load i32, ptr %290, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror_debug(i32 noundef %5203, ptr noundef nonnull @.str.3) #12
  %5205 = load i32, ptr %1476, align 4, !tbaa !5
  %5206 = call ptr @strerror(i32 noundef %5205) #12
  %5207 = load i32, ptr %1476, align 4, !tbaa !5
  %5208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5199, ptr noundef nonnull %.str.4.sink2955, i32 noundef %5200, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %5202, ptr noundef %5204, ptr noundef %5206, i32 noundef %5207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5209:                                             ; preds = %5183
  store i32 0, ptr %290, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1476, align 4, !tbaa !5
  %5210 = load i32, ptr @test_count, align 4, !tbaa !5
  %5211 = add nsw i32 %5210, 1
  store i32 %5211, ptr @test_count, align 4, !tbaa !5
  %5212 = load i8, ptr %13, align 1, !tbaa !57
  %5213 = icmp eq i8 %5212, 23
  br i1 %5213, label %5236, label %5214

5214:                                             ; preds = %5209
  %5215 = load i32, ptr %1476, align 4, !tbaa !5
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = call i32 @s2n_print_stacktrace(ptr noundef %5216) #12
  %5218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5219 = trunc nuw i8 %5218 to i1
  br i1 %5219, label %5220, label %5224

5220:                                             ; preds = %5214
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = call i32 @fileno(ptr noundef %5221) #12
  %5223 = call i32 @isatty(i32 noundef %5222) #12
  %.not753 = icmp eq i32 %5223, 0
  br i1 %.not753, label %5224, label %5225

5224:                                             ; preds = %5220, %5214
  br label %5225

5225:                                             ; preds = %5220, %5224
  %.str.4.sink2964 = phi ptr [ @.str.4, %5224 ], [ @.str, %5220 ]
  store i32 %5215, ptr %1476, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = load i32, ptr @test_count, align 4, !tbaa !5
  %5228 = load i32, ptr %290, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror(i32 noundef %5228, ptr noundef nonnull @.str.3) #12
  %5230 = load i32, ptr %290, align 4, !tbaa !5
  %5231 = call ptr @s2n_strerror_debug(i32 noundef %5230, ptr noundef nonnull @.str.3) #12
  %5232 = load i32, ptr %1476, align 4, !tbaa !5
  %5233 = call ptr @strerror(i32 noundef %5232) #12
  %5234 = load i32, ptr %1476, align 4, !tbaa !5
  %5235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5226, ptr noundef nonnull %.str.4.sink2964, i32 noundef %5227, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 437, ptr noundef %5229, ptr noundef %5231, ptr noundef %5233, i32 noundef %5234) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5236:                                             ; preds = %5209
  %5237 = add nsw i32 %5210, 2
  store i32 %5237, ptr @test_count, align 4, !tbaa !5
  %5238 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2894) #12
  %5239 = icmp eq i32 %5238, -1
  br i1 %5239, label %5240, label %5262

5240:                                             ; preds = %5236
  %5241 = load i32, ptr %1476, align 4, !tbaa !5
  %5242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5243 = call i32 @s2n_print_stacktrace(ptr noundef %5242) #12
  %5244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5245 = trunc nuw i8 %5244 to i1
  br i1 %5245, label %5246, label %5250

5246:                                             ; preds = %5240
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = call i32 @fileno(ptr noundef %5247) #12
  %5249 = call i32 @isatty(i32 noundef %5248) #12
  %.not755 = icmp eq i32 %5249, 0
  br i1 %.not755, label %5250, label %5251

5250:                                             ; preds = %5246, %5240
  br label %5251

5251:                                             ; preds = %5246, %5250
  %.str.4.sink2973 = phi ptr [ @.str.4, %5250 ], [ @.str, %5246 ]
  store i32 %5241, ptr %1476, align 4, !tbaa !5
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = load i32, ptr @test_count, align 4, !tbaa !5
  %5254 = load i32, ptr %290, align 4, !tbaa !5
  %5255 = call ptr @s2n_strerror(i32 noundef %5254, ptr noundef nonnull @.str.3) #12
  %5256 = load i32, ptr %290, align 4, !tbaa !5
  %5257 = call ptr @s2n_strerror_debug(i32 noundef %5256, ptr noundef nonnull @.str.3) #12
  %5258 = load i32, ptr %1476, align 4, !tbaa !5
  %5259 = call ptr @strerror(i32 noundef %5258) #12
  %5260 = load i32, ptr %1476, align 4, !tbaa !5
  %5261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5252, ptr noundef nonnull %.str.4.sink2973, i32 noundef %5253, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 439, ptr noundef %5255, ptr noundef %5257, ptr noundef %5259, i32 noundef %5260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5262:                                             ; preds = %5236
  %5263 = load i32, ptr @test_count, align 4, !tbaa !5
  %5264 = add nsw i32 %5263, 1
  store i32 %5264, ptr @test_count, align 4, !tbaa !5
  %5265 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2893) #12
  %5266 = icmp eq i32 %5265, -1
  br i1 %5266, label %5267, label %4873

5267:                                             ; preds = %5262
  %5268 = load i32, ptr %1476, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = call i32 @s2n_print_stacktrace(ptr noundef %5269) #12
  %5271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5272 = trunc nuw i8 %5271 to i1
  br i1 %5272, label %5273, label %5277

5273:                                             ; preds = %5267
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @fileno(ptr noundef %5274) #12
  %5276 = call i32 @isatty(i32 noundef %5275) #12
  %.not754 = icmp eq i32 %5276, 0
  br i1 %.not754, label %5277, label %5278

5277:                                             ; preds = %5273, %5267
  br label %5278

5278:                                             ; preds = %5273, %5277
  %.str.4.sink2982 = phi ptr [ @.str.4, %5277 ], [ @.str, %5273 ]
  store i32 %5268, ptr %1476, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = load i32, ptr %290, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror(i32 noundef %5281, ptr noundef nonnull @.str.3) #12
  %5283 = load i32, ptr %290, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror_debug(i32 noundef %5283, ptr noundef nonnull @.str.3) #12
  %5285 = load i32, ptr %1476, align 4, !tbaa !5
  %5286 = call ptr @strerror(i32 noundef %5285) #12
  %5287 = load i32, ptr %1476, align 4, !tbaa !5
  %5288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5279, ptr noundef nonnull %.str.4.sink2982, i32 noundef %5280, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 440, ptr noundef %5282, ptr noundef %5284, ptr noundef %5286, i32 noundef %5287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5289:                                             ; preds = %2899
  %5290 = load i32, ptr %1476, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @s2n_print_stacktrace(ptr noundef %5291) #12
  %5293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5294 = trunc nuw i8 %5293 to i1
  br i1 %5294, label %5295, label %5299

5295:                                             ; preds = %5289
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @fileno(ptr noundef %5296) #12
  %5298 = call i32 @isatty(i32 noundef %5297) #12
  %.not734 = icmp eq i32 %5298, 0
  br i1 %.not734, label %5299, label %5300

5299:                                             ; preds = %5295, %5289
  br label %5300

5300:                                             ; preds = %5295, %5299
  %.str.4.sink2991 = phi ptr [ @.str.4, %5299 ], [ @.str, %5295 ]
  store i32 %5290, ptr %1476, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = load i32, ptr %290, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror(i32 noundef %5303, ptr noundef nonnull @.str.3) #12
  %5305 = load i32, ptr %290, align 4, !tbaa !5
  %5306 = call ptr @s2n_strerror_debug(i32 noundef %5305, ptr noundef nonnull @.str.3) #12
  %5307 = load i32, ptr %1476, align 4, !tbaa !5
  %5308 = call ptr @strerror(i32 noundef %5307) #12
  %5309 = load i32, ptr %1476, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5301, ptr noundef nonnull %.str.4.sink2991, i32 noundef %5302, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 443, ptr noundef %5304, ptr noundef %5306, ptr noundef %5308, i32 noundef %5309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5311:                                             ; preds = %2899
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = add nsw i32 %5312, 1
  store i32 %5313, ptr @test_count, align 4, !tbaa !5
  %5314 = call i32 @s2n_connection_free(ptr noundef nonnull %2832) #12
  %5315 = icmp eq i32 %5314, -1
  br i1 %5315, label %5316, label %5338

5316:                                             ; preds = %5311
  %5317 = load i32, ptr %1476, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @s2n_print_stacktrace(ptr noundef %5318) #12
  %5320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5321 = trunc nuw i8 %5320 to i1
  br i1 %5321, label %5322, label %5326

5322:                                             ; preds = %5316
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = call i32 @fileno(ptr noundef %5323) #12
  %5325 = call i32 @isatty(i32 noundef %5324) #12
  %.not733 = icmp eq i32 %5325, 0
  br i1 %.not733, label %5326, label %5327

5326:                                             ; preds = %5322, %5316
  br label %5327

5327:                                             ; preds = %5322, %5326
  %.str.4.sink3000 = phi ptr [ @.str.4, %5326 ], [ @.str, %5322 ]
  store i32 %5317, ptr %1476, align 4, !tbaa !5
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = load i32, ptr @test_count, align 4, !tbaa !5
  %5330 = load i32, ptr %290, align 4, !tbaa !5
  %5331 = call ptr @s2n_strerror(i32 noundef %5330, ptr noundef nonnull @.str.3) #12
  %5332 = load i32, ptr %290, align 4, !tbaa !5
  %5333 = call ptr @s2n_strerror_debug(i32 noundef %5332, ptr noundef nonnull @.str.3) #12
  %5334 = load i32, ptr %1476, align 4, !tbaa !5
  %5335 = call ptr @strerror(i32 noundef %5334) #12
  %5336 = load i32, ptr %1476, align 4, !tbaa !5
  %5337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5328, ptr noundef nonnull %.str.4.sink3000, i32 noundef %5329, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 444, ptr noundef %5331, ptr noundef %5333, ptr noundef %5335, i32 noundef %5336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5338:                                             ; preds = %5311
  %5339 = call i32 @s2n_cleanup() #12
  %5340 = icmp eq i32 %5339, -1
  br i1 %5340, label %5341, label %5363

5341:                                             ; preds = %5338
  %5342 = load i32, ptr %1476, align 4, !tbaa !5
  %5343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5344 = call i32 @s2n_print_stacktrace(ptr noundef %5343) #12
  %5345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5346 = trunc nuw i8 %5345 to i1
  br i1 %5346, label %5347, label %5351

5347:                                             ; preds = %5341
  %5348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5349 = call i32 @fileno(ptr noundef %5348) #12
  %5350 = call i32 @isatty(i32 noundef %5349) #12
  %.not732 = icmp eq i32 %5350, 0
  br i1 %.not732, label %5351, label %5352

5351:                                             ; preds = %5347, %5341
  br label %5352

5352:                                             ; preds = %5347, %5351
  %.str.4.sink3009 = phi ptr [ @.str.4, %5351 ], [ @.str, %5347 ]
  store i32 %5342, ptr %1476, align 4, !tbaa !5
  %5353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5354 = load i32, ptr @test_count, align 4, !tbaa !5
  %5355 = load i32, ptr %290, align 4, !tbaa !5
  %5356 = call ptr @s2n_strerror(i32 noundef %5355, ptr noundef nonnull @.str.3) #12
  %5357 = load i32, ptr %290, align 4, !tbaa !5
  %5358 = call ptr @s2n_strerror_debug(i32 noundef %5357, ptr noundef nonnull @.str.3) #12
  %5359 = load i32, ptr %1476, align 4, !tbaa !5
  %5360 = call ptr @strerror(i32 noundef %5359) #12
  %5361 = load i32, ptr %1476, align 4, !tbaa !5
  %5362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5353, ptr noundef nonnull %.str.4.sink3009, i32 noundef %5354, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 446, ptr noundef %5356, ptr noundef %5358, ptr noundef %5360, i32 noundef %5361) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5363:                                             ; preds = %5338
  %5364 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %5365 = icmp eq i32 %5364, -1
  br i1 %5365, label %5366, label %5388

5366:                                             ; preds = %5363
  %5367 = load i32, ptr %1476, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @s2n_print_stacktrace(ptr noundef %5368) #12
  %5370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5371 = trunc nuw i8 %5370 to i1
  br i1 %5371, label %5372, label %5376

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

5376:                                             ; preds = %5372, %5366
  br label %5377

5377:                                             ; preds = %5372, %5376
  %.str.4.sink3018 = phi ptr [ @.str.4, %5376 ], [ @.str, %5372 ]
  store i32 %5367, ptr %1476, align 4, !tbaa !5
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = load i32, ptr @test_count, align 4, !tbaa !5
  %5380 = load i32, ptr %290, align 4, !tbaa !5
  %5381 = call ptr @s2n_strerror(i32 noundef %5380, ptr noundef nonnull @.str.3) #12
  %5382 = load i32, ptr %290, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror_debug(i32 noundef %5382, ptr noundef nonnull @.str.3) #12
  %5384 = load i32, ptr %1476, align 4, !tbaa !5
  %5385 = call ptr @strerror(i32 noundef %5384) #12
  %5386 = load i32, ptr %1476, align 4, !tbaa !5
  %5387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5378, ptr noundef nonnull %.str.4.sink3018, i32 noundef %5379, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 446, ptr noundef %5381, ptr noundef %5383, ptr noundef %5385, i32 noundef %5386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5388:                                             ; preds = %5363
  %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 %5402

5391:                                             ; preds = %5388
  %5392 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5393 = call i32 @fileno(ptr noundef %5392) #12
  %5394 = call i32 @isatty(i32 noundef %5393) #12
  %.not728 = icmp eq i32 %5394, 0
  br i1 %.not728, label %5402, label %5395

5395:                                             ; preds = %5391
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not730 = icmp eq i32 %5396, 0
  %5397 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not730, label %5400, label %5398

5398:                                             ; preds = %5395
  %5399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5397, ptr noundef nonnull @.str.47, i32 noundef %5396) #12
  br label %5409

5400:                                             ; preds = %5395
  %5401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5397, ptr noundef nonnull @.str.48) #12
  br label %5409

5402:                                             ; preds = %5391, %5388
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not729 = icmp eq i32 %5403, 0
  %5404 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not729, label %5407, label %5405

5405:                                             ; preds = %5402
  %5406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5404, ptr noundef nonnull @.str.49, i32 noundef %5403) #12
  br label %5409

5407:                                             ; preds = %5402
  %5408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5404, ptr noundef nonnull @.str.50) #12
  br label %5409

5409:                                             ; preds = %5405, %5407, %5398, %5400
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 1436, ptr nonnull %3) #12
  ret i32 0
}

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

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

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #5

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #6

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #7

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #4

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #6

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #7

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #4

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

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

declare i32 @s2n_get_public_random_data(ptr noundef) local_unnamed_addr #4

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

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) local_unnamed_addr #4

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

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) local_unnamed_addr #4

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

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_record_header_parse(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_record_parse(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 224}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !10, i64 640}
!43 = !{!16, !10, i64 632}
!44 = !{!45, !10, i64 0}
!45 = !{!"s2n_crypto_parameters", !10, i64 0, !46, i64 8, !46, i64 16, !47, i64 24, !47, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!46 = !{!"s2n_session_key", !10, i64 0}
!47 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !48, i64 16, !48, i64 72, !48, i64 128, !48, i64 184, !7, i64 240, !7, i64 368}
!48 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!49 = !{!50, !10, i64 48}
!50 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!51 = !{!16, !7, i64 222}
!52 = !{!16, !7, i64 219}
!53 = !{!16, !7, i64 218}
!54 = !{!16, !7, i64 220}
!55 = !{!56, !10, i64 0}
!56 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !18, i64 16}
!57 = !{!7, !7, i64 0}
!58 = !{!16, !10, i64 1896}
!59 = !{!16, !6, i64 1924}
!60 = !{!16, !6, i64 1920}
!61 = !{!31, !31, i64 0}
!62 = !{!16, !10, i64 1776}
!63 = distinct !{!63, !64}
!64 = !{!"llvm.loop.mustprogress"}
!65 = !{!16, !10, i64 1856}
!66 = distinct !{!66, !64}
!67 = !{!16, !6, i64 1884}
!68 = !{!16, !6, i64 1880}
!69 = distinct !{!69, !64}
!70 = distinct !{!70, !64}
!71 = distinct !{!71, !64}
!72 = distinct !{!72, !64}
!73 = distinct !{!73, !64}
!74 = distinct !{!74, !64}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass